diff --git a/business/partner/delivery/tiktok_store/store.go b/business/partner/delivery/tiktok_store/store.go index a05b4c7e0..5de6ce6f8 100644 --- a/business/partner/delivery/tiktok_store/store.go +++ b/business/partner/delivery/tiktok_store/store.go @@ -1,19 +1,50 @@ package tiktok_store -// -//func (c *DeliveryHandler) UpdateStore(ctx *jxcontext.Context, storeDetail *dao.StoreDetail2) (err error) { -// if globals.EnableStoreWrite { -// //info:=& -// -// shopInfo := &mtpsapi.ShopInfo{ -// ShopID: utils.Int2Str(storeDetail.ID), -// ContactName: storeDetail.PayeeName, -// ContactPhone: storeDetail.Tel1, -// ShopAddress: storeDetail.Address, -// ShopLat: storeDetail.Lat, -// ShopLng: storeDetail.Lng, -// } -// _, err = api.MtpsAPI.ShopUpdate(shopInfo) -// } -// return err -//} +import ( + warehouse_setFence_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_setFence/request" + "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api" + "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" + "git.rosy.net.cn/jx-callback/business/model/dao" + "git.rosy.net.cn/jx-callback/globals" + "strings" + //"git.rosy.net.cn/jx-callback/globals/api" +) + +//更新抖店电子围栏 +func (c *DeliveryHandler) UpdateStore(ctx *jxcontext.Context, storeDetail *dao.StoreDetail2) (err error) { + var ( + vertex []warehouse_setFence_request.VerticesItem + ) + if globals.EnableStoreWrite { + param := &warehouse_setFence_request.WarehouseSetFenceParam{ + FenceInfo: &warehouse_setFence_request.FenceInfo{ + OutFenceId: utils.Int2Str(storeDetail.Store.ID), //外部id 为京西门店id + Shape: int32(storeDetail.DeliveryRangeType), + }, + } + if storeDetail.DeliveryRangeType == tiktok_api.ShapeCircular { + circular := &warehouse_setFence_request.Circular{ + Center: &warehouse_setFence_request.Center{ + Longitude: utils.Int2Float64(storeDetail.Lng), + Latitude: utils.Int2Float64(storeDetail.Lat), + }, + Radius: utils.Str2Float64(storeDetail.DeliveryRange), + } + param.FenceInfo.Circular = circular + } else if storeDetail.DeliveryRangeType == tiktok_api.ShapePolygon { + tempStr := strings.Split(storeDetail.DeliveryRange, ";") + for v := len(tempStr) - 1; v >= 0; v-- { + s2 := strings.Split(tempStr[v], ",") + vertices := warehouse_setFence_request.VerticesItem{ + Longitude: utils.Str2Float64(s2[0]), + Latitude: utils.Str2Float64(s2[1]), + } + vertex = append(vertex, vertices) + } + param.FenceInfo.Polygon.Vertices = vertex + } + //_, err = api.MtpsAPI.ShopUpdate(shopInfo) + } + return err +} diff --git a/business/partner/delivery/tiktok_store/store_test.go b/business/partner/delivery/tiktok_store/store_test.go new file mode 100644 index 000000000..ae6ededb8 --- /dev/null +++ b/business/partner/delivery/tiktok_store/store_test.go @@ -0,0 +1,19 @@ +package tiktok_store + +import ( + "git.rosy.net.cn/baseapi/utils" + "github.com/golang/tools/go/ssa/interp/testdata/src/fmt" + "strings" + "testing" +) + +func TestStoreUpdateFence(t *testing.T) { + tempStr := strings.Split("104.111331,30.67964544419017;104.13348225189759,30.671752134736078;104.14265760085712,30.652696;104.13348225189759,30.63363986526392;104.111331,30.625746555809826;104.08917974810242,30.63363986526392;104.0800043991429,30.652696;104.08917974810242,30.671752134736078", ";") + fmt.Println("%d", len(tempStr)) + for v := len(tempStr) - 1; v >= 0; v-- { + s2 := strings.Split(tempStr[v], ",") + Longitude := utils.Str2Float64(s2[0]) + Latitude := utils.Str2Float64(s2[1]) + fmt.Sprintf("%s,%s", Longitude, Latitude) + } +} diff --git a/business/partner/delivery/tiktok_store/waybill.go b/business/partner/delivery/tiktok_store/waybill.go index cb1f45e23..e96cde8d6 100644 --- a/business/partner/delivery/tiktok_store/waybill.go +++ b/business/partner/delivery/tiktok_store/waybill.go @@ -1,75 +1,74 @@ package tiktok_store -// -//import ( -// "git.rosy.net.cn/baseapi/platformapi/mtpsapi" -// "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" -// "git.rosy.net.cn/jx-callback/business/model" -// "git.rosy.net.cn/jx-callback/business/model/dao" -// "git.rosy.net.cn/jx-callback/business/partner" -// "git.rosy.net.cn/jx-callback/globals/api" -//) -// -//var ( -// curDeliveryHandler *DeliveryHandler -//) -// -//type DeliveryHandler struct { -//} -// -//func init() { -// if api.TiktokStore != nil { -// curDeliveryHandler = new(DeliveryHandler) -// partner.RegisterDeliveryPlatform(curDeliveryHandler, true) -// } -//} -// -//func (c *DeliveryHandler) GetVendorID() int { -// //TODO implement me -// panic("implement me") -//} -// -//func (c *DeliveryHandler) CreateStore(ctx *jxcontext.Context, storeDetail *dao.StoreDetail2) (vendorStoreID string, status int, err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (c *DeliveryHandler) GetStore(ctx *jxcontext.Context, storeID int, vendorStoreID string) (storeDetail *dao.StoreDetail2, err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (c *DeliveryHandler) IsErrStoreNotExist(err error) bool { -// //TODO implement me -// panic("implement me") -//} -// -//func (c *DeliveryHandler) IsErrStoreExist(err error) bool { -// //TODO implement me -// panic("implement me") -//} -// -//func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee int64) (bill *model.Waybill, err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (c *DeliveryHandler) CancelWaybill(bill *model.Waybill, cancelReasonID int, cancelReason string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (c *DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInfo *partner.WaybillFeeInfo, err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (c *DeliveryHandler) ComplaintRider(bill *model.Waybill, resonID int, resonContent string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *mtpsapi.RiderInfo, err error) { -// //TODO implement me -// panic("implement me") -//} +import ( + "git.rosy.net.cn/baseapi/platformapi/mtpsapi" + "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" + "git.rosy.net.cn/jx-callback/business/model" + "git.rosy.net.cn/jx-callback/business/model/dao" + "git.rosy.net.cn/jx-callback/business/partner" + "git.rosy.net.cn/jx-callback/globals/api" +) + +var ( + curDeliveryHandler *DeliveryHandler +) + +type DeliveryHandler struct { +} + +func init() { + if api.TiktokStore != nil { + curDeliveryHandler = new(DeliveryHandler) + partner.RegisterDeliveryPlatform(curDeliveryHandler, true) + } +} + +func (c *DeliveryHandler) GetVendorID() int { + //TODO implement me + panic("implement me") +} + +func (c *DeliveryHandler) CreateStore(ctx *jxcontext.Context, storeDetail *dao.StoreDetail2) (vendorStoreID string, status int, err error) { + //TODO implement me + panic("implement me") +} + +func (c *DeliveryHandler) GetStore(ctx *jxcontext.Context, storeID int, vendorStoreID string) (storeDetail *dao.StoreDetail2, err error) { + //TODO implement me + panic("implement me") +} + +func (c *DeliveryHandler) IsErrStoreNotExist(err error) bool { + //TODO implement me + panic("implement me") +} + +func (c *DeliveryHandler) IsErrStoreExist(err error) bool { + //TODO implement me + panic("implement me") +} + +func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee int64) (bill *model.Waybill, err error) { + //TODO implement me + panic("implement me") +} + +func (c *DeliveryHandler) CancelWaybill(bill *model.Waybill, cancelReasonID int, cancelReason string) (err error) { + //TODO implement me + panic("implement me") +} + +func (c *DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInfo *partner.WaybillFeeInfo, err error) { + //TODO implement me + panic("implement me") +} + +func (c *DeliveryHandler) ComplaintRider(bill *model.Waybill, resonID int, resonContent string) (err error) { + //TODO implement me + panic("implement me") +} + +func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *mtpsapi.RiderInfo, err error) { + //TODO implement me + panic("implement me") +}