结算类型

This commit is contained in:
苏尹岚
2020-07-27 17:19:07 +08:00
parent bc1ce19c46
commit 4a8d13c5c1
3 changed files with 33 additions and 0 deletions

View File

@@ -508,6 +508,11 @@ func (c *OrderManager) updateOrderOtherInfo(order *model.GoodsOrder, db *dao.Dao
order.JxStoreID = storeDetail.Store.ID
payPercentage = storeDetail.PayPercentage
changePriceType = int(storeDetail.ChangePriceType)
if payPercentage < 50 {
order.EarningType = model.EarningTypePoints
} else {
order.EarningType = model.EarningTypeQuote
}
}
if err = c.updateOrderSkuOtherInfo(order, db, payPercentage, changePriceType); err == nil {
jxutils.RefreshOrderSkuRelated(order)
@@ -1152,6 +1157,16 @@ func result2Orders(ctx *jxcontext.Context, result *jdshopapi.AllOrdersResult) (o
} else {
globals.SugarLogger.Errorf("未知的京东商城订单状态status : %v", jdsOrder.OrderStatus)
}
//结算类型
storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), order.StoreID, model.VendorIDJDShop)
if storeDetail != nil {
if storeDetail.PayPercentage < 50 {
order.EarningType = model.EarningTypePoints
} else {
order.EarningType = model.EarningTypeQuote
}
}
setJdsOrderSeq(order)
for _, v := range jdsOrder.OrderItems {
sku := &model.OrderSku{
@@ -1295,6 +1310,12 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int)
}
}
}
//结算类型
if stores[0].PayPercentage < 50 {
order.EarningType = model.EarningTypePoints
} else {
order.EarningType = model.EarningTypeQuote
}
} else {
return "", fmt.Errorf("未查询到该门店对应的平台信息!门店:[%v]", order.StoreID)
}

View File

@@ -21,6 +21,9 @@ const (
RefundStatusNo = 0
RefundStatusYes = 1
RefundStatusFailed = 2
EarningTypeQuote = 1 //报价模式
EarningTypePoints = 2 //扣点模式
)
var (

View File

@@ -110,6 +110,7 @@ type JxOrderInfo struct {
StoreName string `json:"storeName"`
Weight int `json:"weight"`
FromStoreID int `json:"fromStoreID"`
EarningType int `json:"earningType"`
}
type DeliveryTimeItem struct {
@@ -481,6 +482,13 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
return nil, nil, fmt.Errorf("当前送货地址不在门店%s的配送范围", storeDetail.Name)
}
//结算类型
if storeDetail.PayPercentage < 50 {
jxOrder.EarningType = model.EarningTypePoints
} else {
jxOrder.EarningType = model.EarningTypeQuote
}
// 营业状态及时间检查
if storeDetail.Status != model.StoreStatusOpened { // model.StoreStatusDisabled {
return nil, nil, fmt.Errorf("门店:%s状态是:%s", storeDetail.Name, model.StoreStatusName[storeDetail.Status])
@@ -820,6 +828,7 @@ func jxOrder2GoodsOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, deliveryAd
DeliveryType: model.OrderDeliveryTypeStoreSelf,
StatusTime: time.Now(),
EarningType: jxOrder.EarningType,
}
if userID == "" {
order.UserID = ctx.GetUserID()