This commit is contained in:
邹宗楠
2025-12-25 14:13:23 +08:00
parent 2ad188a2e7
commit 4486aa16f1

View File

@@ -11,6 +11,7 @@ import (
"net/http" "net/http"
"net/url" "net/url"
"strings" "strings"
"time"
"git.rosy.net.cn/baseapi/platformapi/mtwmapi" "git.rosy.net.cn/baseapi/platformapi/mtwmapi"
"git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils"
@@ -48,26 +49,31 @@ func OnCallbackMsg(msg *mtwmapi.CallbackMsg, msgType string) (response *mtwmapi.
if len(dataMap) != 0 { if len(dataMap) != 0 {
var storeMap = make(map[string]map[int][]string, 0) var storeMap = make(map[string]map[int][]string, 0)
var skuStatus = make(map[int][]string, 0) var skuStatus = make(map[int][]string, 0)
var operate = make(map[string]string, 0)
for _, v := range dataMap { for _, v := range dataMap {
if v.AppFoodCode != "" && v.AppPoiCode != "" { if v.AppFoodCode != "" && v.AppPoiCode != "" {
skuStatus[v.DiffContents.IsSoldOut.Result] = append(skuStatus[v.DiffContents.IsSoldOut.Result], v.AppFoodCode) skuStatus[v.DiffContents.IsSoldOut.Result] = append(skuStatus[v.DiffContents.IsSoldOut.Result], v.AppFoodCode)
storeMap[v.AppPoiCode] = skuStatus storeMap[v.AppPoiCode] = skuStatus
operate[v.AppFoodCode] = fmt.Sprintf("%s:%s:0↑-1↓:前%d->后%d", v.OpAppKey, v.OpName, v.DiffContents.IsSoldOut.Origin, v.DiffContents.IsSoldOut.Result)
} }
} }
for k, v := range storeMap { for k, v := range storeMap {
storeDetail, _ := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), k, model.VendorIDMTWM, "") storeDetail, _ := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), k, model.VendorIDMTWM, "")
if storeDetail != nil { if storeDetail != nil {
for k2, v2 := range v { for k2, v2 := range v {
if len(v2) == 0 {
continue
}
switch k2 { switch k2 {
case 1: // 下架 case 1: // 下架
param := []interface{}{} param := []interface{}{}
param = append(param, 0, mtwmapi.MsgTypeSkuUpdate, storeDetail.ID, v2) param = append(param, 0, operate[v2[0]], time.Now(), storeDetail.ID, v2)
sql := `UPDATE store_sku_bind SET status = ?,last_operator = ? WHERE store_id = ? AND sku_id IN` + "(" + dao.GenQuestionMarks(len(v2)) + ")" sql := `UPDATE store_sku_bind SET status = ?,last_operator = ?,updated_at = ? WHERE store_id = ? AND sku_id IN` + "(" + dao.GenQuestionMarks(len(v2)) + ")"
dao.ExecuteSQL(dao.GetDB(), sql, param...) dao.ExecuteSQL(dao.GetDB(), sql, param...)
case 0: // 上架 case 0: // 上架
param := []interface{}{} param := []interface{}{}
param = append(param, 1, mtwmapi.MsgTypeSkuUpdate, storeDetail.ID, v2) param = append(param, 1, operate[v2[0]], time.Now(), storeDetail.ID, v2)
sql := `UPDATE store_sku_bind SET status = ?,last_operator = ? WHERE store_id = ? AND sku_id IN` + "(" + dao.GenQuestionMarks(len(v2)) + ")" sql := `UPDATE store_sku_bind SET status = ?,last_operator = ?,updated_at = ? WHERE store_id = ? AND sku_id IN` + "(" + dao.GenQuestionMarks(len(v2)) + ")"
dao.ExecuteSQL(dao.GetDB(), sql, param...) dao.ExecuteSQL(dao.GetDB(), sql, param...)
} }
} }