128 lines
7.6 KiB
Go
128 lines
7.6 KiB
Go
package model
|
||
|
||
import "time"
|
||
|
||
// VoiceRoomRedPacketConfig 保存语音房红包系统级配置。
|
||
type VoiceRoomRedPacketConfig struct {
|
||
ID int64 `gorm:"column:id;primaryKey"`
|
||
SysOrigin string `gorm:"column:sys_origin;size:32;uniqueIndex:uk_voice_room_red_packet_config"`
|
||
Enabled bool `gorm:"column:enabled"`
|
||
DailySendLimit int `gorm:"column:daily_send_limit"`
|
||
DelaySeconds int `gorm:"column:delay_seconds"`
|
||
RefundAfterSeconds int `gorm:"column:refund_after_seconds"`
|
||
Timezone string `gorm:"column:timezone;size:64"`
|
||
AmountOptions string `gorm:"column:amount_options;size:255"`
|
||
CountOptions string `gorm:"column:count_options;size:255"`
|
||
CreateTime time.Time `gorm:"column:create_time"`
|
||
UpdateTime time.Time `gorm:"column:update_time"`
|
||
}
|
||
|
||
func (VoiceRoomRedPacketConfig) TableName() string { return "voice_room_red_packet_config" }
|
||
|
||
// VoiceRoomRegionCountry 保存国家到区域的映射。
|
||
type VoiceRoomRegionCountry struct {
|
||
ID int64 `gorm:"column:id;primaryKey"`
|
||
SysOrigin string `gorm:"column:sys_origin;size:32;uniqueIndex:uk_voice_room_region_country,priority:1;index:idx_voice_room_region_country_region,priority:1"`
|
||
RegionCode string `gorm:"column:region_code;size:32;index:idx_voice_room_region_country_region,priority:2"`
|
||
CountryCode string `gorm:"column:country_code;size:32;uniqueIndex:uk_voice_room_region_country,priority:2"`
|
||
Enabled bool `gorm:"column:enabled"`
|
||
CreateTime time.Time `gorm:"column:create_time"`
|
||
UpdateTime time.Time `gorm:"column:update_time"`
|
||
}
|
||
|
||
func (VoiceRoomRegionCountry) TableName() string { return "voice_room_region_country" }
|
||
|
||
// RoomLiveBroadcastVIP 是 Java 房间资料表,Go 侧只读取 room_id 到 room_account 的映射。
|
||
type RoomLiveBroadcastVIP struct {
|
||
ID int64 `gorm:"column:id;primaryKey"`
|
||
UserID int64 `gorm:"column:user_id"`
|
||
RoomID int64 `gorm:"column:room_id;index"`
|
||
RoomAccount int64 `gorm:"column:room_account"`
|
||
ExpireDate time.Time `gorm:"column:expire_date"`
|
||
CreateTime time.Time `gorm:"column:create_time"`
|
||
UpdateTime time.Time `gorm:"column:update_time"`
|
||
}
|
||
|
||
func (RoomLiveBroadcastVIP) TableName() string { return "room_live_broadcasts_vip" }
|
||
|
||
// VoiceRoomRedPacket 保存语音房红包主记录。
|
||
type VoiceRoomRedPacket struct {
|
||
ID int64 `gorm:"column:id;primaryKey"`
|
||
PacketNo string `gorm:"column:packet_no;size:64;uniqueIndex:uk_voice_room_red_packet_no"`
|
||
RequestID string `gorm:"column:request_id;size:128;uniqueIndex:uk_voice_room_red_packet_request"`
|
||
SysOrigin string `gorm:"column:sys_origin;size:32;index:idx_voice_room_red_packet_room,priority:1;index:idx_voice_room_red_packet_sender_day,priority:1"`
|
||
RoomID int64 `gorm:"column:room_id;index:idx_voice_room_red_packet_room,priority:2"`
|
||
SenderUserID int64 `gorm:"column:sender_user_id;index:idx_voice_room_red_packet_sender_day,priority:2"`
|
||
SenderRegionCode string `gorm:"column:sender_region_code;size:32"`
|
||
PacketMode string `gorm:"column:packet_mode;size:16"`
|
||
AmountMode string `gorm:"column:amount_mode;size:16"`
|
||
TotalAmount int64 `gorm:"column:total_amount"`
|
||
TotalCount int `gorm:"column:total_count"`
|
||
RemainAmount int64 `gorm:"column:remain_amount"`
|
||
RemainCount int `gorm:"column:remain_count"`
|
||
ClaimStartTime time.Time `gorm:"column:claim_start_time"`
|
||
ExpireTime time.Time `gorm:"column:expire_time;index:idx_voice_room_red_packet_expire,priority:2"`
|
||
Status string `gorm:"column:status;size:32;index:idx_voice_room_red_packet_expire,priority:1"`
|
||
SendWalletEventID string `gorm:"column:send_wallet_event_id;size:128;uniqueIndex:uk_voice_room_red_packet_send_event"`
|
||
RefundWalletEventID string `gorm:"column:refund_wallet_event_id;size:128"`
|
||
RefundAmount int64 `gorm:"column:refund_amount"`
|
||
RefundStatus string `gorm:"column:refund_status;size:32"`
|
||
ErrorMessage string `gorm:"column:error_message;size:1024"`
|
||
CreateTime time.Time `gorm:"column:create_time;index:idx_voice_room_red_packet_sender_day,priority:3"`
|
||
UpdateTime time.Time `gorm:"column:update_time"`
|
||
}
|
||
|
||
func (VoiceRoomRedPacket) TableName() string { return "voice_room_red_packet" }
|
||
|
||
// VoiceRoomRedPacketSlice 保存红包预拆分份额。
|
||
type VoiceRoomRedPacketSlice struct {
|
||
ID int64 `gorm:"column:id;primaryKey;index:idx_voice_room_red_packet_slice_claim_order,priority:4"`
|
||
PacketID int64 `gorm:"column:packet_id;uniqueIndex:uk_voice_room_red_packet_slice,priority:1;index:idx_voice_room_red_packet_slice_claim,priority:1;index:idx_voice_room_red_packet_slice_claim_order,priority:1"`
|
||
PacketNo string `gorm:"column:packet_no;size:64"`
|
||
SortNo int `gorm:"column:sort_no;uniqueIndex:uk_voice_room_red_packet_slice,priority:2;index:idx_voice_room_red_packet_slice_claim_order,priority:3"`
|
||
Amount int64 `gorm:"column:amount"`
|
||
Status string `gorm:"column:status;size:32;index:idx_voice_room_red_packet_slice_claim,priority:2;index:idx_voice_room_red_packet_slice_claim_order,priority:2"`
|
||
ClaimUserID *int64 `gorm:"column:claim_user_id"`
|
||
ClaimRecordID *int64 `gorm:"column:claim_record_id"`
|
||
CreateTime time.Time `gorm:"column:create_time"`
|
||
UpdateTime time.Time `gorm:"column:update_time"`
|
||
}
|
||
|
||
func (VoiceRoomRedPacketSlice) TableName() string { return "voice_room_red_packet_slice" }
|
||
|
||
// VoiceRoomRedPacketClaim 保存领取记录和入账状态。
|
||
type VoiceRoomRedPacketClaim struct {
|
||
ID int64 `gorm:"column:id;primaryKey"`
|
||
PacketID int64 `gorm:"column:packet_id;uniqueIndex:uk_voice_room_red_packet_claim_user,priority:1;index:idx_voice_room_red_packet_claim_packet,priority:1"`
|
||
PacketNo string `gorm:"column:packet_no;size:64"`
|
||
SliceID int64 `gorm:"column:slice_id"`
|
||
SysOrigin string `gorm:"column:sys_origin;size:32"`
|
||
RoomID int64 `gorm:"column:room_id"`
|
||
UserID int64 `gorm:"column:user_id;uniqueIndex:uk_voice_room_red_packet_claim_user,priority:2"`
|
||
UserRegionCode string `gorm:"column:user_region_code;size:32"`
|
||
Amount int64 `gorm:"column:amount"`
|
||
WalletEventID string `gorm:"column:wallet_event_id;size:128;uniqueIndex:uk_voice_room_red_packet_claim_event"`
|
||
WalletStatus string `gorm:"column:wallet_status;size:32"`
|
||
ErrorMessage string `gorm:"column:error_message;size:1024"`
|
||
ClaimTime time.Time `gorm:"column:claim_time;index:idx_voice_room_red_packet_claim_packet,priority:2"`
|
||
CreateTime time.Time `gorm:"column:create_time"`
|
||
UpdateTime time.Time `gorm:"column:update_time"`
|
||
}
|
||
|
||
func (VoiceRoomRedPacketClaim) TableName() string { return "voice_room_red_packet_claim" }
|
||
|
||
// VoiceRoomRedPacketDailyCounter 保存用户单日发送计数。
|
||
type VoiceRoomRedPacketDailyCounter struct {
|
||
ID int64 `gorm:"column:id;primaryKey"`
|
||
SysOrigin string `gorm:"column:sys_origin;size:32;uniqueIndex:uk_voice_room_red_packet_daily,priority:1"`
|
||
UserID int64 `gorm:"column:user_id;uniqueIndex:uk_voice_room_red_packet_daily,priority:2"`
|
||
DayKey string `gorm:"column:day_key;size:16;uniqueIndex:uk_voice_room_red_packet_daily,priority:3"`
|
||
SendCount int `gorm:"column:send_count"`
|
||
CreateTime time.Time `gorm:"column:create_time"`
|
||
UpdateTime time.Time `gorm:"column:update_time"`
|
||
}
|
||
|
||
func (VoiceRoomRedPacketDailyCounter) TableName() string {
|
||
return "voice_room_red_packet_daily_counter"
|
||
}
|