优化线下结算筛选

This commit is contained in:
yml2213
2026-08-16 20:00:09 +08:00
parent c06e5aaafd
commit 58f11b2043
11 changed files with 212 additions and 59 deletions
+8 -7
View File
@@ -150,13 +150,14 @@ type OfflineSettlementRequest struct {
}
type AdminOrderQuery struct {
Page int
PageSize int
Keyword string
Status string
HandoffStatus string
HandoffMode string
SettlementStatus string
Page int
PageSize int
Keyword string
Status string
HandoffStatus string
HandoffMode string
SettlementStatus string
OfflineSettlementStatus string
}
type AuditMeta = auditlog.Meta
@@ -55,12 +55,13 @@ func parsePagination(c *gin.Context) (int, int) {
func parseAdminOrderQuery(c *gin.Context) AdminOrderQuery {
page, pageSize := parsePagination(c)
return AdminOrderQuery{
Page: page,
PageSize: pageSize,
Keyword: strings.TrimSpace(c.Query("keyword")),
Status: strings.TrimSpace(c.Query("status")),
HandoffStatus: strings.TrimSpace(c.Query("handoff_status")),
HandoffMode: strings.TrimSpace(c.Query("handoff_mode")),
SettlementStatus: strings.TrimSpace(c.Query("settlement_status")),
Page: page,
PageSize: pageSize,
Keyword: strings.TrimSpace(c.Query("keyword")),
Status: strings.TrimSpace(c.Query("status")),
HandoffStatus: strings.TrimSpace(c.Query("handoff_status")),
HandoffMode: strings.TrimSpace(c.Query("handoff_mode")),
SettlementStatus: strings.TrimSpace(c.Query("settlement_status")),
OfflineSettlementStatus: strings.TrimSpace(c.Query("offline_settlement_status")),
}
}
@@ -93,6 +93,9 @@ func applyAdminOrderFilters(db *gorm.DB, query AdminOrderQuery) *gorm.DB {
if query.SettlementStatus != "" {
db = db.Where("o.settlement_status = ?", query.SettlementStatus)
}
if query.OfflineSettlementStatus != "" {
db = db.Where("COALESCE(NULLIF(o.offline_settlement_status, ''), 'none') = ?", query.OfflineSettlementStatus)
}
if keyword := strings.TrimSpace(query.Keyword); keyword != "" {
like := "%" + keyword + "%"
if id, err := strconv.ParseUint(keyword, 10, 64); err == nil {