fix(order): 修复订单汇总按日期查询功能

- 将 Date 字段从 gtime.Time 类型改为 string 类型,避免序列化问题
- 使用 gtime.NewFromStrFormat 将日期字符串转换为 gtime.Time 对象
-改用 WhereBetween 方法替代 Having 方法,提高查询兼容性
This commit is contained in:
danial
2025-06-22 17:51:09 +08:00
parent 97b5ce4e59
commit 459d5f42a6
2 changed files with 5 additions and 4 deletions

View File

@@ -24,8 +24,8 @@ type OrderSummaryRecord struct {
type OrderSummaryGetListReq struct {
g.Meta `path:"/orderInfo/summary/getList" tags:"订单汇总" method:"get" summary:"获取订单汇总"`
RoadUid string `json:"roadUid"`
Date *gtime.Time `json:"date,omitempty"`
RoadUid string `json:"roadUid"`
Date string `json:"date"`
commonApi.CommonPageReq
}

View File

@@ -38,8 +38,9 @@ func (s *sOrderSummary) GetList(ctx context.Context, input model.OrderSummaryLis
case model.LoginTypeAuth:
m = m.Where(false)
}
if input.Date != nil {
m = m.Having(column.CreateTime, input.Date.StartOfDay(), input.Date.EndOfDay())
if input.Date != "" {
inputDate := gtime.NewFromStrFormat(input.Date, "Y-m-d")
m = m.WhereBetween(column.CreateTime, inputDate.StartOfDay(), inputDate.EndOfDay())
}
_ = m.Fields(column.MerchantName, column.MerchantUid).
FieldSum(fmt.Sprintf("CASE WHEN %s = 'success' THEN %s ELSE 0 END", column.Status, column.ShowAmount), "succeed_show_amount").