You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.7 KiB
81 lines
2.7 KiB
package user
|
|
|
|
import (
|
|
"github.com/golangkit/formatime"
|
|
"recook/internal/v2/lib/db"
|
|
)
|
|
|
|
const (
|
|
RecookUserWelfareCardTypeGold = 1 // 黄金卡
|
|
RecookUserWelfareCardTypeSilver = 2 // 白银卡
|
|
|
|
RecookUserWelfareCardStatusNone = 0 // 未使用
|
|
RecookUserWelfareCardStatusUse = 1 // 已使用
|
|
RecookUserWelfareCardStatusGive = 2 // 赠送
|
|
|
|
RecookUserWelfareCardSourceGive = 1 // 赠送
|
|
RecookUserWelfareCardSourceSystemGive = 2 // 系统赠送
|
|
RecookUserWelfareCardSourceExam = 3 // 考核退还
|
|
)
|
|
|
|
type RecookUserWelfareCardModel struct {
|
|
db.BaseModel
|
|
Id uint `gorm:"column:id" json:"id"`
|
|
UserId uint `json:"userId"`
|
|
Code string `json:"code"`
|
|
Type uint `json:"type"`
|
|
Source uint `json:"source"`
|
|
SourceId uint `json:"sourceId"`
|
|
Status uint `json:"status"`
|
|
GiveUserId uint `json:"giveUserId"`
|
|
UseAt formatime.Second `json:"useAt"`
|
|
CreatedAt formatime.Second `json:"createdAt"`
|
|
UpdatedAt formatime.Second `json:"updatedAt"`
|
|
}
|
|
|
|
// TableName sets the insert table name for this struct type
|
|
func (r *RecookUserWelfareCardModel) TableName() string {
|
|
return "recook_user_welfare_card"
|
|
}
|
|
|
|
// @Style 发货状态
|
|
func (r *RecookUserWelfareCardModel) GetScourceName(Source uint) string {
|
|
switch Source {
|
|
case RecookUserWelfareCardSourceGive:
|
|
return "推荐人赠送"
|
|
case RecookUserWelfareCardSourceSystemGive:
|
|
return "系统赠送"
|
|
case RecookUserWelfareCardSourceExam:
|
|
return "考核退还"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// @Style 添加
|
|
func (r *RecookUserWelfareCardModel) Create(data *RecookUserWelfareCardModel) {
|
|
r.GetDb().Create(data)
|
|
}
|
|
|
|
// @Style 获取列表数量
|
|
func (r *RecookUserWelfareCardModel) List(start, limit int, order string, query interface{}, args ...interface{}) (result []RecookUserWelfareCardModel) {
|
|
r.GetDb().Model(&RecookUserWelfareCardModel{}).Offset(start).Limit(limit).Where(query, args...).Order(order).Find(&result)
|
|
return
|
|
}
|
|
|
|
// @Style 获取列表数量
|
|
func (r *RecookUserWelfareCardModel) ListCount(query interface{}, args ...interface{}) (count int) {
|
|
r.GetDb().Model(&RecookUserWelfareCardModel{}).Where(query, args...).Count(&count)
|
|
return
|
|
}
|
|
|
|
// @Style 根据Id获取数据
|
|
func (r *RecookUserWelfareCardModel) FindById(userId uint) (result RecookUserWelfareCardModel) {
|
|
r.GetDb().Model(&RecookUserWelfareCardModel{}).First(&result, "id = ?", userId)
|
|
return
|
|
}
|
|
|
|
// @Style 编辑
|
|
func (r *RecookUserWelfareCardModel) UpdateByIdAndStatus(id, status uint, date *RecookUserWelfareCardModel) int64 {
|
|
return r.GetDb().Model(&RecookUserWelfareCardModel{}).Where("id = ? and status = ?", id, status).Update(date).RowsAffected
|
|
}
|