bilibili-backup/app/admin/main/growup/model/offlineactivity/offlineactivity.go
2019-04-22 02:59:20 +00:00

159 lines
4.7 KiB
Go

package offlineactivity
import (
"go-common/library/time"
"strconv"
)
const (
//BonusTypeThing 奖品
BonusTypeThing = 0
//BonusTypeMoney 奖金
BonusTypeMoney = 1
)
//ActivityState activity state
type ActivityState int8
const (
//StateDelete 删除了
StateDelete = 100
// 用来转换 float * moneyCont -> int
moneyConst = 1000
)
const (
//ActivityStateInit 初始状态
ActivityStateInit ActivityState = 0
//ActivityStateSending 发送状态
ActivityStateSending ActivityState = 1
//ActivityStateWaitResult 等待审核结果
ActivityStateWaitResult ActivityState = 2
//ActivityStateSucess 成功
ActivityStateSucess ActivityState = 10
//ActivityStateFail 发送失败
ActivityStateFail ActivityState = 11
//ActivityStateCreateFail 创建失败
ActivityStateCreateFail ActivityState = 12
)
const (
//TableOfflineActivityInfo info name
TableOfflineActivityInfo = "offline_activity_info"
//TableOfflineActivityBonus bonus name
TableOfflineActivityBonus = "offline_activity_bonus"
//TableOfflineActivityResult result name
TableOfflineActivityResult = "offline_activity_result"
//TableOfflineActivityShellOrder shell order name
TableOfflineActivityShellOrder = "offline_activity_shell_order"
)
//OfflineActivityInfo table info
type OfflineActivityInfo struct {
ID int64 `json:"id" gorm:"column:id"`
Title string `json:"title" gorm:"column:title"`
Link string `json:"link" gorm:"column:link"`
BonusType int8 `json:"bonus_type" gorm:"column:bonus_type"`
Memo string `json:"memo" gorm:"column:memo"`
Creator string `json:"creator" gorm:"column:creator"`
State int8 `json:"state" gorm:"column:state"`
CTime time.Time `json:"ctime" gorm:"column:ctime"`
MTime time.Time `json:"-" gorm:"column:mtime"`
}
//TableName get table name
func (o *OfflineActivityInfo) TableName() string {
return TableOfflineActivityInfo
}
//BonusState bonus state
type BonusState int8
const (
//BonusStateInit init state
BonusStateInit BonusState = 0
)
//OfflineActivityBonus table bonus
type OfflineActivityBonus struct {
ID int64 `json:"id" gorm:"column:id"`
ActivityID int64 `json:"activity_id" gorm:"column:activity_id"`
TotalMoney int64 `json:"total_money" gorm:"column:total_money"`
MemberCount uint32 `json:"member_count" gorm:"column:member_count"`
State int8 `json:"state" gorm:"column:state"`
CTime time.Time `json:"ctime" gorm:"column:ctime"`
MTime time.Time `json:"mtime" gorm:"column:mtime"`
}
//TableName tablename
func (o *OfflineActivityBonus) TableName() string {
return TableOfflineActivityBonus
}
//OfflineActivityResult table result
type OfflineActivityResult struct {
ID int64 `json:"id" gorm:"column:id;primary_key"`
ActivityID int64 `json:"activity_id" gorm:"column:activity_id"`
BonusID int64 `json:"bonus_id" gorm:"column:bonus_id"`
BonusType int8 `json:"bonus_type" gorm:"column:bonus_type"`
Mid int64 `json:"mid" gorm:"column:mid"`
BonusMoney int64 `json:"bonus_money" gorm:"column:bonus_money"`
OrderID string `json:"order_id" gorm:"column:order_id"`
State int8 `json:"state" gorm:"column:state"`
CTime time.Time `json:"ctime" gorm:"column:ctime"`
MTime time.Time `json:"mtime" gorm:"column:mtime"`
}
//TableName table name
func (o *OfflineActivityResult) TableName() string {
return TableOfflineActivityResult
}
//OfflineActivityShellOrder table shell order, order for shell system
type OfflineActivityShellOrder struct {
ID int64 `json:"id" gorm:"column:id"`
ResultID int64 `json:"result_id" gorm:"column:result_id"`
OrderID string `json:"order_id" gorm:"column:order_id"`
OrderStatus string `json:"order_status" gorm:"column:order_status"`
CTime time.Time `json:"ctime" gorm:"column:ctime"`
MTime time.Time `json:"mtime" gorm:"column:mtime"`
}
//TableName table name
func (o *OfflineActivityShellOrder) TableName() string {
return TableOfflineActivityShellOrder
}
//GetMoneyFromDb get money from db
func GetMoneyFromDb(dbmoney int64) float64 {
return float64(dbmoney) / moneyConst
}
//GetMoneyForDb set money to db
func GetMoneyForDb(realmoney float64) int64 {
return int64(realmoney * moneyConst)
}
//StateToString State to string
func StateToString(state int) string {
switch state {
case int(ActivityStateInit):
return "初始"
case int(ActivityStateSending):
return "发送贝壳中"
case int(ActivityStateWaitResult):
return "等待审核结果"
case int(ActivityStateSucess):
return "成功"
case int(ActivityStateFail):
return "失败"
case int(ActivityStateCreateFail):
return "创建失败"
case StateDelete:
return "已删除"
default:
return strconv.Itoa(state)
}
}