fix(order): 修复订单汇总按日期查询功能
- 将 Date 字段从 gtime.Time 类型改为 string 类型,避免序列化问题 - 使用 gtime.NewFromStrFormat 将日期字符串转换为 gtime.Time 对象 -改用 WhereBetween 方法替代 Having 方法,提高查询兼容性
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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").
|
||||
|
||||
Reference in New Issue
Block a user