Files
quyun-v2/backend/app/http/super/v1/dto/super_coupon.go
2026-01-15 17:01:36 +08:00

224 lines
8.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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"`
}