- sku man.

This commit is contained in:
gazebo
2018-09-11 16:20:27 +08:00
parent 70bf5a522a
commit 7f4c125279
15 changed files with 280 additions and 124 deletions

View File

@@ -8,7 +8,6 @@ import (
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/globals"
)
type StoreExt struct {
@@ -201,13 +200,15 @@ func UpdateStore(storeID int, payload map[string]interface{}, userName string) (
store := &model.Store{}
store.ID = storeID
valid := dao.NormalMakeMapByStructObject(payload, store, userName)
db := dao.GetDB()
if num, err = dao.UpdateEntityByKV(db, store, valid, nil); err == nil {
dummy := &model.StoreMap{}
_, err2 := dao.UpdateEntityByKV(db, dummy, utils.Params2Map(model.FieldSyncStatus, model.SyncFlagModifiedMask), utils.Params2Map(model.FieldStoreID, store.ID))
if err = err2; err == nil {
if err = dao.GetEntity(db, store); err == nil {
err = CurVendorSync.SyncStore(db, -1, store, false, userName)
if len(valid) > 0 {
db := dao.GetDB()
if num, err = dao.UpdateEntityByKV(db, store, valid, nil); err == nil && num == 1 {
dummy := &model.StoreMap{}
_, err2 := dao.UpdateEntityByKV(db, dummy, utils.Params2Map(model.FieldSyncStatus, model.SyncFlagModifiedMask), utils.Params2Map(model.FieldStoreID, store.ID))
if err = err2; err == nil {
if err = dao.GetEntity(db, store); err == nil {
err = CurVendorSync.SyncStore(db, -1, store, false, userName)
}
}
}
}
@@ -232,13 +233,15 @@ func GetStoreVendorMaps(db *dao.DaoDB, storeID int, vendorID int) (storeMaps []*
return storeMaps, dao.GetEntities(db, &storeMaps, cond, false)
}
func AddStoreVendorMap(db *dao.DaoDB, storeMap *model.StoreMap, userName string) (outStoreMap *model.StoreMap, err error) {
func AddStoreVendorMap(db *dao.DaoDB, storeID, vendorID int, storeMap *model.StoreMap, userName string) (outStoreMap *model.StoreMap, err error) {
store, err := GetPurchaseHandler(storeMap.VendorID).ReadStore(storeMap.VendorStoreID)
if err == nil {
dao.WrapAddIDCULEntity(storeMap, userName)
storeMap.StoreID = storeID
storeMap.VendorID = vendorID
storeMap.DeliveryType = store.DeliveryType
storeMap.Status = store.Status
storeMap.SyncStatus = model.SyncFlagModifiedMask
storeMap.SyncStatus = model.SyncFlagModifiedMask // 新增绑定门店是修改的概念
if err = dao.CreateEntity(db, storeMap); err == nil {
outStoreMap = storeMap
err = CurVendorSync.SyncStore(db, storeMap.VendorID, store, true, userName)
@@ -265,16 +268,17 @@ func UpdateStoreVendorMap(db *dao.DaoDB, storeID, vendorID int, payload map[stri
if err == nil {
dummyStoreMap := &model.StoreMap{}
valid := dao.NormalMakeMapByStructObject(payload, dummyStoreMap, userName)
if valid["status"] != nil { // 对于store vendor map只有Status改变才需要同步到厂商
valid[model.FieldSyncStatus] = model.SyncFlagModifiedMask
}
globals.SugarLogger.Debug(utils.Format4Output(valid, false))
if num, err = dao.UpdateEntityByKV(db, dummyStoreMap, valid, utils.Params2Map(model.FieldStoreID, storeID, model.FieldVendorID, vendorID)); err == nil {
if valid["status"] != nil {
store := &model.Store{}
store.ID = storeID
if err = dao.GetEntity(db, store); err == nil {
err = CurVendorSync.SyncStore(db, vendorID, store, true, userName)
if len(valid) > 0 {
if valid["status"] != nil { // 对于store vendor map只有Status改变才需要同步到厂商
valid[model.FieldSyncStatus] = model.SyncFlagModifiedMask
}
if num, err = dao.UpdateEntityByKV(db, dummyStoreMap, valid, utils.Params2Map(model.FieldStoreID, storeID, model.FieldVendorID, vendorID)); err == nil {
if valid["status"] != nil {
store := &model.Store{}
store.ID = storeID
if err = dao.GetEntity(db, store); err == nil {
err = CurVendorSync.SyncStore(db, vendorID, store, false, userName)
}
}
}
}