diff --git a/business/jxstore/cms/sync.go b/business/jxstore/cms/sync.go index c62dcd79b..7f7210113 100644 --- a/business/jxstore/cms/sync.go +++ b/business/jxstore/cms/sync.go @@ -50,8 +50,8 @@ func (v *VendorSync) SyncStore(db *dao.DaoDB, vendorID int, store *model.Store, if db == nil { db = dao.GetDB() } - var storeMapList []*model.StoreMap - if err = dao.GetEntities(db, &storeMapList, utils.Params2Map(model.FieldStoreID, store.ID), true); err == nil { + storeMapList, err := v.GetStoreMapInfo(db, store.ID) + if err == nil { copiedStore := *store for _, storeMap := range storeMapList { if (vendorID == -1 || vendorID == storeMap.VendorID) && (isForce || storeMap.SyncStatus != 0) { // 对于门店,当前只有修改标记 @@ -81,8 +81,10 @@ func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, use if err = dao.GetEntities(db, &skuList, cond, true); err == nil { for _, sku := range skuList { if (skuID == -1 || skuID == sku.ID) && (isForce || sku.JdSyncStatus != 0) { + updateFields := []string{model.FieldJdSyncStatus} if sku.JdSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除 err = GetPurchaseHandler(model.VendorIDJD).CreateSku(sku, userName) + updateFields = append(updateFields, model.FieldJdID) } else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 { // 新增 err = GetPurchaseHandler(model.VendorIDJD).DeleteSku(sku, userName) } else if sku.JdSyncStatus&model.SyncFlagModifiedMask != 0 { // 修改 @@ -90,7 +92,7 @@ func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, use } if err == nil { sku.JdSyncStatus = 0 - dao.UpdateEntity(db, sku, model.FieldJdSyncStatus) + dao.UpdateEntity(db, sku, updateFields...) } } } @@ -99,7 +101,7 @@ func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, use } func (v *VendorSync) SyncStoreSku(db *dao.DaoDB, storeID int, skuIDs []int, isForce bool, userName string) (err error) { - storeMapList := v.GetStoreMapInfo(db, storeID) + storeMapList, err := v.GetStoreMapInfo(db, storeID) var skuNamesInfo *StoreSkuNamesInfo if skuNamesInfo, err = GetStoreSkus(storeID, "", utils.Params2Map("skuID", skuIDs), 0, 10000); err == nil { if skuNamesInfo.TotalCount != len(skuNamesInfo.SkuNames) { @@ -122,7 +124,6 @@ func (v *VendorSync) SyncStoreSku2JD(db *dao.DaoDB, skuInfoList []*StoreSkuNameE return err } -func (v *VendorSync) GetStoreMapInfo(db *dao.DaoDB, storeID int) (storeMapList []*model.StoreMap) { - dao.GetEntities(db, &storeMapList, utils.Params2Map(model.FieldStoreID, storeID), false) - return storeMapList +func (v *VendorSync) GetStoreMapInfo(db *dao.DaoDB, storeID int) (storeMapList []*model.StoreMap, err error) { + return storeMapList, dao.GetEntities(db, &storeMapList, utils.Params2Map(model.FieldStoreID, storeID), true) } diff --git a/business/model/model.go b/business/model/model.go index 90190f9d4..e5add03d8 100644 --- a/business/model/model.go +++ b/business/model/model.go @@ -22,6 +22,8 @@ const ( FieldVendorStoreID = "VendorStoreID" FieldNameID = "NameID" FieldPlaceCode = "PlaceCode" + + FieldJdID = "JdID" ) type ModelIDCUL struct {