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

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
}