fix(chat): 分销付款改为进入账号群,不再另建订单群

主站、分站和分站之间都只用发布时的账号群,二维码仍跟这个群走。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yml2213
2026-10-05 20:58:26 +08:00
co-authored by Cursor
parent f2060c19cf
commit b4d6718c8e
4 changed files with 259 additions and 46 deletions
+10 -18
View File
@@ -358,25 +358,17 @@ func (r *Repository) ConfirmPaidFromChannelTx(tx *gorm.DB, orderID uint64) (uint
return 0, err
}
// 分销订单创建独立分站群聊;主站订单拉租客进发布群
// 付款后只拉租客进账号群。主站和分销都不再另建订单群,二维码仍是发布时分到这个群的那一张。
conversationID := uint64(0)
if order.DistributionSiteID != nil && *order.DistributionSiteID > 0 {
orderConv, err := chat.EnsureOrderConversation(tx, *order)
if err != nil {
return 0, err
}
if orderConv != nil {
conversationID = orderConv.ID
}
} else {
if err := chat.AddRenterToListingConversation(tx, listing.ID, order.RenterID, order.OrderNo); err != nil {
return 0, err
}
// 查询发布群ID用于返回
var listingConv model.ChatConversation
if err := tx.Where("listing_id = ?", listing.ID).First(&listingConv).Error; err == nil {
conversationID = listingConv.ID
}
if err := chat.AddRenterToListingConversation(tx, listing.ID, order.RenterID, order.OrderNo); err != nil {
return 0, err
}
var listingConv model.ChatConversation
err = tx.Where("listing_id = ? AND type = ?", listing.ID, chat.ConversationTypeListingGroup).First(&listingConv).Error
if err == nil {
conversationID = listingConv.ID
} else if !errors.Is(err, gorm.ErrRecordNotFound) {
return 0, err
}
if isPlatformHandoffOrder(*order) {