绑定门店逻辑修改

This commit is contained in:
richboo111
2022-11-07 14:05:31 +08:00
parent 02c1309acc
commit ec7812f80f
2 changed files with 47 additions and 48 deletions

View File

@@ -167,53 +167,53 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) error
}
//2.平台获取仓库信息以及电子围栏id
bindWarehouseAndFence, err := GetWarehouseByStore(vendorOrgCode, vendorStoreID)
if err != nil {
globals.SugarLogger.Debugf("获取门店(%d) 绑定仓库信息以及电子围栏出错:%v", vendorStoreID, err)
errList.AddErr(fmt.Errorf("获取门店(%d) 绑定仓库信息以及电子围栏出错:%v", vendorStoreID, err))
//bindWarehouseAndFence, err := GetWarehouseByStore(vendorOrgCode, vendorStoreID)
//if err != nil {
// globals.SugarLogger.Debugf("获取门店(%d) 绑定仓库信息以及电子围栏出错:%v", vendorStoreID, err)
// errList.AddErr(fmt.Errorf("获取门店(%d) 绑定仓库信息以及电子围栏出错:%v", vendorStoreID, err))
//}
//if len(bindWarehouseAndFence) == 0 || utils.IsNil(bindWarehouseAndFence) { //未绑定仓库以及电子围栏
//(1)创建仓库
warehouseID, err := CreateWarehouse(vendorOrgCode, storeID)
if err != nil || warehouseID == 0 || utils.IsNil(warehouseID) {
globals.SugarLogger.Debugf("门店(%d) 创建仓库失败:%v", storeID, err)
errList.AddErr(fmt.Errorf("门店(%d) 创建仓库失败:%v", storeID, err))
} else { //绑定
if err = BindStoreWarehouse(vendorOrgCode, utils.Int64ToStr(storeID), vendorStoreID); err != nil { //仓库绑定通过自定义外部ID
globals.SugarLogger.Debugf("门店(%d) 绑定仓库:%d 失败:%v", storeID, warehouseID, err)
errList.AddErr(fmt.Errorf("门店(%d) 绑定仓库:%d 失败:%v", storeID, warehouseID, err))
} else {
FreightTemplate.WarehouseID = warehouseID
}
}
if len(bindWarehouseAndFence) == 0 || utils.IsNil(bindWarehouseAndFence) { //未绑定仓库以及电子围栏
//(1)创建仓库
warehouseID, err := CreateWarehouse(vendorOrgCode, storeID)
if err != nil || warehouseID == 0 || utils.IsNil(warehouseID) {
globals.SugarLogger.Debugf("门店(%d) 创建仓库失败:%v", storeID, err)
errList.AddErr(fmt.Errorf("门店(%d) 创建仓库失败:%v", storeID, err))
} else { //绑定
if err = BindStoreWarehouse(vendorOrgCode, utils.Int64ToStr(storeID), vendorStoreID); err != nil { //仓库绑定通过自定义外部ID
globals.SugarLogger.Debugf("门店(%d) 绑定仓库:%d 失败:%v", storeID, warehouseID, err)
errList.AddErr(fmt.Errorf("门店(%d) 绑定仓库:%d 失败:%v", storeID, warehouseID, err))
} else {
FreightTemplate.WarehouseID = warehouseID
}
}
//(2)创建电子围栏
if fenceID, err := CreateFenceByStore(vendorOrgCode, storeID); err != nil || utils.Str2Int(fenceID) == 0 || utils.IsNil(fenceID) { //不管存在与否 直接创建
globals.SugarLogger.Debugf("门店(%d) 创建电子围栏失败:%v", storeID, err)
errList.AddErr(fmt.Errorf("门店(%d) 创建电子围栏失败:%v", storeID, err))
} else { //绑定
if err := BindFenceByStore(vendorOrgCode, vendorStoreID, []string{utils.Int64ToStr(storeID)}); err != nil {
globals.SugarLogger.Debugf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err)
errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err))
} else {
FreightTemplate.FenceID = utils.Int64ToStr(storeID)
}
}
} else {
//电子围栏二次验证
if len(bindWarehouseAndFence[vendorStoreID][0].OutFenceIds) == 0 || utils.IsNil(bindWarehouseAndFence[vendorStoreID][0].OutFenceIds) { //未绑定电子围栏
globals.SugarLogger.Debugf("进入二次创建电子围栏=========")
if fenceID, err := CreateFenceByStore(vendorOrgCode, storeID); err != nil || utils.Str2Int(fenceID) == 0 || utils.IsNil(fenceID) { //创建
globals.SugarLogger.Debug("门店(%d) 创建电子围栏失败:%v", storeID, err)
errList.AddErr(fmt.Errorf("门店(%d) 创建电子围栏失败:%v", storeID, err))
} else { //绑定
if err := BindFenceByStore(vendorOrgCode, vendorStoreID, []string{utils.Int64ToStr(storeID)}); err != nil {
globals.SugarLogger.Debugf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err)
errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err))
} else {
FreightTemplate.FenceID = utils.Int64ToStr(storeID)
}
}
//(2)创建电子围栏
if fenceID, err := CreateFenceByStore(vendorOrgCode, storeID); err != nil || utils.Str2Int(fenceID) == 0 || utils.IsNil(fenceID) { //不管存在与否 直接创建
globals.SugarLogger.Debugf("门店(%d) 创建电子围栏失败:%v", storeID, err)
errList.AddErr(fmt.Errorf("门店(%d) 创建电子围栏失败:%v", storeID, err))
} else { //绑定
if err := BindFenceByStore(vendorOrgCode, vendorStoreID, []string{utils.Int64ToStr(storeID)}); err != nil {
globals.SugarLogger.Debugf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err)
errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err))
} else {
FreightTemplate.FenceID = utils.Int64ToStr(storeID)
}
//}
//} else {
// //电子围栏二次验证
// if len(bindWarehouseAndFence[vendorStoreID][0].OutFenceIds) == 0 || utils.IsNil(bindWarehouseAndFence[vendorStoreID][0].OutFenceIds) { //未绑定电子围栏
// globals.SugarLogger.Debugf("进入二次创建电子围栏=========")
// if fenceID, err := CreateFenceByStore(vendorOrgCode, storeID); err != nil || utils.Str2Int(fenceID) == 0 || utils.IsNil(fenceID) { //创建
// globals.SugarLogger.Debug("门店(%d) 创建电子围栏失败:%v", storeID, err)
// errList.AddErr(fmt.Errorf("门店(%d) 创建电子围栏失败:%v", storeID, err))
// } else { //绑定
// if err := BindFenceByStore(vendorOrgCode, vendorStoreID, []string{utils.Int64ToStr(storeID)}); err != nil {
// globals.SugarLogger.Debugf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err)
// errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err))
// } else {
// FreightTemplate.FenceID = utils.Int64ToStr(storeID)
// }
// }
// }
}

View File

@@ -196,10 +196,9 @@ func UpdateFenceByStore(appOrgCode, outFenceID string, storeID int) error {
sqlParam := []interface{}{
model.VendorIDDD,
}
sqlStr := ` SELECT t.lng,t.lat,t.delivery_range_type,t.delivery_range,s.vendor_store_id FROM store t
LEFT JOIN store_map s ON t.id = s.store_id WHERE s.vendor_id = ? `
sqlStr := `SELECT t.lng,t.lat,t.delivery_range_type,t.delivery_range FROM store t`
if storeID != 0 {
sqlStr += " AND t.id = ? "
sqlStr += " WHERE t.id = ? "
sqlParam = append(sqlParam, storeID)
} else {
return fmt.Errorf("storeID必填")