Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop

This commit is contained in:
richboo111
2023-09-06 17:42:13 +08:00
27 changed files with 299 additions and 119 deletions

View File

@@ -117,8 +117,12 @@ func (c *BaseScheduler) SelfDeliverDelivering(order *model.GoodsOrder, userName
partner.CurOrderManager.OnOrderMsg(order, "取消美团外卖,转用三方配送", err.Error())
}
// 查询订单状态,
orderStatus, _ := partner.GetPurchasePlatformFromVendorID(order.VendorID).OrderLogisticsStatus(utils.Str2Int64(order.VendorOrderID))
if orderStatus == 100 { // 美团取消配送单
orderStatus, _ := partner.GetPurchasePlatformFromVendorID(order.VendorID).OrderLogisticsStatus(order.VendorOrderID)
status := 0
if orderStatus != nil {
status = orderStatus.LogisticsStatus
}
if status == 100 { // 美团取消配送单
partner.CurOrderManager.OnOrderMsg(order, "美团外卖转自送成功.", "")
return nil
} else if strings.Contains(err.Error(), "包裹不存在") || strings.Contains(err.Error(), "运单不存在") || strings.Contains(err.Error(), "1071") || strings.Contains(err.Error(), "1014") || strings.Contains(err.Error(), "invalid character 'o' looking for beginning of value") {
@@ -137,13 +141,13 @@ func (c *BaseScheduler) SelfDeliverDelivering(order *model.GoodsOrder, userName
} else if order.VendorID == model.VendorIDDD { //抖音配送
localBill, _ := partner.CurOrderManager.LoadWaybill(order.VendorWaybillID, order.WaybillVendorID)
// 获取抖音配送状态
tiktokWayBillStatus, _ := partner.GetPurchasePlatformFromVendorID(order.VendorID).OrderLogisticsStatus(utils.Str2Int64(order.VendorOrderID))
if tiktokWayBillStatus >= tiktokShop.ShipmentStatusReceived {
tiktokWayBillStatus, _ := partner.GetPurchasePlatformFromVendorID(order.VendorID).OrderLogisticsStatus(order.VendorOrderID)
if tiktokWayBillStatus.LogisticsStatus >= tiktokShop.ShipmentStatusReceived {
//取消抖音配送转自送
err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel)
partner.CurOrderManager.OnOrderMsg(order, "取消抖音配送,转用门店自配送/三方配送", "抖音骑手已经接单,无法取消")
return err
} else if tiktokWayBillStatus == -1 { // 先转自送,自送不成功取消平台配送.
} else if tiktokWayBillStatus.LogisticsStatus == -1 { // 先转自送,自送不成功取消平台配送.
if err := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).SelfDeliverDelivering(order, userName); err != nil {
partner.CurOrderManager.OnOrderMsg(order, "抖音转自送,平台无运力", "tiktokWayBillStatus = -1")
}

View File

@@ -2,14 +2,15 @@ package cms
import (
"fmt"
"git.rosy.net.cn/baseapi/platformapi/autonavi"
"git.rosy.net.cn/baseapi/platformapi/baidunavi"
"math"
"reflect"
"regexp"
"strconv"
"strings"
"time"
"git.rosy.net.cn/baseapi/platformapi/baidunavi"
"git.rosy.net.cn/jx-callback/business/partner/purchase/ebai"
"git.rosy.net.cn/baseapi/utils/errlist"
@@ -100,6 +101,9 @@ var (
},
},
}
AutonaviKeyList = []string{autonavi.AMAPCyclingPlanKey1, autonavi.AMAPCyclingPlanKey2, autonavi.AMAPCyclingPlanKey3, autonavi.AMAPCyclingPlanKey4, autonavi.AMAPCyclingPlanKey5}
AutonaviKeyIndex = 0
)
func InitServiceInfo(version string, buildTime time.Time, gitCommit string) {
@@ -586,8 +590,8 @@ func GetCityBankBranches(ctx *jxcontext.Context, cityCode int, bankCode string)
return info, err
}
// GetSToUWalkingDistance 获取商家与用户间步行距离
func GetSToURidingDistance(sLng, sLat, uLng, uLat float64) (stepInfo interface{}, err error) {
// GetSToURidingDistance 获取商家与用户间步行距离
func GetSToURidingDistance(sLng, sLat, uLng, uLat float64, orderId string) (stepInfo interface{}, err error) {
var coords []*baidunavi.Coordinate
coords = append(coords, &baidunavi.Coordinate{
Lng: sLng,
@@ -605,3 +609,112 @@ func GetSToURidingDistance(sLng, sLat, uLng, uLat float64) (stepInfo interface{}
}
return 0, err
}
// GetSToURidingDistance2 获取商家与用户间步行距离
func GetSToURidingDistance2(sLng, sLat, uLng, uLat float64, orderId string) (wayBill *model.Waybill, err error) {
var (
origin = fmt.Sprintf("%f,%f", sLng, sLat)
destination = fmt.Sprintf("%f,%f", uLng, uLat)
db = dao.GetDB()
)
for {
// 骑手坐标
waybills, err := dao.GetWaybills(db, orderId, nil)
if err != nil {
return nil, err
}
for _, v := range waybills {
if v.Status == model.WaybillStatusCanceled {
continue
}
//if v.Status >= model.WaybillStatusAccepted && v.Status <= model.WaybillStatusCanceled {
// 获取骑行路线图
if v.OriginalData == "" {
originalData, distance, durationTime, err := GetCyclingLine(origin, destination)
if err != nil {
return nil, err
}
v.OriginalData = strings.Join(originalData, ";")
v.Distance = distance
v.DurationTime = durationTime
}
//}
// 如果是三方配送,更新骑手信息
if handler := partner.GetDeliveryPlatformFromVendorID(v.WaybillVendorID); handler != nil {
riderInfo, _ := handler.Handler.GetRiderInfo(v.VendorOrderID, v.ID+1000000, v.VendorWaybillID)
if riderInfo != nil {
v.CourierCoordinate = fmt.Sprintf("%s,%s", riderInfo.Longitude, riderInfo.Latitude)
if (v.CourierName == "" || v.CourierMobile == "") && riderInfo.CourierName != "" {
v.CourierName = riderInfo.CourierName
v.CourierMobile = riderInfo.CourierPhone
}
}
}
// 如果是平台配送,获取骑手信息
if handler := partner.GetPurchaseOrderHandlerFromVendorID(v.WaybillVendorID); handler != nil {
riderInfo, _ := handler.OrderLogisticsStatus(v.VendorOrderID)
if riderInfo != nil {
v.CourierCoordinate = fmt.Sprintf("%s,%s", riderInfo.Longitude, riderInfo.Latitude)
if (v.CourierName == "" || v.CourierMobile == "") && riderInfo.CourierName != "" {
v.CourierName = riderInfo.CourierName
v.CourierMobile = riderInfo.CourierPhone
}
}
}
// 当这个运单为假物流/门店真实自送/获取运单骑手信息为空的时候使用假的骑手信息
if v.WaybillVendorID == model.VendorJXFakeWL || v.WaybillVendorID == model.VendorIDUnknown || v.CourierCoordinate == "" {
riderLine := strings.Split(v.OriginalData, ";") // 路线坐标点
courierDistance := float64(time.Now().Unix()-v.WaybillCreatedAt.Unix()) * (float64(v.Distance) / float64(v.DurationTime)) // 当前骑手骑行距离
if courierDistance >= float64(v.Distance) {
courierDistance = float64(v.Distance)
}
nowCourierDrop := int64(math.Ceil((courierDistance / float64(v.Distance)) * float64(len(riderLine)))) // 当前骑手骑行距离,占中的骑行距离百分比.
if nowCourierDrop >= int64(len(riderLine)) {
v.CourierCoordinate = riderLine[nowCourierDrop-1]
}
if nowCourierDrop <= 0 {
v.CourierCoordinate = riderLine[0]
}
if v.Status >= model.WaybillStatusDelivered {
v.CourierCoordinate = riderLine[len(riderLine)-1]
}
}
dao.UpdateEntity(db, v, "OriginalData", "CourierCoordinate", "Distance", "DurationTime")
if v.CourierName == "" || v.CourierMobile == "" {
v.CourierName = "暂无骑手"
v.CourierMobile = "暂无电话"
}
return v, nil
}
}
}
// GetCyclingLine 获取骑行路线
func GetCyclingLine(origin, destination string) (polyLineList []string, distance, duration int64, errCode error) {
for {
polyLineList, distance, duration, errCode = api.AutonaviAPI.GetCyclingPlan(origin, destination)
if errCode != nil {
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "高德地图骑行方案获取错误:", utils.Format4Output(errCode, false))
}
if errCode != nil && errCode.Error() == autonavi.DAILYQUERYOVERLIMIT {
AutonaviKeyIndex += model.YES
if AutonaviKeyIndex >= len(AutonaviKeyList) {
AutonaviKeyIndex = model.NO
}
api.AutonaviAPI.SetKey(AutonaviKeyList[AutonaviKeyIndex])
} else if errCode != nil {
return nil, 0, 0, errCode
}
if len(polyLineList) > model.NO {
return polyLineList, distance, duration, errCode
}
}
}

View File

@@ -178,11 +178,6 @@ func Init() {
report.RefreshStoreManageState(jxcontext.AdminCtx, nil, []int{model.VendorIDJD})
}, 5*time.Second, 1*time.Hour)
// 每五分钟轮询一次推送骑手信息坐标给美团
ScheduleTimerFuncByInterval(func() {
delivery.GetOrderRiderInfoToPlatform("", 0)
}, 10*time.Second, 5*time.Minute)
//每天晚上23:00更新抖店 审核状态
ScheduleTimerFunc("UpdateStorePoiStatus", func() {
cms.UpdateStorePoiStatus(jxcontext.AdminCtx)
@@ -212,16 +207,21 @@ func Init() {
"12:30:00",
})
// 每分钟轮询一次,推送骑手信息
// 每分钟轮询一次,推送骑手信息(假的订单)
ScheduleTimerFuncByInterval(func() {
delivery.UpdateFakeWayBillToTiktok()
}, 10*time.Second, 5*time.Second)
}, 10*time.Second, 1*time.Minute)
// (自动发单拣货,设置骑手)
// 每五分钟轮询一次推送骑手信息坐标给美团(真的订单)
ScheduleTimerFuncByInterval(func() {
delivery.GetOrderRiderInfoToPlatform("", 0)
}, 10*time.Second, 5*time.Minute)
// (自动发单拣货,设置骑手) 刷单用
ScheduleTimerFuncByInterval(func() {
auto_delivery.Init() // 初始化骑手列表
auto_delivery.AutoSettingFakeDelivery()
}, 10*time.Second, 3*time.Minute)
}, 10*time.Second, 5*time.Minute)
// 定时任务更新负责人信息
ScheduleTimerFunc("RefreshStoreOperator", func() {

View File

@@ -676,6 +676,7 @@ func NotifyStoreOpRequestStatus(isAccepted bool, storeID, nameID int, spuName st
func NotifyStoreMessage(storeID, msgID, msgStatusID int, msg *model.Message) (err error) {
templateID := ""
fileURL := globals.WxBackstageHost + fmt.Sprintf(WX_TO_SHOW_MSG, msgID, msgStatusID)
//fileURL := globals.WxBackstageHost + fmt.Sprintf("%s%d", WX_TO_ORDER_PAGE_URL, storeID)
data := make(map[string]interface{})
switch msg.Type {
case model.MessageTypeStore:

View File

@@ -1494,12 +1494,13 @@ func GetWaybills(db *DaoDB, vendorOrderID string, vendors []int64) (waybills []*
FROM waybill
WHERE vendor_order_id = ?
`
sqlParams := []interface{}{vendorOrderID}
if len(vendors) > model.NO {
sql += " AND waybill_vendor_id IN (" + GenQuestionMarks(len(vendors)) + ")"
sqlParams = append(sqlParams, vendors)
}
sql += ` ORDER BY waybill_created_at asc`
sqlParams := []interface{}{vendorOrderID}
sqlParams = append(sqlParams, vendors)
err = GetRows(db, &waybills, sql, sqlParams)
return waybills, err
}
@@ -1520,10 +1521,10 @@ func GetWayBillFakeOrder() (waybills []*model.Waybill, err error) {
sql := `
SELECT *
FROM waybill
WHERE waybill_vendor_id = ? AND status < ? AND waybill_created_at>= ? AND waybill_created_at< ?
WHERE waybill_vendor_id IN (` + GenQuestionMarks(2) + `) AND status < ? AND waybill_created_at>= ? AND waybill_created_at< ?
`
sqlParams := []interface{}{model.VendorJXFakeWL, model.WaybillStatusFailed, time.Now().Add(-2 * 24 * time.Hour), time.Now()}
sqlParams := []interface{}{model.VendorJXFakeWL, model.VendorIDUnknown, model.WaybillStatusFailed, time.Now().Add(-2 * 24 * time.Hour), time.Now()}
err = GetRows(GetDB(), &waybills, sql, sqlParams)
return waybills, err
}

View File

@@ -244,10 +244,14 @@ type Waybill struct {
WaybillFinishedAt time.Time `orm:"type(datetime)" json:"waybillFinishedAt"`
StatusTime time.Time `orm:"type(datetime)" json:"-"` // last status time
ModelTimeInfo `json:"-"`
OriginalData string `orm:"type(text)" json:"-"`
Remark string `orm:"-" json:"-"` // 用于传递remark
PunctualFee int64 `orm:"column(punctual_fee)" json:"punctualFee"` // 对应美团外卖运单的准时保险费
VendorOrgCode string `orm:"size(64)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空
OriginalData string `orm:"type(text)" json:"original_data"` // 用来保存门店到用户间的坐标点
Distance int64 `orm:"column(distance);size(16)" json:"distance"` // 门店和用户之间的推荐距离
CourierCoordinate string `orm:"column(courier_coordinate);size(32)" json:"courier_coordinate"` // 骑手坐标
DurationTime int64 `orm:"column(duration_time);size(16)" json:"duration_time"` // 骑行时间
Remark string `orm:"-" json:"-"` // 用于传递remark
PunctualFee int64 `orm:"column(punctual_fee)" json:"punctualFee"` // 对应美团外卖运单的准时保险费
VendorOrgCode string `orm:"size(64)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空
}
func (w *Waybill) TableUnique() [][]string {

View File

@@ -3,7 +3,6 @@ package dada
import (
"errors"
"fmt"
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
tao "git.rosy.net.cn/baseapi/platformapi/tao_vegetable"
"git.rosy.net.cn/jx-callback/business/jxcallback/orderman"
"git.rosy.net.cn/jx-callback/business/partner/purchase/tao_vegetable"
@@ -130,7 +129,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap
// 抖音订单状态回传
func tiktokStatusPush(order *model.Waybill, status int) {
result := &mtpsapi.RiderInfo{
result := &utils.RiderInfo{
OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID,
CourierName: order.CourierName,
@@ -507,18 +506,18 @@ func (c *DeliveryHandler) GetRidderPosition(ctx *jxcontext.Context, vendorOrgCod
}
// 获取骑手信息(订单详情)
func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *mtpsapi.RiderInfo, err error) {
func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *utils.RiderInfo, err error) {
order, err := api.DadaAPI.QueryOrderInfo(orderId)
if err != nil {
return nil, err
}
result := &mtpsapi.RiderInfo{
result := &utils.RiderInfo{
OrderId: orderId,
ThirdCarrierOrderId: mtPeisongId,
CourierName: order.TransporterName,
CourierPhone: order.TransporterPhone,
LogisticsProviderCode: mtpsapi.DaDaCode,
LogisticsProviderCode: utils.DaDaCode,
LogisticsStatus: order.StatusCode,
LogisticsContext: "",
Latitude: order.TransporterLat,

View File

@@ -2,7 +2,6 @@ package fn
import (
"fmt"
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
tao "git.rosy.net.cn/baseapi/platformapi/tao_vegetable"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxcallback/orderman"
@@ -323,7 +322,7 @@ func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify, resultParam *fnpsapi.ShortSta
// 抖音订单状态回传
func tiktokStatusPush(order *model.Waybill, orderStatus int64) {
result := &mtpsapi.RiderInfo{
result := &utils.RiderInfo{
OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID,
CourierName: order.CourierName,
@@ -393,7 +392,7 @@ func GetDesiredFee(vendorOrderID string) (desiredFee, acuteFee int64) {
}
// 获取骑手信息
func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *mtpsapi.RiderInfo, err error) {
func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *utils.RiderInfo, err error) {
// 获取订单状态
order, err := api.FnAPI.QueryOrder(orderId)
if err != nil {
@@ -406,12 +405,12 @@ func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeiso
return nil, err
}
result := &mtpsapi.RiderInfo{
result := &utils.RiderInfo{
OrderId: orderId,
ThirdCarrierOrderId: utils.Int64ToStr(order.TrackingId),
CourierName: knightInfo.CarrierDriverName,
CourierPhone: knightInfo.CarrierDriverPhone,
LogisticsProviderCode: mtpsapi.FnPsCode,
LogisticsProviderCode: utils.FnPsCode,
LogisticsStatus: order.OrderStatus, // 默认正在配送中
Latitude: knightInfo.CarrierDriverLatitude,
Longitude: knightInfo.CarrierDriverLongitude,

View File

@@ -2,7 +2,6 @@ package jdeclp
import (
"fmt"
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
"time"
"git.rosy.net.cn/baseapi/platformapi/jdeclpapi"
@@ -104,7 +103,7 @@ func (c *DeliveryHandler) ComplaintRider(bill *model.Waybill, resonID int, reson
return err
}
func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *mtpsapi.RiderInfo, err error) {
func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *utils.RiderInfo, err error) {
return nil, nil
}
func (c *DeliveryHandler) GetDeliverLiquidatedDamages(orderId string, deliverId string) (money int64, err error) {

View File

@@ -153,7 +153,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *m
}
func pushMTPSToTiktok(msgStatus int, order *model.Waybill) {
result := &mtpsapi.RiderInfo{
result := &utils.RiderInfo{
OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID,
CourierName: order.CourierName,
@@ -471,7 +471,7 @@ func (c *DeliveryHandler) GetRidderPosition(ctx *jxcontext.Context, vendorOrgCod
}
// 获取骑手信息 美团配送 deliveryId,mtPeisongId这两参数美团专属
func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *mtpsapi.RiderInfo, err error) {
func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *utils.RiderInfo, err error) {
// 获取订单状态
order, err := api.MtpsAPI.QueryOrderStatus(deliveryId, mtPeisongId)
if err != nil {
@@ -483,12 +483,12 @@ func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeiso
if err != nil {
return nil, err
}
result := &mtpsapi.RiderInfo{
result := &utils.RiderInfo{
OrderId: orderId,
ThirdCarrierOrderId: utils.Interface2String(order["mt_peisong_id"]),
CourierName: utils.Interface2String(order["courier_name"]),
CourierPhone: utils.Interface2String(order["courier_phone"]),
LogisticsProviderCode: mtpsapi.MTPsCode,
LogisticsProviderCode: utils.MTPsCode,
LogisticsStatus: int(utils.MustInterface2Int64(order["status"])), // 默认正在配送中
Latitude: utils.Float64ToStr(jxutils.IntCoordinate2Standard(lat)),
Longitude: utils.Float64ToStr(jxutils.IntCoordinate2Standard(lng)),

View File

@@ -3,7 +3,11 @@ package delivery
import (
"crypto/rand"
"fmt"
"git.rosy.net.cn/baseapi/platformapi/dingdingapi"
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
"git.rosy.net.cn/jx-callback/business/jxutils/ddmsg"
"math/big"
"strings"
"time"
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable"
@@ -16,7 +20,6 @@ import (
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
"git.rosy.net.cn/jx-callback/business/partner/purchase/mtwm"
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/model"
@@ -95,10 +98,10 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
if orderId == "" && v.VendorID == model.VendorIDDD { // 抖音门店订单除了三方配送回调时推送,不在主动推送配送消息
continue
}
//if (v.WaybillVendorID == model.YES || v.WaybillVendorID == -1) && v.VendorID == model.VendorIDMTWM {
// continue
//}
// 非三方配送订单不同步消息
if v.WaybillVendorID < 100 {
continue
}
if orderId == "" { // 订单id为空是,是定时轮询操作,不做此状态
waybillList, _ := dao.GetWaybills(dao.GetDB(), v.VendorOrderID, nil)
@@ -108,7 +111,7 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
}
}
riderInfo := &mtpsapi.RiderInfo{}
riderInfo := &utils.RiderInfo{}
if handlerInfo := partner.GetDeliveryPlatformFromVendorID(v.WaybillVendorID); handlerInfo != nil {
if v.WaybillVendorID == model.VendorIDDada || v.WaybillVendorID == model.VendorIDFengNiao || v.WaybillVendorID == model.VendorIDUUPT || v.WaybillVendorID == model.VendorIDSFPS {
riderInfo, err = handlerInfo.Handler.GetRiderInfo(v.VendorOrderID, 0, v.VendorWaybillID)
@@ -250,7 +253,7 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
return
}
func PullTiktokRiderInfo(riderInfo *mtpsapi.RiderInfo) {
func PullTiktokRiderInfo(riderInfo *utils.RiderInfo) {
switch riderInfo.LogisticsStatus {
case 5: // 呼叫骑手
riderInfo.LogisticsStatus = 0
@@ -311,7 +314,7 @@ func UpdateOrder2Complete() {
return
}
func makeRiderInfo(fakeWayBill *model.Waybill, riderInfo *mtpsapi.RiderInfo) {
func makeRiderInfo(fakeWayBill *model.Waybill, riderInfo *utils.RiderInfo) {
order, _ := partner.CurOrderManager.LoadOrder(fakeWayBill.VendorOrderID, fakeWayBill.OrderVendorID)
storeId := 0
if order.StoreID != 0 {
@@ -320,6 +323,13 @@ func makeRiderInfo(fakeWayBill *model.Waybill, riderInfo *mtpsapi.RiderInfo) {
storeId = order.JxStoreID
}
storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), storeId, order.VendorID, order.VendorOrgCode)
waybill2, err := cms.GetSToURidingDistance2(jxutils.IntCoordinate2Standard(storeDetail.Lng), jxutils.IntCoordinate2Standard(storeDetail.Lat), jxutils.IntCoordinate2Standard(order.ConsigneeLng), jxutils.IntCoordinate2Standard(order.ConsigneeLat), fakeWayBill.VendorOrderID)
if err != nil {
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "高德地图骑行方案获取错误:", utils.Format4Output(err.Error(), false))
return
}
courierCoordinate := strings.Split(waybill2.CourierCoordinate, ",")
switch fakeWayBill.Status {
case 5: // 呼叫骑手
riderInfo.LogisticsContext = "呼叫骑手,新建运单"
@@ -334,11 +344,12 @@ func makeRiderInfo(fakeWayBill *model.Waybill, riderInfo *mtpsapi.RiderInfo) {
fakeWayBill.Status = model.WaybillStatusCourierAssigned
fakeWayBill.VendorStatus = utils.Int64ToStr(model.WaybillStatusCourierAssigned)
case 12: // 骑手接单
riderInfo.LogisticsContext = model.RiderWaitGetGoods
riderInfo.LogisticsStatus = 10
riderInfo.OpCode = tiktok_api.TiktokLogisticsORDERRECEIVED
riderInfo.Latitude = utils.Float64ToStr(jxutils.IntCoordinate2Standard(storeDetail.Lat))
riderInfo.Longitude = utils.Float64ToStr(jxutils.IntCoordinate2Standard(storeDetail.Lng))
riderInfo.Latitude = courierCoordinate[1]
riderInfo.Longitude = courierCoordinate[0]
// 下一状态以及推送时间
fakeWayBill.Status = model.WaybillStatusCourierArrived
fakeWayBill.VendorStatus = utils.Int64ToStr(model.WaybillStatusCourierArrived)
@@ -346,8 +357,8 @@ func makeRiderInfo(fakeWayBill *model.Waybill, riderInfo *mtpsapi.RiderInfo) {
riderInfo.LogisticsContext = model.RiderToStore
riderInfo.LogisticsStatus = 15
riderInfo.OpCode = tiktok_api.TiktokLogisticsRIDERARRIVED
riderInfo.Latitude = utils.Float64ToStr(jxutils.IntCoordinate2Standard(storeDetail.Lat))
riderInfo.Longitude = utils.Float64ToStr(jxutils.IntCoordinate2Standard(storeDetail.Lng))
riderInfo.Latitude = courierCoordinate[1]
riderInfo.Longitude = courierCoordinate[0]
// 下一状态以及推送时间
fakeWayBill.Status = model.WaybillStatusDelivering
fakeWayBill.VendorStatus = utils.Int64ToStr(model.WaybillStatusDelivering)
@@ -355,8 +366,8 @@ func makeRiderInfo(fakeWayBill *model.Waybill, riderInfo *mtpsapi.RiderInfo) {
riderInfo.LogisticsContext = model.RiderGetOrderDelivering
riderInfo.LogisticsStatus = 20
riderInfo.OpCode = tiktok_api.TiktokLogisticsRIDERPICKUP
riderInfo.Latitude = utils.Float64ToStr(jxutils.IntCoordinate2Standard(storeDetail.Lat))
riderInfo.Longitude = utils.Float64ToStr(jxutils.IntCoordinate2Standard(storeDetail.Lng))
riderInfo.Latitude = courierCoordinate[1]
riderInfo.Longitude = courierCoordinate[0]
// 下一状态以及推送时间
fakeWayBill.Status = model.WaybillStatusDelivered
fakeWayBill.VendorStatus = utils.Int64ToStr(model.WaybillStatusDelivered)
@@ -364,8 +375,8 @@ func makeRiderInfo(fakeWayBill *model.Waybill, riderInfo *mtpsapi.RiderInfo) {
riderInfo.LogisticsContext = model.RiderGetOrderDelivered
riderInfo.LogisticsStatus = 40
riderInfo.OpCode = tiktok_api.TiktokLogisticsDELIVERED
riderInfo.Latitude = utils.Float64ToStr(jxutils.IntCoordinate2Standard(order.ConsigneeLat))
riderInfo.Longitude = utils.Float64ToStr(jxutils.IntCoordinate2Standard(order.ConsigneeLng))
riderInfo.Latitude = courierCoordinate[1]
riderInfo.Longitude = courierCoordinate[0]
// 下一状态以及推送时间
fakeWayBill.Status = model.WaybillStatusFailed
fakeWayBill.VendorStatus = utils.Int64ToStr(model.WaybillStatusFailed)
@@ -377,11 +388,11 @@ func makeRiderInfo(fakeWayBill *model.Waybill, riderInfo *mtpsapi.RiderInfo) {
// UpdateFakeWayBillToTiktok 轮询更新假订单到抖音(抖音/美团/饿百)
func UpdateFakeWayBillToTiktok() {
scheduleTimer, _ := rand.Int(rand.Reader, big.NewInt(1000))
randTimeSchedule := scheduleTimer.Int64()
if randTimeSchedule > 200 {
return
}
//scheduleTimer, _ := rand.Int(rand.Reader, big.NewInt(1000))
//randTimeSchedule := scheduleTimer.Int64()
//if randTimeSchedule > 500 {
// return
//}
fakeWayBill, err := dao.GetWayBillFakeOrder()
if err != nil {
@@ -398,7 +409,7 @@ func UpdateFakeWayBillToTiktok() {
continue
}
riderInfo := &mtpsapi.RiderInfo{
riderInfo := &utils.RiderInfo{
OrderId: fakeWayBill[i].VendorOrderID,
ThirdCarrierOrderId: fakeWayBill[i].VendorOrderID,
CourierName: fakeWayBill[i].CourierName,
@@ -425,7 +436,8 @@ func UpdateFakeWayBillToTiktok() {
paramsMap := utils.Struct2Map(riderInfo, "", true)
handler := partner.GetPurchaseOrderHandlerFromVendorID(fakeWayBill[i].OrderVendorID)
if handler != nil {
if err := handler.GetOrderRider(fakeWayBill[i].VendorOrgCode, "", paramsMap); err != nil {
order, _ := partner.CurOrderManager.LoadOrder(fakeWayBill[i].VendorOrderID, fakeWayBill[i].OrderVendorID)
if err := handler.GetOrderRider(fakeWayBill[i].VendorOrgCode, order.VendorStoreID, paramsMap); err != nil {
globals.SugarLogger.Debugf("Fake Pull Rider Info Err :%s--%s--%v", riderInfo.OrderId, riderInfo.ThirdCarrierOrderId, err)
continue
}
@@ -438,7 +450,7 @@ func UpdateFakeWayBillToTiktok() {
}
// 推送完成时加多加十分钟,相当于是配送中状态多存货十分钟
if fakeWayBill[i].Status == model.WaybillStatusDelivered {
randTime += 1200
randTime += 300
}
fakeWayBill[i].StatusTime = time.Now().Add(time.Duration(randTime) * time.Second).Local()
fakeWayBill[i].WaybillFinishedAt = time.Now()
@@ -552,8 +564,8 @@ func LoadingStoreOrderSettleAmount(startTime, endTime int64, jxStoreId []int) er
return nil
}
func GetVendorRiderInfo(wayBillVendorId, vendorId int, vendorOrderId, vendorWaybillId string) (riderInfo *mtpsapi.RiderInfo, err error) {
riderInfo = &mtpsapi.RiderInfo{}
func GetVendorRiderInfo(wayBillVendorId, vendorId int, vendorOrderId, vendorWaybillId string) (riderInfo *utils.RiderInfo, err error) {
riderInfo = &utils.RiderInfo{}
if handlerInfo := partner.GetDeliveryPlatformFromVendorID(wayBillVendorId); handlerInfo != nil {
if wayBillVendorId == model.VendorIDDada || wayBillVendorId == model.VendorIDFengNiao || wayBillVendorId == model.VendorIDUUPT {
riderInfo, err = handlerInfo.Handler.GetRiderInfo(vendorOrderId, 0, vendorWaybillId)

View File

@@ -15,7 +15,6 @@ import (
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
"git.rosy.net.cn/jx-callback/globals/api"
@@ -299,7 +298,7 @@ func (d DeliveryHandler) GetDeliverLiquidatedDamages(orderId string, deliverId s
return money, nil
}
func (d DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *mtpsapi.RiderInfo, err error) {
func (d DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *utils.RiderInfo, err error) {
order, err := dao.GetWaybills(dao.GetDB(), orderId, []int64{model.VendorIDSFPS})
if len(order) == 0 || err != nil {
return nil, errors.New("顺丰 订单id无效请检查")
@@ -311,12 +310,12 @@ func (d DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeison
if sfRider == nil {
return nil, errors.New("顺丰派送暂无骑手信息")
}
result := &mtpsapi.RiderInfo{
result := &utils.RiderInfo{
OrderId: orderId,
ThirdCarrierOrderId: sfOrder.OrderID,
CourierName: sfOrder.RiderName,
CourierPhone: sfOrder.RiderPhone,
LogisticsProviderCode: mtpsapi.SFPSCode,
LogisticsProviderCode: utils.SFPSCode,
LogisticsStatus: utils.Float64TwoInt(sfOrder.OrderStatus), // 默认正在配送中
Latitude: sfRider.RiderLat,
Longitude: sfRider.RiderLng,
@@ -452,7 +451,7 @@ func OnWaybillMsg(urlIndex string, msg interface{}) (resp *sfps2.CallbackRespons
}
func tiktokStatusPush(order *model.Waybill, orderStatus int64) {
result := &mtpsapi.RiderInfo{
result := &utils.RiderInfo{
OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID,
CourierName: order.CourierName,

View File

@@ -9,7 +9,6 @@ import (
"git.rosy.net.cn/jx-callback/business/partner/purchase/tao_vegetable"
"git.rosy.net.cn/baseapi/platformapi/baidunavi"
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
"git.rosy.net.cn/baseapi/platformapi/uuptapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils"
@@ -219,17 +218,17 @@ func (d DeliveryHandler) ComplaintRider(bill *model.Waybill, resonID int, resonC
return fmt.Errorf("UU跑腿暂不支持此操作")
}
func (d DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *mtpsapi.RiderInfo, err error) {
func (d DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *utils.RiderInfo, err error) {
waybill, err := api.UuAPI.GetOrderDetail(orderId)
if err != nil {
return nil, err
}
param := &mtpsapi.RiderInfo{
param := &utils.RiderInfo{
OrderId: orderId,
ThirdCarrierOrderId: waybill.OrderCode,
CourierName: waybill.DriverName,
CourierPhone: waybill.DriverMobile,
LogisticsProviderCode: mtpsapi.UUPTCode,
LogisticsProviderCode: utils.UUPTCode,
LogisticsStatus: utils.Str2Int(waybill.State),
}
if len(waybill.DriverLastloc) == 0 {
@@ -407,7 +406,7 @@ func OnWaybillMsg(req *uuptapi.WaybillCallbackParam) (resp *uuptapi.CallbackResp
}
func tiktokStatusPush(param *model.Waybill, orderStatus string) {
result := &mtpsapi.RiderInfo{
result := &utils.RiderInfo{
OrderId: param.VendorOrderID,
ThirdCarrierOrderId: param.VendorOrderID,
CourierName: param.CourierName,

View File

@@ -2,7 +2,7 @@ package partner
import (
"fmt"
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
"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"
@@ -41,7 +41,7 @@ type IDeliveryPlatformHandler interface {
//投诉骑手
ComplaintRider(bill *model.Waybill, resonID int, resonContent string) (err error)
// GetRiderInfo 获取骑手信息
GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *mtpsapi.RiderInfo, err error)
GetRiderInfo(orderId string, deliveryId int64, mtPeisongId string) (rider *utils.RiderInfo, err error)
// 三方配送时,呼叫骑手在取消.可能存在违约赔付!获取每单的违约金额!
// 蜂鸟:骑手接单后-取餐之前,每单扣除2元,超过20分钟不扣款
// 达达:骑手接单后-到店之前,接单1-15分钟内,扣款2元,超过不扣款

View File

@@ -1,6 +1,7 @@
package partner
import (
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
"git.rosy.net.cn/jx-callback/business/model"
)
@@ -48,25 +49,21 @@ type IPurchasePlatformOrderHandler interface {
CanSwitch2SelfDeliver(order *model.GoodsOrder) (isCan bool, err error)
// 将订单从购物平台配送转为自送
Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error)
// 将订单从购物平台配送转为自送后又送达
Swtich2SelfDelivered(order *model.GoodsOrder, userName string) (err error)
// 完全自送的门店表示开始配送
SelfDeliverDelivering(order *model.GoodsOrder, userName string) (err error)
// 转自配送时取消非专送混合送门店取消理由
GetCancelDeliveryReason(order *model.GoodsOrder) (string, error)
// 取消美团外卖理由转使用三方配送
CancelLogisticsByWmOrderId(order *model.GoodsOrder, reasonCode, detailContent, appPoiCode, orderId string) error
OrderLogisticsStatus(orderId int64) (int64, error)
// 获取运单状态
OrderLogisticsStatus(orderId string) (*utils.RiderInfo, error)
// 完全自送的门店表示配送完成
SelfDeliverDelivered(order *model.GoodsOrder, userName string) (err error)
GetOrderRealMobile(ctx *jxcontext.Context, order *model.GoodsOrder) (mobile string, err error)
ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string, orderComment *model.OrderComment, replyComment string) (err error)
AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error)
CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error)
// order.Skus要包含原始订单中的Sku信息removedSkuList中是要移除的Sku信息

View File

@@ -823,8 +823,20 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
}
// 获取订单配送状态
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
func (c *PurchaseHandler) OrderLogisticsStatus(orderId string) (*utils.RiderInfo, error) {
status, err := api.EbaiAPI.OrderDeliveryGet(orderId)
if err != nil {
return nil, err
}
data := &utils.RiderInfo{}
data.LogisticsStatus = int(utils.MustInterface2Int64(status["status"]))
data.CourierName = utils.Interface2String(status["name"])
data.CourierPhone = utils.Interface2String(status["phone"])
data.OrderId = utils.Interface2String(status["order_id"])
data.Latitude = utils.Float64ToStr(utils.MustInterface2Float64(status["latitude"]))
data.Longitude = utils.Float64ToStr(utils.MustInterface2Float64(status["longitude"]))
return data, nil
}
// GetOrderSettleAccounts 获取订单结算信息

View File

@@ -341,8 +341,8 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
}
// 获取订单配送状态
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
func (c *PurchaseHandler) OrderLogisticsStatus(orderId string) (*utils.RiderInfo, error) {
return nil, nil
}
// GetOrderSettleAccounts 获取订单结算信息

View File

@@ -661,8 +661,9 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
}
// 获取订单配送状态
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
func (c *PurchaseHandler) OrderLogisticsStatus(orderId string) (*utils.RiderInfo, error) {
return nil, nil
}
// GetOrderSettleAccounts 获取订单结算信息

View File

@@ -325,8 +325,8 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
}
// 获取订单配送状态
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
func (c *PurchaseHandler) OrderLogisticsStatus(orderId string) (*utils.RiderInfo, error) {
return nil, nil
}
// GetOrderSettleAccounts 获取订单结算信息

View File

@@ -1,6 +1,7 @@
package jx
import (
"git.rosy.net.cn/baseapi/utils"
"time"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
@@ -152,8 +153,8 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
}
// 获取订单配送状态
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
func (c *PurchaseHandler) OrderLogisticsStatus(orderId string) (*utils.RiderInfo, error) {
return nil, nil
}
// GetOrderSettleAccounts 获取订单结算信息

View File

@@ -9,8 +9,6 @@ import (
"strings"
"time"
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils"
@@ -610,7 +608,7 @@ func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName
err = api.OrderArrived(utils.Str2Int64(order.VendorOrderID))
if err == nil {
riderInfo := &mtpsapi.RiderInfo{
riderInfo := &utils.RiderInfo{
OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID,
CourierName: "",
@@ -916,15 +914,15 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
}
// 获取订单配送状态
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
orderInfo, err := dao.GetSimpleOrder(dao.GetDB(), utils.Int64ToStr(orderId))
func (c *PurchaseHandler) OrderLogisticsStatus(orderId string) (*utils.RiderInfo, error) {
orderInfo, err := dao.GetSimpleOrder(dao.GetDB(), orderId)
if err != nil {
return 0, errors.New("获取本地门店账号信息失败,请重试")
return nil, errors.New("获取本地门店账号信息失败,请重试")
}
status, err := getAPI(orderInfo.VendorOrgCode, 0, "").OrderLogisticsStatus(orderId)
status, err := getAPI(orderInfo.VendorOrgCode, 0, "").OrderLogisticsStatus(utils.Str2Int64(orderId))
if err != nil {
return 0, err
return nil, err
}
return status, nil

View File

@@ -847,8 +847,8 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
}
// 获取订单配送状态
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
func (c *PurchaseHandler) OrderLogisticsStatus(orderId string) (*utils.RiderInfo, error) {
return nil, nil
}
// GetOrderSettleAccounts 获取订单结算信息(t+1)当前订单获取不到结算

View File

@@ -8,7 +8,6 @@ import (
"strings"
"time"
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
order_getSettleBillDetailV3_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_getSettleBillDetailV3/request"
order_logisticsAdd_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAdd/request"
order_orderDetail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_orderDetail/response"
@@ -634,7 +633,7 @@ func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userNam
return err
}
riderInfo := &mtpsapi.RiderInfo{
riderInfo := &utils.RiderInfo{
OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID,
CourierName: "",
@@ -652,7 +651,7 @@ func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userNam
// SelfDeliverDelivered 自配搜完成(暂无)
func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName string) (err error) {
riderInfo := &mtpsapi.RiderInfo{
riderInfo := &utils.RiderInfo{
OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID,
CourierName: "",
@@ -985,18 +984,27 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
}
// OrderLogisticsStatus 获取订单配送状态
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
orderInfo, err := dao.GetSimpleOrder(dao.GetDB(), utils.Int64ToStr(orderId))
func (c *PurchaseHandler) OrderLogisticsStatus(orderId string) (*utils.RiderInfo, error) {
orderInfo, err := dao.GetSimpleOrder(dao.GetDB(), orderId)
if err != nil {
return 0, errors.New("获取本地门店账号信息失败,请重试")
return nil, errors.New("获取本地门店账号信息失败,请重试")
}
waybill, err := getAPI(orderInfo.VendorOrgCode, 0, "").GetShipmentInfo(utils.Str2Int64(orderInfo.VendorOrderID), 0, tiktokShop.ShipmentTypeInvoice)
if err != nil {
return 0, err
return nil, err
}
return waybill.ShipmentStatus, nil
result := &utils.RiderInfo{
OrderId: utils.Int64ToStr(waybill.ShopOrderID),
ThirdCarrierOrderId: waybill.TrackNo,
CourierName: waybill.RiderName,
CourierPhone: waybill.RiderPhone,
LogisticsStatus: int(waybill.ShipmentStatus),
Latitude: waybill.RiderLatitude,
Longitude: waybill.RiderLongitude,
}
return result, nil
}
// GetOrderTotalShopMoney 获取门店结算信息

View File

@@ -309,8 +309,8 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
}
// 获取订单配送状态
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
func (c *PurchaseHandler) OrderLogisticsStatus(orderId string) (*utils.RiderInfo, error) {
return nil, nil
}
// GetOrderSettleAccounts 获取订单结算信息

View File

@@ -1,6 +1,7 @@
package yb
import (
"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/partner"
@@ -103,8 +104,8 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re
}
// 获取订单配送状态
func (c *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) {
return 0, nil
func (c *PurchaseHandler) OrderLogisticsStatus(orderId string) (*utils.RiderInfo, error) {
return nil, nil
}
// GetOrderSettleAccounts 获取订单结算信息

View File

@@ -367,6 +367,7 @@ func (c *CmsController) GetVendorOrgCodeInfo() {
// @Param sLat query int true "商家纬度"
// @Param uLng query int true "用户经度"
// @Param uLat query int true "用户纬度"
// @Param orderId query string false "订单id"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetSToURidingDistance [get]
@@ -376,7 +377,29 @@ func (c *CmsController) GetSToURidingDistance() {
sLat := jxutils.IntCoordinate2Standard(params.SLat)
uLng := jxutils.IntCoordinate2Standard(params.ULng)
uLat := jxutils.IntCoordinate2Standard(params.ULat)
retVal, err = cms.GetSToURidingDistance(sLng, sLat, uLng, uLat)
retVal, err = cms.GetSToURidingDistance(sLng, sLat, uLng, uLat, params.OrderId)
return retVal, "", err
})
}
// @Title 得到商家与用户之间骑行路线规划
// @Description 得到商家与用户之间骑行路线规划
// @Param token header string true "认证token"
// @Param sLng query int true "商家经度"
// @Param sLat query int true "商家纬度"
// @Param uLng query int true "用户经度"
// @Param uLat query int true "用户纬度"
// @Param orderId query string true "订单id"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetSToURidingDistance2 [get]
func (c *CmsController) GetSToURidingDistance2() {
c.callGetSToURidingDistance(func(params *tCmsGetSToURidingDistanceParams) (retVal interface{}, errCode string, err error) {
sLng := jxutils.IntCoordinate2Standard(params.SLng)
sLat := jxutils.IntCoordinate2Standard(params.SLat)
uLng := jxutils.IntCoordinate2Standard(params.ULng)
uLat := jxutils.IntCoordinate2Standard(params.ULat)
retVal, err = cms.GetSToURidingDistance2(sLng, sLat, uLng, uLat, params.OrderId)
return retVal, "", err
})
}

View File

@@ -474,6 +474,15 @@ func init() {
Filters: nil,
Params: nil})
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:CmsController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:CmsController"],
web.ControllerComments{
Method: "GetSToURidingDistance2",
Router: `/GetSToURidingDistance2`,
AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(),
Filters: nil,
Params: nil})
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:CmsController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:CmsController"],
web.ControllerComments{
Method: "NewConfig",