This commit is contained in:
邹宗楠
2025-07-04 10:03:38 +08:00
parent 9a051bf147
commit 905f8bd2e0
7 changed files with 81 additions and 25 deletions

View File

@@ -1566,7 +1566,7 @@ func GetStoreBaseByVendorStoreID(vendorStoreID string, vendorID int) (storeDetai
}
// StatisticsStoreInfo 统计所有的门店信息
func StatisticsStoreInfo(db *DaoDB, brandId, vendorId, storeList []int) ([]*StatisticsStore, error) {
func StatisticsStoreInfo(db *DaoDB, brandId, vendorId, storeList []int, operateNum, brandOperate string) ([]*StatisticsStore, error) {
statistics := make([]*StatisticsStore, 0, 0)
sql := ` SELECT count(s.status) count, s.status FROM store s `
@@ -1587,6 +1587,15 @@ func StatisticsStoreInfo(db *DaoDB, brandId, vendorId, storeList []int) ([]*Stat
param = append(param, brandId)
}
if operateNum != "" {
sql += ` AND s.market_man_phone = ?`
param = append(param, operateNum)
}
if brandOperate != "" {
sql += ` AND s.operator_phone2 = ?`
param = append(param, brandOperate)
}
sql += ` GROUP BY s.status `
if err := GetRows(db, &statistics, sql, param); err != nil {
return nil, err
@@ -1595,14 +1604,11 @@ func StatisticsStoreInfo(db *DaoDB, brandId, vendorId, storeList []int) ([]*Stat
}
// StatisticsOrderInfo 统计订单信息
func StatisticsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int, brandId, vendorId, storeList []int) ([]*StatisticsOrder, error) {
func StatisticsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int, brandId, vendorId, storeList []int, operateNum, brandOperate string) ([]*StatisticsOrder, error) {
parma := []interface{}{}
sql := ` SELECT count(g.vendor_order_id) count,g.status status ,sum(g.total_shop_money) total_shop_money FROM goods_order g `
if len(brandId) > model.NO {
sql += ` INNER JOIN store s ON IF(g.store_id <> 0,g.store_id,g.jx_store_id) = s.id AND s.brand_id IN (` + GenQuestionMarks(len(brandId)) + `)`
parma = append(parma, brandId)
}
sql := ` SELECT count(g.vendor_order_id) count,g.status status ,sum(g.total_shop_money) total_shop_money FROM goods_order g
INNER JOIN store s ON IF(g.store_id <> 0,g.store_id,g.jx_store_id) = s.id
`
sql += ` WHERE g.order_created_at >= ? AND g.order_created_at <= ?`
parma = append(parma, startTime, endTime)
@@ -1618,6 +1624,7 @@ func StatisticsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int, b
sql += ` AND g.vendor_id IN (` + GenQuestionMarks(len(vendorId)) + `)`
parma = append(parma, vendorId)
}
sql += ` GROUP BY g.status `
orderStatistics := make([]*StatisticsOrder, 0, 0)
if err := GetRows(db, &orderStatistics, sql, parma...); err != nil {
@@ -1627,14 +1634,11 @@ func StatisticsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int, b
}
// StatisticsAfsOrderInfo 售后单信息统计
func StatisticsAfsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int, brandId, vendorId, storeList []int) ([]*StatisticsOrder, error) {
func StatisticsAfsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int, brandId, vendorId, storeList []int, operateNum, brandOperate string) ([]*StatisticsOrder, error) {
parma := []interface{}{}
sql := `SELECT count(a.vendor_order_id) count,a.status status ,sum(a.afs_total_shop_money) total_shop_money FROM afs_order a `
if len(brandId) > model.NO {
sql += ` INNER JOIN store s ON IF(a.store_id <> 0,a.store_id,a.jx_store_id) = s.id AND s.brand_id IN (` + GenQuestionMarks(len(brandId)) + `)`
parma = append(parma, brandId)
}
sql := `SELECT count(a.vendor_order_id) count,a.status status ,sum(a.afs_total_shop_money) total_shop_money FROM afs_order a
INNER JOIN store s ON IF(a.store_id <> 0,a.store_id,a.jx_store_id) = s.id
`
sql += ` WHERE a.afs_created_at >= ? AND a.afs_created_at <= ?`
parma = append(parma, startTime, endTime)
@@ -1651,6 +1655,19 @@ func StatisticsAfsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int
parma = append(parma, vendorId)
}
if len(brandId) > model.NO {
sql += ` AND s.market_man_phone = ?`
parma = append(parma, operateNum)
}
if operateNum != "" {
sql += ` AND s.operator_phone2 = ?`
parma = append(parma, brandOperate)
}
if brandOperate != "" {
sql += `AND s.brand_id IN (` + GenQuestionMarks(len(brandId)) + `)`
parma = append(parma, brandId)
}
sql += ` GROUP BY a.status`
orderStatistics := make([]*StatisticsOrder, 0, 0)
if err := GetRows(db, &orderStatistics, sql, parma...); err != nil {
@@ -1660,7 +1677,7 @@ func StatisticsAfsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int
}
// StatisticsIncome 统计平台和市场收入
func StatisticsIncome(db *DaoDB, startTime, endTime time.Time, storeId int, brandId, vendorId, storeList []int) ([]*StatisticsIncomeInfo, error) {
func StatisticsIncome(db *DaoDB, startTime, endTime time.Time, storeId int, brandId, vendorId, storeList []int, operateNum, brandOperate string) ([]*StatisticsIncomeInfo, error) {
parma := []interface{}{}
sql := `
@@ -1683,10 +1700,19 @@ func StatisticsIncome(db *DaoDB, startTime, endTime time.Time, storeId int, bran
parma = append(parma, storeList)
}
if len(brandId) > model.NO {
sql += ` AND t3.market_man_phone = ?`
parma = append(parma, operateNum)
}
if operateNum != "" {
sql += ` AND t3.operator_phone2 = ?`
parma = append(parma, brandOperate)
}
if len(brandId) != model.NO {
sql += ` AND t3.brand_id IN (` + GenQuestionMarks(len(brandId)) + `)`
parma = append(parma, brandId)
}
if len(vendorId) != model.NO {
sql += ` AND t1.vendor_id IN (` + GenQuestionMarks(len(vendorId)) + `)`
parma = append(parma, vendorId)