From 2462c5162adc4aa51499b66f647c23261737b0de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Mon, 22 Dec 2025 11:48:00 +0800 Subject: [PATCH] 1 --- business/partner/purchase/mtwm/callback.go | 30 +++++++++++++++------- business/partner/purchase/mtwm/store.go | 2 ++ 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/business/partner/purchase/mtwm/callback.go b/business/partner/purchase/mtwm/callback.go index 13ec6beaf..34be51647 100644 --- a/business/partner/purchase/mtwm/callback.go +++ b/business/partner/purchase/mtwm/callback.go @@ -46,23 +46,35 @@ func OnCallbackMsg(msg *mtwmapi.CallbackMsg, msgType string) (response *mtwmapi. return nil } if len(dataMap) != 0 { + var storeMap = make(map[string]map[int][]string, 0) + var skuStatus = make(map[int][]string, 0) for _, v := range dataMap { if v.AppFoodCode != "" && v.AppPoiCode != "" { - storeDetail, _ := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), v.AppPoiCode, model.VendorIDMTWM, utils.Int2Str(v.AppId)) - if storeDetail != nil { - param := []interface{}{} - switch v.DiffContents.IsSoldOut.Result { + skuStatus[v.DiffContents.IsSoldOut.Result] = append(skuStatus[v.DiffContents.IsSoldOut.Result], v.AppFoodCode) + storeMap[v.AppPoiCode] = skuStatus + } + } + for k, v := range storeMap { + storeDetail, _ := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), k, model.VendorIDMTWM, "") + if storeDetail != nil { + for k2, v2 := range v { + switch k2 { case 1: // 下架 - param = append(param, 0) + param := []interface{}{} + param = append(param, 0, mtwmapi.MsgTypeSkuUpdate, storeDetail.ID, v2) + sql := `UPDATE store_sku_bind SET status = ?,last_operator = ? WHERE store_id = ? AND sku_id IN` + "(" + dao.GenQuestionMarks(len(v2)) + ")" + dao.ExecuteSQL(dao.GetDB(), sql, param...) case 0: // 上架 - param = append(param, 1) + param := []interface{}{} + param = append(param, 1, mtwmapi.MsgTypeSkuUpdate, storeDetail.ID, v2) + sql := `UPDATE store_sku_bind SET status = ?,last_operator = ? WHERE store_id = ? AND sku_id IN` + "(" + dao.GenQuestionMarks(len(v2)) + ")" + dao.ExecuteSQL(dao.GetDB(), sql, param...) } - param = append(param, mtwmapi.MsgTypeSkuUpdate, storeDetail.ID, v.AppFoodCode) - sql := `UPDATE store_sku_bind SET status = ?,last_operator = ? WHERE store_id = ? AND sku_id = ? ` - dao.ExecuteSQL(dao.GetDB(), sql, param...) } } } + globals.SugarLogger.Debugf("---------storeMap : %s", utils.Format4Output(storeMap, false)) + globals.SugarLogger.Debugf("---------skuStatus : %s", utils.Format4Output(skuStatus, false)) } return mtwmapi.Err2CallbackResponse(nil, "") } else { diff --git a/business/partner/purchase/mtwm/store.go b/business/partner/purchase/mtwm/store.go index a30c1b6a9..a0f395d49 100644 --- a/business/partner/purchase/mtwm/store.go +++ b/business/partner/purchase/mtwm/store.go @@ -5,6 +5,7 @@ import ( "errors" "fmt" "git.rosy.net.cn/baseapi/platformapi/dingdingapi" + "git.rosy.net.cn/jx-callback/business/jxstore/cms" "git.rosy.net.cn/jx-callback/business/jxutils/ddmsg" beego "github.com/astaxie/beego/server/web" "math" @@ -477,6 +478,7 @@ func (c *PurchaseHandler) UpdateStoreOpTime(ctx *jxcontext.Context, vendorOrgCod err = getAPI(vendorOrgCode, storeID, vendorStoreID).PoiShipTimeUpdate(vendorStoreID, shippingTime) } } + cms.AddEventDetail(dao.GetDB(), ctx, model.OperateUpdate, model.VendorIDMTWM, model.ThingTypeStore, storeID, "修改前:", shippingTime) } return err }