- 京东售后单基本处理完成
This commit is contained in:
@@ -4,6 +4,8 @@ import (
|
||||
"fmt"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
@@ -54,11 +56,7 @@ func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode
|
||||
return err
|
||||
}
|
||||
dao.Commit(db)
|
||||
if orderStatus.Status == model.AfsOrderStatusWait4Approve {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
scheduler.CurrentScheduler.OnAfsOrderNew(afsOrder, false)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -141,7 +139,7 @@ func (c *OrderManager) OnAfsOrderStatusChanged(orderStatus *model.OrderStatus) (
|
||||
}
|
||||
}
|
||||
}()
|
||||
isDuplicated, _, err := c.addAfsOrderStatus(db, orderStatus)
|
||||
isDuplicated, afsOrder, err := c.addAfsOrderStatus(db, orderStatus)
|
||||
if err != nil || isDuplicated {
|
||||
if err == nil {
|
||||
dao.Commit(db)
|
||||
@@ -149,6 +147,7 @@ func (c *OrderManager) OnAfsOrderStatusChanged(orderStatus *model.OrderStatus) (
|
||||
return err
|
||||
}
|
||||
dao.Commit(db)
|
||||
scheduler.CurrentScheduler.OnAfsOrderStatusChanged(afsOrder, orderStatus, false)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -195,10 +194,7 @@ func (c *OrderManager) addAfsOrderStatus(db *dao.DaoDB, orderStatus *model.Order
|
||||
|
||||
func (c *OrderManager) updateAfsOrderSkuOtherInfo(db *dao.DaoDB, order *model.AfsOrder) (err error) {
|
||||
globals.SugarLogger.Debugf("updateAfsOrderSkuOtherInfo orderID:%s, VendorStoreID:%s", order.VendorOrderID, order.VendorStoreID)
|
||||
jxStoreID := order.JxStoreID
|
||||
if jxStoreID == 0 {
|
||||
jxStoreID = order.StoreID
|
||||
}
|
||||
jxStoreID := jxutils.GetSaleStoreIDFromAfsOrder(order)
|
||||
opNumStr := "2"
|
||||
if jxStoreID == 0 {
|
||||
globals.SugarLogger.Infof("updateAfsOrderSkuOtherInfo [运营%s]订单在京西与平台都找不到京西门店信息orderID:%s, VendorStoreID:%s", opNumStr, order.VendorOrderID, order.VendorStoreID)
|
||||
|
||||
24
business/jxcallback/scheduler/defsch/defsch_afs.go
Normal file
24
business/jxcallback/scheduler/defsch/defsch_afs.go
Normal file
@@ -0,0 +1,24 @@
|
||||
package defsch
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/msghub"
|
||||
)
|
||||
|
||||
func (s *DefScheduler) OnAfsOrderNew(order *model.AfsOrder, isPending bool) (err error) {
|
||||
if order.Status == model.AfsOrderStatusWait4Approve {
|
||||
if !isPending {
|
||||
msghub.OnNewWait4ApproveAfsOrder(order)
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (s *DefScheduler) OnAfsOrderStatusChanged(order *model.AfsOrder, status *model.OrderStatus, isPending bool) (err error) {
|
||||
if status.Status == model.AfsOrderStatusWait4ReceiveGoods {
|
||||
if !isPending {
|
||||
msghub.OnKeyAfsOrderStatusChanged(order)
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
@@ -40,4 +40,8 @@ type IScheduler interface {
|
||||
|
||||
// 以下是运单
|
||||
OnWaybillStatusChanged(bill *model.Waybill, isPending bool) (err error)
|
||||
|
||||
// 以下是售后单
|
||||
OnAfsOrderNew(order *model.AfsOrder, isPending bool) (err error)
|
||||
OnAfsOrderStatusChanged(order *model.AfsOrder, status *model.OrderStatus, isPending bool) (err error)
|
||||
}
|
||||
|
||||
@@ -82,6 +82,13 @@ func GetSkuIDFromOrderSku(sku *model.OrderSku) (skuID int) {
|
||||
return sku.SkuID
|
||||
}
|
||||
|
||||
func GetSaleStoreIDFromAfsOrder(order *model.AfsOrder) (retVal int) {
|
||||
if order.JxStoreID > 0 {
|
||||
return order.JxStoreID
|
||||
}
|
||||
return order.StoreID
|
||||
}
|
||||
|
||||
func SplitUniversalOrderID(universalOrderID string) (orderID string, vendorID int) {
|
||||
index := strings.Index(universalOrderID, "|")
|
||||
if index != -1 {
|
||||
|
||||
@@ -19,6 +19,9 @@ const (
|
||||
|
||||
ServerMsgNewOrder = "newOrder"
|
||||
ServerMsgKeyOrderStatusChanged = "keyOrderStatusChanged" // 重要订单状态变化
|
||||
|
||||
ServerMsgNewWait4ApproveAfsOrder = "newWait4ApproveAfsOrder"
|
||||
ServerMsgKeyAfsOrderStatusChanged = "keyAfsOrderStatusChanged" // 重要售后单状态变化
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -174,11 +177,28 @@ func OnKeyOrderStatusChanged(order *model.GoodsOrder) {
|
||||
Type: ServerMsgKeyOrderStatusChanged,
|
||||
StoreID: jxutils.GetSaleStoreIDFromOrder(order),
|
||||
MsgData: order,
|
||||
// MsgData: []*model.GoodsOrderExt{
|
||||
// &model.GoodsOrderExt{
|
||||
// GoodsOrder: *order,
|
||||
// },
|
||||
// },
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func OnNewWait4ApproveAfsOrder(order *model.AfsOrder) {
|
||||
globals.SugarLogger.Debugf("msghub OnNewWait4ApproveAfsOrder, order:%s", utils.Format4Output(order, true))
|
||||
utils.CallFuncAsync(func() {
|
||||
msgChan <- &ServerMsg{
|
||||
Type: ServerMsgNewWait4ApproveAfsOrder,
|
||||
StoreID: jxutils.GetSaleStoreIDFromAfsOrder(order),
|
||||
MsgData: order,
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func OnKeyAfsOrderStatusChanged(order *model.AfsOrder) {
|
||||
globals.SugarLogger.Debugf("msghub OnKeyAfsOrderStatusChanged, order:%s", utils.Format4Output(order, true))
|
||||
utils.CallFuncAsync(func() {
|
||||
msgChan <- &ServerMsg{
|
||||
Type: ServerMsgKeyAfsOrderStatusChanged,
|
||||
StoreID: jxutils.GetSaleStoreIDFromAfsOrder(order),
|
||||
MsgData: order,
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -136,7 +136,7 @@ func (c *PurchaseHandler) buildAfsOrder(afsInfo *jdapi.AfsServiceResponse) (afsO
|
||||
VendorReasonType: utils.Int2Str(afsInfo.QuestionTypeCid),
|
||||
ReasonType: c.convertAfsReasonType(afsInfo.QuestionTypeCid),
|
||||
ReasonDesc: utils.LimitUTF8StringLen(afsInfo.QuestionDesc, 1024),
|
||||
ReasonImgList: utils.LimitUTF8StringLen(afsInfo.QuestionPic, 1024),
|
||||
ReasonImgList: utils.LimitUTF8StringLen(jdapi.ProcessQuestionPic(afsInfo.QuestionPic), 1024),
|
||||
VendorAppealType: afsInfo.ApplyDeal,
|
||||
AppealType: c.convertAfsAppealType(afsInfo.ApplyDeal),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user