feat: Redemption Code
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
package redemption
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type RedemptionCode struct {
|
||||
Id int64 `gorm:"primaryKey"`
|
||||
Code string `gorm:"type:varchar(255);not null;unique;comment:Redemption Code"`
|
||||
TotalCount int64 `gorm:"type:int;not null;default:0;comment:Total Redemption Count"`
|
||||
UsedCount int64 `gorm:"type:int;not null;default:0;comment:Used Redemption Count"`
|
||||
SubscribePlan int64 `gorm:"type:bigint;not null;default:0;comment:Subscribe Plan"`
|
||||
UnitTime string `gorm:"type:varchar(50);not null;default:'month';comment:Unit Time: day, month, quarter, half_year, year"`
|
||||
Quantity int64 `gorm:"type:int;not null;default:1;comment:Quantity"`
|
||||
CreatedAt time.Time `gorm:"<-:create;comment:Create Time"`
|
||||
UpdatedAt time.Time `gorm:"comment:Update Time"`
|
||||
DeletedAt gorm.DeletedAt `gorm:"index;comment:Delete Time"`
|
||||
}
|
||||
|
||||
type RedemptionRecord struct {
|
||||
Id int64 `gorm:"primaryKey"`
|
||||
RedemptionCodeId int64 `gorm:"type:bigint;not null;default:0;comment:Redemption Code Id;index"`
|
||||
UserId int64 `gorm:"type:bigint;not null;default:0;comment:User Id;index"`
|
||||
SubscribeId int64 `gorm:"type:bigint;not null;default:0;comment:Subscribe Id"`
|
||||
UnitTime string `gorm:"type:varchar(50);not null;default:'month';comment:Unit Time"`
|
||||
Quantity int64 `gorm:"type:int;not null;default:1;comment:Quantity"`
|
||||
RedeemedAt time.Time `gorm:"<-:create;comment:Redeemed Time"`
|
||||
CreatedAt time.Time `gorm:"<-:create;comment:Create Time"`
|
||||
}
|
||||
|
||||
func (RedemptionCode) TableName() string {
|
||||
return "redemption_code"
|
||||
}
|
||||
|
||||
func (RedemptionRecord) TableName() string {
|
||||
return "redemption_record"
|
||||
}
|
||||
Reference in New Issue
Block a user