This commit is contained in:
li 2022-11-24 17:56:21 +08:00
parent 17c104a1bc
commit 2e8ea731ab
5 changed files with 94 additions and 6 deletions

View File

@ -741,6 +741,11 @@ func RefundDeposit(c *gin.Context) {
RespJson(c, status.InternalServerError, nil)
return
}
if user.DepositType == 3 {
logger.Error("deposit restraint")
RespJson(c, status.DepositRestraint, nil)
return
}
unreturnedOrders, err := model.IsUserHaveUnreturnedOrder(user.Uid)
if err != nil {
logger.Error("err:", err)

View File

@ -107,6 +107,7 @@ const (
UserNotMember = 500524 // 仅开通过会员的用户可兑换
CouponReceived = 500525 // 你已兑换过该券
CouponPromotionalUnused = 500526 // 您有未使用的专属续费券
DepositRestraint = 500527 // 押金受限
ToastErr = 600 // 报错
)
@ -179,9 +180,9 @@ var statusDesc = map[int]string{
UserNotMember: "仅开通过会员的用户可兑换",
CouponReceived: "你已兑换过该券",
CouponPromotionalUnused: "您有未使用的专属续费券",
NotMember: "非会员",
HadReceiveReward: "已经领取过了",
DepositRestraint: "押金受限",
NotMember: "非会员",
HadReceiveReward: "已经领取过了",
}
var statusMsg = map[int]string{
@ -253,6 +254,7 @@ var statusMsg = map[int]string{
UserNotMember: "仅开通过会员的用户可兑换",
CouponReceived: "你已兑换过该券",
CouponPromotionalUnused: "您有未使用的专属续费券",
DepositRestraint: "押金受限",
AwardOffShelves: "奖品已下架",
AwardExchangeOut: "奖品已兑完",

View File

@ -12677,6 +12677,62 @@ func (qs UserQuerySet) DepositNotIn(deposit ...uint32) UserQuerySet {
return qs.w(qs.db.Where("deposit NOT IN (?)", deposit))
}
// DepositTypeEq is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DepositTypeEq(depositType uint32) UserQuerySet {
return qs.w(qs.db.Where("deposit_type = ?", depositType))
}
// DepositTypeGt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DepositTypeGt(depositType uint32) UserQuerySet {
return qs.w(qs.db.Where("deposit_type > ?", depositType))
}
// DepositTypeGte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DepositTypeGte(depositType uint32) UserQuerySet {
return qs.w(qs.db.Where("deposit_type >= ?", depositType))
}
// DepositTypeIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DepositTypeIn(depositType ...uint32) UserQuerySet {
if len(depositType) == 0 {
qs.db.AddError(errors.New("must at least pass one depositType in DepositTypeIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("deposit_type IN (?)", depositType))
}
// DepositTypeLt is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DepositTypeLt(depositType uint32) UserQuerySet {
return qs.w(qs.db.Where("deposit_type < ?", depositType))
}
// DepositTypeLte is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DepositTypeLte(depositType uint32) UserQuerySet {
return qs.w(qs.db.Where("deposit_type <= ?", depositType))
}
// DepositTypeNe is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DepositTypeNe(depositType uint32) UserQuerySet {
return qs.w(qs.db.Where("deposit_type != ?", depositType))
}
// DepositTypeNotIn is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) DepositTypeNotIn(depositType ...uint32) UserQuerySet {
if len(depositType) == 0 {
qs.db.AddError(errors.New("must at least pass one depositType in DepositTypeNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("deposit_type NOT IN (?)", depositType))
}
// GenderEq is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) GenderEq(gender uint8) UserQuerySet {
@ -13365,6 +13421,12 @@ func (qs UserQuerySet) OrderAscByDeposit() UserQuerySet {
return qs.w(qs.db.Order("deposit ASC"))
}
// OrderAscByDepositType is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderAscByDepositType() UserQuerySet {
return qs.w(qs.db.Order("deposit_type ASC"))
}
// OrderAscByGender is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderAscByGender() UserQuerySet {
@ -13575,6 +13637,12 @@ func (qs UserQuerySet) OrderDescByDeposit() UserQuerySet {
return qs.w(qs.db.Order("deposit DESC"))
}
// OrderDescByDepositType is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderDescByDepositType() UserQuerySet {
return qs.w(qs.db.Order("deposit_type DESC"))
}
// OrderDescByGender is an autogenerated method
// nolint: dupl
func (qs UserQuerySet) OrderDescByGender() UserQuerySet {
@ -14642,6 +14710,13 @@ func (u UserUpdater) SetDeposit(deposit uint32) UserUpdater {
return u
}
// SetDepositType is an autogenerated method
// nolint: dupl
func (u UserUpdater) SetDepositType(depositType uint32) UserUpdater {
u.fields[string(UserDBSchema.DepositType)] = depositType
return u
}
// SetGender is an autogenerated method
// nolint: dupl
func (u UserUpdater) SetGender(gender uint8) UserUpdater {
@ -14887,6 +14962,7 @@ var UserDBSchema = struct {
OpenMemberLevel UserDBSchemaField
Version UserDBSchemaField
InviteTime UserDBSchemaField
DepositType UserDBSchemaField
}{
ID: UserDBSchemaField("id"),
@ -14924,6 +15000,7 @@ var UserDBSchema = struct {
OpenMemberLevel: UserDBSchemaField("open_member_level"),
Version: UserDBSchemaField("version"),
InviteTime: UserDBSchemaField("invite_time"),
DepositType: UserDBSchemaField("deposit_type"),
}
// Update updates User fields by primary key
@ -14965,6 +15042,7 @@ func (o *User) Update(db *gorm.DB, fields ...UserDBSchemaField) error {
"open_member_level": o.OpenMemberLevel,
"version": o.Version,
"invite_time": o.InviteTime,
"deposit_type": o.DepositType,
}
u := map[string]interface{}{}
for _, f := range fields {

View File

@ -165,6 +165,7 @@ func InitTestDB() {
&UserCoupon{},
&ShopperPromotionCode{},
&UserInvite{},
&User{},
)
fmt.Println("DB init success")
@ -213,6 +214,7 @@ func InitDBProd() {
&ShopperPromotionCode{},
&UserCoupon{},
&UserInvite{},
&User{},
)
if err := DBProd.DB().Ping(); err != nil {

View File

@ -49,9 +49,10 @@ type User struct {
//RenewalMemberLevel uint32 `json:"renewal_member_level"`
OpenMemberLevel uint32 `json:"open_member_level"`
Version uint32 `json:"-"` //
UserVm *UserVm `json:"user_vm" gorm:"-"` //
InviteTime time.Time `json:"invite_time"`
Version uint32 `json:"-"` //
UserVm *UserVm `json:"user_vm" gorm:"-"` //
InviteTime time.Time `json:"invite_time"`
DepositType uint32 `json:"deposit_type"` // 押金类型: 3-未充值
//RoleId uint32 `json:"role_id"` // 角色id
}