Documentation ¶
Overview ¶
中奖率支持模块
Index ¶
- func BatchCreate(bat *Batch, uid uint) error
- func ProjectCreate(stat *Project, uid uint) error
- func RateWinning(p []RateWain) int
- func Regedit(c *Config)
- func StartCreate(stat *Start, uid uint) error
- func UserCount(uid uint, bid, pid, sid uint) uint
- func UserCreate(u *User) error
- type Batch
- type Config
- type Project
- type RateWain
- type Start
- type User
- type UserProject
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Batch ¶
type Batch struct { ID uint `gorm:"id;primaryKey;type:BIGINT UNSIGNED;not null;autoIncrement" form:"id" json:"id"` // 批次ID Name string `gorm:"column:name;type:VARCHAR(200);comment:批次名称" json:"name" form:"name"` // 名称 UserId uint `gorm:"column:user_id;type:INT UNSIGNED;comment:发布人ID" json:"user_id" form:"user_id"` // 发布人ID Icon uint `gorm:"column:icon;type:INT UNSIGNED;comment:icon图ID" json:"icon" form:"icon"` // 批次图标ID【关联文件ID】 Cover uint `gorm:"column:cover;type:INT UNSIGNED;comment:封面图ID" json:"cover" form:"cover"` // 封面图ID【关联文件ID】 IsDefault uint8 `gorm:"column:is_default;type:TINYINT UNSIGNED;comment:是否为默认批次" json:"is_default" form:"is_default"` // 是否是默认批次 StartTime string `gorm:"column:start_time;type:DATETIME;comment:开始时间" json:"start_time" form:"start_time"` // 开始时间 EndTime string `gorm:"column:end_time;type:DATETIME;comment:结束时间" json:"end_time" form:"end_time"` // 结束时间 Guarantee uint `gorm:"column:guarantee;type:INT UNSIGNED;comment:保底次数" json:"guarantee" form:"guarantee"` // 保底次数 GuaranteeId uint `gorm:"column:guarantee_id;type:INT UNSIGNED;comment:保底产品ID" json:"guarantee_id" form:"guarantee_id"` // 保底产品ID Status uint8 `` // 状态 0-草稿 1-已发布【已发布禁止修改】 2-已归档 /* 136-byte string literal not displayed */ CreatedAt string `gorm:"column:created_at;type:datetime;comment:创建时间" json:"created_at" form:"created_at"` // 创建时间 UpdatedAt string `gorm:"column:updated_at;type:datetime;comment:修改时间" json:"updated_at" form:"updated_at"` // 修改时间 }
批次表结构
type Config ¶
type Config struct { DB *gorm.DB // 数据库连接 BatchName string // 批次表名,通过该表ID进行抽奖 StartName string // 星级所属表名 ProjectName string // 奖品所属表名 UserName string // 用户中奖表名 }
配置信息
type Project ¶
type Project struct { ID uint `gorm:"id;primaryKey;type:BIGINT UNSIGNED;not null;autoIncrement" form:"id" json:"id"` // 奖品ID UserId uint `gorm:"column:user_id;type:INT UNSIGNED;comment:发布人" json:"user_id" form:"user_id"` // 发布人ID Name string `gorm:"column:name;type:VARCHAR(200);comment:奖品名称" json:"name" form:"name"` // 名称 StartID uint `gorm:"column:start_id;type:INT UNSIGNED;index:start_id;comment:星级ID" json:"start_id" form:"start_id"` // 星级ID BatchId uint `gorm:"column:batch_id;type:INT UNSIGNED;index:batch_id;comment:批次ID" json:"batch_id" form:"batch_id"` // 批次ID Rate float64 `gorm:"column:rate;type:DECIMAL(10,6);comment:中奖率" json:"rate" form:"rate"` // 中奖率,公式为:星级中奖率 / 星级奖品数 * 奖品中奖率,100为标准中奖率,50为减半中奖率,200为双倍UP Inventory uint `gorm:"column:inventory;type:INT UNSIGNED;comment:奖品总库存" json:"inventory" form:"inventory"` // 奖品库存 Residue int `gorm:"column:residue;type:INT;comment:剩余库存" json:"residue" form:"residue"` // 剩余库存 CreatedAt string `gorm:"column:created_at;type:datetime;comment:创建时间" json:"created_at" form:"created_at"` // 创建时间 UpdatedAt string `gorm:"column:updated_at;type:datetime;comment:修改时间" json:"updated_at" form:"updated_at"` // 修改时间 }
奖品表结构
type RateWain ¶
type Start ¶
type Start struct { ID uint `gorm:"id;primaryKey;type:BIGINT UNSIGNED;not null;autoIncrement" form:"id" json:"id"` // 星级ID UserId uint `gorm:"column:user_id;type:INT UNSIGNED;comment:发布人" json:"user_id" form:"user_id"` // 发布人ID BatchId uint `gorm:"column:batch_id;type:INT UNSIGNED;index:batch_id;comment:批次ID" json:"batch_id" form:"batch_id"` // 批次ID Name string `gorm:"column:name;type:VARCHAR(200);comment:星级名称" json:"name" form:"name"` // 名称 Rate float64 `gorm:"column:rate;type:DECIMAL(10,6);comment:中奖率" json:"rate" form:"rate"` // 中奖率 Guarantee uint `gorm:"column:guarantee;type:INT UNSIGNED;comment:保底次数" json:"guarantee" form:"guarantee"` // 保底次数 CreatedAt string `gorm:"column:created_at;type:datetime;comment:创建时间" json:"created_at" form:"created_at"` // 创建时间 UpdatedAt string `gorm:"column:updated_at;type:datetime;comment:修改时间" json:"updated_at" form:"updated_at"` // 修改时间 }
星级表结构
type User ¶
type User struct { ID uint `gorm:"id;primaryKey;type:BIGINT UNSIGNED;not null;autoIncrement" form:"id" json:"id"` // 中奖ID UserId uint `gorm:"column:user_id;type:INT UNSIGNED;not null;index:user_id;comment:用户ID" json:"user_id" form:"user_id"` // 中奖人id StartID uint `gorm:"column:start_id;type:INT UNSIGNED;index:start_id;comment:星级ID" json:"start_id" form:"start_id"` // 星级ID ProjectID uint `gorm:"column:project_id;type:INT UNSIGNED;index:project_id;comment:奖品ID" json:"project_id" form:"project_id"` // 奖品ID BatchId uint `gorm:"column:batch_id;type:INT UNSIGNED;index:batch_id;comment:批次ID" json:"batch_id" form:"batch_id"` // 批次ID IsUsed uint8 `gorm:"column:is_used;type:TINYINT UNSIGNED;comment:是否使用 0-未使用 1-已使用" json:"is_used" form:"is_used"` // 是否使用 0-未使用 1-已使用 Msg string `gorm:"column:msg;type:VARCHAR(200);comment:抽奖备注" json:"msg" form:"msg"` // 抽奖备注 CreatedAt string `gorm:"column:created_at;type:datetime;comment:创建时间" json:"created_at" form:"created_at"` // 创建时间 UpdatedAt string `gorm:"column:updated_at;type:datetime;comment:修改时间" json:"updated_at" form:"updated_at"` // 修改时间 }
用户中奖记录表
type UserProject ¶
type UserProject struct { ID uint `gorm:"id" form:"id" json:"id"` // 中奖ID ProjectName string `gorm:"column:project_name" json:"project_name" form:"project_name"` // 奖品名称 ProjectId uint `gorm:"column:project_id" json:"project_id" form:"project_id"` // 奖品ID StartName string `gorm:"column:start_name" json:"start_name" form:"start_name"` // 星级名称 StartId uint `gorm:"column:start_id" json:"start_id" form:"start_id"` // 星级ID BatchName string `gorm:"column:batch_name" json:"batch_name" form:"batch_name"` // 批次名称 BatchId uint `gorm:"column:batch_id" json:"batch_id" form:"batch_id"` // 批次ID IsUsed uint8 `gorm:"column:is_used" json:"is_used" form:"is_used"` // 是否使用 0-未使用 1-已使用 Msg string `gorm:"column:msg" json:"msg" form:"msg"` // 抽奖备注 CreatedAt string `gorm:"column:created_at" json:"created_at" form:"created_at"` // 创建时间 }
用户抽奖返回列表
Click to show internal directories.
Click to hide internal directories.