From b01756d43e65a15748e763f4d7746986288b88be Mon Sep 17 00:00:00 2001 From: richboo111 Date: Wed, 26 Oct 2022 14:36:17 +0800 Subject: [PATCH] 1 --- .../partner/purchase/tiktok_store/store.go | 63 ++++++++++++------- 1 file changed, 39 insertions(+), 24 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store.go b/business/partner/purchase/tiktok_store/store.go index ba9b251cd..4b4b76cd5 100644 --- a/business/partner/purchase/tiktok_store/store.go +++ b/business/partner/purchase/tiktok_store/store.go @@ -89,10 +89,12 @@ func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri ShopBatchCreateStoreParam *shop_batchCreateStore_request.ShopBatchCreateStoreParam FreightTemplate = &model.FreightTemplate{} errList = errlist.New() + timeStr = "" + m = make(map[int64]string) ) + //增加绑定门店操作 + a := getAPI(storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID) - timeStr := "" - m := make(map[int64]string) if storeDetail.OpenTime1 == 0 || storeDetail.CloseTime1 == 0 { return "", fmt.Errorf("营业时间必填") } else { @@ -133,6 +135,8 @@ func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri return "", errors.New(fmt.Sprintf("创建店铺失败,storeIDs = 0:%v,%v", err, resp.ResultList[0].Msg)) } //创建并绑定运费模板 + //先获取是否已绑定 + //if bindFenceIDs,err:=GetStoreFreight(storeDetail.VendorOrgCode,storeDetail.Store.ID) if freightTemplateID, err := CreateFreightTemplate(storeDetail.Store.ID); err != nil { errList.AddErr(fmt.Errorf("创建运费模板失败:%v", err)) } else { @@ -140,7 +144,7 @@ func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri errList.AddErr(fmt.Errorf("创建运费模板失败:%v", err)) } else { if err = ShopBindStoreFreight(storeDetail.VendorOrgCode, int64(storeDetail.Store.ID), freightTemplateID); err != nil { - errList.AddErr(fmt.Errorf("本地门店:%d 绑定运费模板:%d失败:%v", int64(storeDetail.Store.ID), freightTemplateID, err)) + errList.AddErr(fmt.Errorf("本地门店:%d 绑定运费模板:%d 失败:%v", int64(storeDetail.Store.ID), freightTemplateID, err)) } else { FreightTemplate.TemplateID = freightTemplateID if err = dao.CreateEntity(db, FreightTemplate); err != nil { @@ -249,7 +253,7 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin params := &shop_editStore_request.ShopEditStoreParam{ StoreId: remoteStoreInfo.StoreDetail.Store.StoreId, //平台id不可修改 Name: name, - StoreCode: utils.Int2Str(storeInfo.ID), //自用编码即很本地storeID + StoreCode: utils.Int2Str(storeInfo.ID), //自用编码即本地storeID Latitude: utils.Int2Str(storeInfo.Lat), Longitude: utils.Int2Str(storeInfo.Lng), Province: storeInfo.ProvinceName, @@ -390,31 +394,34 @@ func CreateFreightTemplate(storeCode int) (int64, error) { func UpdateFreightTemplate(storeCode int) error { var ( columns []freightTemplate_update_request.ColumnsItem + param *freightTemplate_update_request.FreightTemplateUpdateParam ) //获取本地门店信息 storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeCode, model.VendorIDDD, "") if err != nil { return err } - column := freightTemplate_update_request.ColumnsItem{ - FirstNum: 1, - FirstNumPrice: 0.01, - AddNum: 1, - AddNumPrice: 0.01, - IsOverFree: true, //是否包邮 - OverAmount: int64(storeDetail.DeliveryFeeDeductionSill), //此字段在vendor_id=14时 存储 满x包邮金额 + Template := &freightTemplate_update_request.Template{ + TemplateName: storeDetail.VendorStoreName + "_" + utils.Int2Str(storeCode) + "的运费模板", + ProductProvince: int64(storeDetail.ProvinceCode), + ProductCity: int64(storeDetail.CityCode), + CalculateType: 2, //计价方式-1.按重量 2.按数量 + TransferType: 1, + RuleType: 1, //固定运费 + FixedAmount: 500, //固定运费 单位:分 } - columns = append(columns, column) - param := &freightTemplate_update_request.FreightTemplateUpdateParam{ - Template: &freightTemplate_update_request.Template{ - TemplateName: "门店编码:" + utils.Int2Str(storeCode) + "的运费模板", - ProductProvince: int64(storeDetail.ProvinceCode), - ProductCity: int64(storeDetail.CityCode), - CalculateType: 2, //模板类型为1-固定运费、2-卖家包邮、3-货到付款 时,计价类型传 2-按数量 - TransferType: 1, - RuleType: 2, //卖家包邮 - }, - Columns: columns, + if int64(storeDetail.DeliveryFeeDeductionSill) != 0 { + columns = []freightTemplate_update_request.ColumnsItem{ + { + RuleAddress: fmt.Sprintf(`{"%s":{"%s":{"%s":[0]}}}`, utils.Int2Str(storeDetail.ProvinceCode), utils.Int2Str(storeDetail.CityCode)[:2], utils.Int2Str(storeDetail.DistrictCode)[:2]), + IsOverFree: true, //是否包邮 + IsLimited: false, + OverAmount: int64(storeDetail.DeliveryFeeDeductionSill), //此字段在vendor_id=14时 存储满x包邮金额 + }} + } + param = &freightTemplate_update_request.FreightTemplateUpdateParam{ + Template: Template, + Columns: columns, } _, err = getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateUpdate(param) if err != nil { @@ -468,14 +475,22 @@ func ShopBindStoreFreight(vendorOrgCode string, storeID, freightID int64) error StoreId: storeID, FreightId: freightID, } - api := getAPI(vendorOrgCode, int(storeID), "") - err := api.BindFreightTemplate(param) + err := getAPI(vendorOrgCode, int(storeID), "").BindFreightTemplate(param) if err != nil { return err } return nil } +// /shop/getStoreFreight 获取门店绑定运费模板 +func GetStoreFreight(vendorOrgCode string, storeID int64) (int64, error) { + resp, err := getAPI(vendorOrgCode, int(storeID), "").GetStoreFreight(storeID) + if err != nil { + return 0, err + } + return resp[0], nil +} + // /address/create 创建店铺地址库(新建即绑定) func (P *PurchaseHandler) CreateAddress(addressInfo address_create_request.AddressCreateParam) (addressID int64, err error) { info := &address_create_request.AddressCreateParam{