package dto import ( "quyun/v2/app/requests" "quyun/v2/pkg/consts" ) // SuperCouponListFilter 超管优惠券列表过滤条件。 type SuperCouponListFilter struct { requests.Pagination // ID 优惠券ID,精确匹配。 ID *int64 `query:"id"` // TenantID 租户ID,精确匹配。 TenantID *int64 `query:"tenant_id"` // TenantCode 租户编码,模糊匹配。 TenantCode *string `query:"tenant_code"` // TenantName 租户名称,模糊匹配。 TenantName *string `query:"tenant_name"` // Keyword 标题或描述关键词,模糊匹配。 Keyword *string `query:"keyword"` // Type 优惠券类型过滤(fix_amount/discount)。 Type *string `query:"type"` // Status 状态过滤(active/expired/upcoming)。 Status *string `query:"status"` // CreatedAtFrom 创建时间起始(RFC3339)。 CreatedAtFrom *string `query:"created_at_from"` // CreatedAtTo 创建时间结束(RFC3339)。 CreatedAtTo *string `query:"created_at_to"` // Asc 升序字段(id/created_at/start_at/end_at)。 Asc *string `query:"asc"` // Desc 降序字段(id/created_at/start_at/end_at)。 Desc *string `query:"desc"` } // SuperCouponItem 超管优惠券列表项。 type SuperCouponItem struct { // ID 优惠券ID。 ID int64 `json:"id"` // TenantID 租户ID。 TenantID int64 `json:"tenant_id"` // TenantCode 租户编码。 TenantCode string `json:"tenant_code"` // TenantName 租户名称。 TenantName string `json:"tenant_name"` // Title 优惠券标题。 Title string `json:"title"` // Description 优惠券描述。 Description string `json:"description"` // Type 优惠券类型。 Type consts.CouponType `json:"type"` // TypeDescription 类型描述(用于展示)。 TypeDescription string `json:"type_description"` // Value 优惠券面额/折扣值。 Value int64 `json:"value"` // MinOrderAmount 最低订单金额门槛。 MinOrderAmount int64 `json:"min_order_amount"` // MaxDiscount 最大折扣金额(折扣券)。 MaxDiscount int64 `json:"max_discount"` // TotalQuantity 总发行数量(0 表示不限量)。 TotalQuantity int32 `json:"total_quantity"` // UsedQuantity 已使用数量。 UsedQuantity int32 `json:"used_quantity"` // Status 状态(active/expired/upcoming)。 Status string `json:"status"` // StatusDescription 状态描述(用于展示)。 StatusDescription string `json:"status_description"` // StartAt 生效时间(RFC3339)。 StartAt string `json:"start_at"` // EndAt 结束时间(RFC3339)。 EndAt string `json:"end_at"` // CreatedAt 创建时间(RFC3339)。 CreatedAt string `json:"created_at"` // UpdatedAt 更新时间(RFC3339)。 UpdatedAt string `json:"updated_at"` } // SuperCouponGrantResponse 超管优惠券发放结果。 type SuperCouponGrantResponse struct { // Granted 实际发放数量。 Granted int `json:"granted"` } // SuperCouponStatusUpdateForm 超管优惠券状态更新表单。 type SuperCouponStatusUpdateForm struct { // Status 目标状态(frozen)。 Status string `json:"status" validate:"required,oneof=frozen"` } // SuperCouponGrantListFilter 超管优惠券发放记录过滤条件。 type SuperCouponGrantListFilter struct { requests.Pagination // CouponID 优惠券ID过滤(精确匹配)。 CouponID *int64 `query:"coupon_id"` // TenantID 租户ID过滤(精确匹配)。 TenantID *int64 `query:"tenant_id"` // TenantCode 租户编码过滤(模糊匹配)。 TenantCode *string `query:"tenant_code"` // TenantName 租户名称过滤(模糊匹配)。 TenantName *string `query:"tenant_name"` // UserID 用户ID过滤(精确匹配)。 UserID *int64 `query:"user_id"` // Username 用户名过滤(模糊匹配)。 Username *string `query:"username"` // Status 用户券状态过滤(unused/used/expired)。 Status *consts.UserCouponStatus `query:"status"` // CreatedAtFrom 领取时间起始(RFC3339)。 CreatedAtFrom *string `query:"created_at_from"` // CreatedAtTo 领取时间结束(RFC3339)。 CreatedAtTo *string `query:"created_at_to"` // UsedAtFrom 使用时间起始(RFC3339)。 UsedAtFrom *string `query:"used_at_from"` // UsedAtTo 使用时间结束(RFC3339)。 UsedAtTo *string `query:"used_at_to"` } // SuperCouponGrantItem 超管优惠券发放记录项。 type SuperCouponGrantItem struct { // ID 用户券ID。 ID int64 `json:"id"` // CouponID 优惠券ID。 CouponID int64 `json:"coupon_id"` // CouponTitle 优惠券标题。 CouponTitle string `json:"coupon_title"` // TenantID 租户ID。 TenantID int64 `json:"tenant_id"` // TenantCode 租户编码。 TenantCode string `json:"tenant_code"` // TenantName 租户名称。 TenantName string `json:"tenant_name"` // UserID 用户ID。 UserID int64 `json:"user_id"` // Username 用户名。 Username string `json:"username"` // Status 用户券状态。 Status consts.UserCouponStatus `json:"status"` // StatusDescription 状态描述(用于展示)。 StatusDescription string `json:"status_description"` // OrderID 使用订单ID。 OrderID int64 `json:"order_id"` // UsedAt 使用时间(RFC3339)。 UsedAt string `json:"used_at"` // CreatedAt 领取时间(RFC3339)。 CreatedAt string `json:"created_at"` } // SuperCouponRiskListFilter 超管优惠券异常核查过滤条件。 type SuperCouponRiskListFilter struct { requests.Pagination // RiskType 异常类型过滤(used_without_order/order_status_mismatch/used_outside_window/unused_has_order_or_used_at/duplicate_grant)。 RiskType *string `query:"risk_type"` // CouponID 优惠券ID过滤(精确匹配)。 CouponID *int64 `query:"coupon_id"` // TenantID 租户ID过滤(精确匹配)。 TenantID *int64 `query:"tenant_id"` // TenantCode 租户编码过滤(模糊匹配)。 TenantCode *string `query:"tenant_code"` // TenantName 租户名称过滤(模糊匹配)。 TenantName *string `query:"tenant_name"` // Keyword 优惠券标题/描述关键词(模糊匹配)。 Keyword *string `query:"keyword"` // UserID 用户ID过滤(精确匹配)。 UserID *int64 `query:"user_id"` // Username 用户名过滤(模糊匹配)。 Username *string `query:"username"` // Status 用户券状态过滤(unused/used/expired)。 Status *consts.UserCouponStatus `query:"status"` // OrderStatus 订单状态过滤。 OrderStatus *consts.OrderStatus `query:"order_status"` // CreatedAtFrom 领取时间起始(RFC3339)。 CreatedAtFrom *string `query:"created_at_from"` // CreatedAtTo 领取时间结束(RFC3339)。 CreatedAtTo *string `query:"created_at_to"` // UsedAtFrom 使用时间起始(RFC3339)。 UsedAtFrom *string `query:"used_at_from"` // UsedAtTo 使用时间结束(RFC3339)。 UsedAtTo *string `query:"used_at_to"` // Asc 升序字段(id/created_at/used_at)。 Asc *string `query:"asc"` // Desc 降序字段(id/created_at/used_at)。 Desc *string `query:"desc"` } // SuperCouponRiskItem 超管优惠券异常核查记录。 type SuperCouponRiskItem struct { // ID 用户券ID。 ID int64 `json:"id"` // RiskType 异常类型。 RiskType string `json:"risk_type"` // RiskReason 异常说明。 RiskReason string `json:"risk_reason"` // CouponID 优惠券ID。 CouponID int64 `json:"coupon_id"` // CouponTitle 优惠券标题。 CouponTitle string `json:"coupon_title"` // TenantID 租户ID。 TenantID int64 `json:"tenant_id"` // TenantCode 租户编码。 TenantCode string `json:"tenant_code"` // TenantName 租户名称。 TenantName string `json:"tenant_name"` // UserID 用户ID。 UserID int64 `json:"user_id"` // Username 用户名。 Username string `json:"username"` // Status 用户券状态。 Status consts.UserCouponStatus `json:"status"` // StatusDescription 状态描述(用于展示)。 StatusDescription string `json:"status_description"` // OrderID 使用订单ID。 OrderID int64 `json:"order_id"` // OrderStatus 订单状态。 OrderStatus consts.OrderStatus `json:"order_status"` // OrderStatusDescription 订单状态描述(用于展示)。 OrderStatusDescription string `json:"order_status_description"` // OrderAmountPaid 订单实付金额(分)。 OrderAmountPaid int64 `json:"order_amount_paid"` // PaidAt 订单支付时间(RFC3339)。 PaidAt string `json:"paid_at"` // UsedAt 使用时间(RFC3339)。 UsedAt string `json:"used_at"` // CreatedAt 领取时间(RFC3339)。 CreatedAt string `json:"created_at"` }