Merge branch 'jdshop' of e.coding.net:rosydev/jx-callback into jdshop
This commit is contained in:
@@ -2,6 +2,7 @@ package model
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
|
||||
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
||||
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
||||
@@ -78,6 +79,8 @@ var (
|
||||
WaybillStatusAccepted: "已接单",
|
||||
WaybillStatusCourierAssigned: "已分配骑手",
|
||||
WaybillStatusCourierArrived: "已到店",
|
||||
WaybillStatusUuPickUp: "骑手已取件",
|
||||
WaybillStatusUuArrivedDestination: "骑手已到达取件人地址处",
|
||||
WaybillStatusApplyFailedGetGoods: "取货失败待审核",
|
||||
WaybillStatusAgreeFailedGetGoods: "取货失败",
|
||||
WaybillStatusDelivering: "配送中",
|
||||
@@ -336,7 +339,9 @@ const (
|
||||
|
||||
WaybillStatusDelivering = 20 // 配送中
|
||||
WaybillStatusDeliverFailed = 22 // 配送中失败
|
||||
|
||||
//uu跑腿专用
|
||||
WaybillStatusUuPickUp = 13 //骑手已取件
|
||||
WaybillStatusUuArrivedDestination = 26 //骑手到达收件人地址,暂未确定收货
|
||||
//抖音配送专用
|
||||
WaybillStatusRejected = 23 //收货人拒收
|
||||
WaybillStatusReturning = 24 //返回中
|
||||
@@ -355,6 +360,10 @@ const (
|
||||
RiderGetOrderDelivering = "骑手 %s (%s) 配送中"
|
||||
RiderGetOrderDelivered = "骑手 %s (%s) 已送达"
|
||||
RiderGetOrderCanceled = "骑手 %s (%s) 已取消"
|
||||
//uu专用
|
||||
RiderPickUp = "骑手 %s (%s) 已取件"
|
||||
RiderArrivedDestination = "骑手 %s (%s) 已到达收件人地址处"
|
||||
|
||||
RiderGetOrderDeliverFailed = "骑手配送异常"
|
||||
RiderGetOrderDeliverOther = "其他待处理信息"
|
||||
RiderWaitRider = "待接单,正在分配骑手"
|
||||
|
||||
@@ -3,6 +3,9 @@ package delivery
|
||||
import (
|
||||
"crypto/rand"
|
||||
"fmt"
|
||||
"math/big"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
|
||||
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
@@ -10,8 +13,6 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"math/big"
|
||||
"time"
|
||||
)
|
||||
|
||||
// 订单骑手信息推送:将获取到的三方配送订单,且订单状态为配送中的订单,将配送人员的信息返回给订单方
|
||||
@@ -34,7 +35,7 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
|
||||
params["isIncludeFake"] = true
|
||||
params["mustInvoice"] = false
|
||||
params["adjustCount"] = 0
|
||||
params["waybillVendorIDs"] = `[101,102,103]`
|
||||
params["waybillVendorIDs"] = `[101,102,103,105]`
|
||||
if orderId != "" { // 订单id会忽略其他参数
|
||||
params["keyword"] = orderId
|
||||
} else {
|
||||
|
||||
@@ -2,6 +2,9 @@ package uupt
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/baidunavi"
|
||||
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
|
||||
"git.rosy.net.cn/baseapi/platformapi/uuptapi"
|
||||
@@ -14,8 +17,6 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/partner/delivery"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -289,6 +290,7 @@ func OnWaybillMsg(req *uuptapi.WaybillCallbackParam) (resp *uuptapi.CallbackResp
|
||||
sql := `SELECT * FROM goods_order WHERE vendor_order_id = ? ORDER BY order_created_at DESC LIMIT 1 OFFSET 0`
|
||||
sqlParams := []interface{}{req.OriginID}
|
||||
dao.GetRow(dao.GetDB(), &good, sql, sqlParams)
|
||||
globals.SugarLogger.Debugf("uupt OnWaybillMsg good=====%s", utils.Format4Output(good, false))
|
||||
param.OrderVendorID = good.VendorID
|
||||
switch req.State {
|
||||
case uuptapi.StateConfirmSuccess:
|
||||
@@ -298,16 +300,14 @@ func OnWaybillMsg(req *uuptapi.WaybillCallbackParam) (resp *uuptapi.CallbackResp
|
||||
param.Remark = req.DriverName + "," + req.DriverMobile
|
||||
case uuptapi.StateArrivedStore:
|
||||
param.Status = model.WaybillStatusCourierArrived
|
||||
param.Remark = model.RiderToStore
|
||||
case uuptapi.StatePickUp, uuptapi.StateArrivedDestination:
|
||||
param.Status = model.WaybillStatusDelivering
|
||||
param.Remark = model.RiderGetOrderDelivering
|
||||
case uuptapi.StatePickUp:
|
||||
param.Status = model.WaybillStatusUuPickUp
|
||||
case uuptapi.StateArrivedDestination:
|
||||
param.Status = model.WaybillStatusUuArrivedDestination
|
||||
case uuptapi.StateReceiverGetGoods:
|
||||
param.Status = model.WaybillStatusDelivered
|
||||
param.Remark = model.RiderGetOrderDelivered
|
||||
case uuptapi.StateOrderCancel:
|
||||
param.Status = model.WaybillStatusCanceled
|
||||
param.Remark = model.RiderGetOrderCanceled
|
||||
default:
|
||||
globals.SugarLogger.Warnf("onWaybillMsg unknown State:%v", req.State)
|
||||
}
|
||||
@@ -315,6 +315,46 @@ func OnWaybillMsg(req *uuptapi.WaybillCallbackParam) (resp *uuptapi.CallbackResp
|
||||
if err := partner.CurOrderManager.OnWaybillStatusChanged(param); err != nil {
|
||||
return uuptapi.Err2CallbackResponse(err)
|
||||
}
|
||||
//推送抖音
|
||||
if param.OrderVendorID == model.VendorIDDD {
|
||||
result := &mtpsapi.RiderInfo{
|
||||
OrderId: param.VendorOrderID,
|
||||
ThirdCarrierOrderId: param.VendorOrderID,
|
||||
CourierName: param.CourierName,
|
||||
CourierPhone: param.CourierMobile,
|
||||
LogisticsProviderCode: "10002",
|
||||
LogisticsStatus: param.Status,
|
||||
OpCode: "",
|
||||
}
|
||||
switch req.State {
|
||||
case uuptapi.StateConfirmSuccess: //下单成功
|
||||
result.LogisticsStatus = model.WaybillStatusNew
|
||||
result.LogisticsContext = model.RiderWaitRider
|
||||
case uuptapi.StateRMGrabsOrder: //骑手已接单
|
||||
result.LogisticsStatus = model.WaybillStatusCourierAssigned // 分配骑手
|
||||
result.LogisticsContext = model.RiderWaitGetGoods
|
||||
case uuptapi.StateArrivedStore: //骑手到店
|
||||
result.LogisticsStatus = model.WaybillStatusCourierArrived
|
||||
result.LogisticsContext = model.RiderToStore
|
||||
case uuptapi.StatePickUp: //已取件
|
||||
result.LogisticsStatus = model.WaybillStatusUuPickUp
|
||||
result.LogisticsContext = model.RiderPickUp
|
||||
case uuptapi.StateArrivedDestination: //到达取件人地址处
|
||||
result.LogisticsStatus = model.WaybillStatusUuArrivedDestination
|
||||
result.LogisticsContext = model.RiderArrivedDestination
|
||||
case uuptapi.StateReceiverGetGoods: //取件人收货
|
||||
result.LogisticsStatus = model.WaybillStatusDelivered
|
||||
result.LogisticsContext = model.RiderGetOrderDelivered
|
||||
case uuptapi.StateOrderCancel: //运单取消
|
||||
result.LogisticsStatus = model.WaybillStatusCanceled
|
||||
result.LogisticsContext = model.RiderGetOrderCanceled
|
||||
default:
|
||||
result.LogisticsStatus = 0
|
||||
result.LogisticsContext = model.RiderGetOrderDeliverOther
|
||||
}
|
||||
delivery.PullTiktokRiderInfo(result)
|
||||
}
|
||||
defer delivery.GetOrderRiderInfoToPlatform(param.VendorOrderID, param.Status) // 骑手位置更新
|
||||
return uuptapi.Err2CallbackResponse(nil)
|
||||
}
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ func (c *PurchaseHandler) onWaybillMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaiap
|
||||
} else {
|
||||
order.CourierName = utils.Interface2String(result["name"])
|
||||
order.CourierMobile = utils.Interface2String(result["phone"])
|
||||
|
||||
}
|
||||
if order.Status == model.WaybillStatusNew {
|
||||
order2, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.WaybillVendorID)
|
||||
@@ -80,7 +81,6 @@ func (c *PurchaseHandler) callbackMsg2Waybill(msg *ebaiapi.CallbackMsg) (retVal
|
||||
Status: c.GetWaybillStatusFromVendorStatus(vendorStatus),
|
||||
VendorStatus: vendorStatus,
|
||||
StatusTime: utils.Timestamp2Time(msg.Timestamp),
|
||||
|
||||
VendorOrgCode: msg.Source,
|
||||
}
|
||||
return retVal
|
||||
|
||||
@@ -3,6 +3,7 @@ package tiktok_store
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
superm_getShipmentInfo_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/superm_getShipmentInfo/response"
|
||||
superm_getStoreAutoCallRiderInfo_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/superm_getStoreAutoCallRiderInfo/response"
|
||||
superm_setStoreAutoCallRider_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/superm_setStoreAutoCallRider/request"
|
||||
@@ -53,6 +54,10 @@ func (c *PurchaseHandler) onWaybillMsg(tag, orderId string, data interface{}) *t
|
||||
|
||||
func (c *PurchaseHandler) callbackMsg2Waybill(tag, orderId string, data interface{}) (retVal *model.Waybill) {
|
||||
req := data.(tiktok_api.ShipmentInfoData)
|
||||
tempRemark := ""
|
||||
if req.ShipmentStatus == tiktok_api.ShipmentStatusReceived {
|
||||
tempRemark = req.RiderName + "," + req.RiderPhone
|
||||
}
|
||||
return &model.Waybill{
|
||||
VendorOrderID: utils.Int64ToStr(req.ShopOrderID),
|
||||
OrderVendorID: model.VendorIDDD,
|
||||
@@ -64,7 +69,7 @@ func (c *PurchaseHandler) callbackMsg2Waybill(tag, orderId string, data interfac
|
||||
Status: c.GetWaybillStatusFromVendorStatus(utils.Int64ToStr(req.ShipmentStatus)),
|
||||
StatusTime: utils.Str2Time(req.OccurredTime),
|
||||
//StatusTime: getTimeFromTimestamp(utils.Str2Int64(req.OccurredTime)),
|
||||
Remark: "",
|
||||
Remark: tempRemark,
|
||||
VendorOrgCode: utils.Int64ToStr(req.ShopID), //为抖音账号ID
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/uuptapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/partner/delivery/uupt"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"github.com/astaxie/beego/server/web"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
type UuPtController struct {
|
||||
@@ -18,7 +17,6 @@ type UuPtController struct {
|
||||
func (c *UuPtController) UuWaybillCallback() {
|
||||
if c.Ctx.Input.Method() == http.MethodPost {
|
||||
resp, callbackResponse := api.UuAPI.WaybillCallback(c.Ctx.Request)
|
||||
globals.SugarLogger.Debugf("UuWaybillCallback resp============%s", utils.Format4Output(resp, false))
|
||||
if callbackResponse.ReturnCode == uuptapi.ReturnFail {
|
||||
c.Data["code"] = callbackResponse
|
||||
c.ServeJSON()
|
||||
|
||||
Reference in New Issue
Block a user