订单统计接口修改,对比差异程序修改
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
@@ -37,8 +35,6 @@ type StatisticsReportForOrdersList struct {
|
||||
|
||||
//查询统计订单信息
|
||||
func GetStatisticsReportForOrders(db *DaoDB, storeIDs []int, fromDate time.Time, toDate time.Time) (statisticsReportForOrdersList []*StatisticsReportForOrdersList, err error) {
|
||||
//排除已取消的订单
|
||||
status := strconv.Itoa(model.OrderStatusCanceled)
|
||||
sql := `
|
||||
SELECT
|
||||
c.id store_id,
|
||||
@@ -75,24 +71,24 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs []int, fromDate time.Time,
|
||||
SUM(discount_money) discount_money,
|
||||
SUM(desired_fee) desired_fee,
|
||||
SUM(distance_freight_money) distance_freight_money,
|
||||
SUM(waybill_tip_money) waybill_tip_money,
|
||||
SUM(IF(a.vendor_id = a.waybill_vendor_id,waybill_tip_money,0)) waybill_tip_money,
|
||||
SUM(total_shop_money) total_shop_money,
|
||||
SUM(pm_subsidy_money) pm_subsidy_money,
|
||||
SUM(earning_price) earning_price,
|
||||
SUM(total_shop_money-earning_price-desired_fee-distance_freight_money-waybill_tip_money-80) total_gross_profit
|
||||
FROM goods_order a
|
||||
LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id
|
||||
WHERE a.status != ` + status + `
|
||||
WHERE a.status != ?
|
||||
`
|
||||
sqlParams := []interface{}{}
|
||||
sqlParams := []interface{}{
|
||||
model.OrderStatusCanceled, //排除已取消的订单
|
||||
}
|
||||
if !utils.IsTimeZero(fromDate) && !utils.IsTimeZero(toDate) {
|
||||
sql += `AND a.order_created_at BETWEEN ? AND ?
|
||||
`
|
||||
sql += ` AND a.order_created_at BETWEEN ? AND ?`
|
||||
sqlParams = append(sqlParams, fromDate, toDate)
|
||||
}
|
||||
if len(storeIDs) > 0 {
|
||||
sql += `AND a.store_id IN(` + GenQuestionMarks(len(storeIDs)) + `)
|
||||
`
|
||||
sql += ` AND a.store_id IN(` + GenQuestionMarks(len(storeIDs)) + `)`
|
||||
sqlParams = append(sqlParams, storeIDs)
|
||||
}
|
||||
sql += `
|
||||
@@ -101,8 +97,7 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs []int, fromDate time.Time,
|
||||
ON s.store_id = c.id
|
||||
`
|
||||
if len(storeIDs) > 0 {
|
||||
sql += `WHERE c.id IN (` + GenQuestionMarks(len(storeIDs)) + `)
|
||||
`
|
||||
sql += ` WHERE c.id IN (` + GenQuestionMarks(len(storeIDs)) + `)`
|
||||
sqlParams = append(sqlParams, storeIDs)
|
||||
}
|
||||
if err = GetRows(db, &statisticsReportForOrdersList, sql, sqlParams...); err == nil {
|
||||
@@ -113,8 +108,6 @@ func GetStatisticsReportForOrders(db *DaoDB, storeIDs []int, fromDate time.Time,
|
||||
|
||||
//查询统计售后单信息
|
||||
func GetGetStatisticsReportForAfsOrders(db *DaoDB, storeIDs []int, fromDate time.Time, toDate time.Time) (statisticsReportForOrdersList []*StatisticsReportForOrdersList, err error) {
|
||||
//排除已取消的订单
|
||||
status := strconv.Itoa(model.OrderStatusCanceled)
|
||||
sql := `
|
||||
SELECT
|
||||
c.id store_id,
|
||||
@@ -151,24 +144,23 @@ func GetGetStatisticsReportForAfsOrders(db *DaoDB, storeIDs []int, fromDate time
|
||||
SUM(discount_money) discount_money,
|
||||
SUM(afs_freight_money) desired_fee,
|
||||
SUM(distance_freight_money) distance_freight_money,
|
||||
SUM(waybill_tip_money) waybill_tip_money,
|
||||
SUM(IF(a.vendor_id = a.waybill_vendor_id,waybill_tip_money,0)) waybill_tip_money,
|
||||
SUM(total_shop_money) total_shop_money,
|
||||
SUM(b.pm_subsidy_money) pm_subsidy_money,
|
||||
SUM(earning_price) earning_price,
|
||||
SUM(total_shop_money-earning_price-afs_freight_money-distance_freight_money-waybill_tip_money-80) total_gross_profit
|
||||
FROM goods_order a,afs_order b
|
||||
WHERE a.vendor_order_id = b.vendor_order_id
|
||||
AND a.status != ` + status + `
|
||||
FROM goods_order a JOIN afs_order b ON a.vendor_order_id = b.vendor_order_id
|
||||
WHERE a.status != ?
|
||||
`
|
||||
sqlParams := []interface{}{}
|
||||
sqlParams := []interface{}{
|
||||
model.OrderStatusCanceled, //排除已取消的订单
|
||||
}
|
||||
if !utils.IsTimeZero(fromDate) && !utils.IsTimeZero(toDate) {
|
||||
sql += `AND a.order_created_at BETWEEN ? AND ?
|
||||
`
|
||||
sql += ` AND a.order_created_at BETWEEN ? AND ?`
|
||||
sqlParams = append(sqlParams, fromDate, toDate)
|
||||
}
|
||||
if len(storeIDs) > 0 {
|
||||
sql += `AND a.store_id IN(` + GenQuestionMarks(len(storeIDs)) + `)
|
||||
`
|
||||
sql += ` AND a.store_id IN(` + GenQuestionMarks(len(storeIDs)) + `)`
|
||||
sqlParams = append(sqlParams, storeIDs)
|
||||
}
|
||||
sql += `
|
||||
@@ -177,11 +169,9 @@ func GetGetStatisticsReportForAfsOrders(db *DaoDB, storeIDs []int, fromDate time
|
||||
ON s.store_id = c.id
|
||||
`
|
||||
if len(storeIDs) > 0 {
|
||||
sql += `WHERE c.id IN (` + GenQuestionMarks(len(storeIDs)) + `)
|
||||
`
|
||||
sql += ` WHERE c.id IN (` + GenQuestionMarks(len(storeIDs)) + `)`
|
||||
sqlParams = append(sqlParams, storeIDs)
|
||||
}
|
||||
fmt.Println(sql)
|
||||
if err = GetRows(db, &statisticsReportForOrdersList, sql, sqlParams...); err == nil {
|
||||
return statisticsReportForOrdersList, nil
|
||||
}
|
||||
|
||||
@@ -51,7 +51,8 @@ func DeleteSkuNamePlace(db *DaoDB, nameID int, placeCodes []int) (num int64, err
|
||||
|
||||
func GetSkus(db *DaoDB, skuIDs, nameIDs, statuss, catIDs []int) (skuList []*model.SkuAndName, err error) {
|
||||
sql := `
|
||||
SELECT t1.*, t2.name, t2.unit
|
||||
SELECT t1.*,
|
||||
t2.name, t2.unit,t2.spec_quality,t2.spec_unit,t2.prefix
|
||||
FROM sku t1
|
||||
JOIN sku_name t2 ON t2.id = t1.name_id AND t2.deleted_at = ?
|
||||
`
|
||||
|
||||
@@ -236,8 +236,11 @@ type Sku struct {
|
||||
|
||||
type SkuAndName struct {
|
||||
Sku
|
||||
Name string
|
||||
Unit string
|
||||
Name string
|
||||
Unit string
|
||||
SpecQuality float32
|
||||
SpecUnit string
|
||||
Prefix string
|
||||
}
|
||||
|
||||
// func (*Sku) TableUnique() [][]string {
|
||||
|
||||
Reference in New Issue
Block a user