diff --git a/business/model/dao/dao_utils.go b/business/model/dao/dao_utils.go index 434976658..433d47cec 100644 --- a/business/model/dao/dao_utils.go +++ b/business/model/dao/dao_utils.go @@ -21,6 +21,7 @@ func NormalMakeMapByStructObject(mapData map[string]interface{}, obj interface{} return retVal } +// 此函数要求mapData中的数据类型是完全正确的(可利用函数utils.Unmarshal2Map),比如整数,浮点不能为通用的Number型 func StrictMakeMapByStructObject(mapData map[string]interface{}, obj interface{}, userName string) (retVal map[string]interface{}) { retVal, _ = IDCULDFilterMapByStructObject(mapData, obj, true) return retVal diff --git a/business/partner/purchase/jd/sku.go b/business/partner/purchase/jd/sku.go index cefa2c075..14e0d91dd 100644 --- a/business/partner/purchase/jd/sku.go +++ b/business/partner/purchase/jd/sku.go @@ -464,8 +464,9 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt if sku.JdSyncStatus&model.SyncFlagSpecMask != 0 { skuIndex := sku.SkuIndex if skuIndex > 0 { - // saleAttrValue := composeSkuSpec(sku.SpecQuality, sku.SpecUnit, skuExt.Unit) - // err = api.JdAPI.UpdateSpuSaleAttr(utils.Int2Str(skuExt.ID), utils.Int2Str(jdapi.SaleAttrIDBase), "", utils.Int2Str(jdapi.SaleAttrValueIDBase+skuIndex-1), saleAttrValue) + saleAttrValue := composeSkuSpec(sku.SpecQuality, sku.SpecUnit, skuExt.Unit) + globals.SugarLogger.Debugf("syncSkuNameAsSpu outSuperId:%d, saleAttrId:%d, saleAttrValueId:%d, saleAttrValueName:%s", skuExt.ID, jdapi.SaleAttrIDBase, jdapi.SaleAttrValueIDBase+skuIndex-1, saleAttrValue) + err = api.JdAPI.UpdateSpuSaleAttr(utils.Int2Str(skuExt.ID), utils.Int2Str(jdapi.SaleAttrIDBase), "", utils.Int2Str(jdapi.SaleAttrValueIDBase+skuIndex-1), saleAttrValue) } } } diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index b95f3d749..ff8025f3e 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -183,8 +183,9 @@ func (c *SkuController) AddSkuName() { // @router /UpdateSkuName [put] func (c *SkuController) UpdateSkuName() { c.callUpdateSkuName(func(params *tSkuUpdateSkuNameParams) (retVal interface{}, errCode string, err error) { - payload := make(map[string]interface{}) - if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil { + var payload map[string]interface{} + dummySkuName := &model.SkuName{} + if payload, err = utils.Unmarshal2Map([]byte(params.Payload), dummySkuName); err == nil { retVal, err = cms.UpdateSkuName(params.Ctx, params.NameID, payload, params.Ctx.GetUserName()) } return retVal, "", err @@ -233,8 +234,9 @@ func (c *SkuController) AddSku() { // @router /UpdateSku [put] func (c *SkuController) UpdateSku() { c.callUpdateSku(func(params *tSkuUpdateSkuParams) (retVal interface{}, errCode string, err error) { - payload := make(map[string]interface{}) - if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil { + var payload map[string]interface{} + dummySku := &model.Sku{} + if payload, err = utils.Unmarshal2Map([]byte(params.Payload), dummySku); err == nil { retVal, err = cms.UpdateSku(params.Ctx, params.SkuID, payload, params.Ctx.GetUserName()) } return retVal, "", err diff --git a/controllers/cms_store.go b/controllers/cms_store.go index c4a921e53..b3f3e9729 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -66,9 +66,10 @@ func (c *StoreController) GetVendorStore() { // @router /UpdateStore [put] func (c *StoreController) UpdateStore() { c.callUpdateStore(func(params *tStoreUpdateStoreParams) (retVal interface{}, errCode string, err error) { - store := make(map[string]interface{}) - if err = utils.UnmarshalUseNumber([]byte(params.Payload), &store); err == nil { - retVal, err = cms.UpdateStore(params.Ctx, params.StoreID, store, params.Ctx.GetUserName()) + var payload map[string]interface{} + dummyStore := &model.Store{} + if payload, err = utils.Unmarshal2Map([]byte(params.Payload), dummyStore); err == nil { + retVal, err = cms.UpdateStore(params.Ctx, params.StoreID, payload, params.Ctx.GetUserName()) } return retVal, "", err }) @@ -144,10 +145,10 @@ func (c *StoreController) GetStoreVendorMaps() { // @router /UpdateStoreVendorMap [put] func (c *StoreController) UpdateStoreVendorMap() { c.callUpdateStoreVendorMap(func(params *tStoreUpdateStoreVendorMapParams) (retVal interface{}, errCode string, err error) { - var storeMap map[string]interface{} - var storeMapStruct model.StoreMap - if storeMap, err = utils.Unmarshal2Map([]byte(params.Payload), &storeMapStruct); err == nil { - retVal, err = cms.UpdateStoreVendorMap(params.Ctx, nil, params.StoreID, params.VendorID, storeMap, params.Ctx.GetUserName()) + var payload map[string]interface{} + dummyStoreMap := &model.StoreMap{} + if payload, err = utils.Unmarshal2Map([]byte(params.Payload), dummyStoreMap); err == nil { + retVal, err = cms.UpdateStoreVendorMap(params.Ctx, nil, params.StoreID, params.VendorID, payload, params.Ctx.GetUserName()) } return retVal, "", err })