This commit is contained in:
richboo111
2022-12-06 17:33:52 +08:00
parent c8c33d38c1
commit 72e2688560
3 changed files with 58 additions and 61 deletions

View File

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

View File

@@ -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
}
}
//特殊处理