Merge branch 'jdshop' of e.coding.net:rosydev/jx-callback into jdshop
This commit is contained in:
@@ -1,56 +0,0 @@
|
|||||||
package tiktok_store
|
|
||||||
|
|
||||||
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"
|
|
||||||
"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 (
|
|
||||||
db = dao.GetDB()
|
|
||||||
vertex []warehouse_setFence_request.VerticesItem
|
|
||||||
)
|
|
||||||
if _, err := dao.GetStoresMapList(db, []int{model.VendorIDDD}, []int{storeDetail.Store.ID}, nil, model.StoreStatusAll, model.StoreIsSyncYes, "", "", ""); err != nil {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
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
|
|
||||||
}
|
|
||||||
@@ -24,8 +24,7 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *DeliveryHandler) GetVendorID() int {
|
func (c *DeliveryHandler) GetVendorID() int {
|
||||||
//TODO implement me
|
return model.VendorIDDD
|
||||||
panic("implement me")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *DeliveryHandler) CreateStore(ctx *jxcontext.Context, storeDetail *dao.StoreDetail2) (vendorStoreID string, status int, err error) {
|
func (c *DeliveryHandler) CreateStore(ctx *jxcontext.Context, storeDetail *dao.StoreDetail2) (vendorStoreID string, status int, err error) {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ func pay4OrderByTL(ctx *jxcontext.Context, order *model.GoodsOrder, payType int,
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
payCreatedAt := time.Now()
|
payCreatedAt := time.Now()
|
||||||
param := &tonglianpayapi.CreateUnitorderOrderParam{
|
param := &tonglianpayapi.CreateUnitOrderOrderResult{
|
||||||
Trxamt: int(order.ActualPayPrice),
|
Trxamt: int(order.ActualPayPrice),
|
||||||
NotifyUrl: globals.TLPayNotifyURL,
|
NotifyUrl: globals.TLPayNotifyURL,
|
||||||
Reqsn: order.VendorOrderID,
|
Reqsn: order.VendorOrderID,
|
||||||
|
|||||||
@@ -362,6 +362,7 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
|||||||
storeInfo *dao.StoreDetail
|
storeInfo *dao.StoreDetail
|
||||||
errList = errlist.New()
|
errList = errlist.New()
|
||||||
timeStr = ""
|
timeStr = ""
|
||||||
|
tempFenceID string
|
||||||
FreightTemplate = &model.FreightTemplate{}
|
FreightTemplate = &model.FreightTemplate{}
|
||||||
)
|
)
|
||||||
if db == nil {
|
if db == nil {
|
||||||
@@ -423,42 +424,45 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
|||||||
errList.AddErr(fmt.Errorf("修改门店(%d) 信息失败:%v", utils.Str2Int64(storeInfo.VendorStoreID), err3))
|
errList.AddErr(fmt.Errorf("修改门店(%d) 信息失败:%v", utils.Str2Int64(storeInfo.VendorStoreID), err3))
|
||||||
}
|
}
|
||||||
//电子围栏
|
//电子围栏
|
||||||
if bind, err := GetWarehouseByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID)); err != nil {
|
bind, err := GetWarehouseByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID))
|
||||||
|
if err != nil {
|
||||||
errList.AddErr(fmt.Errorf("获取门店(%d) 电子围栏失败:%v", utils.Str2Int64(storeInfo.VendorStoreID), err))
|
errList.AddErr(fmt.Errorf("获取门店(%d) 电子围栏失败:%v", utils.Str2Int64(storeInfo.VendorStoreID), err))
|
||||||
} else {
|
} else if len(bind[storeInfo.VendorStoreID][0].OutFenceIds) == 0 {
|
||||||
if len(bind[storeInfo.VendorStoreID][0].OutFenceIds) > 0 {
|
//检查是否以storeID创建过
|
||||||
//默认更新第一个电子围栏
|
if bindFence, err := GetFence(storeInfo.VendorOrgCode, []string{utils.Int2Str(storeID)}); err == nil {
|
||||||
outFenceID := bind[storeInfo.VendorStoreID][0].OutFenceIds[0]
|
tempFenceID = bindFence[0].OutFenceId
|
||||||
if err = UpdateFenceByStore(storeInfo.VendorOrgCode, outFenceID, storeID); err != nil {
|
|
||||||
return errors.New(fmt.Sprintf("更新电子围栏失败,原因:%v", err))
|
|
||||||
}
|
|
||||||
FreightTemplate.FenceID = outFenceID
|
|
||||||
} else {
|
} else {
|
||||||
if fenceID, err := CreateFenceByStore(storeInfo.VendorOrgCode, int64(storeID)); err != nil || len(fenceID) == 0 { //创建
|
if fenceID, err := CreateFenceByStore(storeInfo.VendorOrgCode, int64(storeID)); err != nil || len(fenceID) == 0 { //创建
|
||||||
globals.SugarLogger.Debug("门店(%d) 创建电子围栏失败:%v", storeID, err)
|
globals.SugarLogger.Debug("门店(%d) 创建电子围栏失败:%v", storeID, err)
|
||||||
errList.AddErr(fmt.Errorf("门店(%d) 创建电子围栏失败:%v", storeID, err))
|
errList.AddErr(fmt.Errorf("门店(%d) 创建电子围栏失败:%v", storeID, err))
|
||||||
} else {
|
} else {
|
||||||
if err := BindFenceByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID), []string{utils.Int2Str(storeID)}); err != nil {
|
tempFenceID = fenceID
|
||||||
globals.SugarLogger.Debug("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err)
|
|
||||||
errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err))
|
|
||||||
} else {
|
|
||||||
FreightTemplate.FenceID = utils.Int2Str(storeID)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if err := BindFenceByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID), []string{tempFenceID}); err != nil {
|
||||||
|
globals.SugarLogger.Debug("门店(%d) 绑定电子围栏:%s失败:%v", storeID, tempFenceID, err)
|
||||||
|
errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, tempFenceID, err))
|
||||||
|
}
|
||||||
|
} else if len(bind[storeInfo.VendorStoreID][0].OutFenceIds) > 0 {
|
||||||
|
//默认更新第一个电子围栏
|
||||||
|
outFenceID := bind[storeInfo.VendorStoreID][0].OutFenceIds[0]
|
||||||
|
if err = UpdateFenceByStore(storeInfo.VendorOrgCode, outFenceID, storeID); err != nil {
|
||||||
|
errList.AddErr(errors.New(fmt.Sprintf("更新电子围栏失败,原因:%v", err)))
|
||||||
|
}
|
||||||
|
FreightTemplate.FenceID = outFenceID
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//同步进数据库
|
//同步进数据库
|
||||||
|
FreightTemplate.FenceID = tempFenceID
|
||||||
FreightTemplate.StoreID = storeID
|
FreightTemplate.StoreID = storeID
|
||||||
FreightTemplate.VendorStoreID = storeInfo.VendorStoreID
|
FreightTemplate.VendorStoreID = storeInfo.VendorStoreID
|
||||||
if err = dao.CreateEntity(db, FreightTemplate); err != nil {
|
if err = dao.CreateEntity(db, FreightTemplate); err != nil {
|
||||||
if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID", "StoreID", "VendorStoreID"); err1 != nil {
|
if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID", "StoreID", "VendorStoreID"); err1 != nil {
|
||||||
globals.SugarLogger.Debugf("db update storeID,vendorStoreID defeat on :%v", err1)
|
globals.SugarLogger.Debugf("db update storeID,vendorStoreID defeat on :%v", err1)
|
||||||
errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1))
|
//errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1))
|
||||||
} else {
|
} else {
|
||||||
globals.SugarLogger.Debugf("db create storeID,vendorStoreID defeat on :%v", err)
|
globals.SugarLogger.Debugf("db create storeID,vendorStoreID defeat on :%v", err)
|
||||||
errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err))
|
//errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err))
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
endErr := errList.GetErrListAsOne()
|
endErr := errList.GetErrListAsOne()
|
||||||
|
|||||||
1
business/partner/purchase/tiktok_store/transport.go
Normal file
1
business/partner/purchase/tiktok_store/transport.go
Normal file
@@ -0,0 +1 @@
|
|||||||
|
package tiktok_store
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package tiktok_store
|
||||||
|
|
||||||
|
type TransportCallbackResp struct {
|
||||||
|
Tag string `json:"tag"`
|
||||||
|
MsgID string `json:"msgID"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ShipmentInfo struct {
|
||||||
|
}
|
||||||
@@ -122,7 +122,7 @@ func CreateFenceByStore(appOrgCode string, storeID int64) (fenceID string, err e
|
|||||||
} else {
|
} else {
|
||||||
return "", fmt.Errorf("storeID必填")
|
return "", fmt.Errorf("storeID必填")
|
||||||
}
|
}
|
||||||
if err = dao.GetRow(db, &localStore, sqlStr, sqlParam...); err == nil {
|
if err = dao.GetRow(db, &localStore, sqlStr, sqlParam); err == nil {
|
||||||
if localStore.DeliveryRangeType == LocalShapeCircular {
|
if localStore.DeliveryRangeType == LocalShapeCircular {
|
||||||
param = &warehouse_createFence_request.WarehouseCreateFenceParam{
|
param = &warehouse_createFence_request.WarehouseCreateFenceParam{
|
||||||
FenceInfo: &warehouse_createFence_request.FenceInfo{
|
FenceInfo: &warehouse_createFence_request.FenceInfo{
|
||||||
@@ -177,6 +177,7 @@ func UpdateFenceByStore(appOrgCode, outFenceID string, storeID int) error {
|
|||||||
db *dao.DaoDB
|
db *dao.DaoDB
|
||||||
localStore *LocalStore
|
localStore *LocalStore
|
||||||
vertex []warehouse_setFence_request.VerticesItem
|
vertex []warehouse_setFence_request.VerticesItem
|
||||||
|
param = &warehouse_setFence_request.WarehouseSetFenceParam{}
|
||||||
)
|
)
|
||||||
sqlParam := []interface{}{}
|
sqlParam := []interface{}{}
|
||||||
sqlStr := `SELECT t.lng,t.lat,t.delivery_range_type,t.delivery_range FROM store t`
|
sqlStr := `SELECT t.lng,t.lat,t.delivery_range_type,t.delivery_range FROM store t`
|
||||||
@@ -186,23 +187,22 @@ func UpdateFenceByStore(appOrgCode, outFenceID string, storeID int) error {
|
|||||||
} else {
|
} else {
|
||||||
return fmt.Errorf("storeID必填")
|
return fmt.Errorf("storeID必填")
|
||||||
}
|
}
|
||||||
if err := dao.GetRow(db, &localStore, sqlStr, sqlParam...); err == nil {
|
if err := dao.GetRow(db, &localStore, sqlStr, sqlParam); err == nil {
|
||||||
param := &warehouse_setFence_request.WarehouseSetFenceParam{
|
if localStore.DeliveryRangeType == LocalShapeCircular {
|
||||||
|
param = &warehouse_setFence_request.WarehouseSetFenceParam{
|
||||||
FenceInfo: &warehouse_setFence_request.FenceInfo{
|
FenceInfo: &warehouse_setFence_request.FenceInfo{
|
||||||
OutFenceId: outFenceID,
|
OutFenceId: outFenceID,
|
||||||
Shape: int32(localStore.DeliveryRangeType),
|
Shape: tiktok_api.ShapeCircular,
|
||||||
},
|
Circular: &warehouse_setFence_request.Circular{
|
||||||
}
|
|
||||||
if localStore.DeliveryRangeType == tiktok_api.ShapeCircular {
|
|
||||||
circular := &warehouse_setFence_request.Circular{
|
|
||||||
Center: &warehouse_setFence_request.Center{
|
Center: &warehouse_setFence_request.Center{
|
||||||
Longitude: float64(localStore.Lng) / float64(1000000),
|
Longitude: float64(localStore.Lng) / float64(1000000),
|
||||||
Latitude: float64(localStore.Lat) / float64(1000000),
|
Latitude: float64(localStore.Lat) / float64(1000000),
|
||||||
},
|
},
|
||||||
Radius: utils.Str2Float64(localStore.DeliveryRange),
|
Radius: utils.Str2Float64(localStore.DeliveryRange),
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
param.FenceInfo.Circular = circular
|
} else if localStore.DeliveryRangeType == LocalShapePolygon {
|
||||||
} else if localStore.DeliveryRangeType == tiktok_api.ShapePolygon {
|
|
||||||
tempStr := strings.Split(localStore.DeliveryRange, ";")
|
tempStr := strings.Split(localStore.DeliveryRange, ";")
|
||||||
for v := len(tempStr) - 1; v >= 0; v-- {
|
for v := len(tempStr) - 1; v >= 0; v-- {
|
||||||
s2 := strings.Split(tempStr[v], ",")
|
s2 := strings.Split(tempStr[v], ",")
|
||||||
@@ -212,7 +212,15 @@ func UpdateFenceByStore(appOrgCode, outFenceID string, storeID int) error {
|
|||||||
}
|
}
|
||||||
vertex = append(vertex, vertices)
|
vertex = append(vertex, vertices)
|
||||||
}
|
}
|
||||||
param.FenceInfo.Polygon.Vertices = vertex
|
param = &warehouse_setFence_request.WarehouseSetFenceParam{
|
||||||
|
FenceInfo: &warehouse_setFence_request.FenceInfo{
|
||||||
|
OutFenceId: outFenceID,
|
||||||
|
Shape: tiktok_api.ShapePolygon,
|
||||||
|
Polygon: &warehouse_setFence_request.Polygon{
|
||||||
|
Vertices: vertex,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if err := getAPI(appOrgCode, 0, "").SetFence(param); err != nil {
|
if err := getAPI(appOrgCode, 0, "").SetFence(param); err != nil {
|
||||||
return err
|
return err
|
||||||
|
|||||||
Reference in New Issue
Block a user