1
This commit is contained in:
@@ -5921,14 +5921,14 @@ func UpdateStoreRelInformation(ctx *jxcontext.Context) error {
|
||||
case 0: //(1)仓库以及电子围栏
|
||||
if bindWarehouse, err := tiktok_store.GetWarehouseByStore(i, m); err != nil {
|
||||
errList.AddErr(fmt.Errorf("同步任务: 获取门店(%s)绑定的仓库以及电子围栏失败:%v", n, err))
|
||||
} else if len(bindWarehouse[utils.Str2Int64(i)][0].OutFenceIds) > 0 {
|
||||
for _, s := range bindWarehouse[utils.Str2Int64(i)][0].OutFenceIds {
|
||||
} else if len(bindWarehouse[i][0].OutFenceIds) > 0 {
|
||||
for _, s := range bindWarehouse[i][0].OutFenceIds {
|
||||
if s == n {
|
||||
FreightTemplate.FenceID = s
|
||||
}
|
||||
}
|
||||
} else {
|
||||
FreightTemplate.WarehouseID = bindWarehouse[utils.Str2Int64(i)][0].WarehouseId
|
||||
FreightTemplate.WarehouseID = bindWarehouse[i][0].WarehouseId
|
||||
}
|
||||
case 1: //(2)运费模板
|
||||
if bindFreightIDs, err := tiktok_store.GetStoreFreight(i, m); err != nil {
|
||||
@@ -5971,36 +5971,26 @@ func UpdateStoreRelInformation(ctx *jxcontext.Context) error {
|
||||
}
|
||||
|
||||
//获取抖店门店建议范围 (即电子围栏)
|
||||
func GetDDScope(ctx *jxcontext.Context, storeID int, vendorStoreID string) (warehouse_getFences_response.FencesItem, error) {
|
||||
var (
|
||||
data warehouse_getFences_response.FencesItem
|
||||
)
|
||||
func GetDDScope(ctx *jxcontext.Context, storeID int, vendorStoreID string) ([]warehouse_getFences_response.FencesItem, error) {
|
||||
if storeID == 0 || len(vendorStoreID) == 0 {
|
||||
return data, errors.New("storeID,vendorStoreID 必填")
|
||||
return nil, errors.New("storeID,vendorStoreID 必填")
|
||||
}
|
||||
storeMap, err := GetVendorOrgCode(ctx, dao.GetDB(), storeID, model.VendorIDDD, vendorStoreID)
|
||||
if err != nil {
|
||||
return data, errors.New(fmt.Sprintf("获取vendorOrgCode失败,请检查数据或重试:%v", err))
|
||||
}
|
||||
globals.SugarLogger.Debug("storeMap[0].VendorOrgCode=================%d", storeMap[0].VendorOrgCode)
|
||||
bindWarehouse, err := tiktok_store.GetWarehouseByStore(storeMap[0].VendorOrgCode, utils.Str2Int64(vendorStoreID))
|
||||
if err != nil {
|
||||
return data, errors.New(fmt.Sprintf("获取门店(%d) 绑定fenceID失败:%v", storeID, err))
|
||||
}
|
||||
if utils.IsNil(bindWarehouse) || len(bindWarehouse) == 0 {
|
||||
return data, nil
|
||||
if storeMap, err := GetVendorOrgCode(ctx, dao.GetDB(), storeID, model.VendorIDDD, vendorStoreID); err != nil {
|
||||
return nil, errors.New(fmt.Sprintf("获取vendorOrgCode失败,请检查数据或重试:%v", err))
|
||||
} else {
|
||||
globals.SugarLogger.Debug("bindWarehouse[int64(storeID)][utils.Str2Int(vendorStoreID)].OutFenceIds====%v", bindWarehouse[utils.Str2Int64(vendorStoreID)][0].OutFenceIds)
|
||||
if utils.IsNil(bindWarehouse[utils.Str2Int64(vendorStoreID)][0].OutFenceIds) || len(bindWarehouse[utils.Str2Int64(vendorStoreID)][0].OutFenceIds) == 0 {
|
||||
return data, nil
|
||||
if bind, err := tiktok_store.GetWarehouseByStore(storeMap[0].VendorOrgCode, utils.Str2Int64(vendorStoreID)); err != nil {
|
||||
return nil, errors.New(fmt.Sprintf("获取门店(%d) 仓库以及电子围栏信息失败:%v", storeID, err))
|
||||
} else {
|
||||
resp, err := tiktok_store.GetFence(storeMap[0].VendorOrgCode, bindWarehouse[utils.Str2Int64(vendorStoreID)][0].OutFenceIds[0])
|
||||
if err != nil {
|
||||
return data, errors.New(fmt.Sprintf("获取门店(%d) 电子围栏失败:%v", storeID, err))
|
||||
if len(bind) != 0 && len(bind[vendorStoreID][0].OutFenceIds) != 0 {
|
||||
if resp, err := tiktok_store.GetFence(storeMap[0].VendorOrgCode, bind[vendorStoreID][0].OutFenceIds); err != nil {
|
||||
return nil, errors.New(fmt.Sprintf("获取门店(%d) 电子围栏失败:%v", storeID, err))
|
||||
} else {
|
||||
return resp, nil
|
||||
}
|
||||
}
|
||||
return resp, nil
|
||||
}
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
//获取 VendorOrgCode
|
||||
@@ -6024,6 +6014,7 @@ func AssistCreateFence(relInfo map[string][]tiktok_store.RelInfo) (string, error
|
||||
endStr = ""
|
||||
db = dao.GetDB()
|
||||
errList = errlist.New()
|
||||
ctx *jxcontext.Context
|
||||
FreightTemplate = &model.FreightTemplate{}
|
||||
)
|
||||
for k, v := range relInfo {
|
||||
@@ -6043,29 +6034,28 @@ func AssistCreateFence(relInfo map[string][]tiktok_store.RelInfo) (string, error
|
||||
endStr = tStr1 + "," + tStr2
|
||||
globals.SugarLogger.Debugf("京西平台没有配送范围的门店ID=%s", endStr)
|
||||
}
|
||||
//暂时逻辑直接使用storeID
|
||||
if ifBindFence, err := tiktok_store.GetFence(k, i.StoreID); err == nil && len(ifBindFence.OutFenceId) != 0 {
|
||||
tempFenceID = i.StoreID
|
||||
}
|
||||
if fenceID, err := tiktok_store.CreateFenceByStore(k, tempStoreID); err != nil || strings.Contains(fmt.Sprint(err), fmt.Sprint("该电子围栏已经存在,请使用修改接口")) {
|
||||
if err1 := tiktok_store.UpdateFenceByStore(k, i.StoreID, utils.Str2Int(i.VendorStoreID)); err1 != nil {
|
||||
if bindFence, err := GetDDScope(ctx, utils.Str2Int(i.StoreID), i.VendorStoreID); err == nil && utils.IsNil(bindFence) != true {
|
||||
tempFenceID = bindFence[0].OutFenceId
|
||||
if err1 := tiktok_store.UpdateFenceByStore(k, tempFenceID, utils.Str2Int(i.VendorStoreID)); err1 != nil {
|
||||
errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s)更新电子围栏失败:%v", i.VendorStoreID, i.StoreID, err1))
|
||||
} else {
|
||||
errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s)创建电子围栏失败:%v", i.VendorStoreID, i.StoreID, err))
|
||||
}
|
||||
} else if utils.IsNil(fenceID) {
|
||||
tempFenceID = fenceID
|
||||
}
|
||||
if err := tiktok_store.BindFenceByStore(k, tempVendorStoreID, []string{tempFenceID}); err != nil {
|
||||
errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s)绑定电子围栏失败:%v", i.VendorStoreID, i.StoreID, err))
|
||||
} else {
|
||||
if fenceID, err := tiktok_store.CreateFenceByStore(k, tempStoreID); err != nil {
|
||||
errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s)创建电子围栏失败:%v", i.VendorStoreID, i.StoreID, err))
|
||||
} else if utils.IsNil(fenceID) {
|
||||
if err := tiktok_store.BindFenceByStore(k, tempVendorStoreID, []string{fenceID}); err != nil {
|
||||
errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s)绑定电子围栏失败:%v", i.VendorStoreID, i.StoreID, err))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if err := dao.CreateEntity(db, FreightTemplate); err != nil {
|
||||
if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID"); err1 != nil {
|
||||
globals.SugarLogger.Debugf("db update storeID,vendorStoreID defeat on :%v", err1)
|
||||
errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1))
|
||||
//errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1))
|
||||
} else {
|
||||
errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err))
|
||||
globals.SugarLogger.Debugf("db create storeID,vendorStoreID defeat on :%v", err1)
|
||||
//errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -157,12 +157,8 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee
|
||||
db *dao.DaoDB
|
||||
)
|
||||
//检查门店是否审核通过
|
||||
if remoteStore, err := getAPI(vendorOrgCode, int(storeID), utils.Int64ToStr(vendorStoreID)).GetStoreDetail(&shop_getStoreDetail_request.ShopGetStoreDetailParam{
|
||||
StoreId: vendorStoreID,
|
||||
}); err == nil {
|
||||
if remoteStore.StoreDetail.PoiAuditInfo.PoiAuditState != tiktok_api.PoiAuditStateSuccessBind {
|
||||
return fmt.Errorf("门店%d 未审核通过,请通过后再进行绑定", storeID)
|
||||
}
|
||||
if IfAuditPass(vendorOrgCode, vendorStoreID) {
|
||||
return fmt.Errorf("门店%d 未审核通过,请通过后再进行绑定", storeID)
|
||||
}
|
||||
//1.平台获取门店运费模板
|
||||
if bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID); err != nil || bindFreightIDs == 0 { //(1)未查询到绑定信息,不算错误
|
||||
@@ -272,7 +268,6 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func CreateAndBindAllV2(vendorOrgCode string, storeID, vendorStoreID, deliveryFeeDeductionFee, minPrice int64) error {
|
||||
var (
|
||||
db *dao.DaoDB
|
||||
@@ -407,9 +402,9 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
||||
return fmt.Errorf("营业时间必填")
|
||||
}
|
||||
vendorStoreID := &shop_getStoreDetail_request.ShopGetStoreDetailParam{
|
||||
StoreId: utils.Str2Int64(storeInfo.VendorStoreID),
|
||||
StoreId: storeInfo.VendorStoreID,
|
||||
}
|
||||
apiObj := getAPI(storeInfo.VendorOrgCode, storeID, utils.Int64ToStr(vendorStoreID.StoreId))
|
||||
apiObj := getAPI(storeInfo.VendorOrgCode, storeID, vendorStoreID.StoreId)
|
||||
if globals.EnableDdStoreWrite {
|
||||
remoteStoreInfo, err2 := apiObj.GetStoreDetail(vendorStoreID)
|
||||
if err2 != nil {
|
||||
@@ -454,7 +449,7 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
||||
if err != nil {
|
||||
errList.AddErr(fmt.Errorf("获取门店(%d) 电子围栏失败:%v", utils.Str2Int64(storeInfo.VendorStoreID), err))
|
||||
}
|
||||
if len(bindWarehouseAndFence) == 0 || (len(bindWarehouseAndFence) != 0 && len(bindWarehouseAndFence[utils.Str2Int64(storeInfo.VendorStoreID)][0].OutFenceIds) == 0) {
|
||||
if len(bindWarehouseAndFence) == 0 || (len(bindWarehouseAndFence) != 0 && len(bindWarehouseAndFence[storeInfo.VendorStoreID][0].OutFenceIds) == 0) {
|
||||
if fenceID, err := CreateFenceByStore(storeInfo.VendorOrgCode, int64(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))
|
||||
@@ -468,7 +463,7 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
||||
}
|
||||
} else {
|
||||
//更新电子围栏
|
||||
outFenceID := bindWarehouseAndFence[utils.Str2Int64(storeInfo.VendorStoreID)][0].OutFenceIds[0]
|
||||
outFenceID := bindWarehouseAndFence[storeInfo.VendorStoreID][0].OutFenceIds[0]
|
||||
//容错绑定
|
||||
if err := BindFenceByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID), []string{outFenceID}); err != nil {
|
||||
globals.SugarLogger.Debugf("门店(%d) 容错绑定电子围栏:%s失败:%v", storeID, outFenceID, err)
|
||||
@@ -512,7 +507,7 @@ func UpdateStoreStatus(ctx *jxcontext.Context, vendorOrgCode string, storeID int
|
||||
} else { //恢复营业
|
||||
//与平台上店铺状态对比
|
||||
remoteStoreInfo, err2 := a.GetStoreDetail(&shop_getStoreDetail_request.ShopGetStoreDetailParam{
|
||||
StoreId: utils.Str2Int64(vendorStoreID),
|
||||
StoreId: vendorStoreID,
|
||||
})
|
||||
if err2 != nil {
|
||||
return err2
|
||||
@@ -909,7 +904,7 @@ func (P *PurchaseHandler) UpdateStoreOpTime(ctx *jxcontext.Context, vendorOrgCod
|
||||
//获取门店状态
|
||||
func (P *PurchaseHandler) GetStoreStatus(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string) (storeStatus int, err error) {
|
||||
if result, err := getAPI(vendorOrgCode, storeID, vendorStoreID).GetStoreDetail(&shop_getStoreDetail_request.ShopGetStoreDetailParam{
|
||||
StoreId: utils.Str2Int64(vendorStoreID),
|
||||
StoreId: vendorStoreID,
|
||||
IsNeedChargeInfo: false,
|
||||
IsNeedPoiAuditInfo: false,
|
||||
IsNeedRelShopUser: false,
|
||||
@@ -971,7 +966,7 @@ func (P *PurchaseHandler) UpdateStoreLineStatus(ctx *jxcontext.Context, vendorOr
|
||||
return err
|
||||
}
|
||||
func (P *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendorStoreID, vendorStoreName string) (store *dao.StoreDetail, err error) {
|
||||
vendorStore, err := getAPI(vendorOrgCode, 0, "").GetStoreDetail(&shop_getStoreDetail_request.ShopGetStoreDetailParam{StoreId: utils.Str2Int64(vendorStoreID)})
|
||||
vendorStore, err := getAPI(vendorOrgCode, 0, "").GetStoreDetail(&shop_getStoreDetail_request.ShopGetStoreDetailParam{StoreId: vendorStoreID})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1064,3 +1059,16 @@ func HandleMunicipality(cityName string) bool {
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
//判断门店是否审核通过
|
||||
func IfAuditPass(vendorOrgCode string, vendorStoreID int64) bool {
|
||||
flag := false
|
||||
if remoteStore, err := getAPI(vendorOrgCode, 0, " ").GetStoreDetail(&shop_getStoreDetail_request.ShopGetStoreDetailParam{
|
||||
StoreId: utils.Int64ToStr(vendorStoreID),
|
||||
}); err == nil {
|
||||
if remoteStore.StoreDetail.Store.PoiAuditState != tiktok_api.PoiAuditStateSuccessBind || remoteStore.StoreDetail.Store.State != tiktok_api.StoreStateSuccessBind || remoteStore.StoreDetail.Store.QualState != tiktok_api.QualStateCheckingPassed || remoteStore.StoreDetail.Store.RemitState != tiktok_api.RemitStateCheckingPassed || remoteStore.StoreDetail.Store.OpenAccountState != tiktok_api.OpenAccountStateOpen {
|
||||
flag = true
|
||||
}
|
||||
}
|
||||
return flag
|
||||
}
|
||||
|
||||
@@ -90,11 +90,11 @@ func BindStoreWarehouse(VendorOrgCode, outWarehouseID string, storeIDs int64) er
|
||||
}
|
||||
|
||||
// /warehouse/getWarehouseByStore 门店id获取绑定仓库详情包括电子围栏
|
||||
func GetWarehouseByStore(appOrgCode string, storeID int64) (map[int64][]warehouse_getWarehouseByStore_response.WarehouseInfoMapItem, error) {
|
||||
func GetWarehouseByStore(appOrgCode string, storeID int64) (map[string][]*warehouse_getWarehouseByStore_response.WarehouseInfoMapItem, error) {
|
||||
if resp, err := getAPI(appOrgCode, 0, "").GetWarehouseByStore(storeID); err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
return resp, nil
|
||||
return resp.WarehouseInfoMap, nil
|
||||
}
|
||||
}
|
||||
|
||||
@@ -235,14 +235,13 @@ func BindFenceByStore(appOrgCode string, storeID int64, addOutFenceIDs []string)
|
||||
}
|
||||
|
||||
//获取电子围栏信息
|
||||
func GetFence(appOrgCode, outFenceID string) (warehouse_getFences_response.FencesItem, error) {
|
||||
emptyResp := warehouse_getFences_response.FencesItem{}
|
||||
func GetFence(appOrgCode string, outFenceID []string) ([]warehouse_getFences_response.FencesItem, error) {
|
||||
emptyResp := []warehouse_getFences_response.FencesItem{}
|
||||
if resp, err := getAPI(appOrgCode, 0, "").GetFence(outFenceID); err != nil {
|
||||
return emptyResp, err
|
||||
} else {
|
||||
return resp.Fences[0], nil
|
||||
return resp.Fences, nil
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//特殊处理
|
||||
|
||||
Reference in New Issue
Block a user