Merge branch 'dev_mall_member' into dev_share_card_issue_code
This commit is contained in:
commit
30fca5a0a4
|
@ -326,7 +326,7 @@ func UpgradeMember(c *gin.Context) {
|
||||||
// 补押金
|
// 补押金
|
||||||
depositMendFee := int64(memberConfig.MemberDeposit) - int64(user.Deposit)
|
depositMendFee := int64(memberConfig.MemberDeposit) - int64(user.Deposit)
|
||||||
|
|
||||||
count, err := model.NewUserRedeemCodeQuerySet(model.DB).UidEq(uc.Uid).StatusEq(model.RedeemCodeStatusUsed).Count()
|
count, err := model.NewUserRedeemCodeQuerySet(model.DB).UidEq(uc.Uid).CodeTypeEq(model.CodeTypeMemberCard30).StatusEq(model.RedeemCodeStatusUsed).Count()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
RespJson(c, status.InternalServerError, nil)
|
RespJson(c, status.InternalServerError, nil)
|
||||||
|
@ -452,7 +452,7 @@ func UpgradeMemberInfo(c *gin.Context) {
|
||||||
// 补押金
|
// 补押金
|
||||||
depositMendFee := int64(memberConfig.MemberDeposit) - int64(user.Deposit)
|
depositMendFee := int64(memberConfig.MemberDeposit) - int64(user.Deposit)
|
||||||
|
|
||||||
count, err := model.NewUserRedeemCodeQuerySet(model.DB).UidEq(uc.Uid).StatusEq(model.RedeemCodeStatusUsed).Count()
|
count, err := model.NewUserRedeemCodeQuerySet(model.DB).UidEq(uc.Uid).CodeTypeEq(model.CodeTypeMemberCard30).StatusEq(model.RedeemCodeStatusUsed).Count()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("err:", err)
|
logger.Error("err:", err)
|
||||||
RespJson(c, status.InternalServerError, nil)
|
RespJson(c, status.InternalServerError, nil)
|
||||||
|
|
|
@ -4,6 +4,7 @@ package model
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/jinzhu/gorm"
|
"github.com/jinzhu/gorm"
|
||||||
|
@ -29,6 +30,15 @@ func (qs RedeemCodeQuerySet) w(db *gorm.DB) RedeemCodeQuerySet {
|
||||||
return NewRedeemCodeQuerySet(db)
|
return NewRedeemCodeQuerySet(db)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (qs RedeemCodeQuerySet) Select(fields ...RedeemCodeDBSchemaField) RedeemCodeQuerySet {
|
||||||
|
names := []string{}
|
||||||
|
for _, f := range fields {
|
||||||
|
names = append(names, f.String())
|
||||||
|
}
|
||||||
|
|
||||||
|
return qs.w(qs.db.Select(strings.Join(names, ",")))
|
||||||
|
}
|
||||||
|
|
||||||
// Create is an autogenerated method
|
// Create is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (o *RedeemCode) Create(db *gorm.DB) error {
|
func (o *RedeemCode) Create(db *gorm.DB) error {
|
||||||
|
@ -53,6 +63,18 @@ func (qs RedeemCodeQuerySet) CodeSecretEq(codeSecret string) RedeemCodeQuerySet
|
||||||
return qs.w(qs.db.Where("code_secret = ?", codeSecret))
|
return qs.w(qs.db.Where("code_secret = ?", codeSecret))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CodeSecretGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) CodeSecretGt(codeSecret string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_secret > ?", codeSecret))
|
||||||
|
}
|
||||||
|
|
||||||
|
// CodeSecretGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) CodeSecretGte(codeSecret string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_secret >= ?", codeSecret))
|
||||||
|
}
|
||||||
|
|
||||||
// CodeSecretIn is an autogenerated method
|
// CodeSecretIn is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) CodeSecretIn(codeSecret ...string) RedeemCodeQuerySet {
|
func (qs RedeemCodeQuerySet) CodeSecretIn(codeSecret ...string) RedeemCodeQuerySet {
|
||||||
|
@ -63,6 +85,24 @@ func (qs RedeemCodeQuerySet) CodeSecretIn(codeSecret ...string) RedeemCodeQueryS
|
||||||
return qs.w(qs.db.Where("code_secret IN (?)", codeSecret))
|
return qs.w(qs.db.Where("code_secret IN (?)", codeSecret))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CodeSecretLike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) CodeSecretLike(codeSecret string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_secret LIKE ?", codeSecret))
|
||||||
|
}
|
||||||
|
|
||||||
|
// CodeSecretLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) CodeSecretLt(codeSecret string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_secret < ?", codeSecret))
|
||||||
|
}
|
||||||
|
|
||||||
|
// CodeSecretLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) CodeSecretLte(codeSecret string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_secret <= ?", codeSecret))
|
||||||
|
}
|
||||||
|
|
||||||
// CodeSecretNe is an autogenerated method
|
// CodeSecretNe is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) CodeSecretNe(codeSecret string) RedeemCodeQuerySet {
|
func (qs RedeemCodeQuerySet) CodeSecretNe(codeSecret string) RedeemCodeQuerySet {
|
||||||
|
@ -79,12 +119,30 @@ func (qs RedeemCodeQuerySet) CodeSecretNotIn(codeSecret ...string) RedeemCodeQue
|
||||||
return qs.w(qs.db.Where("code_secret NOT IN (?)", codeSecret))
|
return qs.w(qs.db.Where("code_secret NOT IN (?)", codeSecret))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CodeSecretNotlike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) CodeSecretNotlike(codeSecret string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_secret NOT LIKE ?", codeSecret))
|
||||||
|
}
|
||||||
|
|
||||||
// CodeTypeEq is an autogenerated method
|
// CodeTypeEq is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) CodeTypeEq(codeType string) RedeemCodeQuerySet {
|
func (qs RedeemCodeQuerySet) CodeTypeEq(codeType string) RedeemCodeQuerySet {
|
||||||
return qs.w(qs.db.Where("code_type = ?", codeType))
|
return qs.w(qs.db.Where("code_type = ?", codeType))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CodeTypeGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) CodeTypeGt(codeType string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_type > ?", codeType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// CodeTypeGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) CodeTypeGte(codeType string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_type >= ?", codeType))
|
||||||
|
}
|
||||||
|
|
||||||
// CodeTypeIn is an autogenerated method
|
// CodeTypeIn is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) CodeTypeIn(codeType ...string) RedeemCodeQuerySet {
|
func (qs RedeemCodeQuerySet) CodeTypeIn(codeType ...string) RedeemCodeQuerySet {
|
||||||
|
@ -95,6 +153,24 @@ func (qs RedeemCodeQuerySet) CodeTypeIn(codeType ...string) RedeemCodeQuerySet {
|
||||||
return qs.w(qs.db.Where("code_type IN (?)", codeType))
|
return qs.w(qs.db.Where("code_type IN (?)", codeType))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CodeTypeLike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) CodeTypeLike(codeType string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_type LIKE ?", codeType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// CodeTypeLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) CodeTypeLt(codeType string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_type < ?", codeType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// CodeTypeLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) CodeTypeLte(codeType string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_type <= ?", codeType))
|
||||||
|
}
|
||||||
|
|
||||||
// CodeTypeNe is an autogenerated method
|
// CodeTypeNe is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) CodeTypeNe(codeType string) RedeemCodeQuerySet {
|
func (qs RedeemCodeQuerySet) CodeTypeNe(codeType string) RedeemCodeQuerySet {
|
||||||
|
@ -111,6 +187,12 @@ func (qs RedeemCodeQuerySet) CodeTypeNotIn(codeType ...string) RedeemCodeQuerySe
|
||||||
return qs.w(qs.db.Where("code_type NOT IN (?)", codeType))
|
return qs.w(qs.db.Where("code_type NOT IN (?)", codeType))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CodeTypeNotlike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) CodeTypeNotlike(codeType string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_type NOT LIKE ?", codeType))
|
||||||
|
}
|
||||||
|
|
||||||
// Count is an autogenerated method
|
// Count is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) Count() (int, error) {
|
func (qs RedeemCodeQuerySet) Count() (int, error) {
|
||||||
|
@ -381,6 +463,18 @@ func (qs RedeemCodeQuerySet) One(ret *RedeemCode) error {
|
||||||
return qs.db.First(ret).Error
|
return qs.db.First(ret).Error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderAscByCodeSecret is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) OrderAscByCodeSecret() RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("code_secret ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OrderAscByCodeType is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) OrderAscByCodeType() RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("code_type ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderAscByCreatedAt is an autogenerated method
|
// OrderAscByCreatedAt is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) OrderAscByCreatedAt() RedeemCodeQuerySet {
|
func (qs RedeemCodeQuerySet) OrderAscByCreatedAt() RedeemCodeQuerySet {
|
||||||
|
@ -411,12 +505,42 @@ func (qs RedeemCodeQuerySet) OrderAscByID() RedeemCodeQuerySet {
|
||||||
return qs.w(qs.db.Order("id ASC"))
|
return qs.w(qs.db.Order("id ASC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderAscBySerialCode is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) OrderAscBySerialCode() RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("serial_code ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OrderAscByStatus is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) OrderAscByStatus() RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("status ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OrderAscByStoreId is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) OrderAscByStoreId() RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("store_id ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderAscByUpdatedAt is an autogenerated method
|
// OrderAscByUpdatedAt is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) OrderAscByUpdatedAt() RedeemCodeQuerySet {
|
func (qs RedeemCodeQuerySet) OrderAscByUpdatedAt() RedeemCodeQuerySet {
|
||||||
return qs.w(qs.db.Order("updated_at ASC"))
|
return qs.w(qs.db.Order("updated_at ASC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderDescByCodeSecret is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) OrderDescByCodeSecret() RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("code_secret DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OrderDescByCodeType is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) OrderDescByCodeType() RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("code_type DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderDescByCreatedAt is an autogenerated method
|
// OrderDescByCreatedAt is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) OrderDescByCreatedAt() RedeemCodeQuerySet {
|
func (qs RedeemCodeQuerySet) OrderDescByCreatedAt() RedeemCodeQuerySet {
|
||||||
|
@ -447,6 +571,24 @@ func (qs RedeemCodeQuerySet) OrderDescByID() RedeemCodeQuerySet {
|
||||||
return qs.w(qs.db.Order("id DESC"))
|
return qs.w(qs.db.Order("id DESC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderDescBySerialCode is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) OrderDescBySerialCode() RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("serial_code DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OrderDescByStatus is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) OrderDescByStatus() RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("status DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OrderDescByStoreId is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) OrderDescByStoreId() RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("store_id DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderDescByUpdatedAt is an autogenerated method
|
// OrderDescByUpdatedAt is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) OrderDescByUpdatedAt() RedeemCodeQuerySet {
|
func (qs RedeemCodeQuerySet) OrderDescByUpdatedAt() RedeemCodeQuerySet {
|
||||||
|
@ -459,6 +601,18 @@ func (qs RedeemCodeQuerySet) SerialCodeEq(serialCode string) RedeemCodeQuerySet
|
||||||
return qs.w(qs.db.Where("serial_code = ?", serialCode))
|
return qs.w(qs.db.Where("serial_code = ?", serialCode))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SerialCodeGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) SerialCodeGt(serialCode string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("serial_code > ?", serialCode))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SerialCodeGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) SerialCodeGte(serialCode string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("serial_code >= ?", serialCode))
|
||||||
|
}
|
||||||
|
|
||||||
// SerialCodeIn is an autogenerated method
|
// SerialCodeIn is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) SerialCodeIn(serialCode ...string) RedeemCodeQuerySet {
|
func (qs RedeemCodeQuerySet) SerialCodeIn(serialCode ...string) RedeemCodeQuerySet {
|
||||||
|
@ -469,6 +623,24 @@ func (qs RedeemCodeQuerySet) SerialCodeIn(serialCode ...string) RedeemCodeQueryS
|
||||||
return qs.w(qs.db.Where("serial_code IN (?)", serialCode))
|
return qs.w(qs.db.Where("serial_code IN (?)", serialCode))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SerialCodeLike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) SerialCodeLike(serialCode string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("serial_code LIKE ?", serialCode))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SerialCodeLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) SerialCodeLt(serialCode string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("serial_code < ?", serialCode))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SerialCodeLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) SerialCodeLte(serialCode string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("serial_code <= ?", serialCode))
|
||||||
|
}
|
||||||
|
|
||||||
// SerialCodeNe is an autogenerated method
|
// SerialCodeNe is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) SerialCodeNe(serialCode string) RedeemCodeQuerySet {
|
func (qs RedeemCodeQuerySet) SerialCodeNe(serialCode string) RedeemCodeQuerySet {
|
||||||
|
@ -485,12 +657,30 @@ func (qs RedeemCodeQuerySet) SerialCodeNotIn(serialCode ...string) RedeemCodeQue
|
||||||
return qs.w(qs.db.Where("serial_code NOT IN (?)", serialCode))
|
return qs.w(qs.db.Where("serial_code NOT IN (?)", serialCode))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SerialCodeNotlike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) SerialCodeNotlike(serialCode string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("serial_code NOT LIKE ?", serialCode))
|
||||||
|
}
|
||||||
|
|
||||||
// StatusEq is an autogenerated method
|
// StatusEq is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) StatusEq(status string) RedeemCodeQuerySet {
|
func (qs RedeemCodeQuerySet) StatusEq(status string) RedeemCodeQuerySet {
|
||||||
return qs.w(qs.db.Where("status = ?", status))
|
return qs.w(qs.db.Where("status = ?", status))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// StatusGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) StatusGt(status string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("status > ?", status))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StatusGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) StatusGte(status string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("status >= ?", status))
|
||||||
|
}
|
||||||
|
|
||||||
// StatusIn is an autogenerated method
|
// StatusIn is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) StatusIn(status ...string) RedeemCodeQuerySet {
|
func (qs RedeemCodeQuerySet) StatusIn(status ...string) RedeemCodeQuerySet {
|
||||||
|
@ -501,6 +691,24 @@ func (qs RedeemCodeQuerySet) StatusIn(status ...string) RedeemCodeQuerySet {
|
||||||
return qs.w(qs.db.Where("status IN (?)", status))
|
return qs.w(qs.db.Where("status IN (?)", status))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// StatusLike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) StatusLike(status string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("status LIKE ?", status))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StatusLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) StatusLt(status string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("status < ?", status))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StatusLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) StatusLte(status string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("status <= ?", status))
|
||||||
|
}
|
||||||
|
|
||||||
// StatusNe is an autogenerated method
|
// StatusNe is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) StatusNe(status string) RedeemCodeQuerySet {
|
func (qs RedeemCodeQuerySet) StatusNe(status string) RedeemCodeQuerySet {
|
||||||
|
@ -517,6 +725,68 @@ func (qs RedeemCodeQuerySet) StatusNotIn(status ...string) RedeemCodeQuerySet {
|
||||||
return qs.w(qs.db.Where("status NOT IN (?)", status))
|
return qs.w(qs.db.Where("status NOT IN (?)", status))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// StatusNotlike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) StatusNotlike(status string) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("status NOT LIKE ?", status))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdEq is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) StoreIdEq(storeId uint32) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("store_id = ?", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) StoreIdGt(storeId uint32) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("store_id > ?", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) StoreIdGte(storeId uint32) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("store_id >= ?", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) StoreIdIn(storeId ...uint32) RedeemCodeQuerySet {
|
||||||
|
if len(storeId) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one storeId in StoreIdIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("store_id IN (?)", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) StoreIdLt(storeId uint32) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("store_id < ?", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) StoreIdLte(storeId uint32) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("store_id <= ?", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdNe is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) StoreIdNe(storeId uint32) RedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("store_id != ?", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdNotIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs RedeemCodeQuerySet) StoreIdNotIn(storeId ...uint32) RedeemCodeQuerySet {
|
||||||
|
if len(storeId) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one storeId in StoreIdNotIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("store_id NOT IN (?)", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
// UpdatedAtEq is an autogenerated method
|
// UpdatedAtEq is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs RedeemCodeQuerySet) UpdatedAtEq(updatedAt time.Time) RedeemCodeQuerySet {
|
func (qs RedeemCodeQuerySet) UpdatedAtEq(updatedAt time.Time) RedeemCodeQuerySet {
|
||||||
|
@ -616,6 +886,13 @@ func (u RedeemCodeUpdater) SetStatus(status string) RedeemCodeUpdater {
|
||||||
return u
|
return u
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetStoreId is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (u RedeemCodeUpdater) SetStoreId(storeId uint32) RedeemCodeUpdater {
|
||||||
|
u.fields[string(RedeemCodeDBSchema.StoreId)] = storeId
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
|
||||||
// SetUpdatedAt is an autogenerated method
|
// SetUpdatedAt is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (u RedeemCodeUpdater) SetUpdatedAt(updatedAt time.Time) RedeemCodeUpdater {
|
func (u RedeemCodeUpdater) SetUpdatedAt(updatedAt time.Time) RedeemCodeUpdater {
|
||||||
|
@ -658,6 +935,7 @@ var RedeemCodeDBSchema = struct {
|
||||||
SerialCode RedeemCodeDBSchemaField
|
SerialCode RedeemCodeDBSchemaField
|
||||||
CodeType RedeemCodeDBSchemaField
|
CodeType RedeemCodeDBSchemaField
|
||||||
Status RedeemCodeDBSchemaField
|
Status RedeemCodeDBSchemaField
|
||||||
|
StoreId RedeemCodeDBSchemaField
|
||||||
CodeSecret RedeemCodeDBSchemaField
|
CodeSecret RedeemCodeDBSchemaField
|
||||||
EffectiveTime RedeemCodeDBSchemaField
|
EffectiveTime RedeemCodeDBSchemaField
|
||||||
ExpirationTime RedeemCodeDBSchemaField
|
ExpirationTime RedeemCodeDBSchemaField
|
||||||
|
@ -670,6 +948,7 @@ var RedeemCodeDBSchema = struct {
|
||||||
SerialCode: RedeemCodeDBSchemaField("serial_code"),
|
SerialCode: RedeemCodeDBSchemaField("serial_code"),
|
||||||
CodeType: RedeemCodeDBSchemaField("code_type"),
|
CodeType: RedeemCodeDBSchemaField("code_type"),
|
||||||
Status: RedeemCodeDBSchemaField("status"),
|
Status: RedeemCodeDBSchemaField("status"),
|
||||||
|
StoreId: RedeemCodeDBSchemaField("store_id"),
|
||||||
CodeSecret: RedeemCodeDBSchemaField("code_secret"),
|
CodeSecret: RedeemCodeDBSchemaField("code_secret"),
|
||||||
EffectiveTime: RedeemCodeDBSchemaField("effective_time"),
|
EffectiveTime: RedeemCodeDBSchemaField("effective_time"),
|
||||||
ExpirationTime: RedeemCodeDBSchemaField("expiration_time"),
|
ExpirationTime: RedeemCodeDBSchemaField("expiration_time"),
|
||||||
|
@ -686,6 +965,7 @@ func (o *RedeemCode) Update(db *gorm.DB, fields ...RedeemCodeDBSchemaField) erro
|
||||||
"serial_code": o.SerialCode,
|
"serial_code": o.SerialCode,
|
||||||
"code_type": o.CodeType,
|
"code_type": o.CodeType,
|
||||||
"status": o.Status,
|
"status": o.Status,
|
||||||
|
"store_id": o.StoreId,
|
||||||
"code_secret": o.CodeSecret,
|
"code_secret": o.CodeSecret,
|
||||||
"effective_time": o.EffectiveTime,
|
"effective_time": o.EffectiveTime,
|
||||||
"expiration_time": o.ExpirationTime,
|
"expiration_time": o.ExpirationTime,
|
||||||
|
@ -742,6 +1022,15 @@ func (qs UserRedeemCodeQuerySet) w(db *gorm.DB) UserRedeemCodeQuerySet {
|
||||||
return NewUserRedeemCodeQuerySet(db)
|
return NewUserRedeemCodeQuerySet(db)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (qs UserRedeemCodeQuerySet) Select(fields ...UserRedeemCodeDBSchemaField) UserRedeemCodeQuerySet {
|
||||||
|
names := []string{}
|
||||||
|
for _, f := range fields {
|
||||||
|
names = append(names, f.String())
|
||||||
|
}
|
||||||
|
|
||||||
|
return qs.w(qs.db.Select(strings.Join(names, ",")))
|
||||||
|
}
|
||||||
|
|
||||||
// Create is an autogenerated method
|
// Create is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (o *UserRedeemCode) Create(db *gorm.DB) error {
|
func (o *UserRedeemCode) Create(db *gorm.DB) error {
|
||||||
|
@ -754,6 +1043,62 @@ func (o *UserRedeemCode) Delete(db *gorm.DB) error {
|
||||||
return db.Delete(o).Error
|
return db.Delete(o).Error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ActivityTypeEq is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) ActivityTypeEq(activityType uint32) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("activity_type = ?", activityType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActivityTypeGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) ActivityTypeGt(activityType uint32) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("activity_type > ?", activityType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActivityTypeGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) ActivityTypeGte(activityType uint32) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("activity_type >= ?", activityType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActivityTypeIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) ActivityTypeIn(activityType ...uint32) UserRedeemCodeQuerySet {
|
||||||
|
if len(activityType) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one activityType in ActivityTypeIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("activity_type IN (?)", activityType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActivityTypeLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) ActivityTypeLt(activityType uint32) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("activity_type < ?", activityType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActivityTypeLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) ActivityTypeLte(activityType uint32) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("activity_type <= ?", activityType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActivityTypeNe is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) ActivityTypeNe(activityType uint32) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("activity_type != ?", activityType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActivityTypeNotIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) ActivityTypeNotIn(activityType ...uint32) UserRedeemCodeQuerySet {
|
||||||
|
if len(activityType) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one activityType in ActivityTypeNotIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("activity_type NOT IN (?)", activityType))
|
||||||
|
}
|
||||||
|
|
||||||
// All is an autogenerated method
|
// All is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserRedeemCodeQuerySet) All(ret *[]UserRedeemCode) error {
|
func (qs UserRedeemCodeQuerySet) All(ret *[]UserRedeemCode) error {
|
||||||
|
@ -766,6 +1111,18 @@ func (qs UserRedeemCodeQuerySet) CodeTypeEq(codeType string) UserRedeemCodeQuery
|
||||||
return qs.w(qs.db.Where("code_type = ?", codeType))
|
return qs.w(qs.db.Where("code_type = ?", codeType))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CodeTypeGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) CodeTypeGt(codeType string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_type > ?", codeType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// CodeTypeGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) CodeTypeGte(codeType string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_type >= ?", codeType))
|
||||||
|
}
|
||||||
|
|
||||||
// CodeTypeIn is an autogenerated method
|
// CodeTypeIn is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserRedeemCodeQuerySet) CodeTypeIn(codeType ...string) UserRedeemCodeQuerySet {
|
func (qs UserRedeemCodeQuerySet) CodeTypeIn(codeType ...string) UserRedeemCodeQuerySet {
|
||||||
|
@ -776,6 +1133,24 @@ func (qs UserRedeemCodeQuerySet) CodeTypeIn(codeType ...string) UserRedeemCodeQu
|
||||||
return qs.w(qs.db.Where("code_type IN (?)", codeType))
|
return qs.w(qs.db.Where("code_type IN (?)", codeType))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CodeTypeLike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) CodeTypeLike(codeType string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_type LIKE ?", codeType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// CodeTypeLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) CodeTypeLt(codeType string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_type < ?", codeType))
|
||||||
|
}
|
||||||
|
|
||||||
|
// CodeTypeLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) CodeTypeLte(codeType string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_type <= ?", codeType))
|
||||||
|
}
|
||||||
|
|
||||||
// CodeTypeNe is an autogenerated method
|
// CodeTypeNe is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserRedeemCodeQuerySet) CodeTypeNe(codeType string) UserRedeemCodeQuerySet {
|
func (qs UserRedeemCodeQuerySet) CodeTypeNe(codeType string) UserRedeemCodeQuerySet {
|
||||||
|
@ -792,6 +1167,12 @@ func (qs UserRedeemCodeQuerySet) CodeTypeNotIn(codeType ...string) UserRedeemCod
|
||||||
return qs.w(qs.db.Where("code_type NOT IN (?)", codeType))
|
return qs.w(qs.db.Where("code_type NOT IN (?)", codeType))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CodeTypeNotlike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) CodeTypeNotlike(codeType string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("code_type NOT LIKE ?", codeType))
|
||||||
|
}
|
||||||
|
|
||||||
// ConvertTimeEq is an autogenerated method
|
// ConvertTimeEq is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserRedeemCodeQuerySet) ConvertTimeEq(convertTime time.Time) UserRedeemCodeQuerySet {
|
func (qs UserRedeemCodeQuerySet) ConvertTimeEq(convertTime time.Time) UserRedeemCodeQuerySet {
|
||||||
|
@ -1026,6 +1407,18 @@ func (qs UserRedeemCodeQuerySet) One(ret *UserRedeemCode) error {
|
||||||
return qs.db.First(ret).Error
|
return qs.db.First(ret).Error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderAscByActivityType is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) OrderAscByActivityType() UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("activity_type ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OrderAscByCodeType is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) OrderAscByCodeType() UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("code_type ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderAscByConvertTime is an autogenerated method
|
// OrderAscByConvertTime is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserRedeemCodeQuerySet) OrderAscByConvertTime() UserRedeemCodeQuerySet {
|
func (qs UserRedeemCodeQuerySet) OrderAscByConvertTime() UserRedeemCodeQuerySet {
|
||||||
|
@ -1050,6 +1443,24 @@ func (qs UserRedeemCodeQuerySet) OrderAscByID() UserRedeemCodeQuerySet {
|
||||||
return qs.w(qs.db.Order("id ASC"))
|
return qs.w(qs.db.Order("id ASC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderAscBySerialCode is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) OrderAscBySerialCode() UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("serial_code ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OrderAscByStatus is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) OrderAscByStatus() UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("status ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OrderAscByStoreId is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) OrderAscByStoreId() UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("store_id ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderAscByUid is an autogenerated method
|
// OrderAscByUid is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserRedeemCodeQuerySet) OrderAscByUid() UserRedeemCodeQuerySet {
|
func (qs UserRedeemCodeQuerySet) OrderAscByUid() UserRedeemCodeQuerySet {
|
||||||
|
@ -1062,6 +1473,18 @@ func (qs UserRedeemCodeQuerySet) OrderAscByUpdatedAt() UserRedeemCodeQuerySet {
|
||||||
return qs.w(qs.db.Order("updated_at ASC"))
|
return qs.w(qs.db.Order("updated_at ASC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderDescByActivityType is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) OrderDescByActivityType() UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("activity_type DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OrderDescByCodeType is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) OrderDescByCodeType() UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("code_type DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderDescByConvertTime is an autogenerated method
|
// OrderDescByConvertTime is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserRedeemCodeQuerySet) OrderDescByConvertTime() UserRedeemCodeQuerySet {
|
func (qs UserRedeemCodeQuerySet) OrderDescByConvertTime() UserRedeemCodeQuerySet {
|
||||||
|
@ -1086,6 +1509,24 @@ func (qs UserRedeemCodeQuerySet) OrderDescByID() UserRedeemCodeQuerySet {
|
||||||
return qs.w(qs.db.Order("id DESC"))
|
return qs.w(qs.db.Order("id DESC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderDescBySerialCode is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) OrderDescBySerialCode() UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("serial_code DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OrderDescByStatus is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) OrderDescByStatus() UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("status DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OrderDescByStoreId is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) OrderDescByStoreId() UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Order("store_id DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderDescByUid is an autogenerated method
|
// OrderDescByUid is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserRedeemCodeQuerySet) OrderDescByUid() UserRedeemCodeQuerySet {
|
func (qs UserRedeemCodeQuerySet) OrderDescByUid() UserRedeemCodeQuerySet {
|
||||||
|
@ -1104,6 +1545,18 @@ func (qs UserRedeemCodeQuerySet) SerialCodeEq(serialCode string) UserRedeemCodeQ
|
||||||
return qs.w(qs.db.Where("serial_code = ?", serialCode))
|
return qs.w(qs.db.Where("serial_code = ?", serialCode))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SerialCodeGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) SerialCodeGt(serialCode string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("serial_code > ?", serialCode))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SerialCodeGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) SerialCodeGte(serialCode string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("serial_code >= ?", serialCode))
|
||||||
|
}
|
||||||
|
|
||||||
// SerialCodeIn is an autogenerated method
|
// SerialCodeIn is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserRedeemCodeQuerySet) SerialCodeIn(serialCode ...string) UserRedeemCodeQuerySet {
|
func (qs UserRedeemCodeQuerySet) SerialCodeIn(serialCode ...string) UserRedeemCodeQuerySet {
|
||||||
|
@ -1114,6 +1567,24 @@ func (qs UserRedeemCodeQuerySet) SerialCodeIn(serialCode ...string) UserRedeemCo
|
||||||
return qs.w(qs.db.Where("serial_code IN (?)", serialCode))
|
return qs.w(qs.db.Where("serial_code IN (?)", serialCode))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SerialCodeLike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) SerialCodeLike(serialCode string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("serial_code LIKE ?", serialCode))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SerialCodeLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) SerialCodeLt(serialCode string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("serial_code < ?", serialCode))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SerialCodeLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) SerialCodeLte(serialCode string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("serial_code <= ?", serialCode))
|
||||||
|
}
|
||||||
|
|
||||||
// SerialCodeNe is an autogenerated method
|
// SerialCodeNe is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserRedeemCodeQuerySet) SerialCodeNe(serialCode string) UserRedeemCodeQuerySet {
|
func (qs UserRedeemCodeQuerySet) SerialCodeNe(serialCode string) UserRedeemCodeQuerySet {
|
||||||
|
@ -1130,12 +1601,30 @@ func (qs UserRedeemCodeQuerySet) SerialCodeNotIn(serialCode ...string) UserRedee
|
||||||
return qs.w(qs.db.Where("serial_code NOT IN (?)", serialCode))
|
return qs.w(qs.db.Where("serial_code NOT IN (?)", serialCode))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SerialCodeNotlike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) SerialCodeNotlike(serialCode string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("serial_code NOT LIKE ?", serialCode))
|
||||||
|
}
|
||||||
|
|
||||||
// StatusEq is an autogenerated method
|
// StatusEq is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserRedeemCodeQuerySet) StatusEq(status string) UserRedeemCodeQuerySet {
|
func (qs UserRedeemCodeQuerySet) StatusEq(status string) UserRedeemCodeQuerySet {
|
||||||
return qs.w(qs.db.Where("status = ?", status))
|
return qs.w(qs.db.Where("status = ?", status))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// StatusGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) StatusGt(status string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("status > ?", status))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StatusGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) StatusGte(status string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("status >= ?", status))
|
||||||
|
}
|
||||||
|
|
||||||
// StatusIn is an autogenerated method
|
// StatusIn is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserRedeemCodeQuerySet) StatusIn(status ...string) UserRedeemCodeQuerySet {
|
func (qs UserRedeemCodeQuerySet) StatusIn(status ...string) UserRedeemCodeQuerySet {
|
||||||
|
@ -1146,6 +1635,24 @@ func (qs UserRedeemCodeQuerySet) StatusIn(status ...string) UserRedeemCodeQueryS
|
||||||
return qs.w(qs.db.Where("status IN (?)", status))
|
return qs.w(qs.db.Where("status IN (?)", status))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// StatusLike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) StatusLike(status string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("status LIKE ?", status))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StatusLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) StatusLt(status string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("status < ?", status))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StatusLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) StatusLte(status string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("status <= ?", status))
|
||||||
|
}
|
||||||
|
|
||||||
// StatusNe is an autogenerated method
|
// StatusNe is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserRedeemCodeQuerySet) StatusNe(status string) UserRedeemCodeQuerySet {
|
func (qs UserRedeemCodeQuerySet) StatusNe(status string) UserRedeemCodeQuerySet {
|
||||||
|
@ -1162,6 +1669,68 @@ func (qs UserRedeemCodeQuerySet) StatusNotIn(status ...string) UserRedeemCodeQue
|
||||||
return qs.w(qs.db.Where("status NOT IN (?)", status))
|
return qs.w(qs.db.Where("status NOT IN (?)", status))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// StatusNotlike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) StatusNotlike(status string) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("status NOT LIKE ?", status))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdEq is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) StoreIdEq(storeId uint32) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("store_id = ?", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) StoreIdGt(storeId uint32) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("store_id > ?", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) StoreIdGte(storeId uint32) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("store_id >= ?", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) StoreIdIn(storeId ...uint32) UserRedeemCodeQuerySet {
|
||||||
|
if len(storeId) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one storeId in StoreIdIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("store_id IN (?)", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) StoreIdLt(storeId uint32) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("store_id < ?", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) StoreIdLte(storeId uint32) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("store_id <= ?", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdNe is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) StoreIdNe(storeId uint32) UserRedeemCodeQuerySet {
|
||||||
|
return qs.w(qs.db.Where("store_id != ?", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
|
// StoreIdNotIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserRedeemCodeQuerySet) StoreIdNotIn(storeId ...uint32) UserRedeemCodeQuerySet {
|
||||||
|
if len(storeId) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one storeId in StoreIdNotIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("store_id NOT IN (?)", storeId))
|
||||||
|
}
|
||||||
|
|
||||||
// UidEq is an autogenerated method
|
// UidEq is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserRedeemCodeQuerySet) UidEq(uid uint32) UserRedeemCodeQuerySet {
|
func (qs UserRedeemCodeQuerySet) UidEq(uid uint32) UserRedeemCodeQuerySet {
|
||||||
|
@ -1254,6 +1823,13 @@ func (qs UserRedeemCodeQuerySet) UpdatedAtNe(updatedAt time.Time) UserRedeemCode
|
||||||
return qs.w(qs.db.Where("updated_at != ?", updatedAt))
|
return qs.w(qs.db.Where("updated_at != ?", updatedAt))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetActivityType is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (u UserRedeemCodeUpdater) SetActivityType(activityType uint32) UserRedeemCodeUpdater {
|
||||||
|
u.fields[string(UserRedeemCodeDBSchema.ActivityType)] = activityType
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
|
||||||
// SetCodeType is an autogenerated method
|
// SetCodeType is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (u UserRedeemCodeUpdater) SetCodeType(codeType string) UserRedeemCodeUpdater {
|
func (u UserRedeemCodeUpdater) SetCodeType(codeType string) UserRedeemCodeUpdater {
|
||||||
|
@ -1303,6 +1879,13 @@ func (u UserRedeemCodeUpdater) SetStatus(status string) UserRedeemCodeUpdater {
|
||||||
return u
|
return u
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetStoreId is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (u UserRedeemCodeUpdater) SetStoreId(storeId uint32) UserRedeemCodeUpdater {
|
||||||
|
u.fields[string(UserRedeemCodeDBSchema.StoreId)] = storeId
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
|
||||||
// SetUid is an autogenerated method
|
// SetUid is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (u UserRedeemCodeUpdater) SetUid(uid uint32) UserRedeemCodeUpdater {
|
func (u UserRedeemCodeUpdater) SetUid(uid uint32) UserRedeemCodeUpdater {
|
||||||
|
@ -1351,9 +1934,11 @@ var UserRedeemCodeDBSchema = struct {
|
||||||
DeletedAt UserRedeemCodeDBSchemaField
|
DeletedAt UserRedeemCodeDBSchemaField
|
||||||
Uid UserRedeemCodeDBSchemaField
|
Uid UserRedeemCodeDBSchemaField
|
||||||
Status UserRedeemCodeDBSchemaField
|
Status UserRedeemCodeDBSchemaField
|
||||||
|
StoreId UserRedeemCodeDBSchemaField
|
||||||
SerialCode UserRedeemCodeDBSchemaField
|
SerialCode UserRedeemCodeDBSchemaField
|
||||||
CodeType UserRedeemCodeDBSchemaField
|
CodeType UserRedeemCodeDBSchemaField
|
||||||
ConvertTime UserRedeemCodeDBSchemaField
|
ConvertTime UserRedeemCodeDBSchemaField
|
||||||
|
ActivityType UserRedeemCodeDBSchemaField
|
||||||
}{
|
}{
|
||||||
|
|
||||||
ID: UserRedeemCodeDBSchemaField("id"),
|
ID: UserRedeemCodeDBSchemaField("id"),
|
||||||
|
@ -1362,9 +1947,11 @@ var UserRedeemCodeDBSchema = struct {
|
||||||
DeletedAt: UserRedeemCodeDBSchemaField("deleted_at"),
|
DeletedAt: UserRedeemCodeDBSchemaField("deleted_at"),
|
||||||
Uid: UserRedeemCodeDBSchemaField("uid"),
|
Uid: UserRedeemCodeDBSchemaField("uid"),
|
||||||
Status: UserRedeemCodeDBSchemaField("status"),
|
Status: UserRedeemCodeDBSchemaField("status"),
|
||||||
|
StoreId: UserRedeemCodeDBSchemaField("store_id"),
|
||||||
SerialCode: UserRedeemCodeDBSchemaField("serial_code"),
|
SerialCode: UserRedeemCodeDBSchemaField("serial_code"),
|
||||||
CodeType: UserRedeemCodeDBSchemaField("code_type"),
|
CodeType: UserRedeemCodeDBSchemaField("code_type"),
|
||||||
ConvertTime: UserRedeemCodeDBSchemaField("convert_time"),
|
ConvertTime: UserRedeemCodeDBSchemaField("convert_time"),
|
||||||
|
ActivityType: UserRedeemCodeDBSchemaField("activity_type"),
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update updates UserRedeemCode fields by primary key
|
// Update updates UserRedeemCode fields by primary key
|
||||||
|
@ -1377,9 +1964,11 @@ func (o *UserRedeemCode) Update(db *gorm.DB, fields ...UserRedeemCodeDBSchemaFie
|
||||||
"deleted_at": o.DeletedAt,
|
"deleted_at": o.DeletedAt,
|
||||||
"uid": o.Uid,
|
"uid": o.Uid,
|
||||||
"status": o.Status,
|
"status": o.Status,
|
||||||
|
"store_id": o.StoreId,
|
||||||
"serial_code": o.SerialCode,
|
"serial_code": o.SerialCode,
|
||||||
"code_type": o.CodeType,
|
"code_type": o.CodeType,
|
||||||
"convert_time": o.ConvertTime,
|
"convert_time": o.ConvertTime,
|
||||||
|
"activity_type": o.ActivityType,
|
||||||
}
|
}
|
||||||
u := map[string]interface{}{}
|
u := map[string]interface{}{}
|
||||||
for _, f := range fields {
|
for _, f := range fields {
|
||||||
|
|
|
@ -6093,6 +6093,74 @@ func (qs UserQuerySet) One(ret *User) error {
|
||||||
return qs.db.First(ret).Error
|
return qs.db.First(ret).Error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OpenMemberChannelEq is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberChannelEq(openMemberChannel string) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("open_member_channel = ?", openMemberChannel))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OpenMemberChannelGt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberChannelGt(openMemberChannel string) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("open_member_channel > ?", openMemberChannel))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OpenMemberChannelGte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberChannelGte(openMemberChannel string) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("open_member_channel >= ?", openMemberChannel))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OpenMemberChannelIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberChannelIn(openMemberChannel ...string) UserQuerySet {
|
||||||
|
if len(openMemberChannel) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one openMemberChannel in OpenMemberChannelIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("open_member_channel IN (?)", openMemberChannel))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OpenMemberChannelLike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberChannelLike(openMemberChannel string) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("open_member_channel LIKE ?", openMemberChannel))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OpenMemberChannelLt is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberChannelLt(openMemberChannel string) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("open_member_channel < ?", openMemberChannel))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OpenMemberChannelLte is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberChannelLte(openMemberChannel string) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("open_member_channel <= ?", openMemberChannel))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OpenMemberChannelNe is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberChannelNe(openMemberChannel string) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("open_member_channel != ?", openMemberChannel))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OpenMemberChannelNotIn is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberChannelNotIn(openMemberChannel ...string) UserQuerySet {
|
||||||
|
if len(openMemberChannel) == 0 {
|
||||||
|
qs.db.AddError(errors.New("must at least pass one openMemberChannel in OpenMemberChannelNotIn"))
|
||||||
|
return qs.w(qs.db)
|
||||||
|
}
|
||||||
|
return qs.w(qs.db.Where("open_member_channel NOT IN (?)", openMemberChannel))
|
||||||
|
}
|
||||||
|
|
||||||
|
// OpenMemberChannelNotlike is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OpenMemberChannelNotlike(openMemberChannel string) UserQuerySet {
|
||||||
|
return qs.w(qs.db.Where("open_member_channel NOT LIKE ?", openMemberChannel))
|
||||||
|
}
|
||||||
|
|
||||||
// OpenMemberTimeEq is an autogenerated method
|
// OpenMemberTimeEq is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserQuerySet) OpenMemberTimeEq(openMemberTime time.Time) UserQuerySet {
|
func (qs UserQuerySet) OpenMemberTimeEq(openMemberTime time.Time) UserQuerySet {
|
||||||
|
@ -6219,6 +6287,12 @@ func (qs UserQuerySet) OrderAscByMemberLevel() UserQuerySet {
|
||||||
return qs.w(qs.db.Order("member_level ASC"))
|
return qs.w(qs.db.Order("member_level ASC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderAscByOpenMemberChannel is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OrderAscByOpenMemberChannel() UserQuerySet {
|
||||||
|
return qs.w(qs.db.Order("open_member_channel ASC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderAscByOpenMemberTime is an autogenerated method
|
// OrderAscByOpenMemberTime is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserQuerySet) OrderAscByOpenMemberTime() UserQuerySet {
|
func (qs UserQuerySet) OrderAscByOpenMemberTime() UserQuerySet {
|
||||||
|
@ -6387,6 +6461,12 @@ func (qs UserQuerySet) OrderDescByMemberLevel() UserQuerySet {
|
||||||
return qs.w(qs.db.Order("member_level DESC"))
|
return qs.w(qs.db.Order("member_level DESC"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderDescByOpenMemberChannel is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (qs UserQuerySet) OrderDescByOpenMemberChannel() UserQuerySet {
|
||||||
|
return qs.w(qs.db.Order("open_member_channel DESC"))
|
||||||
|
}
|
||||||
|
|
||||||
// OrderDescByOpenMemberTime is an autogenerated method
|
// OrderDescByOpenMemberTime is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (qs UserQuerySet) OrderDescByOpenMemberTime() UserQuerySet {
|
func (qs UserQuerySet) OrderDescByOpenMemberTime() UserQuerySet {
|
||||||
|
@ -7294,6 +7374,13 @@ func (u UserUpdater) SetMemberLevel(memberLevel uint32) UserUpdater {
|
||||||
return u
|
return u
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetOpenMemberChannel is an autogenerated method
|
||||||
|
// nolint: dupl
|
||||||
|
func (u UserUpdater) SetOpenMemberChannel(openMemberChannel string) UserUpdater {
|
||||||
|
u.fields[string(UserDBSchema.OpenMemberChannel)] = openMemberChannel
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
|
||||||
// SetOpenMemberTime is an autogenerated method
|
// SetOpenMemberTime is an autogenerated method
|
||||||
// nolint: dupl
|
// nolint: dupl
|
||||||
func (u UserUpdater) SetOpenMemberTime(openMemberTime time.Time) UserUpdater {
|
func (u UserUpdater) SetOpenMemberTime(openMemberTime time.Time) UserUpdater {
|
||||||
|
@ -7434,6 +7521,7 @@ var UserDBSchema = struct {
|
||||||
Country UserDBSchemaField
|
Country UserDBSchemaField
|
||||||
Deposit UserDBSchemaField
|
Deposit UserDBSchemaField
|
||||||
UserType UserDBSchemaField
|
UserType UserDBSchemaField
|
||||||
|
OpenMemberChannel UserDBSchemaField
|
||||||
StoreId UserDBSchemaField
|
StoreId UserDBSchemaField
|
||||||
InviteCodeUrl UserDBSchemaField
|
InviteCodeUrl UserDBSchemaField
|
||||||
LastLoginAt UserDBSchemaField
|
LastLoginAt UserDBSchemaField
|
||||||
|
@ -7464,6 +7552,7 @@ var UserDBSchema = struct {
|
||||||
Country: UserDBSchemaField("country"),
|
Country: UserDBSchemaField("country"),
|
||||||
Deposit: UserDBSchemaField("deposit"),
|
Deposit: UserDBSchemaField("deposit"),
|
||||||
UserType: UserDBSchemaField("user_type"),
|
UserType: UserDBSchemaField("user_type"),
|
||||||
|
OpenMemberChannel: UserDBSchemaField("open_member_channel"),
|
||||||
StoreId: UserDBSchemaField("store_id"),
|
StoreId: UserDBSchemaField("store_id"),
|
||||||
InviteCodeUrl: UserDBSchemaField("invite_code_url"),
|
InviteCodeUrl: UserDBSchemaField("invite_code_url"),
|
||||||
LastLoginAt: UserDBSchemaField("last_login_at"),
|
LastLoginAt: UserDBSchemaField("last_login_at"),
|
||||||
|
@ -7498,6 +7587,7 @@ func (o *User) Update(db *gorm.DB, fields ...UserDBSchemaField) error {
|
||||||
"country": o.Country,
|
"country": o.Country,
|
||||||
"deposit": o.Deposit,
|
"deposit": o.Deposit,
|
||||||
"user_type": o.UserType,
|
"user_type": o.UserType,
|
||||||
|
"open_member_channel": o.OpenMemberChannel,
|
||||||
"store_id": o.StoreId,
|
"store_id": o.StoreId,
|
||||||
"invite_code_url": o.InviteCodeUrl,
|
"invite_code_url": o.InviteCodeUrl,
|
||||||
"last_login_at": o.LastLoginAt,
|
"last_login_at": o.LastLoginAt,
|
||||||
|
|
|
@ -423,6 +423,7 @@ func TestLeng(t *testing.T) {
|
||||||
// B61E1104C989D4E2F453EB6253A06A3721094DDF76FF468EB679CEA046403D3F7B963A8FBED0CB70C1EB9B17BB684DAFB700F966676D
|
// B61E1104C989D4E2F453EB6253A06A3721094DDF76FF468EB679CEA046403D3F7B963A8FBED0CB70C1EB9B17BB684DAFB700F966676D
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 生成会员兑换码
|
||||||
func TestRedeemCodeCreate(t *testing.T) {
|
func TestRedeemCodeCreate(t *testing.T) {
|
||||||
RedeemCodeCreate()
|
RedeemCodeCreate()
|
||||||
}
|
}
|
||||||
|
@ -431,7 +432,7 @@ func RedeemCodeCreate() {
|
||||||
//InitTestDB()
|
//InitTestDB()
|
||||||
InitDBProd()
|
InitDBProd()
|
||||||
|
|
||||||
for i := 0; i < 1000; i++ {
|
for i := 0; i < 7; i++ {
|
||||||
redeem := NewRedeemCode()
|
redeem := NewRedeemCode()
|
||||||
|
|
||||||
fmt.Println("redeemCode:", redeem)
|
fmt.Println("redeemCode:", redeem)
|
||||||
|
@ -442,12 +443,13 @@ func RedeemCodeCreate() {
|
||||||
if !IsRedeemCodeExist(redeem) {
|
if !IsRedeemCodeExist(redeem) {
|
||||||
redeemCode := &RedeemCode{
|
redeemCode := &RedeemCode{
|
||||||
SerialCode: redeem,
|
SerialCode: redeem,
|
||||||
CodeType: CodeTypeMemberCard30,
|
CodeType: CodeTypeMemberGoldMember,
|
||||||
Status: RedeemCodeStatusStock,
|
Status: RedeemCodeStatusStock,
|
||||||
CodeSecret: secretCode,
|
CodeSecret: secretCode,
|
||||||
EffectiveTime: time.Now(),
|
EffectiveTime: time.Now(),
|
||||||
ExpirationTime: time.Time{},
|
ExpirationTime: time.Now().AddDate(1, 0, 0),
|
||||||
}
|
}
|
||||||
|
//err := DBDev.Create(redeemCode).Error
|
||||||
err := DBProd.Create(redeemCode).Error
|
err := DBProd.Create(redeemCode).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("err:", err)
|
fmt.Println("err:", err)
|
||||||
|
@ -462,6 +464,7 @@ func RedeemCodeCreate() {
|
||||||
func IsRedeemCodeExist(code string) bool {
|
func IsRedeemCodeExist(code string) bool {
|
||||||
var isExist uint32
|
var isExist uint32
|
||||||
sql := fmt.Sprintf("SELECT EXISTS (SELECT * FROM redeem_code WHERE serial_code = '%s') AS code_exsit;", code)
|
sql := fmt.Sprintf("SELECT EXISTS (SELECT * FROM redeem_code WHERE serial_code = '%s') AS code_exsit;", code)
|
||||||
|
//err := DBDev.Raw(sql).Row().Scan(&isExist)
|
||||||
err := DBProd.Raw(sql).Row().Scan(&isExist)
|
err := DBProd.Raw(sql).Row().Scan(&isExist)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("err:", err)
|
fmt.Println("err:", err)
|
||||||
|
|
|
@ -15,7 +15,10 @@ const (
|
||||||
RedeemCodeStatusUsed = "used" // 已使用
|
RedeemCodeStatusUsed = "used" // 已使用
|
||||||
)
|
)
|
||||||
const (
|
const (
|
||||||
CodeTypeMemberCard30 = "member-card-30"
|
CodeTypeMemberCard30 = "member-card-30" // 会员卡 30天
|
||||||
|
CodeTypeMemberGoldMember = "member-card-gold-member"
|
||||||
|
CodeTypeMemberPlatinumMember = "member-card-platinum-member"
|
||||||
|
CodeTypeMemberBlackGoldMember = "member-card-black-gold-member"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -41,6 +44,7 @@ type RedeemCode struct {
|
||||||
SerialCode string `json:"serial_code" gorm:"index;comment:'兑换编码'"` // 兑换编码
|
SerialCode string `json:"serial_code" gorm:"index;comment:'兑换编码'"` // 兑换编码
|
||||||
CodeType string `json:"code_type"` // memberCard
|
CodeType string `json:"code_type"` // memberCard
|
||||||
Status string `json:"status" gorm:"index;comment:'兑换状态'"` // stocking user-hold used
|
Status string `json:"status" gorm:"index;comment:'兑换状态'"` // stocking user-hold used
|
||||||
|
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||||
CodeSecret string `json:"code_secret"` // 兑换密码
|
CodeSecret string `json:"code_secret"` // 兑换密码
|
||||||
EffectiveTime time.Time `json:"effective_time"` // 生效时间
|
EffectiveTime time.Time `json:"effective_time"` // 生效时间
|
||||||
ExpirationTime time.Time `json:"expiration_time"` // 过期时间
|
ExpirationTime time.Time `json:"expiration_time"` // 过期时间
|
||||||
|
@ -51,6 +55,7 @@ type UserRedeemCode struct {
|
||||||
Model
|
Model
|
||||||
Uid uint32 `json:"uid" gorm:"index;comment:'用户id'"`
|
Uid uint32 `json:"uid" gorm:"index;comment:'用户id'"`
|
||||||
Status string `json:"status" gorm:"index;comment:'兑换状态'"` // user-hold used
|
Status string `json:"status" gorm:"index;comment:'兑换状态'"` // user-hold used
|
||||||
|
StoreId uint32 `json:"store_id" gorm:"index"` // 门店id
|
||||||
SerialCode string `json:"serial_code" gorm:"index;comment:'兑换编码'"` // 兑换编码
|
SerialCode string `json:"serial_code" gorm:"index;comment:'兑换编码'"` // 兑换编码
|
||||||
CodeType string `json:"code_type"` // memberCard
|
CodeType string `json:"code_type"` // memberCard
|
||||||
ConvertTime time.Time `json:"convert_time"` // 绑定时间
|
ConvertTime time.Time `json:"convert_time"` // 绑定时间
|
||||||
|
@ -123,6 +128,10 @@ func UserRedeemCodeConvert(uid uint32, serialCode string) error {
|
||||||
begin.Rollback()
|
begin.Rollback()
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
//qsUserRedeem := NewUserRedeemCodeQuerySet(begin).UidEq(uid).SerialCodeEq(serialCode).GetUpdater()
|
||||||
|
//if userRedeem.CodeType == CodeTypeMemberGoldMember {
|
||||||
|
// //qsUserRedeem = qsUserRedeem.SetCodeType()
|
||||||
|
//}
|
||||||
updateNum, err := NewUserRedeemCodeQuerySet(begin).UidEq(uid).SerialCodeEq(serialCode).GetUpdater().
|
updateNum, err := NewUserRedeemCodeQuerySet(begin).UidEq(uid).SerialCodeEq(serialCode).GetUpdater().
|
||||||
SetStatus(UserRedeemCodeStatusUsed).SetConvertTime(time.Now()).UpdateNum()
|
SetStatus(UserRedeemCodeStatusUsed).SetConvertTime(time.Now()).UpdateNum()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -137,15 +146,45 @@ func UserRedeemCodeConvert(uid uint32, serialCode string) error {
|
||||||
}
|
}
|
||||||
user := GetUserByUid(uid)
|
user := GetUserByUid(uid)
|
||||||
qs := NewUserQuerySet(begin).UidEq(uid).GetUpdater()
|
qs := NewUserQuerySet(begin).UidEq(uid).GetUpdater()
|
||||||
if user.MemberLevel == 1 {
|
if user.MemberLevel != 1 && user.MemberLevel != 3 &&
|
||||||
qs = qs.SetMemberLevel(3)
|
userRedeem.CodeType != CodeTypeMemberCard30 {
|
||||||
|
logger.Error("code type used by consumer:")
|
||||||
|
begin.Rollback()
|
||||||
|
return errors.New("code type used by consumer")
|
||||||
}
|
}
|
||||||
|
|
||||||
if user.MemberExpire.After(time.Now()) {
|
addDates := 0
|
||||||
qs = qs.SetMemberExpire(user.MemberExpire.AddDate(0, 0, 30))
|
memberLevel := uint32(0)
|
||||||
} else {
|
switch userRedeem.CodeType {
|
||||||
qs = qs.SetMemberExpire(time.Now().AddDate(0, 0, 30))
|
case CodeTypeMemberCard30:
|
||||||
|
addDates = 30
|
||||||
|
memberLevel = 3
|
||||||
|
case CodeTypeMemberGoldMember:
|
||||||
|
addDates = 365
|
||||||
|
memberLevel = 2
|
||||||
|
qs = qs.SetMemberLevel(MemberLevelGold).SetOpenMemberTime(time.Now()).SetOpenMemberChannel(OpenMemberChannelRedeemCode)
|
||||||
|
case CodeTypeMemberPlatinumMember:
|
||||||
|
addDates = 365
|
||||||
|
memberLevel = 4
|
||||||
|
qs = qs.SetMemberLevel(MemberLevelPlatinum).SetOpenMemberTime(time.Now()).SetOpenMemberChannel(OpenMemberChannelRedeemCode)
|
||||||
|
case CodeTypeMemberBlackGoldMember:
|
||||||
|
addDates = 365
|
||||||
|
memberLevel = 5
|
||||||
|
qs = qs.SetMemberLevel(MemberLevelBlackGold).SetOpenMemberTime(time.Now()).SetOpenMemberChannel(OpenMemberChannelRedeemCode)
|
||||||
|
default:
|
||||||
|
logger.Error(" code type err:", err)
|
||||||
|
begin.Rollback()
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
if user.MemberExpire.After(time.Now()) {
|
||||||
|
qs = qs.SetMemberExpire(user.MemberExpire.AddDate(0, 0, addDates))
|
||||||
|
} else {
|
||||||
|
qs = qs.SetMemberExpire(time.Now().AddDate(0, 0, addDates))
|
||||||
|
}
|
||||||
|
if user.MemberLevel == 1 || user.MemberLevel == 3 {
|
||||||
|
qs = qs.SetMemberLevel(memberLevel)
|
||||||
|
}
|
||||||
|
|
||||||
userNum, err := qs.UpdateNum()
|
userNum, err := qs.UpdateNum()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("user redeem code err:", err)
|
logger.Error("user redeem code err:", err)
|
||||||
|
|
|
@ -30,8 +30,9 @@ type User struct {
|
||||||
City string `json:"city"` // 城市
|
City string `json:"city"` // 城市
|
||||||
Province string `json:"province"` // 省
|
Province string `json:"province"` // 省
|
||||||
Country string `json:"country"` // 市
|
Country string `json:"country"` // 市
|
||||||
Deposit uint32 `json:"deposit"` //
|
Deposit uint32 `json:"deposit"` // 押金
|
||||||
UserType uint8 `json:"user_type"` // 用户类型 1-普通用户 2-店员
|
UserType uint8 `json:"user_type"` // 用户类型 1-普通用户 2-店员
|
||||||
|
OpenMemberChannel string `json:"open_member_channel" ` // 开通会员渠道 -门店推广 -用户邀请 -兑换码
|
||||||
StoreId uint64 `json:"store_id"` // 门店id
|
StoreId uint64 `json:"store_id"` // 门店id
|
||||||
InviteCodeUrl string `json:"invite_code_url"` // 分享二维码
|
InviteCodeUrl string `json:"invite_code_url"` // 分享二维码
|
||||||
LastLoginAt time.Time `json:"last_login_at"` // 最近登录时间
|
LastLoginAt time.Time `json:"last_login_at"` // 最近登录时间
|
||||||
|
@ -54,7 +55,7 @@ const (
|
||||||
const (
|
const (
|
||||||
MemberLevelConsumer = 1 // 普通用户
|
MemberLevelConsumer = 1 // 普通用户
|
||||||
MemberLevelGold = 2 // 黄金会员
|
MemberLevelGold = 2 // 黄金会员
|
||||||
MemberLevelPeriod = 3
|
MemberLevelPeriod = 3 // 短期会员
|
||||||
MemberLevelPlatinum = 4 // 白金会员
|
MemberLevelPlatinum = 4 // 白金会员
|
||||||
MemberLevelBlackGold = 5 // 黑金会员
|
MemberLevelBlackGold = 5 // 黑金会员
|
||||||
)
|
)
|
||||||
|
@ -63,6 +64,11 @@ const (
|
||||||
DateTimeFormat = "2006-01-02"
|
DateTimeFormat = "2006-01-02"
|
||||||
TimeFormat = "2006-01-02 15:04:05"
|
TimeFormat = "2006-01-02 15:04:05"
|
||||||
)
|
)
|
||||||
|
const (
|
||||||
|
OpenMemberChannelStorePromotion = "store_promotion"
|
||||||
|
OpenMemberChannelUserInvite = "user_invite"
|
||||||
|
OpenMemberChannelRedeemCode = "redeem_code"
|
||||||
|
)
|
||||||
|
|
||||||
// gen:qs
|
// gen:qs
|
||||||
type UserInvite struct {
|
type UserInvite struct {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user