This commit is contained in:
邹宗楠
2025-12-22 17:40:50 +08:00
parent 1ad75133e5
commit 37d7e9edd8
8 changed files with 61610 additions and 61255 deletions

View File

@@ -82,10 +82,6 @@ func (c *OrderManager) OnOrderNew(order *model.GoodsOrder, orderStatus *model.Or
isDuplicated, err = c.SaveOrder(order, false, db)
}
}
if order.VendorOrderID == "601915622896866866" {
globals.SugarLogger.Debugf("-----order := %s", utils.Format4Output(order, false))
globals.SugarLogger.Debugf("-----err := %s", utils.Format4Output(err, false))
}
if err == nil {
dao.Commit(db, txDB)

View File

@@ -2,6 +2,7 @@ package dao
import (
"fmt"
"git.rosy.net.cn/jx-callback/globals"
"regexp"
"strconv"
"time"
@@ -2011,3 +2012,86 @@ func GetAddressRiderInfo(db *DaoDB, address string) ([]*CourierInfo, error) {
return courier, nil
}
func StaticStoreOrderChange(db *DaoDB, storeId []int, start, end time.Time, rank string) ([]*StoreOrderRank, error) {
dailyOrders := `
SELECT
g.jx_store_id,
DATE(g.order_created_at) AS order_date,
COUNT(g.vendor_order_id) AS order_count
FROM goods_order g WHERE 1=1 `
dailyParam := []interface{}{}
if len(storeId) != 0 {
dailyOrders += ` AND g.jx_store_id IN (` + GenQuestionMarks(len(storeId)) + `)`
dailyParam = append(dailyParam, storeId)
}
if utils.IsTimeZero(start) {
dailyOrders += ` AND g.order_created_at >= ?`
dailyParam = append(dailyParam, start)
}
if utils.IsTimeZero(end) {
dailyOrders += ` AND g.order_created_at <= ?`
dailyParam = append(dailyParam, start)
}
dailyOrders += ` AND g.status <> 115 GROUP BY g.jx_store_id,DATE(g.order_created_at) AS daily_orders `
storeTotals := `
SELECT
jx_store_id,
SUM(order_count) AS total_orders
FROM (
SELECT
g.jx_store_id,
COUNT(g.vendor_order_id) AS order_count
FROM goods_order g
WHERE 1=1 `
if len(storeId) != 0 {
storeTotals += ` AND g.jx_store_id IN (` + GenQuestionMarks(len(storeId)) + `)`
dailyParam = append(dailyParam, storeId)
}
if utils.IsTimeZero(start) {
storeTotals += ` AND g.order_created_at >= ?`
dailyParam = append(dailyParam, start)
}
if utils.IsTimeZero(end) {
storeTotals += ` AND g.order_created_at <= ?`
dailyParam = append(dailyParam, start)
}
storeTotals += ` AND g.status <> 115 GROUP BY g.jx_store_id ) AS store_counts GROUP BY jx_store_id) AS store_totals `
lastSql := `
SELECT
daily_orders.jx_store_id,
s.name,
daily_orders.order_date,
daily_orders.order_count,
store_totals.total_orders
FROM (
`
lastSql += dailyOrders
lastSql += `JOIN ` + storeTotals
lastSql += `ON daily_orders.jx_store_id = store_totals.jx_store_id
JOIN store s ON s.id = daily_orders.jx_store_id
ORDER BY store_totals.total_orders ?,daily_orders.jx_store_id,daily_orders.order_date`
if rank != "" {
dailyParam = append(dailyParam, rank)
} else {
dailyParam = append(dailyParam, "DESC")
}
globals.SugarLogger.Debugf("-----sql := %s", lastSql)
globals.SugarLogger.Debugf("-----dailyParam := %s", utils.Format4Output(dailyParam, false))
data := make([]*StoreOrderRank, 0, 0)
if err := GetRows(db, &data, lastSql, dailyParam...); err != nil {
return nil, err
}
return data, nil
}
// StoreOrderRank 门店订单排名
type StoreOrderRank struct {
JxStoreId int `json:"jx_store_id"`
Name string `json:"name"`
OrderDate string `json:"order_date"`
OrderCount int `json:"order_count"`
TotalOrders int `json:"total_orders"`
}

View File

@@ -368,15 +368,7 @@ func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmap
return nil
}
if msg.Cmd == mtwmapi.MsgTypeNewOrder {
if GetOrderIDFromMsg(msg) == "601915622896866866" {
globals.SugarLogger.Debugf("-----msg := %s", utils.Format4Output(msg, false))
}
order, orderMap, err2 := c.getOrder(msg.AppID, GetOrderIDFromMsg(msg), GetVendorStoreIDFromMsg(msg))
if order.VendorOrderID == "601915622896866866" {
globals.SugarLogger.Debugf("-----order := %s", utils.Format4Output(order, false))
globals.SugarLogger.Debugf("-----orderMap := %s", utils.Format4Output(orderMap, false))
globals.SugarLogger.Debugf("-----err2 := %s", utils.Format4Output(err2, false))
}
if err = err2; err == nil {
// 存在新订单用户未支付推送,导致订单取消,但是订单又会被送出
if order.OrderSeq == 0 {