显示中位价

This commit is contained in:
苏尹岚
2020-01-06 14:26:00 +08:00
parent 71ba2e13db
commit ff0a3b3a02
3 changed files with 57 additions and 8 deletions

View File

@@ -189,8 +189,11 @@ func GetGetStatisticsReportForAfsOrders(db *DaoDB, storeIDs []int, fromDate time
}
func GetStatisticsReportForStoreSkusPrice(db *DaoDB, cityCodes, skuIDs []int) (priceReferSnapshot []*model.PriceReferSnapshot, err error) {
sql := `
SELECT b.city_code,a.sku_id,c.name_id,
var sql string
sql1 := `
SELECT a.sku_id, c.name_id,
`
sql2 := `
MAX(a.jd_price) max_jd_price,
MIN(a.jd_price) min_jd_price,
ROUND(AVG(a.jd_price)) avg_jd_price,
@@ -220,6 +223,7 @@ func GetStatisticsReportForStoreSkusPrice(db *DaoDB, cityCodes, skuIDs []int) (p
)t1 ON t1.sku_id = a.sku_id
WHERE a.deleted_at = ?
`
sql = sql1 + "b.city_code, " + sql2
sqlParams := []interface{}{
utils.DefaultTimeValue,
model.StoreStatusDisabled,
@@ -234,7 +238,19 @@ func GetStatisticsReportForStoreSkusPrice(db *DaoDB, cityCodes, skuIDs []int) (p
sql += " AND b.city_code IN (" + GenQuestionMarks(len(cityCodes)) + ")"
sqlParams = append(sqlParams, cityCodes)
}
sql += " GROUP BY 1,2,3"
sql += ` GROUP BY 1,2,3
UNION `
sql += sql1 + "0 city_code," + sql2
if len(skuIDs) > 0 {
sql += " AND a.sku_id IN (" + GenQuestionMarks(len(skuIDs)) + ")"
sqlParams = append(sqlParams, skuIDs)
}
if len(cityCodes) > 0 {
sql += " AND b.city_code IN (" + GenQuestionMarks(len(cityCodes)) + ")"
sqlParams = append(sqlParams, cityCodes)
}
sql += " GROUP BY 1,2"
sqlParams = append(sqlParams, sqlParams...)
if err = GetRows(db, &priceReferSnapshot, sql, sqlParams...); err == nil {
return priceReferSnapshot, nil
}
@@ -243,9 +259,9 @@ func GetStatisticsReportForStoreSkusPrice(db *DaoDB, cityCodes, skuIDs []int) (p
func GetPriceReferSnapshot(db *DaoDB, cityCodes, skuIDs []int, skuNameID int, snapDate time.Time, offset, pageSize int) (priceReferSnapshot []*PriceReferSnapshotExt, totalCount int, err error) {
sql := `
SELECT SQL_CALC_FOUND_ROWS a.*,b.name city_name
SELECT SQL_CALC_FOUND_ROWS a.*,IF(a.city_code = 0,'全国',b.name) city_name
FROM price_refer_snapshot a
JOIN place b ON a.city_code = b.code
LEFT JOIN place b ON a.city_code = b.code
WHERE 1=1
AND a.deleted_at = ?
`