This commit is contained in:
richboo111
2022-10-10 20:42:00 +08:00
parent c3df40c161
commit 3f2fec3013
2 changed files with 109 additions and 6 deletions

View File

@@ -7,6 +7,7 @@ import (
address_list_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_list/request"
address_list_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_list/response"
freightTemplate_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/request"
freightTemplate_update_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_update/request"
shop_batchCreateStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_batchCreateStore/request"
shop_bindStoreFreight_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreFreight/request"
shop_bindStoreSaleLimit_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreSaleLimit/request"
@@ -186,18 +187,17 @@ func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri
} else {
FreightTemplate.FenceID = fenceID
err := dao.CreateEntity(db, FreightTemplate)
//_, err := dao.UpdateEntity(db, FreightTemplate, "FenceID")
if err != nil {
errList.AddErr(fmt.Errorf("电子围栏ID存入数据库失败原因%v", err))
}
}
}
storeIDs = "65312663"
//storeIDs = "65312663"
globals.SugarLogger.Debug("CreateStore2 return storeIDs, storeDetail.Store.ID==========", storeIDs, storeDetail.Store.ID)
FreightTemplate.StoreID = storeDetail.Store.ID
FreightTemplate.VendorStoreID = storeIDs
FreightTemplate.DeletedAt = utils.DefaultTimeValue
err = dao.CreateEntity(db, FreightTemplate)
//_, err = dao.UpdateEntity(db, FreightTemplate, "StoreID", "VendorStoreID")
if err != nil {
errList.AddErr(fmt.Errorf("db update storeID,vendorStoreID defeat on :%v", err))
}
@@ -268,10 +268,20 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
globals.SugarLogger.Debug("================mergedStoreStatus", mergedStoreStatus)
errList.AddErr(P.UpdateStoreStatus(jxcontext.AdminCtx, storeInfo.VendorOrgCode, storeID, storeInfo.VendorStoreID, mergedStoreStatus))
}
//TODO 需增加 更新运费模板、电子围栏
_, err3 := api.EditStore(params)
if err3 != nil {
errList.AddErr(err3)
} else {
//更新运费模板
err = UpdateFreightTemplate(storeID)
if err != nil {
return errors.New(fmt.Sprintf("更新运费模板失败,原因:%v", err))
}
//更新电子围栏
err = UpdateFenceByStore(storeID)
if err != nil {
return errors.New(fmt.Sprintf("更新电子围栏失败,原因:%v", err))
}
}
}
return err
@@ -372,6 +382,43 @@ func CreateFreightTemplate(storeCode int) (int64, error) {
return resp.TemplateId, nil
}
// /warehouse/setFence 修改运费模板
func UpdateFreightTemplate(storeCode int) error {
var (
columns []freightTemplate_update_request.ColumnsItem
)
//获取本地门店信息
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包邮金额
}
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,
}
_, err = getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateUpdate(param)
if err != nil {
return err
}
return nil
}
// /freightTemplate/create 创建运费模板
func (P *PurchaseHandler) CreateFreightTemplateDirectly(templateInfo freightTemplate_create_request.FreightTemplateCreateParam, storeID, vendorStoreID int64) error {
var (

View File

@@ -26,8 +26,6 @@ func (P *PurchaseHandler) CreateWarehouse(outWarehouseID, appOrgCode string) (wa
if err != nil {
return 0, err
}
//todo 存入数据库
return resp.Data, err
}
@@ -149,6 +147,64 @@ func (P *PurchaseHandler) CreateFenceDirectly(param warehouse_createFence_reques
return resp.FenceId, err
}
// 通过门店更新电子围栏
func UpdateFenceByStore(storeID int) error {
var (
db *dao.DaoDB
localStore *LocalStore
verticeses []warehouse_createFence_request.VerticesItem
)
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= ? `
if storeID != 0 {
sqlStr += " AND t.id = ? "
sqlParam = append(sqlParam, storeID)
} else {
return fmt.Errorf("storeID必填")
}
if err := dao.GetRow(db, &localStore, sqlStr, sqlParam...); err == nil {
param := &warehouse_createFence_request.WarehouseCreateFenceParam{
FenceInfo: &warehouse_createFence_request.FenceInfo{
//OutFenceId: "京西门店:" + utils.Int2Str(storeID) + " 的电子围栏",
Shape: int32(localStore.DeliveryRangeType),
},
}
if localStore.DeliveryRangeType == tiktok_api.ShapeCircular {
circular := &warehouse_createFence_request.Circular{
Center: &warehouse_createFence_request.Center{
Longitude: utils.Int2Float64(localStore.Lng),
Latitude: utils.Int2Float64(localStore.Lat),
},
Radius: utils.Str2Float64(localStore.DeliveryRange),
}
param.FenceInfo.Circular = circular
} else if localStore.DeliveryRangeType == tiktok_api.ShapePolygon {
tempStr := strings.Split(localStore.DeliveryRange, ";")
for v := len(tempStr) - 1; v >= 0; v-- {
s2 := strings.Split(tempStr[v], ",")
vertices := warehouse_createFence_request.VerticesItem{
Longitude: utils.Str2Float64(s2[0]),
Latitude: utils.Str2Float64(s2[1]),
}
verticeses = append(verticeses, vertices)
}
param.FenceInfo.Polygon.Vertices = verticeses
}
_, err := getAPI("", 0, "").CreateFence(param)
if err != nil {
return err
} else {
return err
}
} else {
return err
}
}
//门店直接绑定围栏
func BindFenceByStore(storeID int64, addOutFenceIDs []string) error {
param := &warehouse_bindFencesByStore_request.WarehouseBindFencesByStoreParam{