From 1bda728d77556c642666f4dde846216d7837cc41 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Mon, 31 Oct 2022 18:09:29 +0800 Subject: [PATCH] 1 --- .../partner/purchase/tiktok_store/store.go | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store.go b/business/partner/purchase/tiktok_store/store.go index 7a2c15a41..c9bc7b08b 100644 --- a/business/partner/purchase/tiktok_store/store.go +++ b/business/partner/purchase/tiktok_store/store.go @@ -171,8 +171,9 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) error if err != nil { errList.AddErr(fmt.Errorf("获取门店(%d) 绑定仓库信息以及电子围栏出错:%v", vendorStoreID, err)) } - if len(bindWarehouseAndFence) == 0 || utils.IsNil(bindWarehouseAndFence) { //未绑定仓库 - if warehouseID, err := CreateWarehouse(vendorOrgCode, utils.Int64ToStr(storeID)); err != nil || warehouseID == 0 || utils.IsNil(warehouseID) { + if len(bindWarehouseAndFence) == 0 || utils.IsNil(bindWarehouseAndFence) { //(1)未绑定仓库以及电子围栏 + warehouseID, err := CreateWarehouse(vendorOrgCode, utils.Int64ToStr(storeID)) + if err != nil || warehouseID == 0 || utils.IsNil(warehouseID) { errList.AddErr(fmt.Errorf("门店(%d) 创建仓库失败:%v", storeID, err)) } else { //绑定 if err = BindStoreWarehouse(vendorOrgCode, utils.Int64ToStr(storeID), vendorStoreID); err != nil { //仓库绑定通过自定义外部ID @@ -183,8 +184,7 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) error errList.AddErr(fmt.Errorf("仓库ID(%d) 同步到数据库失败:%v", warehouseID, err)) } } - } - if len(bindWarehouseAndFence[0][vendorStoreID].OutFenceIds) == 0 || utils.IsNil(bindWarehouseAndFence[0][vendorStoreID].OutFenceIds) { //未绑定电子围栏 + //检查是否有电子围栏 if fenceID, err := CreateFenceByStore(vendorOrgCode, storeID); err != nil || utils.Str2Int(fenceID) == 0 || utils.IsNil(fenceID) { //创建 errList.AddErr(fmt.Errorf("门店(%d) 创建电子围栏失败:%v", storeID, err)) } else { //绑定 @@ -199,6 +199,20 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) error } } } else { //同步信息到本地 + if len(bindWarehouseAndFence[0][vendorStoreID].OutFenceIds) == 0 || utils.IsNil(bindWarehouseAndFence[0][vendorStoreID].OutFenceIds) { //未绑定电子围栏 + if fenceID, err := CreateFenceByStore(vendorOrgCode, storeID); err != nil || utils.Str2Int(fenceID) == 0 || utils.IsNil(fenceID) { //创建 + errList.AddErr(fmt.Errorf("门店(%d) 创建电子围栏失败:%v", storeID, err)) + } else { //绑定 + if err := BindFenceByStore(vendorOrgCode, vendorStoreID, []string{utils.Int64ToStr(storeID)}); err != nil { + errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err)) + } else { + FreightTemplate.FenceID = utils.Int64ToStr(storeID) + if err := dao.CreateEntity(db, FreightTemplate); err != nil { + errList.AddErr(fmt.Errorf("电子围栏ID(%s) 同步到数据库失败:%v", fenceID, err)) + } + } + } + } if _, err = dao.UpdateEntity(db, FreightTemplate, "FenceID"); err != nil { errList.AddErr(fmt.Errorf("电子围栏 同步到本地出错:%v", err)) }