Files
jx-callback/business/model/dao/dao_order_sku_financial.go
邹宗楠 63be0e54f6 1
2024-07-18 09:29:19 +08:00

47 lines
1.2 KiB
Go

package dao
import (
"git.rosy.net.cn/jx-print/dao"
"time"
)
// GetBadCommentOrderId 根据差评商品列表获取订单号
func GetBadCommentOrderId(jxStoreId int, startTime, endTime time.Time, foodNameList []string) (string, error) {
sqlParams := []interface{}{}
sql := `
SELECT count(vendor_order_id) count,vendor_order_id FROM
order_sku_financial WHERE jx_store_id = ? AND created_at >= ? AND created_at <= ? AND name IN (` + dao.GenQuestionMarks(len(foodNameList)) + `) GROUP BY vendor_order_id LIMIT 0, 1000`
sqlParams = append(sqlParams, []interface{}{
jxStoreId,
endTime,
startTime,
foodNameList,
})
commentOrder := make([]*badCommentOrder, 0, 0)
if err := GetRows(GetDB(), &commentOrder, sql, sqlParams...); err != nil {
return "", err
}
// 全等于的话就是目标订单
for _, v := range commentOrder {
if v.Count == len(foodNameList) {
return v.VendorOrderId, nil
}
}
// 是在不行误差有一两个商品也行
for _, v := range commentOrder {
if v.Count == len(foodNameList)-1 {
return v.VendorOrderId, nil
}
}
return "", nil
}
type badCommentOrder struct {
Count int `json:"count"`
VendorOrderId string `json:"vendor_order_id"`
}