This commit is contained in:
richboo111
2022-10-31 18:09:29 +08:00
parent 474fb33ef1
commit 1bda728d77

View File

@@ -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))
}