diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 1d8f7bf03..1b1d8e798 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -5891,12 +5891,20 @@ func GetDDScope(ctx *jxcontext.Context, storeID int, vendorStoreID string) (ware if err != nil { return data, errors.New(fmt.Sprintf("获取门店(%d) 绑定fenceID失败:%v", storeID, err)) } - globals.SugarLogger.Debug("len(bindWarehouse),bindWarehouse[0][utils.Str2Int(vendorStoreID)].OutFenceIds[0]=================%d,%d", len(bindWarehouse), bindWarehouse[0][utils.Str2Int(vendorStoreID)].OutFenceIds[0]) - resp, err := tiktok_store.GetFence(storeMap[0].VendorOrgCode, bindWarehouse[0][utils.Str2Int(vendorStoreID)].OutFenceIds[0]) - if err != nil { - return data, err + if utils.IsNil(bindWarehouse) || len(bindWarehouse) == 0 { + return data, nil + } 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 + } 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)) + } + return resp, nil + } } - return resp, nil } //获取 VendorOrgCode diff --git a/business/jxstore/cms/sync.go b/business/jxstore/cms/sync.go index 04907489e..2220fa4a4 100644 --- a/business/jxstore/cms/sync.go +++ b/business/jxstore/cms/sync.go @@ -304,6 +304,7 @@ func (v *VendorSync) SyncStore2(ctx *jxcontext.Context, db *dao.DaoDB, vendorIDs failedList = putils.GetErrMsg2FailedSingleList(nil, err, storeMap.StoreID, model.VendorChineseNames[storeMap.VendorID], "删除门店") } } else { + globals.SugarLogger.Debugf("进入UpdateStore,storeMap.StoreID====%d, userName=========%s", storeMap.StoreID, userName) if err = handler.UpdateStore(db, storeMap.StoreID, userName); err == nil { resultList = append(resultList, 1) } else { diff --git a/business/partner/purchase/tiktok_store/store.go b/business/partner/purchase/tiktok_store/store.go index 48f516800..b45ec3994 100644 --- a/business/partner/purchase/tiktok_store/store.go +++ b/business/partner/purchase/tiktok_store/store.go @@ -144,119 +144,153 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) (stri //1.平台获取门店运费模板 bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID) if err != nil { + globals.SugarLogger.Debug("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err) errList.AddErr(fmt.Errorf("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err)) } if bindFreightIDs == 0 { //(1)未查询到绑定信息,不算错误 //创建 if freightTemplateID, err := CreateFreightTemplate(int(storeID)); err != nil || freightTemplateID == 0 || utils.IsNil(freightTemplateID) { - errList.AddErr(fmt.Errorf("创建运费模板失败:%v", err)) + globals.SugarLogger.Debug("创建运费模板失败:%v", err) + errList.AddErr(fmt.Errorf("创建运费模板失败:%v", err)) } else { //绑定 if err = ShopBindStoreFreight(vendorOrgCode, vendorStoreID, freightTemplateID); err != nil { + globals.SugarLogger.Debug("京西菜市门店:%d 平台门店:%d 绑定运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err) errList.AddErr(fmt.Errorf("京西菜市门店:%d 平台门店:%d 绑定运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err)) } else { FreightTemplate.TemplateID = freightTemplateID - if err = dao.CreateEntity(db, FreightTemplate); err != nil { - errList.AddErr(fmt.Errorf("运费模板:%d 同步数据库失败:%v", freightTemplateID, err)) - } + //if err = dao.CreateEntity(db, FreightTemplate); err != nil { + // globals.SugarLogger.Debug("运费模板:%d 同步数据库失败:%v", freightTemplateID, err) + // errList.AddErr(fmt.Errorf("运费模板:%d 同步数据库失败:%v", freightTemplateID, err)) + //} } } } else { //同步信息到本地 - if _, err = dao.UpdateEntity(db, FreightTemplate, "TemplateID"); err != nil { - errList.AddErr(fmt.Errorf("平台运费模板 同步到本地出错:%v", err)) - } + //if _, err = dao.UpdateEntity(db, FreightTemplate, "TemplateID"); err != nil { + // globals.SugarLogger.Debug("平台运费模板 同步到本地出错:%v", err) + // errList.AddErr(fmt.Errorf("平台运费模板 同步到本地出错:%v", err)) + //} } //2.平台获取仓库信息以及电子围栏id bindWarehouseAndFence, err := GetWarehouseByStore(vendorOrgCode, vendorStoreID) if err != nil { + globals.SugarLogger.Debug("获取门店(%d) 绑定仓库信息以及电子围栏出错:%v", vendorStoreID, err) errList.AddErr(fmt.Errorf("获取门店(%d) 绑定仓库信息以及电子围栏出错:%v", vendorStoreID, err)) } if len(bindWarehouseAndFence) == 0 || utils.IsNil(bindWarehouseAndFence) { //未绑定仓库以及电子围栏 //(1)创建仓库 warehouseID, err := CreateWarehouse(vendorOrgCode, utils.Int64ToStr(storeID)) if err != nil || warehouseID == 0 || utils.IsNil(warehouseID) { + globals.SugarLogger.Debug("门店(%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.Debug("门店(%d) 绑定仓库:%d 失败:%v", storeID, warehouseID, err) errList.AddErr(fmt.Errorf("门店(%d) 绑定仓库:%d 失败:%v", storeID, warehouseID, err)) } else { FreightTemplate.WarehouseID = warehouseID - if err = dao.CreateEntity(db, FreightTemplate); err != nil { - errList.AddErr(fmt.Errorf("仓库ID(%d) 同步到数据库失败:%v", warehouseID, err)) - } + //if err = dao.CreateEntity(db, FreightTemplate); err != nil { + // globals.SugarLogger.Debug("仓库ID(%d) 同步到数据库失败:%v", warehouseID, err) + // errList.AddErr(fmt.Errorf("仓库ID(%d) 同步到数据库失败:%v", warehouseID, err)) + //} } } //(2)创建电子围栏 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.Debug("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err) errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err)) } else { FreightTemplate.FenceID = utils.Int64ToStr(storeID) if err := dao.CreateEntity(db, FreightTemplate); err != nil { + globals.SugarLogger.Debug("电子围栏ID(%s) 同步到数据库失败:%v", fenceID, err) errList.AddErr(fmt.Errorf("电子围栏ID(%s) 同步到数据库失败:%v", fenceID, err)) } } + FreightTemplate.FenceID = utils.Int64ToStr(storeID) } } else { - if len(bindWarehouseAndFence[0][vendorStoreID].OutFenceIds) == 0 || utils.IsNil(bindWarehouseAndFence[0][vendorStoreID].OutFenceIds) { //未绑定电子围栏 - globals.SugarLogger.Debugf("进入创建电子围栏=========") + if len(bindWarehouseAndFence[vendorStoreID][0].OutFenceIds) == 0 || utils.IsNil(bindWarehouseAndFence[vendorStoreID][0].OutFenceIds) { //未绑定电子围栏 + globals.SugarLogger.Debug("进入创建电子围栏=========") 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.Debug("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err) errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err)) } else { FreightTemplate.FenceID = utils.Int64ToStr(storeID) if err := dao.CreateEntity(db, FreightTemplate); err != nil { + globals.SugarLogger.Debug("电子围栏ID(%s) 同步到数据库失败:%v", fenceID, err) errList.AddErr(fmt.Errorf("电子围栏ID(%s) 同步到数据库失败:%v", fenceID, err)) } } + FreightTemplate.FenceID = utils.Int64ToStr(storeID) } } //同步到本地数据库 - FreightTemplate.FenceID = bindWarehouseAndFence[0][vendorStoreID].OutFenceIds[0] - FreightTemplate.WarehouseID = bindWarehouseAndFence[0][vendorStoreID].WarehouseId - if _, err = dao.UpdateEntity(db, FreightTemplate, "FenceID"); err != nil { - errList.AddErr(fmt.Errorf("电子围栏 同步到本地出错:%v", err)) - } - if _, err = dao.UpdateEntity(db, FreightTemplate, "WarehouseID"); err != nil { - errList.AddErr(fmt.Errorf("仓库 同步到本地出错:%v", err)) - } + //if _, err = dao.UpdateEntity(db, FreightTemplate, "FenceID"); err != nil { + // globals.SugarLogger.Debug("电子围栏 同步到本地出错:%v", err) + // errList.AddErr(fmt.Errorf("电子围栏 同步到本地出错:%v", err)) + //} + //if _, err = dao.UpdateEntity(db, FreightTemplate, "WarehouseID"); err != nil { + // globals.SugarLogger.Debug("仓库 同步到本地出错:%v", err) + // errList.AddErr(fmt.Errorf("仓库 同步到本地出错:%v", err)) + //} } //3.平台获取限售模板 SaleLimitID, err := GetStoreSaleLimit(vendorOrgCode, vendorStoreID) if err != nil { + globals.SugarLogger.Debug("获取门店(%d) 限售模板出错:%v", vendorStoreID, err) errList.AddErr(fmt.Errorf("获取门店(%d) 限售模板出错:%v", vendorStoreID, err)) } if SaleLimitID == 0 || utils.IsNil(SaleLimitID) { //未绑定限售模板 if tradeLimitID, err := CreateTradeLimitTemplate(vendorOrgCode, storeID); err != nil || tradeLimitID == 0 || utils.IsNil(tradeLimitID) { + globals.SugarLogger.Debug("门店(%d) 创建限售模板失败:%v", storeID, err) errList.AddErr(fmt.Errorf("门店(%d) 创建限售模板失败:%v", storeID, err)) } else { if err := BindStoreSaleLimit(vendorOrgCode, vendorStoreID, tradeLimitID); err != nil { - errList.AddErr(fmt.Errorf("门店(%d) 绑定限售模板失败:%v", storeID, err)) + globals.SugarLogger.Debug("门店(%d) 创建限售模板失败:%v", storeID, err) + errList.AddErr(fmt.Errorf("门店(%d) 创建限售模板失败:%v", storeID, err)) } else { FreightTemplate.TradeLimitID = tradeLimitID - if err := dao.CreateEntity(db, FreightTemplate); err != nil { - errList.AddErr(fmt.Errorf("限售模板(%d) 存入数据库失败:%v", tradeLimitID, err)) - } + //if err := dao.CreateEntity(db, FreightTemplate); err != nil { + // globals.SugarLogger.Debug("限售模板(%d) 存入数据库失败:%v", tradeLimitID, err) + // errList.AddErr(fmt.Errorf("限售模板(%d) 存入数据库失败:%v", tradeLimitID, err)) + //} } } - } else { //同步到本地 - FreightTemplate.TradeLimitID = SaleLimitID - if _, err = dao.UpdateEntity(db, FreightTemplate, "TradeLimitID"); err != nil { - errList.AddErr(fmt.Errorf("限售模板 同步到本地出错:%v", err)) - } } - FreightTemplate.StoreID = int(storeID) - FreightTemplate.VendorStoreID = utils.Int64ToStr(vendorStoreID) + //else { //同步到本地 + // FreightTemplate.TradeLimitID = SaleLimitID + // if _, err = dao.UpdateEntity(db, FreightTemplate, "TradeLimitID"); err != nil { + // globals.SugarLogger.Debug("限售模板 同步到本地出错:%v", err) + // errList.AddErr(fmt.Errorf("限售模板 同步到本地出错:%v", err)) + // } + //} FreightTemplate.DeletedAt = utils.DefaultTimeValue + FreightTemplate = &model.FreightTemplate{ + StoreID: int(storeID), + VendorStoreID: utils.Int64ToStr(vendorStoreID), + } + if err = dao.CreateEntity(db, FreightTemplate); err != nil { + globals.SugarLogger.Debug("db update storeID,vendorStoreID defeat on :%v", err) errList.AddErr(fmt.Errorf("db update storeID,vendorStoreID defeat on :%v", err)) + } else { + _, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID") + _, err2 := dao.UpdateEntity(db, FreightTemplate, "WarehouseID") + _, err3 := dao.UpdateEntity(db, FreightTemplate, "FenceID") + _, err4 := dao.UpdateEntity(db, FreightTemplate, "TradeLimitID") + errList.AddErr(fmt.Errorf("同步进数据库错误信息:%v,%v,%v,%v", err1, err2, err3, err4)) } if utils.IsNil(errList) { + globals.SugarLogger.Debug("绑定门店需进行的错误处理:%v", errors.New(fmt.Sprintf("%s", utils.Format4Output(errList, true)))) return "门店绑定成功,但需要根据提示进行处理", errors.New(fmt.Sprintf("%s", utils.Format4Output(errList, true))) } else { return "门店绑定成功", nil @@ -452,6 +486,7 @@ func CreateFreightTemplate(storeCode int) (int64, error) { // /freightTemplate/update 修改运费模板 func UpdateFreightTemplate(storeCode int) error { + globals.SugarLogger.Debugf("进入UpdateFreightTemplate") var ( columns []freightTemplate_update_request.ColumnsItem param *freightTemplate_update_request.FreightTemplateUpdateParam @@ -480,15 +515,16 @@ func UpdateFreightTemplate(storeCode int) error { IsLimited: false, OverAmount: int64(storeDetail.DeliveryFeeDeductionSill), //此字段在vendor_id=14时 存储满x包邮金额 }} + globals.SugarLogger.Debugf("columns[0].OverAmount===========%d", columns[0].OverAmount) } param = &freightTemplate_update_request.FreightTemplateUpdateParam{ Template: Template, Columns: columns, } - globals.SugarLogger.Debugf("param.Template.TemplateName==================%v", param.Template.TemplateName) + globals.SugarLogger.Debugf("param.Template.TemplateName======%v,overAmount==================%d", param.Template.TemplateName, param.Columns[0].OverAmount) _, err = getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateUpdate(param) if err != nil { - globals.SugarLogger.Debugf("err==================", err) + globals.SugarLogger.Debugf("err==================%v", err) return err } return nil @@ -549,8 +585,8 @@ func ShopBindStoreFreight(vendorOrgCode string, storeID, freightID int64) error // /shop/getStoreFreight 获取门店绑定运费模板 func GetStoreFreight(vendorOrgCode string, storeID int64) (int64, error) { resp, err := getAPI(vendorOrgCode, int(storeID), "").GetStoreFreight(storeID) - if err != nil { - return 0, err + if err != nil || len(resp) == 0 { + return 0, errors.New(fmt.Sprintf("获取门店绑定运费模板失败:%v", err)) } return resp[0], nil } diff --git a/business/partner/purchase/tiktok_store/warehouse.go b/business/partner/purchase/tiktok_store/warehouse.go index 9e0f1ae6d..0aeeb8193 100644 --- a/business/partner/purchase/tiktok_store/warehouse.go +++ b/business/partner/purchase/tiktok_store/warehouse.go @@ -117,6 +117,7 @@ func CreateFenceByStore(appOrgCode string, storeID int64) (fenceID string, err e Shape: int32(localStore.DeliveryRangeType), }, } + globals.SugarLogger.Debug("localStore.DeliveryRangeType==============", localStore.DeliveryRangeType) if localStore.DeliveryRangeType == tiktok_api.ShapeCircular { circular := &warehouse_createFence_request.Circular{ Center: &warehouse_createFence_request.Center{