优化线下结算筛选
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user