This commit is contained in:
邹宗楠
2025-05-08 14:18:20 +08:00
parent e251b0f606
commit 7a5a2f3e85
2 changed files with 22 additions and 5 deletions

View File

@@ -8,13 +8,12 @@ import (
) )
// GetBadCommentOrderId 根据差评商品列表获取订单号 // GetBadCommentOrderId 根据差评商品列表获取订单号
func GetBadCommentOrderId(jxStoreId int, startTime, endTime time.Time, foodNameList []string) (string, error) { func GetBadCommentOrderId(jxStoreId int, startTime, endTime time.Time, foodNameList []string, skuList []int) (string, error) {
sqlParams := []interface{}{} sqlParams := []interface{}{}
sql := ` sql := `
SELECT count(s.vendor_order_id) count,s.vendor_order_id FROM goods_order g SELECT count(s.vendor_order_id) count,s.vendor_order_id FROM goods_order g
LEFT JOIN order_sku s ON g.vendor_order_id = s.vendor_order_id LEFT JOIN order_sku s ON g.vendor_order_id = s.vendor_order_id
WHERE g.jx_store_id = ? AND g.vendor_id = ? AND g.order_created_at >= ? AND g.order_created_at <= ? AND s.sku_name IN (` + dao.GenQuestionMarks(len(foodNameList)) + `) GROUP BY s.vendor_order_id LIMIT 0, 1000 WHERE g.jx_store_id = ? AND g.vendor_id = ? AND g.order_created_at >= ? AND g.order_created_at <= ?`
`
sqlParams = append(sqlParams, []interface{}{ sqlParams = append(sqlParams, []interface{}{
jxStoreId, jxStoreId,
model.VendorIDMTWM, model.VendorIDMTWM,
@@ -22,6 +21,14 @@ func GetBadCommentOrderId(jxStoreId int, startTime, endTime time.Time, foodNameL
endTime, endTime,
foodNameList, foodNameList,
}) })
if len(foodNameList) != 0 {
sql += `AND s.sku_name IN (` + dao.GenQuestionMarks(len(foodNameList)) + `) GROUP BY s.vendor_order_id LIMIT 0, 1000`
sqlParams = append(sqlParams, foodNameList)
}
if len(skuList) != 0 {
sql += `AND s.sku_id IN (` + dao.GenQuestionMarks(len(skuList)) + `) GROUP BY s.vendor_order_id LIMIT 0, 1000`
sqlParams = append(sqlParams, skuList)
}
commentOrder := make([]*badCommentOrder, 0, 0) commentOrder := make([]*badCommentOrder, 0, 0)
if err := GetRows(GetDB(), &commentOrder, sql, sqlParams...); err != nil { if err := GetRows(GetDB(), &commentOrder, sql, sqlParams...); err != nil {

View File

@@ -85,10 +85,13 @@ func (c *PurchaseHandler) RefreshComment(fromTime, toTime time.Time) (err error)
} }
foodNameList := make(map[string]int, 0) foodNameList := make(map[string]int, 0)
skuIdMap := make(map[string]int, 0)
for _, fn := range mtwmComment.PraiseRetailList { for _, fn := range mtwmComment.PraiseRetailList {
skuIdMap[fn.SkuId] = 1
foodNameList[fn.Name] = 1 foodNameList[fn.Name] = 1
} }
for _, fn := range mtwmComment.CriticRetailList { for _, fn := range mtwmComment.CriticRetailList {
skuIdMap[fn.SkuId] = 1
foodNameList[fn.Name] = 1 foodNameList[fn.Name] = 1
} }
@@ -100,14 +103,21 @@ func (c *PurchaseHandler) RefreshComment(fromTime, toTime time.Time) (err error)
} }
} }
nameList := make([]string, 0, 0) nameList := make([]string, 0, 0)
skuIdList := make([]int, 0, 0)
for k, _ := range foodNameList { for k, _ := range foodNameList {
nameList = append(nameList, k) nameList = append(nameList, k)
} }
for k, _ := range skuIdMap {
skuIdList = append(skuIdList, utils.Str2Int(k))
}
if len(foodNameList) > 0 { if len(foodNameList) > 0 {
vendorOrderID, _ := dao.GetBadCommentOrderId(storeDetail.ID, time.Now().Add(-RefreshCommentTime), startTime, nameList) vendorOrderID, _ := dao.GetBadCommentOrderId(storeDetail.ID, time.Now().Add(-RefreshCommentTime), startTime, nameList, nil)
if vendorOrderID != "" { if vendorOrderID != "" {
orderComment.VendorOrderID2 = vendorOrderID orderComment.VendorOrderID2 = vendorOrderID
} else {
vendorOrderID, _ = dao.GetBadCommentOrderId(storeDetail.ID, time.Now().Add(-RefreshCommentTime), startTime, nil, skuIdList)
orderComment.VendorOrderID2 = vendorOrderID
} }
} }
orderCommentList = append(orderCommentList, orderComment) orderCommentList = append(orderCommentList, orderComment)
@@ -276,7 +286,7 @@ func CommentListData(db *dao.DaoDB, skuList []*mtwmapi.CommentsList, startTime,
for fnl, _ := range foodNameList { for fnl, _ := range foodNameList {
foodName = append(foodName, fnl) foodName = append(foodName, fnl)
} }
vendorOrderID, _ := dao.GetBadCommentOrderId(store.ID, st.AddDate(0, 0, -7), et.AddDate(0, 0, 7), foodName) vendorOrderID, _ := dao.GetBadCommentOrderId(store.ID, st.AddDate(0, 0, -7), et.AddDate(0, 0, 7), foodName, nil)
if vendorOrderID != "" { if vendorOrderID != "" {
orderComment.VendorOrderID2 = vendorOrderID orderComment.VendorOrderID2 = vendorOrderID
} }