- write JdID when after create sku on jd successfully.

This commit is contained in:
gazebo
2018-09-14 11:58:09 +08:00
parent f45698e89b
commit 87ddd8aa52
2 changed files with 10 additions and 7 deletions

View File

@@ -50,8 +50,8 @@ func (v *VendorSync) SyncStore(db *dao.DaoDB, vendorID int, store *model.Store,
if db == nil { if db == nil {
db = dao.GetDB() db = dao.GetDB()
} }
var storeMapList []*model.StoreMap storeMapList, err := v.GetStoreMapInfo(db, store.ID)
if err = dao.GetEntities(db, &storeMapList, utils.Params2Map(model.FieldStoreID, store.ID), true); err == nil { if err == nil {
copiedStore := *store copiedStore := *store
for _, storeMap := range storeMapList { for _, storeMap := range storeMapList {
if (vendorID == -1 || vendorID == storeMap.VendorID) && (isForce || storeMap.SyncStatus != 0) { // 对于门店,当前只有修改标记 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 { if err = dao.GetEntities(db, &skuList, cond, true); err == nil {
for _, sku := range skuList { for _, sku := range skuList {
if (skuID == -1 || skuID == sku.ID) && (isForce || sku.JdSyncStatus != 0) { if (skuID == -1 || skuID == sku.ID) && (isForce || sku.JdSyncStatus != 0) {
updateFields := []string{model.FieldJdSyncStatus}
if sku.JdSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除 if sku.JdSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除
err = GetPurchaseHandler(model.VendorIDJD).CreateSku(sku, userName) err = GetPurchaseHandler(model.VendorIDJD).CreateSku(sku, userName)
updateFields = append(updateFields, model.FieldJdID)
} else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 { // 新增 } else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 { // 新增
err = GetPurchaseHandler(model.VendorIDJD).DeleteSku(sku, userName) err = GetPurchaseHandler(model.VendorIDJD).DeleteSku(sku, userName)
} else if sku.JdSyncStatus&model.SyncFlagModifiedMask != 0 { // 修改 } 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 { if err == nil {
sku.JdSyncStatus = 0 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) { 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 var skuNamesInfo *StoreSkuNamesInfo
if skuNamesInfo, err = GetStoreSkus(storeID, "", utils.Params2Map("skuID", skuIDs), 0, 10000); err == nil { if skuNamesInfo, err = GetStoreSkus(storeID, "", utils.Params2Map("skuID", skuIDs), 0, 10000); err == nil {
if skuNamesInfo.TotalCount != len(skuNamesInfo.SkuNames) { if skuNamesInfo.TotalCount != len(skuNamesInfo.SkuNames) {
@@ -122,7 +124,6 @@ func (v *VendorSync) SyncStoreSku2JD(db *dao.DaoDB, skuInfoList []*StoreSkuNameE
return err return err
} }
func (v *VendorSync) GetStoreMapInfo(db *dao.DaoDB, storeID int) (storeMapList []*model.StoreMap) { func (v *VendorSync) GetStoreMapInfo(db *dao.DaoDB, storeID int) (storeMapList []*model.StoreMap, err error) {
dao.GetEntities(db, &storeMapList, utils.Params2Map(model.FieldStoreID, storeID), false) return storeMapList, dao.GetEntities(db, &storeMapList, utils.Params2Map(model.FieldStoreID, storeID), true)
return storeMapList
} }

View File

@@ -22,6 +22,8 @@ const (
FieldVendorStoreID = "VendorStoreID" FieldVendorStoreID = "VendorStoreID"
FieldNameID = "NameID" FieldNameID = "NameID"
FieldPlaceCode = "PlaceCode" FieldPlaceCode = "PlaceCode"
FieldJdID = "JdID"
) )
type ModelIDCUL struct { type ModelIDCUL struct {