访问京东API,获取结账必要信息。
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/scheduler"
|
||||
"git.rosy.net.cn/jx-callback/business/util"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"git.rosy.net.cn/jx-callback/legacy/freshfood"
|
||||
@@ -70,8 +71,10 @@ func (c *OrderController) onOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi
|
||||
|
||||
func (c *OrderController) GetOrder(orderID string) (order *model.GoodsOrder, err error) {
|
||||
result, err := api.JdAPI.QuerySingleOrder(orderID)
|
||||
bussResult, bussErr := api.JdAPI.QueryOassBussMoney(orderID)
|
||||
// globals.SugarLogger.Info(result)
|
||||
if err == nil {
|
||||
//todo 将API获取的信息填入新字段里
|
||||
if err == nil && bussErr == nil {
|
||||
order = &model.GoodsOrder{
|
||||
VendorOrderID: orderID,
|
||||
VendorID: model.VendorIDJD,
|
||||
@@ -91,6 +94,7 @@ func (c *OrderController) GetOrder(orderID string) (order *model.GoodsOrder, err
|
||||
ActualPayPrice: utils.MustInterface2Int64(result["orderBuyerPayableMoney"]),
|
||||
Skus: []*model.OrderSku{},
|
||||
}
|
||||
|
||||
order.Status = c.GetStatusFromVendorStatus(order.VendorStatus)
|
||||
businessTage := utils.Interface2String(result["businessTag"])
|
||||
if strings.Index(businessTage, "dj_aging_immediately") >= 0 {
|
||||
@@ -137,9 +141,48 @@ func (c *OrderController) GetOrder(orderID string) (order *model.GoodsOrder, err
|
||||
order.Weight += sku.Weight * sku.Count
|
||||
}
|
||||
}
|
||||
setOrederDetailFee(bussResult, result, order)
|
||||
return order, err
|
||||
}
|
||||
|
||||
func setOrederDetailFee(bussResult []interface{}, result map[string]interface{}, order *model.GoodsOrder) {
|
||||
var skuTotalPmFee, orderPmFee, skuTotalPmSubsidy, orderPmSubsidy int64
|
||||
for _, value := range bussResult {
|
||||
OassBussinessSkusNew := value.(map[string]interface{})
|
||||
discountlist := OassBussinessSkusNew["discountlist"].([]interface{})
|
||||
promotionType := utils.MustInterface2Int64(OassBussinessSkusNew["promotionType"])
|
||||
skuId := utils.MustInterface2Int64(OassBussinessSkusNew["skuId"])
|
||||
for _, value := range discountlist {
|
||||
OrderBussiDiscountMoney := value.(map[string]interface{})
|
||||
if isHave, _ := util.Contain(promotionType, model.JdSkuPromotion); isHave == true {
|
||||
singleSkuPmFee := utils.MustInterface2Int64(OrderBussiDiscountMoney["saleMoney"])
|
||||
skuTotalPmFee += singleSkuPmFee
|
||||
singleSkuPmSubsidy := utils.MustInterface2Int64(OrderBussiDiscountMoney["costMoney"])
|
||||
skuTotalPmSubsidy += singleSkuPmSubsidy
|
||||
setSkuDetailFee(singleSkuPmFee, singleSkuPmSubsidy, order, skuId)
|
||||
} else {
|
||||
orderPmFee += utils.MustInterface2Int64(OrderBussiDiscountMoney["saleMoney"])
|
||||
orderPmSubsidy += utils.MustInterface2Int64(OrderBussiDiscountMoney["costMoney"])
|
||||
}
|
||||
}
|
||||
}
|
||||
order.SkuTotalPmFee = skuTotalPmFee
|
||||
order.OrderPmFee = orderPmFee
|
||||
order.SkuTotalPmSubsidy = skuTotalPmSubsidy
|
||||
order.OrderPmSubsidy = orderPmSubsidy
|
||||
order.BoxFee = utils.MustInterface2Int64(result["packagingMoney"])
|
||||
order.PlatformFeeRate = model.JdPlatformFeeRate
|
||||
}
|
||||
|
||||
func setSkuDetailFee(skuPmFee int64, skuPmSubsidy int64, order *model.GoodsOrder, skuId int64) {
|
||||
for _, value := range order.Skus {
|
||||
if value.SkuID == int(skuId) {
|
||||
value.SkuPmSubsidy = skuPmSubsidy
|
||||
value.SkuPmFee = skuPmFee
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
func (c *OrderController) onOrderNew(msg *jdapi.CallbackOrderMsg) (response *jdapi.CallbackResponse) {
|
||||
order, err := c.GetOrder(msg.BillID)
|
||||
|
||||
Reference in New Issue
Block a user