@@ -19,6 +19,12 @@ import (
"strings"
)
const (
//京西平台的电子围栏形状
LocalShapeCircular = 3 //圆
LocalShapePolygon = 2 //普通多边形
)
// /warehouse/create 创建单个区域仓
func CreateWarehouse ( appOrgCode , outWarehouseID string ) ( warehouseID int64 , err error ) {
tempName := "京西菜市(" + outWarehouseID + ")的区域仓"
@@ -98,6 +104,7 @@ func CreateFenceByStore(appOrgCode string, storeID int64) (fenceID string, err e
db * dao . DaoDB
localStore * LocalStore
vertex [ ] warehouse_createFence_request . VerticesItem
param = & warehouse_createFence_request . WarehouseCreateFenceParam { }
)
sqlParam := [ ] interface { } {
model . VendorIDDD ,
@@ -112,14 +119,8 @@ func CreateFenceByStore(appOrgCode string, storeID int64) (fenceID string, err e
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 . Int64ToStr ( storeID ) , //绑定基于此id
Shape : int32 ( localStore . DeliveryRangeType ) ,
} ,
}
globals . SugarLogger . Debug ( "localStore.DeliveryRangeType==============" , localStore . DeliveryRangeType )
if localStore . DeliveryRangeType == tiktok_api . ShapeCircular {
if localStore . DeliveryRangeType == Local ShapeCircular {
circular := & warehouse_createFence_request . Circular {
Center : & warehouse_createFence_request . Center {
Longitude : utils . Int2Float64 ( localStore . Lng ) ,
@@ -128,7 +129,8 @@ func CreateFenceByStore(appOrgCode string, storeID int64) (fenceID string, err e
Radius : utils . Str2Float64 ( localStore . DeliveryRange ) ,
}
param . FenceInfo . Circular = circular
} else if localStore . DeliveryRangeTy pe = = tiktok_api . ShapePolygon {
param . FenceInfo . Sha pe = tiktok_api . ShapeCircular
} else if localStore . DeliveryRangeType == LocalShapePolygon {
tempStr := strings . Split ( localStore . DeliveryRange , ";" )
for v := len ( tempStr ) - 1 ; v >= 0 ; v -- {
s2 := strings . Split ( tempStr [ v ] , "," )
@@ -139,7 +141,9 @@ func CreateFenceByStore(appOrgCode string, storeID int64) (fenceID string, err e
vertex = append ( vertex , vertices )
}
param . FenceInfo . Polygon . Vertices = vertex
param . FenceInfo . Shape = tiktok_api . ShapePolygon
}
param . FenceInfo . OutFenceId = utils . Int64ToStr ( storeID ) //绑定基于此id
resp , err := getAPI ( appOrgCode , 0 , "" ) . CreateFence ( param )
if err != nil {
return "" , err
@@ -168,7 +172,7 @@ func UpdateFenceByStore(appOrgCode, outFenceID string, storeID int) error {
var (
db * dao . DaoDB
localStore * LocalStore
verticeses [ ] warehouse_setFence_request . VerticesItem
vertex [ ] warehouse_setFence_request . VerticesItem
)
sqlParam := [ ] interface { } {
model . VendorIDDD ,
@@ -205,9 +209,9 @@ func UpdateFenceByStore(appOrgCode, outFenceID string, storeID int) error {
Longitude : utils . Str2Float64 ( s2 [ 0 ] ) ,
Latitude : utils . Str2Float64 ( s2 [ 1 ] ) ,
}
verticeses = append ( verticeses , vertices )
vertex = append ( vertex , vertices )
}
param . FenceInfo . Polygon . Vertices = verticeses
param . FenceInfo . Polygon . Vertices = vertex
}
if err := getAPI ( appOrgCode , 0 , "" ) . SetFence ( param ) ; err != nil {
return err
@@ -254,7 +258,6 @@ func FreightSpecialTreat(vendorOrgCode string, vendorStoreID, storeID int64) err
errList . AddErr ( fmt . Errorf ( "获取门店(%d) 绑定运费模板出错:%v" , vendorStoreID , err ) )
}
if bindFreightIDs == 0 { //( 1) 未查询到绑定信息, 不算错误
globals . SugarLogger . Debug ( "我在创建绑定运费模板这里=========================" )
if freightTemplateID , err := CreateFreightTemplate ( int ( storeID ) ) ; err != nil || freightTemplateID == 0 || utils . IsNil ( freightTemplateID ) {
globals . SugarLogger . Debug ( "创建运费模板失败:" , err )
errList . AddErr ( fmt . Errorf ( "创建运费模板失败:%v" , err ) )
@@ -272,15 +275,14 @@ func FreightSpecialTreat(vendorOrgCode string, vendorStoreID, storeID int64) err
errList . AddErr ( fmt . Errorf ( "更新运费模板失败:%v" , err ) )
}
}
if err = dao . CreateEntity ( db , FreightTemplate ) ; err != nil {
globals . SugarLogger . Debug ( "db update storeID,vendorStoreID defeat on :" , err )
errList . AddErr ( fmt . Errorf ( "db update storeID,vendorStoreID defeat on :%v" , err ) )
} else {
_ , err1 := dao . UpdateEntity ( db , FreightTemplate , "TemplateID" )
errList . AddErr ( fmt . Errorf ( "同步进数据库错误信息:%v" , err1 ) )
err1 : = dao . CreateEntity ( db , FreightTemplate )
if err1 != nil {
_ , err2 := dao . UpdateEntity ( db , FreightTemplate , "TemplateID" )
if err2 != nil {
errList . AddErr ( fmt . Errorf ( "同步进数据库错误信息:%v" , err1 ) )
}
}
endErr := errList . GetErrListAsOne ( )
globals . SugarLogger . Info ( "utils.IsNil( errList) ==============", utils . IsNil ( errList ) )
globals . SugarLogger . Debugf ( "errList===============%s\n,endErr========%v" , utils . Format4Output ( errList , false ) , endErr )
globals . SugarLogger . Debugf ( " errList= ==============%s ", endErr )
return endErr
}