- mtwm save order related status

This commit is contained in:
gazebo
2018-11-30 15:45:34 +08:00
parent d47f1bd41b
commit f2e45c24a8
6 changed files with 46 additions and 8 deletions

View File

@@ -129,7 +129,6 @@ func (c *OrderManager) saveOrder(order *model.GoodsOrder, isAdjust bool, db orm.
order.ID = 0
order.WaybillVendorID = model.VendorIDUnknown
order.OrderFinishedAt = utils.DefaultTimeValue
order.OrderCreatedAt = order.StatusTime
// hardcode 兼容京东消息错序问题
orderStatus := &model.OrderStatus{}
@@ -144,6 +143,7 @@ func (c *OrderManager) saveOrder(order *model.GoodsOrder, isAdjust bool, db orm.
order.VendorStatus = orderStatus.VendorStatus
order.StatusTime = orderStatus.StatusTime
}
order.OrderCreatedAt = order.StatusTime
// globals.SugarLogger.Debugf("saveOrder isAdjust:%t, order:%v", isAdjust, order)
db.Begin()
@@ -166,7 +166,7 @@ func (c *OrderManager) saveOrder(order *model.GoodsOrder, isAdjust bool, db orm.
for _, sku := range order.Skus {
sql += "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?),"
params = append(params, sku.VendorOrderID, sku.VendorID, sku.Count, sku.VendorSkuID, sku.SkuID, sku.JxSkuID, sku.SkuName,
sku.ShopPrice, sku.SalePrice, sku.Weight, sku.SkuType, sku.PromotionType, order.StatusTime)
sku.ShopPrice, sku.SalePrice, sku.Weight, sku.SkuType, sku.PromotionType, order.OrderCreatedAt)
}
sql = sql[:len(sql)-1] + ";"
if _, err = db.Raw(sql, params...).Exec(); err != nil {

View File

@@ -56,6 +56,7 @@ func Init() {
model.VendorIDJD: api.JdAPI,
model.VendorIDELM: api.ElmAPI,
model.VendorIDEBAI: api.EbaiAPI,
model.VendorIDMTWM: api.MtwmAPI,
}
CurVendorSync.PurchaseHandlers = make(map[int]partner.IPurchasePlatformHandler)
for k, v := range partner.PurchasePlatformHandlers {

View File

@@ -22,7 +22,7 @@ type PurchaseHandler struct {
func init() {
curPurchaseHandler = new(PurchaseHandler)
// partner.RegisterPurchasePlatform(curPurchaseHandler)
partner.RegisterPurchasePlatform(curPurchaseHandler)
}
func (c *PurchaseHandler) GetVendorID() int {

View File

@@ -131,7 +131,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msg *mtwmapi.CallbackMsg) *model.Or
orderID := GetOrderIDFromMsg(msg)
vendorStatus := ""
remark := ""
statusTime := time.Now().Unix()
statusTime := utils.Str2Int64(msg.Data.Get("timestamp"))
switch msg.Cmd {
case mtwmapi.MsgTypeUserUrgeOrder, mtwmapi.MsgTypeOrderModified, mtwmapi.MsgTypeOrderFinancial:
vendorStatus = msg.Cmd
@@ -161,6 +161,40 @@ func (c *PurchaseHandler) callbackMsg2Status(msg *mtwmapi.CallbackMsg) *model.Or
return orderStatus
}
func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool, userName string) (err error) {
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
if isAcceptIt {
err = api.MtwmAPI.OrderReceived(utils.Str2Int64(order.VendorOrderID))
} else {
err = api.MtwmAPI.OrderCancel(utils.Str2Int64(order.VendorOrderID))
}
}
return err
}
func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, userName string) (err error) {
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
err = api.MtwmAPI.OrderConfirm(utils.Str2Int64(order.VendorOrderID))
}
return nil
}
func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) {
return err
}
func (c *PurchaseHandler) Swtich2SelfDelivered(order *model.GoodsOrder, userName string) (err error) {
return nil
}
func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userName string) (err error) {
return err
}
func (c *PurchaseHandler) SelfDeliverDelievered(order *model.GoodsOrder, userName string) (err error) {
return err
}
func getTimeFromTimestamp(timeStamp int64) time.Time {
if timeStamp < 1538103149 { // 立即达订单给的是1而不是空01538103149不是特殊值只是一个任意之前的时间这样写可以处理
return utils.DefaultTimeValue

View File

@@ -32,6 +32,7 @@ func (c *PurchaseHandler) onWaybillMsg(msg *mtwmapi.CallbackMsg) (response *mtwm
func (c *PurchaseHandler) callbackMsg2Waybill(msg *mtwmapi.CallbackMsg) (retVal *model.Waybill) {
orderID := GetOrderIDFromMsg(msg)
vendorStatus := msg.Data.Get("logistics_status")
retVal = &model.Waybill{
VendorOrderID: orderID,
OrderVendorID: model.VendorIDMTWM,
@@ -39,7 +40,8 @@ func (c *PurchaseHandler) callbackMsg2Waybill(msg *mtwmapi.CallbackMsg) (retVal
WaybillVendorID: model.VendorIDMTWM,
CourierName: msg.Data.Get("dispatcher_name"),
CourierMobile: msg.Data.Get("dispatcher_mobile"),
VendorStatus: msg.Data.Get("logistics_status"),
VendorStatus: vendorStatus,
Status: c.GetWaybillStatusFromVendorStatus(vendorStatus),
StatusTime: getTimeFromTimestamp(utils.Str2Int64(msg.Data.Get("time"))),
Remark: "",
}

View File

@@ -2,6 +2,7 @@ package controllers
import (
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
"git.rosy.net.cn/jx-callback/business/partner/purchase/mtwm"
"git.rosy.net.cn/jx-callback/globals/api"
"github.com/astaxie/beego"
)
@@ -12,10 +13,10 @@ type MtwmController struct {
func (c *MtwmController) onCallbackMsg(msgType string) {
c.Data["json"] = mtwmapi.Err2CallbackResponse(nil, "")
_, callbackResponse := api.MtwmAPI.GetCallbackMsg(c.Ctx.Request)
msg, callbackResponse := api.MtwmAPI.GetCallbackMsg(c.Ctx.Request)
if callbackResponse == nil {
// callbackResponse = mtwm.OnOrderCallbackMsg(msg)
callbackResponse = mtwmapi.Err2CallbackResponse(nil, "")
callbackResponse = mtwm.OnOrderCallbackMsg(msg)
// callbackResponse = mtwmapi.Err2CallbackResponse(nil, "")
}
c.Data["json"] = callbackResponse
c.ServeJSON()