diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 388dd68ae..e49117209 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -4,6 +4,7 @@ import ( "bytes" "errors" "fmt" + "git.rosy.net.cn/jx-callback/business/partner/purchase/mtwm" "git.rosy.net.cn/jx-callback/business/partner/purchase/tiktok_store" "io" "math" @@ -6638,11 +6639,25 @@ func SyncTiktokMainIdToLocal(ctx *jxcontext.Context, param *tiktok_store.MainSku } //批量更新美团商品进货价 -func BatchSetRestockingPrice(ctx *jxcontext.Context, preData map[string]interface{}) error { - //spuData := []*mtwmapi.SpuData{} - //for k, v := range preData { - // //获取京西平台storeID - // err := dao.GetStoreDetail() - //} +func BatchSetRestockingPrice(ctx *jxcontext.Context, preData map[string][]mtwmapi.SpuData) error { + var params []*mtwmapi.SpuData + for k, v := range preData { + //获取京西平台storeID + if storeID, vendorOrgCode, err := dao.GetCodeAndIDByMeiTuan(k); err != nil { + return errors.New(fmt.Sprintf("获取京西本地门店ID失败:%v 请重试", err)) + } else { + for _, i := range v { + param := &mtwmapi.SpuData{ + AppSpuCode: i.AppSpuCode, + SkuID: i.SkuID, + PurchasePrice: i.PurchasePrice, + } + params = append(params, param) + } + if err := mtwm.GetAPI(vendorOrgCode, storeID, "").BatchSetRestockingPrice(ctx.GetTrackInfo(), k, params); err != nil { + return err + } + } + } return nil } diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 216895dd1..ca1811f8f 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -1632,7 +1632,7 @@ func InsertIntoFreightTemplate(storeID int, vendorStoreID string, templateID, wa } //只获取美团平台的京西storeID -func GetStoreIDByMeiTuan(vendorStoreID string) (storeID int, err error) { - - return 0, err +func GetCodeAndIDByMeiTuan(vendorStoreID string) (storeID int, vendorOrgCode string, err error) { + err = GetRow(GetDB(), &storeID, "SELECT s.store_id,s.vendor_org_code FROM store_map s WHERE s.vendor_store_id = ? AND s.vendor_id = ? ", vendorStoreID, model.VendorIDMTWM) + return storeID, vendorStoreID, err } diff --git a/business/partner/purchase/mtwm/store_sku2.go b/business/partner/purchase/mtwm/store_sku2.go index 7fb8edeef..ae43f68b9 100644 --- a/business/partner/purchase/mtwm/store_sku2.go +++ b/business/partner/purchase/mtwm/store_sku2.go @@ -195,6 +195,30 @@ func (p *PurchaseHandler) DeleteStoreCategory(ctx *jxcontext.Context, storeID in return err } +//批量更新商品进货价 +func (p *PurchaseHandler) BatchSetRestockingPrice(ctx *jxcontext.Context, preData map[string][]mtwmapi.SpuData) error { + var params []*mtwmapi.SpuData + for k, v := range preData { + //获取京西平台storeID + if storeID, vendorOrgCode, err := dao.GetCodeAndIDByMeiTuan(k); err != nil { + return err + } else { + for _, i := range v { + param := &mtwmapi.SpuData{ + AppSpuCode: i.AppSpuCode, + SkuID: i.SkuID, + PurchasePrice: i.PurchasePrice, + } + params = append(params, param) + } + if err := GetAPI(vendorOrgCode, storeID, "").BatchSetRestockingPrice(ctx.GetTrackInfo(), k, params); err != nil { + return err + } + } + } + return nil +} + // 门店商品 // 多门店平台不需要实现这个接口 diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 780805bc6..b97ec1bbb 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -1,6 +1,7 @@ package controllers import ( + "git.rosy.net.cn/baseapi/platformapi/mtwmapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxstore/cms" "git.rosy.net.cn/jx-callback/business/jxstore/misc" @@ -822,10 +823,12 @@ func (c *SkuController) SyncTiktokMainSkuToLocalSku() { func (c *SkuController) BatchSetRestockingPrice() { c.callBatchSetRestockingPrice(func(params *tSkuBatchSetRestockingPriceParams) (interface{}, string, error) { - payload := make(map[string]interface{}) + payload := make(map[string][]mtwmapi.SpuData) if err := utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil { err = cms.BatchSetRestockingPrice(params.Ctx, payload) + } else { + return nil, "", err } - return nil, "", err + return nil, "", nil }) }