gpt
This commit is contained in:
@@ -4,19 +4,32 @@ package mysqlmodel
|
||||
// 唯一索引 (order_no, benefit_type) 作为幂等凭证,防止重复发放。
|
||||
type BenefitGrantTask struct {
|
||||
Model
|
||||
UserID int64 `gorm:"column:user_id"` // 用户ID
|
||||
UserID int64 `gorm:"column:user_id"` // 用户ID
|
||||
// OrderNo 商户订单号;与 BenefitType 组成联合唯一索引作为幂等凭证。
|
||||
OrderNo string `gorm:"column:order_no;uniqueIndex:uk_benefit_task_idem,priority:1"`
|
||||
GoodsID int64 `gorm:"column:goods_id"` // 关联商品ID
|
||||
GoodsID int64 `gorm:"column:goods_id"` // 关联商品ID
|
||||
// BenefitType 权益类型 1=vip 2=cos 3=ai 4=closet_share 5=outfit_share
|
||||
BenefitType int8 `gorm:"column:benefit_type;uniqueIndex:uk_benefit_task_idem,priority:2"`
|
||||
Amount int64 `gorm:"column:amount"` // 发放数量
|
||||
Status int8 `gorm:"column:status"` // 状态 0=待发放 1=已发放 2=发放失败
|
||||
RetryCount int `gorm:"column:retry_count"` // 已重试次数
|
||||
MaxRetry int `gorm:"column:max_retry"` // 最大重试次数
|
||||
LastError string `gorm:"column:last_error"` // 最近一次失败原因
|
||||
Amount int64 `gorm:"column:amount"` // 发放数量
|
||||
Status int8 `gorm:"column:status"` // 状态 0=待发放 1=已发放 2=发放失败
|
||||
RetryCount int `gorm:"column:retry_count"` // 已重试次数
|
||||
MaxRetry int `gorm:"column:max_retry"` // 最大重试次数
|
||||
LastError string `gorm:"column:last_error"` // 最近一次失败原因
|
||||
}
|
||||
|
||||
func (BenefitGrantTask) TableName() string {
|
||||
return "benefit_grant_tasks"
|
||||
}
|
||||
|
||||
// BenefitRevokeTask 退款后的权益回收任务。退款终态与任务同事务落库,任务可幂等重试。
|
||||
type BenefitRevokeTask struct {
|
||||
Model
|
||||
OrderNo string `gorm:"column:order_no;uniqueIndex:uk_benefit_revoke_order"`
|
||||
UserID int64 `gorm:"column:user_id"`
|
||||
Status int8 `gorm:"column:status"`
|
||||
RetryCount int `gorm:"column:retry_count"`
|
||||
MaxRetry int `gorm:"column:max_retry"`
|
||||
LastError string `gorm:"column:last_error"`
|
||||
}
|
||||
|
||||
func (BenefitRevokeTask) TableName() string { return "benefit_revoke_tasks" }
|
||||
|
||||
@@ -22,6 +22,7 @@ type Clothes struct {
|
||||
Name string `gorm:"column:name"` // 名称
|
||||
Remark string `gorm:"column:remark"` // 备注
|
||||
ProcessedImage string `gorm:"column:processed_image"` // 处理后图片存储位置 相对路径
|
||||
OriginalImagePath string `gorm:"column:original_image_path"` // 待处理原图本地路径(任务恢复用)
|
||||
ImageSize int64 `gorm:"column:image_size"` // 图片大小 单位:kb
|
||||
ImageProcessStatus int8 `gorm:"column:image_process_status"` // 处理状态 1=抠图中 2=分类中 3=排队中 4=成功 5=失败
|
||||
FailReason string `gorm:"column:fail_reason"` // 失败原因
|
||||
|
||||
@@ -3,7 +3,7 @@ package mysqlmodel
|
||||
type Collect struct {
|
||||
Model
|
||||
// CollectType 业务类型 1=社区穿搭;与 TargetID、UserID 组成联合唯一索引,支撑收藏/取消收藏 upsert。
|
||||
CollectType int8 `gorm:"column:collect_type;uniqueIndex:uk_collect_user_target,priority:1"`
|
||||
CollectType int8 `gorm:"column:collect_type;uniqueIndex:uk_collect_user_target,priority:1"`
|
||||
TargetID int64 `gorm:"column:target_id;uniqueIndex:uk_collect_user_target,priority:2"` // 业务目标ID
|
||||
UserID int64 `gorm:"column:user_id;uniqueIndex:uk_collect_user_target,priority:3"` // 收藏用户ID
|
||||
Status int8 `gorm:"column:status"` // 状态 1=已收藏 0=已取消
|
||||
|
||||
@@ -6,12 +6,12 @@ type Horoscope struct {
|
||||
StatDate int64 `gorm:"column:stat_date;uniqueIndex:uk_horoscope_date_zodiac,priority:1"`
|
||||
Zodiac string `gorm:"column:zodiac;uniqueIndex:uk_horoscope_date_zodiac,priority:2"` // 星座
|
||||
OverallScore int8 `gorm:"column:overall_score"` // 综合运势 1-5分
|
||||
LoveScore int8 `gorm:"column:love_score"` // 爱情运势
|
||||
CareerScore int8 `gorm:"column:career_score"` // 工作运势
|
||||
WealthScore int8 `gorm:"column:wealth_score"` // 财富运势
|
||||
DailyText string `gorm:"column:daily_text"` // 今日运势详情
|
||||
LuckyColor string `gorm:"column:lucky_color"` // 幸运色
|
||||
LuckyNumber string `gorm:"column:lucky_number"` // 幸运数字
|
||||
LoveScore int8 `gorm:"column:love_score"` // 爱情运势
|
||||
CareerScore int8 `gorm:"column:career_score"` // 工作运势
|
||||
WealthScore int8 `gorm:"column:wealth_score"` // 财富运势
|
||||
DailyText string `gorm:"column:daily_text"` // 今日运势详情
|
||||
LuckyColor string `gorm:"column:lucky_color"` // 幸运色
|
||||
LuckyNumber string `gorm:"column:lucky_number"` // 幸运数字
|
||||
}
|
||||
|
||||
func (Horoscope) TableName() string {
|
||||
|
||||
@@ -3,7 +3,7 @@ package mysqlmodel
|
||||
type Like struct {
|
||||
Model
|
||||
// LikeType 业务类型 1=社区穿搭;与 TargetID、UserID 组成联合唯一索引,支撑点赞/取消点赞 upsert。
|
||||
LikeType int8 `gorm:"column:like_type;uniqueIndex:uk_like_user_target,priority:1"`
|
||||
LikeType int8 `gorm:"column:like_type;uniqueIndex:uk_like_user_target,priority:1"`
|
||||
TargetID int64 `gorm:"column:target_id;uniqueIndex:uk_like_user_target,priority:2"` // 穿搭ID
|
||||
UserID int64 `gorm:"column:user_id;uniqueIndex:uk_like_user_target,priority:3"` // 点赞用户ID
|
||||
Status int8 `gorm:"column:status"` // 状态 1=已点赞 0=已取消
|
||||
|
||||
@@ -3,30 +3,32 @@ package mysqlmodel
|
||||
type Order struct {
|
||||
Model
|
||||
// OrderNo 商户订单号;唯一索引保证订单号全局唯一。
|
||||
OrderNo string `gorm:"column:order_no;uniqueIndex:uk_order_no"`
|
||||
UserID int64 `gorm:"column:user_id"` // 下单用户ID
|
||||
GoodsID int64 `gorm:"column:goods_id"` // 关联商品ID
|
||||
GoodsName string `gorm:"column:goods_name"` // 商品名称快照
|
||||
UnitPrice int64 `gorm:"column:unit_price"` // 商品单价(分)
|
||||
TotalAmount int64 `gorm:"column:total_amount"` // 订单总金额(分)
|
||||
PayAmount int64 `gorm:"column:pay_amount"` // 实付金额(分)
|
||||
PayChannel int8 `gorm:"column:pay_channel"` // 支付渠道 1=微信支付
|
||||
OrderStatus int8 `gorm:"column:order_status"` // 订单状态 1=待支付 2=已支付 3=已取消 4=已过期 5=已退款
|
||||
OrderNo string `gorm:"column:order_no;uniqueIndex:uk_order_no"`
|
||||
UserID int64 `gorm:"column:user_id"` // 下单用户ID
|
||||
GoodsID int64 `gorm:"column:goods_id"` // 关联商品ID
|
||||
GoodsName string `gorm:"column:goods_name"` // 商品名称快照
|
||||
UnitPrice int64 `gorm:"column:unit_price"` // 商品单价(分)
|
||||
TotalAmount int64 `gorm:"column:total_amount"` // 订单总金额(分)
|
||||
PayAmount int64 `gorm:"column:pay_amount"` // 实付金额(分)
|
||||
PayChannel int8 `gorm:"column:pay_channel"` // 支付渠道 1=微信支付
|
||||
OrderStatus int8 `gorm:"column:order_status"` // 订单状态 1=待支付 2=已支付 3=已取消 4=已过期 5=已退款
|
||||
TransactionID string `gorm:"column:transaction_id"` // 微信支付流水号
|
||||
MemberDays int64 `gorm:"column:member_days"` // 购买的会员天数(快照)
|
||||
GoodsType int8 `gorm:"column:goods_type"` // 商品类型(快照)
|
||||
QuotaValidDays int64 `gorm:"column:quota_valid_days"` // 额度有效期天数(快照)
|
||||
CosQuota int64 `gorm:"column:cos_quota"` // 赠送上传额度(快照)
|
||||
AIRecommendQuota int64 `gorm:"column:ai_recommend_quota"` // 赠送AI推荐额度(快照)
|
||||
ClosetShareQuota int64 `gorm:"column:closet_share_quota"` // 赠送衣柜分享额度(快照)
|
||||
OutfitShareQuota int64 `gorm:"column:outfit_share_quota"` // 赠送搭配分享额度(快照)
|
||||
ExpireTime int64 `gorm:"column:expire_time"` // 支付过期时间
|
||||
PayTime int64 `gorm:"column:pay_time"` // 支付完成时间
|
||||
RefundTime int64 `gorm:"column:refund_time"` // 退款时间
|
||||
RefundAmount int64 `gorm:"column:refund_amount"` // 退款金额(分)
|
||||
Remark string `gorm:"column:remark"` // 订单备注
|
||||
CallbackRaw string `gorm:"column:callback_raw"` // 支付回调原始报文
|
||||
XPayProductID string `gorm:"column:xpay_product_id"` // 虚拟支付道具ID(快照,pay_channel=2 时使用)
|
||||
XPayPlatform string `gorm:"column:xpay_platform"` // 虚拟支付平台 android/ios/harmony/windows
|
||||
XPayEnv int8 `gorm:"column:xpay_env"` // 虚拟支付环境 0=现网 1=沙箱
|
||||
PayTime int64 `gorm:"column:pay_time"` // 支付完成时间
|
||||
RefundTime int64 `gorm:"column:refund_time"` // 退款时间
|
||||
RefundAmount int64 `gorm:"column:refund_amount"` // 退款金额(分)
|
||||
Remark string `gorm:"column:remark"` // 订单备注
|
||||
CallbackRaw string `gorm:"column:callback_raw"` // 支付回调原始报文
|
||||
XPayProductID string `gorm:"column:xpay_product_id"` // 虚拟支付道具ID(快照,pay_channel=2 时使用)
|
||||
XPayPlatform string `gorm:"column:xpay_platform"` // 虚拟支付平台 android/ios/harmony/windows
|
||||
XPayEnv int8 `gorm:"column:xpay_env"` // 虚拟支付环境 0=现网 1=沙箱
|
||||
}
|
||||
|
||||
func (Order) TableName() string {
|
||||
|
||||
@@ -17,13 +17,13 @@ func (Quota) TableName() string {
|
||||
// Cos 永久额度场景 Amount/Used 表示「一次性赠送库存及其已用」。
|
||||
type QuotaGrant struct {
|
||||
Model
|
||||
UserID int64 `gorm:"column:user_id;index:idx_grant_user_type_expire,priority:1"` // 用户ID
|
||||
UserID int64 `gorm:"column:user_id;index:idx_grant_user_type_expire,priority:1"` // 用户ID
|
||||
QuotaType int8 `gorm:"column:quota_type;index:idx_grant_user_type_expire,priority:2;uniqueIndex:uk_grant_ref_type,priority:2"` // 额度类型 1=cos 2=AI 3=社区分享 4=衣柜分享
|
||||
Amount int64 `gorm:"column:amount"` // 赠送总量
|
||||
Used int64 `gorm:"column:used"` // 已用量(仅 Cos 扣减)
|
||||
Source int8 `gorm:"column:source"` // 来源 1=会员包 2=加量包 3=广告激励
|
||||
ExpireTime int64 `gorm:"column:expire_time;index:idx_grant_user_type_expire,priority:3"` // 到期时间(秒,0 表示跟随 VIP)
|
||||
RefID string `gorm:"column:ref_id;uniqueIndex:uk_grant_ref_type,priority:1"` // 关联ID(订单号/广告记录ID)
|
||||
Amount int64 `gorm:"column:amount"` // 赠送总量
|
||||
Used int64 `gorm:"column:used"` // 已用量(仅 Cos 扣减)
|
||||
Source int8 `gorm:"column:source"` // 来源 1=会员包 2=加量包 3=广告激励
|
||||
ExpireTime int64 `gorm:"column:expire_time;index:idx_grant_user_type_expire,priority:3"` // 到期时间(秒,0 表示跟随 VIP)
|
||||
RefID string `gorm:"column:ref_id;uniqueIndex:uk_grant_ref_type,priority:1"` // 关联ID(订单号/广告记录ID)
|
||||
}
|
||||
|
||||
func (QuotaGrant) TableName() string {
|
||||
|
||||
@@ -7,7 +7,7 @@ type QuotaFlowLog struct {
|
||||
UserID int64 `gorm:"column:user_id"` // 用户ID
|
||||
ChangeTarget int8 `gorm:"column:change_target"` // 调整额度类型 1=配额调整 2=使用
|
||||
// ChangeType 变更类型 1=购买获赠 2=活动赠送 3=上传消耗 4=删除回退 5=人工调整 6=退款回收
|
||||
ChangeType int8 `gorm:"column:change_type;uniqueIndex:uk_quota_flow_idem,priority:3"`
|
||||
ChangeType int8 `gorm:"column:change_type;uniqueIndex:uk_quota_flow_idem,priority:3"`
|
||||
ChangeNum int64 `gorm:"column:change_num"` // 变更数量(正数增加,负数减少)
|
||||
OldValue int64 `gorm:"column:old_value"` // 变更前数值
|
||||
NewValue int64 `gorm:"column:new_value"` // 变更后数值
|
||||
|
||||
@@ -2,9 +2,9 @@ package mysqlmodel
|
||||
|
||||
type RefundFlowLog struct {
|
||||
Model
|
||||
OrderID int64 `gorm:"column:order_id"` // 关联订单ID
|
||||
OrderNo string `gorm:"column:order_no"` // 商户订单号(冗余,方便查询)
|
||||
UserID int64 `gorm:"column:user_id"` // 用户ID(冗余,方便按用户查)
|
||||
OrderID int64 `gorm:"column:order_id"` // 关联订单ID
|
||||
OrderNo string `gorm:"column:order_no"` // 商户订单号(冗余,方便查询)
|
||||
UserID int64 `gorm:"column:user_id"` // 用户ID(冗余,方便按用户查)
|
||||
// RefundNo 商户退款单号;唯一索引为退款申请防重/重试幂等依据。
|
||||
RefundNo string `gorm:"column:refund_no;uniqueIndex:uk_refund_flow_no"`
|
||||
WechatRefundNo string `gorm:"column:wechat_refund_no"` // 微信退款单号
|
||||
|
||||
+15
-15
@@ -2,22 +2,22 @@ package mysqlmodel
|
||||
|
||||
type User struct {
|
||||
Model
|
||||
UserUUID string `gorm:"column:user_uuid"` // 用户UUID
|
||||
UserUUID string `gorm:"column:user_uuid"` // 用户UUID
|
||||
WxOpenID string `gorm:"column:wx_open_id;uniqueIndex:uk_user_wx_open_id"` // 微信openid
|
||||
Username string `gorm:"column:username"` // 用户名
|
||||
Avatar string `gorm:"column:avatar"` // 头像存储位置
|
||||
Sex int8 `gorm:"column:sex"` // 性别 1=男 2=女
|
||||
BirthDay int64 `gorm:"column:birth_day"` // 生日
|
||||
Phone string `gorm:"column:phone"` // 手机号
|
||||
IsNewUser bool `gorm:"column:is_new_user"` // 是否新用户
|
||||
Status int8 `gorm:"column:status"` // 状态 1=正常 2=临时禁用 3=永久禁用 4=已注销
|
||||
BanReason string `gorm:"column:ban_reason"` // 封禁原因
|
||||
BanStart int64 `gorm:"column:ban_start"` // 封禁开始时间
|
||||
BanExpire int64 `gorm:"column:ban_expire"` // 封禁到期时间
|
||||
VIPType int8 `gorm:"column:vip_type"` // VIP类型 1=非会员 2=月度会员 3=年度会员 4=体验会员
|
||||
VIPStart int64 `gorm:"column:vip_start"` // VIP开始时间
|
||||
VIPExpire int64 `gorm:"column:vip_expire"` // VIP到期时间
|
||||
LastLoginTime int64 `gorm:"column:last_login_time"` // 最近登录时间
|
||||
Username string `gorm:"column:username"` // 用户名
|
||||
Avatar string `gorm:"column:avatar"` // 头像存储位置
|
||||
Sex int8 `gorm:"column:sex"` // 性别 1=男 2=女
|
||||
BirthDay int64 `gorm:"column:birth_day"` // 生日
|
||||
Phone string `gorm:"column:phone"` // 手机号
|
||||
IsNewUser bool `gorm:"column:is_new_user"` // 是否新用户
|
||||
Status int8 `gorm:"column:status"` // 状态 1=正常 2=临时禁用 3=永久禁用 4=已注销
|
||||
BanReason string `gorm:"column:ban_reason"` // 封禁原因
|
||||
BanStart int64 `gorm:"column:ban_start"` // 封禁开始时间
|
||||
BanExpire int64 `gorm:"column:ban_expire"` // 封禁到期时间
|
||||
VIPType int8 `gorm:"column:vip_type"` // VIP类型 1=非会员 2=月度会员 3=年度会员 4=体验会员
|
||||
VIPStart int64 `gorm:"column:vip_start"` // VIP开始时间
|
||||
VIPExpire int64 `gorm:"column:vip_expire"` // VIP到期时间
|
||||
LastLoginTime int64 `gorm:"column:last_login_time"` // 最近登录时间
|
||||
}
|
||||
|
||||
func (User) TableName() string {
|
||||
|
||||
@@ -2,17 +2,17 @@ package mysqlmodel
|
||||
|
||||
type VIPFlowLog struct {
|
||||
Model
|
||||
UserID int64 `gorm:"column:user_id"` // 用户ID
|
||||
UserID int64 `gorm:"column:user_id"` // 用户ID
|
||||
// ChangeType 变更类型 1=开通 2=续费 3=活动赠送 4=到期失效 5=人工调整 6=退款回收
|
||||
ChangeType int8 `gorm:"column:change_type;uniqueIndex:uk_vip_flow_idem,priority:2"`
|
||||
OldVIPType int8 `gorm:"column:old_vip_type"` // 变更前VIP类型 1=非会员 2=月度会员 3=年度会员 4=体验会员
|
||||
NewVIPType int8 `gorm:"column:new_vip_type"` // 变更后VIP类型 1=非会员 2=月度会员 3=年度会员 4=体验会员
|
||||
OldVIPExpire int64 `gorm:"column:old_vip_expire"` // 变更前到期时间(秒)
|
||||
NewVIPExpire int64 `gorm:"column:new_vip_expire"` // 变更后到期时间(秒)
|
||||
ChangeType int8 `gorm:"column:change_type;uniqueIndex:uk_vip_flow_idem,priority:2"`
|
||||
OldVIPType int8 `gorm:"column:old_vip_type"` // 变更前VIP类型 1=非会员 2=月度会员 3=年度会员 4=体验会员
|
||||
NewVIPType int8 `gorm:"column:new_vip_type"` // 变更后VIP类型 1=非会员 2=月度会员 3=年度会员 4=体验会员
|
||||
OldVIPExpire int64 `gorm:"column:old_vip_expire"` // 变更前到期时间(秒)
|
||||
NewVIPExpire int64 `gorm:"column:new_vip_expire"` // 变更后到期时间(秒)
|
||||
// OrderNo 关联订单号(购买类变更);唯一索引 (order_no, change_type) 为 VIP 发放/回收幂等兜底。
|
||||
OrderNo string `gorm:"column:order_no;uniqueIndex:uk_vip_flow_idem,priority:1"`
|
||||
Source int8 `gorm:"column:source"` // 变更来源 1=个人支付 2=活动赠送 3=系统 4=人工调整
|
||||
Reason string `gorm:"column:reason"` // 变更原因/备注
|
||||
Source int8 `gorm:"column:source"` // 变更来源 1=个人支付 2=活动赠送 3=系统 4=人工调整
|
||||
Reason string `gorm:"column:reason"` // 变更原因/备注
|
||||
}
|
||||
|
||||
func (VIPFlowLog) TableName() string {
|
||||
|
||||
Reference in New Issue
Block a user