Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop
This commit is contained in:
@@ -764,6 +764,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
||||
if err2 != nil {
|
||||
partner.CurOrderManager.OnOrderMsg(order, "送达设置失败", err2.Error())
|
||||
}
|
||||
|
||||
}
|
||||
if !s.isBillCandidate(order, bill) {
|
||||
// 一般只会消息乱序才会到这里,即新订单消息在运单接单消息后到达
|
||||
@@ -781,6 +782,9 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
||||
// if order.WaybillVendorID == model.VendorIDUnknown {
|
||||
// s.createWaybillOn3rdProviders(savedOrderInfo, 0, nil)
|
||||
// }
|
||||
// 将订单修改为完成状态
|
||||
order.Status = model.OrderStatusFinished
|
||||
partner.CurOrderManager.UpdateOrderFields(order, []string{"status"})
|
||||
default:
|
||||
s.resetTimer(savedOrderInfo, bill, isPending)
|
||||
}
|
||||
|
||||
@@ -4442,7 +4442,7 @@ func RefreshTiktokShopToken(ctx *jxcontext.Context) (err error) {
|
||||
v.Token = string(token)
|
||||
v.UpdatedAt = time.Now()
|
||||
v.StoreBrandName = "定时任务更新"
|
||||
dao.UpdateEntity(db, v, "Token", "UpdatedAt", "Comment")
|
||||
dao.UpdateEntity(db, v, "Token", "UpdatedAt", "StoreBrandName")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,6 +126,44 @@ func (c *DeliveryHandler) onWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *m
|
||||
// 加入调度器
|
||||
err := mtpsapi.Err2CallbackResponse(partner.CurOrderManager.OnWaybillStatusChanged(order), order.VendorStatus)
|
||||
defer delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新
|
||||
if order.OrderVendorID == model.VendorIDDD {
|
||||
result := &mtpsapi.RiderInfo{
|
||||
OrderId: order.VendorOrderID,
|
||||
ThirdCarrierOrderId: order.VendorOrderID,
|
||||
CourierName: order.CourierName,
|
||||
CourierPhone: order.CourierMobile,
|
||||
LogisticsProviderCode: "10032",
|
||||
LogisticsStatus: order.Status,
|
||||
OpCode: "",
|
||||
}
|
||||
switch msg.Status {
|
||||
case mtpsapi.OrderStatusWaitingForSchedule: // 待接单,召唤骑手
|
||||
result.LogisticsStatus = model.WaybillStatusNew
|
||||
result.LogisticsContext = model.RiderWaitRider
|
||||
case mtpsapi.OrderStatusAccepted: // 已接单
|
||||
result.LogisticsStatus = model.WaybillStatusCourierAssigned // 分配骑手
|
||||
result.LogisticsContext = model.RiderWaitGetGoods
|
||||
case mtpsapi.OrderStatusDeliverred: // 完成
|
||||
result.LogisticsStatus = model.WaybillStatusDelivered
|
||||
result.LogisticsContext = model.RiderGetOrderDelivered
|
||||
case mtpsapi.OrderStatusCanceled: // 取消
|
||||
result.LogisticsStatus = model.WaybillStatusCanceled
|
||||
result.LogisticsContext = model.RiderGetOrderCanceled
|
||||
case mtpsapi.OrderStatusPickedUp: // 骑手到店
|
||||
result.LogisticsStatus = model.WaybillStatusCourierArrived
|
||||
result.LogisticsContext = model.RiderToStore
|
||||
default:
|
||||
result.LogisticsStatus = 0
|
||||
result.LogisticsContext = model.RiderGetOrderDeliverOther
|
||||
}
|
||||
delivery.PullTiktokRiderInfo(result)
|
||||
if result.LogisticsStatus == model.WaybillStatusCourierArrived {
|
||||
result.LogisticsStatus = model.WaybillStatusDelivering
|
||||
result.LogisticsContext = model.RiderGetOrderDelivering
|
||||
delivery.PullTiktokRiderInfo(result)
|
||||
}
|
||||
}
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -1,19 +1,68 @@
|
||||
package tiktok_store
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// OnOrderMsg 抖音
|
||||
func OnOrderMsg(msgId string, msg interface{}) (response *tiktokShop.CallbackResponse) {
|
||||
if CurPurchaseHandler != nil {
|
||||
orderId, _ := api.TiktokStore.GetCallbackOrderId(msgId, msg)
|
||||
orderId, shopId, _ := api.TiktokStore.GetCallbackOrderId(msgId, msg)
|
||||
if shopId != 0 {
|
||||
//storeDetail, err := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), utils.Int64ToStr(shopId), model.VendorIDDD, "")
|
||||
//globals.SugarLogger.Debugf("==storeDetail=: %s", utils.Format4Output(storeDetail, false))
|
||||
//globals.SugarLogger.Debugf("==err=: %s", utils.Format4Output(err, false))
|
||||
//if err != nil || storeDetail == nil || storeDetail.Store.ID == 0 {
|
||||
// // 当前订单所属门店不属于菜市时,将消息推送到果园
|
||||
// gyMsg := map[string]interface{}{"tag": msgId, "msg_id": utils.Int64ToStr(time.Now().Unix()) + msgId, "data": msg}
|
||||
// // 通知到果园
|
||||
// gyResult, err := HttpToGuoYuan(gyMsg, "order")
|
||||
// if err != nil {
|
||||
// return tiktokShop.Err2CallbackResponse(err, "")
|
||||
// }
|
||||
// result, _ := ioutil.ReadAll(gyResult.Body)
|
||||
// var guoYuan *tiktokShop.CallbackResponse
|
||||
// if err := json.Unmarshal(result, guoYuan); err != nil {
|
||||
// return tiktokShop.Err2CallbackResponse(err, "")
|
||||
// }
|
||||
// return guoYuan
|
||||
//}
|
||||
}
|
||||
jxutils.CallMsgHandler(func() {
|
||||
response = CurPurchaseHandler.onOrderMsg(msgId, orderId, msg)
|
||||
}, jxutils.ComposeUniversalOrderID(orderId, model.VendorIDDD))
|
||||
}
|
||||
return response
|
||||
}
|
||||
|
||||
func HttpToGuoYuan(param map[string]interface{}, requestType string) (*http.Response, error) {
|
||||
paramData, err := json.Marshal(param)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
body := strings.NewReader(string(paramData))
|
||||
|
||||
url := ""
|
||||
switch requestType {
|
||||
case "order": // 订单相关
|
||||
url = "http://callback-jxgy.jxc4.com/tiktok/callbackTiktokOrderMsg"
|
||||
case "token": // 授权相关
|
||||
case "wayBill": // 授权相关
|
||||
|
||||
}
|
||||
httpReq, err := http.NewRequest(http.MethodPost, url, body)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
httpReq.Header.Set("Content-Type", "application/json")
|
||||
|
||||
httpRes, err := http.DefaultClient.Do(httpReq)
|
||||
return httpRes, err
|
||||
}
|
||||
|
||||
@@ -285,7 +285,7 @@ func (c *PurchaseHandler) onOrderMsg(msgId, orderId string, msg interface{}) (re
|
||||
}
|
||||
|
||||
// 已经支付的订单,当做新订单创建在平台内部 -----------------
|
||||
if msgId == tiktokShop.CallbackPayOrderMsgTagId {
|
||||
if msgId == tiktokShop.CallbackPayOrderMsgTagId || msgId == tiktokShop.CallbackChangeMoneyMsgTagId {
|
||||
order, err := c.GetOrder(utils.Int64ToStr(appOrgCode), orderId, "") // 获取平台订单详情,制作本地订单
|
||||
if err != nil {
|
||||
return tiktokShop.Err2CallbackResponse(err, "")
|
||||
@@ -552,11 +552,7 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI
|
||||
// PickupGoods 拣货完成 (抖音无拣货接口)
|
||||
func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bool, userName string) (err error) {
|
||||
// 通知平台拣货完成,抖店只需要本地拣货完成
|
||||
//if !isSelfDelivery {
|
||||
// if globals.EnableMtwmStoreWrite {
|
||||
// err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").PreparationMealComplete(utils.Str2Int64(order.VendorOrderID))
|
||||
// }
|
||||
//}
|
||||
// 抖音需要订单在门店的营业时间范围内最多超过营业时间内才自动拣货
|
||||
c.postFakeMsg(order.VendorOrderID, FakeMsgType, fakeFinishedPickup, order.VendorOrgCode)
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user