From da405609a838f9f145e44ce045e696686831a08d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 15 May 2020 16:22:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E9=97=A8=E5=BA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store.go | 43 +++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index ef9391b7b..f33257789 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -1177,29 +1177,34 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend } else if vendorID == model.VendorIDJDShop { storeMap.SyncStatus = model.SyncFlagNewMask //京东商城要去建店 } - if err == nil { - dao.WrapAddIDCULDEntity(storeMap, userName) - if db == nil { - db = dao.GetDB() - } - dao.Begin(db) - defer func() { - if r := recover(); r != nil { + storeMapList, err := dao.GetStoresMapList2(db, []int{vendorID}, []int{storeID}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", true) + if len(storeMapList) > 0 { + _, err = CurVendorSync.SyncStore(ctx, db, storeMap.VendorID, storeID, false, userName) + } else { + if err == nil { + dao.WrapAddIDCULDEntity(storeMap, userName) + 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 { + dao.Commit(db) + outStoreMap = storeMap + _, err = CurVendorSync.SyncStore(ctx, db, storeMap.VendorID, storeID, false, userName) + } else { dao.Rollback(db) - panic(r) } - }() - if err = dao.CreateEntity(db, storeMap); err == nil { - if globals.IsAddEvent { - err = AddEventDetail(db, ctx, model.OperateAdd, vendorID, model.ThingTypeStore, storeID, "", `{"VendorID":`+utils.Int2Str(vendorID)+`}`) - } - dao.Commit(db) - outStoreMap = storeMap - _, err = CurVendorSync.SyncStore(ctx, db, storeMap.VendorID, storeID, false, userName) - } else { - dao.Rollback(db) } } + if globals.IsAddEvent { + err = AddEventDetail(db, ctx, model.OperateAdd, vendorID, model.ThingTypeStore, storeID, "", `{"VendorID":`+utils.Int2Str(vendorID)+`}`) + } return outStoreMap, err }