刷新历史订单结算价修改

This commit is contained in:
苏尹岚
2019-11-08 11:54:06 +08:00
parent 406c3e56e4
commit 0854c131cb
5 changed files with 52 additions and 28 deletions

View File

@@ -38,7 +38,7 @@ type OrderSkuWithActualPayPrice struct {
type tGoodsAndOrder struct {
model.GoodsOrder
OrderSkuID int64 `orm:"column(order_sku_id)" json:"id"`
OrderSkuID int64 `orm:"column(order_sku_id)" json:"orderSkuID"`
StoreSubID int `orm:"column(store_sub_id)" json:"storeSubID"` // 当前这个字段被当成结算活动ID用
StoreSubName string `orm:"size(64)" json:"storeSubName"` // 当前这个字段被用作vendorActType
Count int `json:"count"`
@@ -55,14 +55,17 @@ type tGoodsAndOrder struct {
PromotionType int `json:"promotionType"` // todo 当前是用于记录京东的PromotionType(生成jxorder用),没有做转换
}
func QueryOrders(db *DaoDB, vendorOrderID string, actIDs, vendorIDs []int, storeID int, fromDate, toDate time.Time) (orderList []*model.GoodsOrder, err error) {
//actID指结算活动的id
func QueryOrders(db *DaoDB, vendorOrderID string, actID int, vendorIDs []int, storeID int, fromDate, toDate time.Time) (orderList []*model.GoodsOrder, err error) {
sqlParams := []interface{}{}
var (
orderNewList []*tGoodsAndOrder
orderNewMap map[string][]*model.OrderSku
)
sql := `
SELECT a.*,b.id order_sku_id, b.store_sub_id, b.store_sub_name, b.count, b.vendor_sku_id, b.sku_id, b.jx_sku_id, b.sku_name, b.shop_price sku_shop_price, b.vendor_price sku_vendor_price, b.sale_price sku_sale_price, b.earning_price sku_earning_price, b.weight, b.sku_type, b.promotion_type
SELECT a.*,
b.id order_sku_id, b.store_sub_id, b.store_sub_name, b.count, b.vendor_sku_id, b.sku_id, b.jx_sku_id, b.sku_name, b.shop_price sku_shop_price,
b.vendor_price sku_vendor_price, b.sale_price sku_sale_price, b.earning_price sku_earning_price, b.weight, b.sku_type, b.promotion_type
FROM goods_order a
JOIN order_sku b ON a.vendor_order_id = b.vendor_order_id
WHERE 1=1
@@ -83,20 +86,23 @@ func QueryOrders(db *DaoDB, vendorOrderID string, actIDs, vendorIDs []int, store
sql += " AND a.order_created_at BETWEEN ? and ?"
sqlParams = append(sqlParams, fromDate, toDate)
}
if len(actIDs) > 0 {
if actID > 0 {
sql += `
AND a.vendor_order_id IN
(SELECT b.vendor_order_id
AND a.vendor_order_id IN
( SELECT DISTINCT t4.vendor_order_id
FROM act t1
JOIN act_store_sku t2 ON t2.act_id = t1.id
JOIN order_sku b ON b.sku_id = t2.sku_id
JOIN order_sku t3 ON t3.sku_id = t2.sku_id
JOIN goods_order t4 ON t4.vendor_order_id = t3.vendor_order_id
AND t4.vendor_id = t3.vendor_id
AND t2.store_id = IF(t4.jx_store_id <> 0, t4.jx_store_id, t4.store_id)
AND t4.order_created_at BETWEEN t1.begin_at AND t1.end_at
WHERE t1.status = 1
AND t1.id IN (` + GenQuestionMarks(len(actIDs)) + `)
AND t2.store_id = a.store_id
AND a.order_created_at BETWEEN t1.begin_at AND t1.end_at
AND t1.type = ?
AND t1.id = ?
)
`
sqlParams = append(sqlParams, actIDs)
sqlParams = append(sqlParams, model.ActSkuFake, actID)
}
err = GetRows(db, &orderNewList, sql, sqlParams...)
if len(orderNewList) > 0 {