Accept Merge Request #2: (lyb -> master)

Merge Request: 从京东平台API获取结账必须信息放入数据表新字段中
Created By: @LYB-Rosy
Accepted By: @XJH-Rosy
URL: https://coding.net/u/XJH-Rosy/p/jx-callback/git/merge/2
This commit is contained in:
XJH-Rosy
2018-08-10 11:24:33 +08:00
5 changed files with 37 additions and 3 deletions

View File

@@ -137,9 +137,16 @@ func (c *OrderController) GetOrder(orderID string) (order *model.GoodsOrder, err
order.Weight += sku.Weight * sku.Count
}
}
setOrederDetailFee(result, order)
return order, err
}
func setOrederDetailFee(result map[string]interface{}, order *model.GoodsOrder) {
order.BoxFee = utils.MustInterface2Int64(result["packagingMoney"])
order.PlatformFeeRate = model.JdPlatformFeeRate
order.BillStoreFreightFee = utils.MustInterface2Int64(result["merchantPaymentDistanceFreightMoney"]) + utils.MustInterface2Int64(result["tips"])
}
//
func (c *OrderController) onOrderNew(msg *jdapi.CallbackOrderMsg) (response *jdapi.CallbackResponse) {
order, err := c.GetOrder(msg.BillID)

View File

@@ -33,3 +33,10 @@ func TestSwitch2SelfDeliver(t *testing.T) {
t.Fatal(err.Error())
}
}
func Test_GetOrder(t *testing.T) {
_, err := new(OrderController).GetOrder("815536199000222")
if err != nil {
panic(err.Error())
}
}

View File

@@ -26,7 +26,9 @@ func (c *WaybillController) onWaybillMsg(msg *jdapi.CallbackDeliveryStatusMsg) (
order.Status = model.WaybillStatusNew
case jdapi.DeliveryStatusAccepted:
if result, err := api.JdAPI.QuerySingleOrder(msg.OrderID); err == nil {
order.DesiredFee = utils.Interface2Int64WithDefault(result["orderFreightMoney"], 0) +
// 默认配送费=订单应付运费(orderReceivableFreight)
//订单应付运费为未优惠前应付运费(满免优惠运费优惠券VIP免基础运费用户小费)ps用户小费是用户给配送员的小费
order.DesiredFee = utils.Interface2Int64WithDefault(result["orderReceivableFreight"], 0) +
utils.Interface2Int64WithDefault(result["merchantPaymentDistanceFreightMoney"], 0) +
utils.Interface2Int64WithDefault(result["tips"], 0)
}

View File

@@ -123,3 +123,12 @@ const (
BusinessTypeImmediate = 1
BusinessTypeDingshida = 2
)
var (
JdSkuPromotion = []int64{2, 3, 4, 6, 8, 1203, 8001, 9998, 9997, 9996}
)
const (
JdPlatformFeeRate = 10
MtPlatformFeeRate = 10
)

View File

@@ -42,8 +42,15 @@ type GoodsOrder struct {
OrderFinishedAt time.Time `orm:"type(datetime)"`
StatusTime time.Time `orm:"type(datetime)"` // last status time
ModelTimeInfo
OriginalData string `orm:"type(text)"`
Skus []*OrderSku `orm:"-"`
OriginalData string `orm:"type(text)"`
Skus []*OrderSku `orm:"-"`
SkuPmFee int64 //门店商品促销总支出
OrderPmFee int64 //门店订单促销支出
SkuPmSubsidy int64 //平台商品促销总补贴
OrderPmSubsidy int64 //平台订单促销补贴
BoxFee int64 //餐盒费
PlatformFeeRate int16 //平台费
BillStoreFreightFee int64 //需要回调,门店所承担的运费
}
func (o *GoodsOrder) TableUnique() [][]string {
@@ -69,6 +76,8 @@ type OrderSku struct {
SkuType int // 当前如果为gift就为1否则缺省为0
PromotionType int // todo 当前是用于记录京东的PromotionType(生成jxorder用),没有做转换
OrderCreatedAt time.Time `orm:"type(datetime);index"` // 分区考虑
SkuPmSubsidy int64 //平台商品活动补贴
SkuPmFee int64 //门店商品促销支出
}
// 同样商品在一个订单中可能重复出现(比如搞活动时,相同商品价格不一样,第一个有优惠)