mirror of
https://github.com/halejohn/Cloudreve.git
synced 2026-01-26 09:34:57 +08:00
Feat: vas redeem
This commit is contained in:
@@ -30,7 +30,7 @@ func migration() {
|
||||
DB = DB.Set("gorm:table_options", "ENGINE=InnoDB")
|
||||
}
|
||||
DB.AutoMigrate(&User{}, &Setting{}, &Group{}, &Policy{}, &Folder{}, &File{}, &StoragePack{}, &Share{},
|
||||
&Task{}, &Download{}, &Tag{}, &Webdav{}, &Order{})
|
||||
&Task{}, &Download{}, &Tag{}, &Webdav{}, &Order{}, &Redeem{})
|
||||
|
||||
// 创建初始存储策略
|
||||
addDefaultPolicy()
|
||||
|
||||
@@ -27,7 +27,7 @@ const (
|
||||
type Order struct {
|
||||
gorm.Model
|
||||
UserID uint // 创建者ID
|
||||
OrderNo string // 商户自定义订单编号
|
||||
OrderNo string `gorm:"index:order_number"` // 商户自定义订单编号
|
||||
Type int // 订单类型
|
||||
Method string // 支付类型
|
||||
ProductID int64 // 商品ID
|
||||
|
||||
27
models/redeem.go
Normal file
27
models/redeem.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package model
|
||||
|
||||
import "github.com/jinzhu/gorm"
|
||||
|
||||
// Redeem 兑换码
|
||||
type Redeem struct {
|
||||
gorm.Model
|
||||
Type int // 订单类型
|
||||
ProductID int64 // 商品ID
|
||||
Num int // 商品数量
|
||||
Code string `gorm:"size:64,index:redeem_code"` // 兑换码
|
||||
Used bool // 是否已被使用
|
||||
}
|
||||
|
||||
// GetAvailableRedeem 根据code查找可用兑换码
|
||||
func GetAvailableRedeem(code string) (*Redeem, error) {
|
||||
redeem := &Redeem{}
|
||||
result := DB.Where("code = ? and used = ?", code, false).First(redeem)
|
||||
return redeem, result.Error
|
||||
}
|
||||
|
||||
// Use 设定为已使用状态
|
||||
func (redeem *Redeem) Use() {
|
||||
DB.Model(redeem).Updates(map[string]interface{}{
|
||||
"used": true,
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user