From e2caafc4c9d249b75efbe174e385958a7e909821 Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 17 Sep 2018 19:02:55 +0800 Subject: [PATCH] - fk. --- business/jxstore/cms/store.go | 21 +++++++++++++++++++-- business/jxstore/cms/sync.go | 3 --- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 4edfe3286..ac8fd5973 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -274,9 +274,26 @@ func AddStoreVendorMap(db *dao.DaoDB, storeID, vendorID int, storeMap *model.Sto storeMap.DeliveryType = store.DeliveryType storeMap.Status = store.Status storeMap.SyncStatus = model.SyncFlagModifiedMask // 新增绑定门店是修改的概念 + if db == nil { + db = dao.GetDB() + } + dao.Begin(db) + defer func() { + if r := recover(); r != nil { + dao.Rollback(db) + panic(r) + } + }() if err = dao.CreateEntity(db, storeMap); err == nil { - outStoreMap = storeMap - err = CurVendorSync.SyncStore(db, storeMap.VendorID, store, true, userName) + store.ID = storeID + if err = dao.GetEntity(db, store); err == nil { + dao.Commit(db) + outStoreMap = storeMap + err = CurVendorSync.SyncStore(db, storeMap.VendorID, store, true, userName) + } + } + if err != nil { + dao.Rollback(db) } } } else { diff --git a/business/jxstore/cms/sync.go b/business/jxstore/cms/sync.go index e06f50757..e5e15d0ec 100644 --- a/business/jxstore/cms/sync.go +++ b/business/jxstore/cms/sync.go @@ -85,11 +85,8 @@ func (v *VendorSync) SyncStore(db *dao.DaoDB, vendorID int, store *model.Store, storeMap := batchItemList[0].(*model.StoreMap) globals.SugarLogger.Debugf("SyncStore, storeMap:%s", utils.Format4Output(store, true)) if (vendorID == -1 || vendorID == storeMap.VendorID) && (isForce || storeMap.SyncStatus != 0) { - globals.SugarLogger.Debug("f2") if handler := GetPurchaseHandler(storeMap.VendorID); handler != nil { - globals.SugarLogger.Debug("f3") if err = handler.UpdateStore(store.ID, userName); err == nil { - globals.SugarLogger.Debug("f4") storeMap.SyncStatus = 0 _, err = dao.UpdateEntity(db, storeMap, model.FieldSyncStatus) }