diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 710ec1e66..3add5884b 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -1035,42 +1035,42 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend return nil, fmt.Errorf("非京东平台要求必须自动拣货") } userName := ctx.GetUserName() - if handler := CurVendorSync.GetStoreHandler(vendorID); handler != nil { - store, err2 := handler.ReadStore(ctx, vendorOrgCode, storeMap.VendorStoreID) - if err = err2; err == nil || storeMap.IsSync == 0 { - dao.WrapAddIDCULDEntity(storeMap, userName) - storeMap.StoreID = storeID - storeMap.VendorID = vendorID - if store != nil { - storeMap.DeliveryType = store.DeliveryType - storeMap.Status = store.Status - } - err = nil - storeMap.SyncStatus = model.SyncFlagModifiedMask | model.SyncFlagStoreName | model.SyncFlagStoreAddress // 新增绑定门店是修改的概念 - 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 + if vendorID != model.VendorIDJX { + if handler := CurVendorSync.GetStoreHandler(vendorID); handler != nil { + store, err2 := handler.ReadStore(ctx, vendorOrgCode, storeMap.VendorStoreID) + if err = err2; err == nil || storeMap.IsSync == 0 { + storeMap.StoreID = storeID + storeMap.VendorID = vendorID if store != nil { - _, err = CurVendorSync.SyncStore(ctx, db, storeMap.VendorID, storeID, false, userName) + storeMap.DeliveryType = store.DeliveryType + storeMap.Status = store.Status } + err = nil + storeMap.SyncStatus = model.SyncFlagModifiedMask | model.SyncFlagStoreName | model.SyncFlagStoreAddress // 新增绑定门店是修改的概念 } - if err != nil { - dao.Rollback(db) - } else { - dao.Commit(db) - } + } else { + err = ErrCanNotFindVendor + } + } + dao.WrapAddIDCULDEntity(storeMap, userName) + if err == nil { + 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) } - } else { - err = ErrCanNotFindVendor } return outStoreMap, err }