+ 添加GoodsOrder.TotalShopMoney表示应结金额-第三方平台结算给京西的金额(包括了所有的补贴,扣除)

This commit is contained in:
gazebo
2019-06-18 10:17:24 +08:00
parent 0f4f6b937f
commit c64140fdcf
4 changed files with 61 additions and 18 deletions

View File

@@ -5,6 +5,8 @@ import (
"strings"
"time"
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
"git.rosy.net.cn/baseapi/platformapi/autonavi"
"git.rosy.net.cn/baseapi/platformapi/jdapi"
"git.rosy.net.cn/baseapi/utils"
@@ -77,18 +79,46 @@ func (c *PurchaseHandler) onOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi
func (c *PurchaseHandler) getOrder(orderID string) (order *model.GoodsOrder, orderMap map[string]interface{}, err error) {
globals.SugarLogger.Debugf("jd getOrder orderID:%s", orderID)
if orderMap, err = api.JdAPI.QuerySingleOrder(orderID); err == nil {
globals.SugarLogger.Debugf("jd getOrder2 orderID:%s", orderID)
order = c.Map2Order(orderMap)
if jxutils.IsMobileFake(order.ConsigneeMobile) {
if realMobile, err := api.JdAPI.GetRealMobile4Order(orderID, order.VendorStoreID); err == nil { // 故意强制忽略取不到真实手机号错误
globals.SugarLogger.Debugf("jd getOrder3 orderID:%s", orderID)
order.ConsigneeMobile2 = jxutils.FormalizeMobile(realMobile)
} else {
// globals.SugarLogger.Warnf("jd GetOrder orderID:%s, GetRealMobile4Order failed with error:%v", orderID, err2)
var (
realMobile string
orderSettlement *jdapi.OrderSettlementInfo
)
task := tasksch.NewParallelTask("jd getOrder", tasksch.NewParallelConfig().SetIsContinueWhenError(true), jxcontext.AdminCtx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
taskIndex := batchItemList[0].(int)
switch taskIndex {
case 0:
orderMap, err = api.JdAPI.QuerySingleOrder(orderID)
case 1:
realMobile, err = api.JdAPI.GetRealMobile4Order(orderID, order.VendorStoreID)
case 2:
orderSettlement, err = api.JdAPI.OrderShoudSettlementService2(orderID)
}
return nil, err
}, []int{0, 1, 2})
task.Run()
task.GetResult(0)
if orderMap != nil {
order = c.Map2Order(orderMap)
if orderSettlement != nil {
order.TotalShopMoney = orderSettlement.SettlementAmount + orderSettlement.PlatOrderGoodsDiscountMoney
}
if realMobile != "" {
order.ConsigneeMobile2 = jxutils.FormalizeMobile(realMobile)
}
}
// if orderMap, err = api.JdAPI.QuerySingleOrder(orderID); err == nil {
// globals.SugarLogger.Debugf("jd getOrder2 orderID:%s", orderID)
// order = c.Map2Order(orderMap)
// if jxutils.IsMobileFake(order.ConsigneeMobile) {
// if realMobile, err := api.JdAPI.GetRealMobile4Order(orderID, order.VendorStoreID); err == nil { // 故意强制忽略取不到真实手机号错误
// globals.SugarLogger.Debugf("jd getOrder3 orderID:%s", orderID)
// order.ConsigneeMobile2 = jxutils.FormalizeMobile(realMobile)
// } else {
// // globals.SugarLogger.Warnf("jd GetOrder orderID:%s, GetRealMobile4Order failed with error:%v", orderID, err2)
// }
// }
// }
return order, orderMap, err
}
@@ -125,7 +155,6 @@ func (c *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
StatusTime: utils.Str2Time(result[statusTimeField].(string)),
OriginalData: string(utils.MustMarshal(result)),
ActualPayPrice: utils.MustInterface2Int64(result["orderBuyerPayableMoney"]),
Skus: []*model.OrderSku{},
}
order.Status = c.GetStatusFromVendorStatus(order.VendorStatus)
businessTage := utils.Interface2String(result["businessTag"])