This commit is contained in:
suyl
2021-06-23 09:41:35 +08:00
parent 050da7cc59
commit 0999414560
2 changed files with 41 additions and 25 deletions

View File

@@ -343,35 +343,51 @@ func (c *OrderManager) GetOrders(ctx *jxcontext.Context, isIncludeFake bool, fro
if err == nil {
pagedInfo = &model.PagedInfo{
TotalCount: totalCount,
Data: orders,
//Data: orders,
}
//if len(orders) > 0 {
// task := tasksch.NewParallelTask("RefreshOrderFinancial", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// order := batchItemList[0].(*model.GoodsOrderExt)
// afsOrders, _ := dao.GetAfsOrders(db, order.VendorID, order.VendorOrderID, "")
// //tempTotalShopMoney := order.TotalShopMoney
// for _, v := range afsOrders {
// if v.Status == model.AfsOrderStatusFinished {
// //报价的,平台结算重算后,预计收益要减去那个商品的报价
// //扣点的只用重算平台结算再算预计收益
// if order.EarningType == model.EarningTypeQuote {
// //tempTotalShopMoney
// } else {
//
// }
// }
// }
// return nil, err
// }, orders)
// tasksch.HandleTask(task, nil, true).Run()
// task.GetResult(0)
//}
//pagedInfo.Data = orders
if len(orders) > 0 {
task := tasksch.NewParallelTask("RefreshOrderFinancial", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
order := batchItemList[0].(*model.GoodsOrderExt)
afsOrder := &AfsOrderExt{}
sql := `
SELECT a.*, SUM(c.shop_price) shop_price
FROM afs_order a
LEFT JOIN (
SELECT MAX(created_at), afs_order_id
FROM afs_order
WHERE status = ? AND vendor_order_id = ?
GROUP BY 2
) b ON a.afs_order_id = b.afs_order_id
LEFT JOIN order_sku_financial c ON c.afs_order_id = a.afs_order_id AND c.is_afs_order = ?
`
sqlParams := []interface{}{model.AfsOrderStatusFinished, order.VendorOrderID,
model.YES}
if err = dao.GetRow(db, &afsOrder, sql, sqlParams); err == nil && afsOrder != nil {
if afsOrder.AfsTotalShopMoney != 0 {
//报价,要减去商品的京西价
if order.EarningType == model.EarningTypeQuote {
order.JxIncome = afsOrder.AfsTotalShopMoney - order.EarningPrice - order.DesiredFee + afsOrder.ShopPrice
} else {
order.JxIncome = afsOrder.AfsTotalShopMoney * int64(order.OrderPayPercentage/2/100)
}
}
}
return retVal, err
}, orders)
tasksch.HandleTask(task, nil, true).Run()
task.GetResult(0)
}
pagedInfo.Data = orders
}
return pagedInfo, err
}
type AfsOrderExt struct {
model.AfsOrder
ShopPrice int64 `json:"shopPrice"`
}
func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateStr string, mapParams map[string]interface{}) (hint string, err error) {
globals.SugarLogger.Debugf("ExportOrders from:%s to:%s", fromDateStr, toDateStr)
var (

View File

@@ -781,7 +781,7 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat
t5.operator_phone, t5.operator_phone2, t5.operator_phone3, tu1.name operator_name, tu2.name operator_name2, tu3.name operator_name3,
t6.vendor_pay_percentage,
city.name city_name, district.name district_name,
ROUND(IF(t1.earning_type = 1, IF(IFNULL(t8.afs_total_shop_money, 0) <> 0,IFNULL(t8.afs_total_shop_money, 0), t1.total_shop_money)-t1.earning_price-IFNULL(t2.desired_fee,0),IF(IFNULL(t8.afs_total_shop_money, 0) <> 0,IFNULL(t8.afs_total_shop_money, 0), t1.total_shop_money) *(t1.order_pay_percentage/2)/100)) jx_income`, model.DefaultEarningPricePercentage)
ROUND(IF(t1.earning_type = 1, t1.total_shop_money-t1.earning_price-IFNULL(t2.desired_fee,0), t1.total_shop_money *(t1.order_pay_percentage/2)/100)) jx_income`, model.DefaultEarningPricePercentage)
if isIncludeSku {
sql += `,
IF(t3.jx_sku_id > 0, t3.jx_sku_id, t3.sku_id) sku_id,