This commit is contained in:
suyl
2021-08-14 13:58:09 +08:00
parent 7b4fecc3ec
commit b26842caf8
3 changed files with 55 additions and 9 deletions

View File

@@ -821,18 +821,27 @@ func (c *OrderManager) GetStoresOrderSaleInfoNew(ctx *jxcontext.Context, storeID
if toTime.Sub(fromTime).Hours() > 24 {
isLongTime = true
}
orderIDMap := make(map[string]struct{})
var vendorOrderIDs []string
orderSkuList, err := dao.GetStoreOrderSkuList(db, storeIDList, fromTime, toTime, statusList, true)
if err != nil {
return nil, err
}
afsSkuList, err := dao.GetStoreAfsOrderSkuList(db, storeIDList, fromTime, toTime, []int{model.AfsOrderStatusFinished}, true)
if err != nil {
return nil, err
for _, v := range orderSkuList {
orderIDMap[v.VendorOrderID] = struct{}{}
}
orderSkuList4Afs, err := dao.GetStoreOrderSkuList4Afs(db, storeIDList, fromTime, toTime, true)
if err != nil {
return nil, err
for k, _ := range orderIDMap {
vendorOrderIDs = append(vendorOrderIDs, k)
}
afsSkuList, err := dao.GetStoreAfsOrderSkuList2(db, vendorOrderIDs)
//afsSkuList, err := dao.GetStoreAfsOrderSkuList(db, storeIDList, fromTime, toTime, []int{model.AfsOrderStatusFinished}, true)
//if err != nil {
// return nil, err
//}
orderSkuList4Afs, err := dao.GetStoreOrderSkuList4Afs2(db, vendorOrderIDs)
//if err != nil {
// return nil, err
//}
orderSkuHandler := func(skuList []*dao.OrderSkuWithActualPayPrice) (orderMap map[string]*model.GoodsOrder, orderSkuMap map[string]*dao.OrderSkuWithActualPayPrice, saleInfoMap map[int64]*dao.StoresOrderSaleInfo) {
orderMap = make(map[string]*model.GoodsOrder)
orderSkuMap = make(map[string]*dao.OrderSkuWithActualPayPrice)

View File

@@ -431,6 +431,23 @@ func GetStoreOrderSkuList4Afs(db *DaoDB, storeIDs []int, finishedAtBegin, finish
return skuList, err
}
func GetStoreOrderSkuList4Afs2(db *DaoDB, vendorOrderIDs []string) (skuList []*OrderSkuWithActualPayPrice, err error) {
sql := `
SELECT t1.*,
t2.actual_pay_price, t2.status, IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id) store_id, t2.new_earning_price,
t3.pay_percentage
FROM order_sku t1
JOIN goods_order t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id
LEFT JOIN store t3 ON t3.id = IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id)
JOIN (
SELECT t12.*
FROM afs_order t12
WHERE t12.vendor_order_id IN (` + GenQuestionMarks(len(vendorOrderIDs))
sql += ") t4 ON t4.vendor_order_id = t2.vendor_order_id AND t4.vendor_id = t2.vendor_id"
err = GetRows(db, &skuList, sql)
return skuList, err
}
func GetStoreAfsOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, statusList []int, isFinish bool) (afsSkuList []*model.OrderSkuFinancial, err error) {
sql := `
SELECT t1.*
@@ -459,6 +476,22 @@ func GetStoreAfsOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishe
return afsSkuList, err
}
func GetStoreAfsOrderSkuList2(db *DaoDB, vendorOrderIDs []string) (afsSkuList []*model.OrderSkuFinancial, err error) {
sql := `
SELECT t1.*
FROM order_sku_financial t1
JOIN afs_order t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id AND t2.afs_order_id = t1.afs_order_id
WHERE t1.is_afs_order = 1 AND t2.status = ?
`
sqlParams := []interface{}{model.AfsOrderStatusFinished}
if len(vendorOrderIDs) > 0 {
sql += " AND t2.vendor_order_id IN (" + GenQuestionMarks(len(vendorOrderIDs)) + ")"
sqlParams = append(sqlParams, vendorOrderIDs)
}
err = GetRows(db, &afsSkuList, sql, sqlParams...)
return afsSkuList, err
}
func GetDailyFinishOrderList(db *DaoDB, storeID int, dateTime time.Time) (orderList []*model.OrderPickupTime, err error) {
sql := `
SELECT t2.status_time, t1.pick_deadline