fix:生成文件

This commit is contained in:
li 2022-06-29 16:03:50 +08:00
parent f4280d733d
commit c75270892a
11 changed files with 1138 additions and 235 deletions

View File

@ -56,9 +56,16 @@ func UserMemberRenewalState(c *gin.Context) {
RespJson(c, status.Unauthorized, nil) RespJson(c, status.Unauthorized, nil)
return return
} }
user := model.GetUserByUid(uc.Uid)
if !user.IsMember() {
RespOK(c, map[string]interface{}{
"is_pop": true,
"is_member_renewal": false,
})
return
}
var activityMemberRenewal model.ActivityMemberRenewal var activityMemberRenewal model.ActivityMemberRenewal
err := model.NewActivityMemberRenewalQuerySet(model.DB).UidEq(uc.Uid).StateEq(1). err := model.NewActivityMemberRenewalQuerySet(model.DB).UidEq(uc.Uid).ActivityIdEq(1).StateEq(1).
One(&activityMemberRenewal) One(&activityMemberRenewal)
if err != nil && err != model.RecordNotFound { if err != nil && err != model.RecordNotFound {
logger.Error("activity member renewal err:", err) logger.Error("activity member renewal err:", err)
@ -68,7 +75,6 @@ func UserMemberRenewalState(c *gin.Context) {
isPop := true isPop := true
if err == model.RecordNotFound { if err == model.RecordNotFound {
user := model.GetUserByUid(uc.Uid)
if user.MemberExpire.After(utils.Now().AddDate(0, -1, 0)) && if user.MemberExpire.After(utils.Now().AddDate(0, -1, 0)) &&
user.MemberExpire.Before(utils.Now()) { user.MemberExpire.Before(utils.Now()) {
activityMemberRenewal = model.ActivityMemberRenewal{ activityMemberRenewal = model.ActivityMemberRenewal{
@ -89,6 +95,16 @@ func UserMemberRenewalState(c *gin.Context) {
isPop = false isPop = false
} }
} }
if activityMemberRenewal.StartTime.AddDate(0, 0, 7).Before(utils.Now()) {
activityMemberRenewal.State = 3
_, err = model.NewActivityMemberRenewalQuerySet(model.DB).IDEq(activityMemberRenewal.ID).GetUpdater().
SetState(3).UpdateNum()
if err != nil {
logger.Error("update num err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
}
isMemberRenewal := false isMemberRenewal := false
if activityMemberRenewal.State == 1 { if activityMemberRenewal.State == 1 {
isMemberRenewal = true isMemberRenewal = true
@ -100,3 +116,164 @@ func UserMemberRenewalState(c *gin.Context) {
RespOK(c, ret) RespOK(c, ret)
return return
} }
func UserMemberRenewalInfo(c *gin.Context) {
uc := auth.GetCurrentUser(c)
if uc == nil {
RespJson(c, status.Unauthorized, nil)
return
}
//uc := auth.UserClaims{Uid: 5640286}
var renewal model.ActivityMemberRenewal
err := model.NewActivityMemberRenewalQuerySet(model.DB).UidEq(uc.Uid).ActivityIdEq(1).
StateEq(1).One(&renewal)
if err != nil && err != model.RecordNotFound {
logger.Error("renewal err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
if err == model.RecordNotFound {
RespJson(c, status.InternalServerError, nil)
return
}
var coupons []model.Coupon
err = model.NewCouponQuerySet(model.DB).ActivityIdEq(renewal.ActivityId).All(&coupons)
if err != nil {
logger.Error("coupons err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
var userCoupons []model.UserCoupon
err = model.NewUserCouponQuerySet(model.DB).UidEq(uc.Uid).ActivityIdEq(renewal.ActivityId).
StateEq(1).All(&userCoupons)
if err != nil {
logger.Error("userCoupons err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
userCouponMap := make(map[uint32]*model.UserCoupon, 0)
for i, _ := range userCoupons {
userCouponMap[userCoupons[i].CouponId] = &userCoupons[i]
}
for i, _ := range coupons {
_, ok := userCouponMap[coupons[i].ID]
if ok {
coupons[i].IsDraw = true
}
}
down := 7*24*3600 - (utils.Now().Unix() - renewal.StartTime.Unix())
ret := map[string]interface{}{
"coupon_list": coupons,
"renewal": renewal,
"time_down": down,
}
RespOK(c, ret)
return
}
func UserMemberRenewalCouponDraw(c *gin.Context) {
req := &struct {
CouponIds []uint32 `json:"coupon_ids" binding:"required"`
}{}
if c.ShouldBindJSON(req) != nil {
logger.Errorf("para err")
RespJson(c, status.BadRequest, nil)
return
}
uc := auth.GetCurrentUser(c)
if uc == nil {
RespJson(c, status.Unauthorized, nil)
return
}
if len(req.CouponIds) == 0 {
logger.Errorf("para err")
RespOK(c, nil)
return
}
var coupons []model.Coupon
err := model.NewCouponQuerySet(model.DB).IDIn(req.CouponIds...).All(&coupons)
if err != nil {
logger.Error("coupons err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
for i, _ := range coupons {
userCoupon := &model.UserCoupon{
Uid: uc.Uid,
CouponId: coupons[i].ID,
CouponType: coupons[i].CouponType,
ActivityType: coupons[i].ActivityType,
ActivityId: coupons[i].ActivityId,
Value: coupons[i].Value,
State: 1,
ActiveStart: coupons[i].ActiveStart,
ActiveEnd: coupons[i].ActiveEnd,
MemberLevel: coupons[i].MemberLevel,
}
err = model.DB.Create(userCoupon).Error
if err != nil {
logger.Error("user coupon err:", err)
continue
}
}
RespOK(c, nil)
return
}
func MemberRenewalUserCouponList(c *gin.Context) {
req := struct {
PageIdx int `json:"page_idx"`
PageSize int `json:"page_size"`
State uint32 `json:"state"` // 1-未使用 2-已使用 3-已过期
}{}
if err := c.ShouldBindJSON(&req); err != nil {
logger.Error(err)
RespJson(c, status.BadRequest, nil)
return
}
uc := auth.GetCurrentUser(c)
if uc == nil {
RespJson(c, status.Unauthorized, nil)
return
}
page := req.PageIdx - 1
if page < 0 {
page = 0
}
if req.PageSize == 0 {
req.PageSize = 10
}
qs := model.NewUserCouponQuerySet(model.DB).UidEq(uc.Uid)
count, err := qs.Count()
if err != nil {
logger.Error("count err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
totalPage := count/req.PageSize + 1
var coupons []model.UserCoupon
err = qs.OrderDescByID().Offset(page * req.PageSize).Limit(req.PageSize).All(&coupons)
if err != nil && err != model.RecordNotFound {
logger.Error("coupons err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
ret := map[string]interface{}{
"list": coupons,
"total_page": totalPage,
"page_idx": req.PageIdx,
}
RespOK(c, ret)
return
}

1
controller/analyse.go Normal file
View File

@ -0,0 +1 @@
package controller

View File

@ -19,6 +19,7 @@ import (
aliyun "mh-server/lib/ali" aliyun "mh-server/lib/ali"
"mh-server/lib/auth" "mh-server/lib/auth"
"mh-server/lib/status" "mh-server/lib/status"
"mh-server/lib/utils"
"mh-server/lib/wxpay" "mh-server/lib/wxpay"
"mh-server/model" "mh-server/model"
"sort" "sort"
@ -49,7 +50,8 @@ func GameCardList(c *gin.Context) {
} }
fmt.Println("游戏类型:GameTypeIds:", req.GameTypeIds) fmt.Println("游戏类型:GameTypeIds:", req.GameTypeIds)
cardList, totalPage, err := model.GetGameCardList(req.SortType, req.Page, req.PageSize, req.GameTypeIds, req.StoreId, uc.Uid) cardList, totalPage, err := model.GetGameCardList(req.SortType, req.Page, req.PageSize,
req.GameTypeIds, req.StoreId, uc.Uid)
if err != nil { if err != nil {
logger.Error("err:", err) logger.Error("err:", err)
RespJson(c, status.InternalServerError, nil) RespJson(c, status.InternalServerError, nil)
@ -67,6 +69,7 @@ func GameCardList(c *gin.Context) {
func GameCardInfo(c *gin.Context) { func GameCardInfo(c *gin.Context) {
req := struct { req := struct {
GameId uint64 `json:"game_id"` GameId uint64 `json:"game_id"`
StoreId uint32 `json:"store_id"` // 门店id
}{} }{}
if c.ShouldBindJSON(&req) != nil { if c.ShouldBindJSON(&req) != nil {
RespJson(c, status.BadRequest, nil) RespJson(c, status.BadRequest, nil)
@ -85,7 +88,7 @@ func GameCardInfo(c *gin.Context) {
} }
}() }()
info, err := model.GetGameCardInfo(req.GameId) info, err := model.GetGameCardInfo(req.GameId, req.StoreId)
if err != nil { if err != nil {
logger.Error("err:", err) logger.Error("err:", err)
RespJson(c, status.InternalServerError, nil) RespJson(c, status.InternalServerError, nil)
@ -170,12 +173,29 @@ func GameCardHotSearch(c *gin.Context) {
} }
func HomeCarouselList(c *gin.Context) { func HomeCarouselList(c *gin.Context) {
uc := auth.GetCurrentUser(c)
if uc == nil {
RespJson(c, status.Unauthorized, nil)
return
}
carouselList, err := model.GetHomeCarouselList() carouselList, err := model.GetHomeCarouselList()
if err != nil { if err != nil {
logger.Error("err:", err) logger.Error("err:", err)
RespJson(c, status.InternalServerError, nil) RespJson(c, status.InternalServerError, nil)
return return
} }
user := model.GetUserByUid(uc.Uid)
if user.MemberExpire.After(utils.Now().AddDate(0, -1, 0)) &&
user.MemberExpire.Before(utils.Now()) {
list := make([]model.HomeCarousel, 0, len(carouselList))
for i, _ := range carouselList {
if carouselList[i].ActivityType == 1 {
continue
}
list = append(list, carouselList[i])
}
carouselList = list
}
RespOK(c, carouselList) RespOK(c, carouselList)
} }
@ -517,6 +537,14 @@ func PushWXPayNotice(c *gin.Context) {
model.CreateUserRentCardByMemberLevel(record.Uid, record.MemberLevel, memberConfig.CardMax) model.CreateUserRentCardByMemberLevel(record.Uid, record.MemberLevel, memberConfig.CardMax)
} }
if record.UserCouponId > 0 {
_, err = model.NewUserCouponQuerySet(model.DB).IDEq(record.UserCouponId).GetUpdater().
SetState(2).SetUseTime(utils.Now()).UpdateNum()
if err != nil {
logger.Error("update user coupon state err:", err)
}
}
fmt.Println("notify.TotalFee:", notifyInfo.TotalFee) fmt.Println("notify.TotalFee:", notifyInfo.TotalFee)
fmt.Println("notify.OutTradeNo:", notifyInfo.OutTradeNo) fmt.Println("notify.OutTradeNo:", notifyInfo.OutTradeNo)
@ -621,8 +649,8 @@ func PushWXPayNotice(c *gin.Context) {
return return
} }
_, err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetMemberLevel(record.MemberLevel).SetMemberExpire(record.MemberExpire). _, err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).GetUpdater().SetMemberLevel(record.MemberLevel).
SetDeposit(memberConfig.MemberDeposit).UpdateNum() SetMemberExpire(record.MemberExpire).SetDeposit(memberConfig.MemberDeposit).UpdateNum()
//err = model.UserUpdate(&model.User{Uid: uint32(record.Uid), MemberLevel: record.MemberLevel, MemberExpire: expireTime, Deposit: memberConfig.MemberDeposit}) //err = model.UserUpdate(&model.User{Uid: uint32(record.Uid), MemberLevel: record.MemberLevel, MemberExpire: expireTime, Deposit: memberConfig.MemberDeposit})
if err != nil { if err != nil {
logger.Error("err:", err) logger.Error("err:", err)

View File

@ -208,6 +208,7 @@ func UserInfoUpdate(c *gin.Context) {
func OpenMember(c *gin.Context) { func OpenMember(c *gin.Context) {
req := struct { req := struct {
MemberLevel uint32 `json:"member_level"` // 昵称 MemberLevel uint32 `json:"member_level"` // 昵称
UserCouponId uint32 `json:"user_coupon_id"` // 优惠券id
}{} }{}
if c.ShouldBindJSON(&req) != nil { if c.ShouldBindJSON(&req) != nil {
logger.Error("parameter err") logger.Error("parameter err")
@ -253,6 +254,23 @@ func OpenMember(c *gin.Context) {
RespJson(c, status.InternalServerError, nil) RespJson(c, status.InternalServerError, nil)
return return
} }
if req.UserCouponId != 0 {
var coupon model.UserCoupon
err = model.NewUserCouponQuerySet(model.DB).IDEq(req.UserCouponId).One(&coupon)
if err != nil {
logger.Error("coupon err:", err)
RespJson(c, status.InternalServerError, nil)
return
}
if coupon.Uid == uc.Uid && coupon.MemberLevel == req.MemberLevel &&
coupon.ActivityId == 1 && coupon.State == 1 {
totalFee -= coupon.Value
} else {
req.UserCouponId = 0
}
}
//webPay, err := wxpay.WebPay(uid, totalFee, user.WxOpenID, "N", wxpay.WxPayMember) //webPay, err := wxpay.WebPay(uid, totalFee, user.WxOpenID, "N", wxpay.WxPayMember)
//if err != nil { //if err != nil {
// logger.Error(errors.New("WebPay err")) // logger.Error(errors.New("WebPay err"))
@ -261,7 +279,8 @@ func OpenMember(c *gin.Context) {
//} //}
//orderSn := utils.GetSerialNo32HEXString() //orderSn := utils.GetSerialNo32HEXString()
orderSn := model.GetOrderSn() orderSn := model.GetOrderSn()
err = model.UserOpenMemberRecord{Uid: uc.Uid, OpenNo: orderSn, MemberLevel: req.MemberLevel}.Insert() err = model.UserOpenMemberRecord{Uid: uc.Uid, OpenNo: orderSn, MemberLevel: req.MemberLevel,
UserCouponId: req.UserCouponId}.Insert()
if err != nil { if err != nil {
logger.Error(errors.New("WebPay err")) logger.Error(errors.New("WebPay err"))
RespJson(c, status.InternalServerError, nil) RespJson(c, status.InternalServerError, nil)
@ -299,11 +318,11 @@ func UpgradeMember(c *gin.Context) {
} }
user := model.GetUserByUid(uc.Uid) user := model.GetUserByUid(uc.Uid)
if user.MemberLevel != 2 && user.MemberLevel != 4 { //if user.MemberLevel != 2 && user.MemberLevel != 4 {
logger.Error("MemberLevel err:") // logger.Error("MemberLevel err:")
RespJson(c, status.InternalServerError, nil) // RespJson(c, status.InternalServerError, nil)
return // return
} //}
originalMemberConfig, err := model.GetMemberConfig(user.MemberLevel) originalMemberConfig, err := model.GetMemberConfig(user.MemberLevel)
if err != nil { if err != nil {
@ -332,7 +351,8 @@ 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).CodeTypeEq(model.CodeTypeMemberCard30).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)
@ -341,19 +361,19 @@ func UpgradeMember(c *gin.Context) {
fmt.Println("count:", count) fmt.Println("count:", count)
// 抵扣天数 // 抵扣天数
deductionDays := int64(0) deductionDays := int64(0)
deductionTime := user.MemberExpire.Unix() - int64(count*30*24*3600) - time.Now().Unix() + 12*3600 deductionTime := user.MemberExpire.Unix() - int64(count*30*24*3600) - time.Now().Unix() + 1*3600
if deductionTime < 0 { if deductionTime < 0 {
deductionTime = 0 deductionTime = 0
} }
if deductionTime > 0 { if deductionTime > 0 {
deductionDays = deductionTime / int64(24*3600) deductionDays = deductionTime / int64(24*3600)
} }
memberYare := deductionDays/365 + 1
// 抵扣金 // 抵扣金
deductionFee := (((int64(memberFee) * deductionDays) / 365) / 100) * 100 deductionFee := (((int64(memberFee) * deductionDays) / 365) / 100) * 100
// 补会员费 // 补会员费
memberMendFee := int64(memberConfig.MemberFee) - deductionFee memberMendFee := int64(memberConfig.MemberFee*uint32(memberYare)) - deductionFee
totalFee := int64(depositMendFee) + memberMendFee totalFee := int64(depositMendFee) + memberMendFee
//if memberMendFee < 0 { //if memberMendFee < 0 {
@ -383,10 +403,10 @@ func UpgradeMember(c *gin.Context) {
// return // return
//} //}
//orderSn := utils.GetSerialNo32HEXString() //orderSn := utils.GetSerialNo32HEXString()
memberExpire := time.Now().AddDate(1, 0, count*30) memberExpire := time.Now().AddDate(1*int(memberYare), 0, count*30)
orderSn := model.GetOrderSn() orderSn := model.GetOrderSn()
err = model.UserOpenMemberRecord{Uid: uc.Uid, OpenNo: orderSn, err = model.UserOpenMemberRecord{Uid: uc.Uid, OpenNo: orderSn,
MemberLevel: req.MemberLevel, OrderType: 3, MemberExpire: memberExpire}.Insert() MemberLevel: req.MemberLevel, OrderType: 9, MemberExpire: memberExpire}.Insert()
if err != nil { if err != nil {
logger.Error(errors.New("WebPay err")) logger.Error(errors.New("WebPay err"))
RespJson(c, status.InternalServerError, nil) RespJson(c, status.InternalServerError, nil)
@ -398,7 +418,8 @@ func UpgradeMember(c *gin.Context) {
RespJson(c, status.InternalServerError, nil) RespJson(c, status.InternalServerError, nil)
return return
} }
webPay, err := wxpay.WebPay(orderSn, uint32(totalFee), user.WxOpenID, "N", wxpay.WxPayUpgradeMember, configInfo.NotifyUrl) webPay, err := wxpay.WebPay(orderSn, uint32(totalFee), user.WxOpenID, "N", wxpay.WxPayUpgradeMember,
configInfo.NotifyUrl)
if err != nil { if err != nil {
logger.Error(errors.New("WebPay err")) logger.Error(errors.New("WebPay err"))
RespJson(c, status.InternalServerError, nil) RespJson(c, status.InternalServerError, nil)
@ -424,11 +445,11 @@ func UpgradeMemberInfo(c *gin.Context) {
} }
user := model.GetUserByUid(uc.Uid) user := model.GetUserByUid(uc.Uid)
if user.MemberLevel != 2 && user.MemberLevel != 4 { //if user.MemberLevel != 2 && user.MemberLevel != 4 {
logger.Error("MemberLevel err:") // logger.Error("MemberLevel err:")
RespJson(c, status.InternalServerError, nil) // RespJson(c, status.InternalServerError, nil)
return // return
} //}
//configInfo, err := model.PayConfigInfo() //configInfo, err := model.PayConfigInfo()
//if err != nil { //if err != nil {
@ -463,7 +484,8 @@ 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).CodeTypeEq(model.CodeTypeMemberCard30).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)
@ -472,19 +494,19 @@ func UpgradeMemberInfo(c *gin.Context) {
fmt.Println("count:", count) fmt.Println("count:", count)
// 抵扣天数 // 抵扣天数
deductionDays := int64(0) deductionDays := int64(0)
deductionTime := user.MemberExpire.Unix() - int64(count*30*24*3600) - time.Now().Unix() + 12*3600 deductionTime := user.MemberExpire.Unix() - int64(count*30*24*3600) - time.Now().Unix() + 1*3600
if deductionTime < 0 { if deductionTime < 0 {
deductionTime = 0 deductionTime = 0
} }
if deductionTime > 0 { if deductionTime > 0 {
deductionDays = deductionTime / int64(24*3600) deductionDays = deductionTime / int64(24*3600)
} }
memberYare := deductionDays/365 + 1
// 抵扣金 // 抵扣金
deductionFee := (((int64(memberFee) * deductionDays) / 365) / 100) * 100 deductionFee := (((int64(memberFee) * deductionDays) / 365) / 100) * 100
// 补会员费 // 补会员费
memberMendFee := int64(memberConfig.MemberFee) - deductionFee memberMendFee := int64(memberConfig.MemberFee*uint32(memberYare)) - deductionFee
totalFee := int64(depositMendFee) + memberMendFee totalFee := int64(depositMendFee) + memberMendFee
//if memberMendFee < 0 { //if memberMendFee < 0 {

8
model/analyse.go Normal file
View File

@ -0,0 +1,8 @@
package model
type Statistic struct {
Model
Count uint32 `json:"count"` // 计数
Type uint32 `json:"type" gorm:"index"` // 类型:1-
}

View File

@ -1785,6 +1785,118 @@ func (qs CouponQuerySet) ActiveStartNe(activeStart time.Time) CouponQuerySet {
return qs.w(qs.db.Where("active_start != ?", activeStart)) return qs.w(qs.db.Where("active_start != ?", activeStart))
} }
// ActivityIdEq is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) ActivityIdEq(activityId uint32) CouponQuerySet {
return qs.w(qs.db.Where("activity_id = ?", activityId))
}
// ActivityIdGt is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) ActivityIdGt(activityId uint32) CouponQuerySet {
return qs.w(qs.db.Where("activity_id > ?", activityId))
}
// ActivityIdGte is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) ActivityIdGte(activityId uint32) CouponQuerySet {
return qs.w(qs.db.Where("activity_id >= ?", activityId))
}
// ActivityIdIn is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) ActivityIdIn(activityId ...uint32) CouponQuerySet {
if len(activityId) == 0 {
qs.db.AddError(errors.New("must at least pass one activityId in ActivityIdIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("activity_id IN (?)", activityId))
}
// ActivityIdLt is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) ActivityIdLt(activityId uint32) CouponQuerySet {
return qs.w(qs.db.Where("activity_id < ?", activityId))
}
// ActivityIdLte is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) ActivityIdLte(activityId uint32) CouponQuerySet {
return qs.w(qs.db.Where("activity_id <= ?", activityId))
}
// ActivityIdNe is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) ActivityIdNe(activityId uint32) CouponQuerySet {
return qs.w(qs.db.Where("activity_id != ?", activityId))
}
// ActivityIdNotIn is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) ActivityIdNotIn(activityId ...uint32) CouponQuerySet {
if len(activityId) == 0 {
qs.db.AddError(errors.New("must at least pass one activityId in ActivityIdNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("activity_id NOT IN (?)", activityId))
}
// ActivityTypeEq is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) ActivityTypeEq(activityType uint32) CouponQuerySet {
return qs.w(qs.db.Where("activity_type = ?", activityType))
}
// ActivityTypeGt is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) ActivityTypeGt(activityType uint32) CouponQuerySet {
return qs.w(qs.db.Where("activity_type > ?", activityType))
}
// ActivityTypeGte is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) ActivityTypeGte(activityType uint32) CouponQuerySet {
return qs.w(qs.db.Where("activity_type >= ?", activityType))
}
// ActivityTypeIn is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) ActivityTypeIn(activityType ...uint32) CouponQuerySet {
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 CouponQuerySet) ActivityTypeLt(activityType uint32) CouponQuerySet {
return qs.w(qs.db.Where("activity_type < ?", activityType))
}
// ActivityTypeLte is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) ActivityTypeLte(activityType uint32) CouponQuerySet {
return qs.w(qs.db.Where("activity_type <= ?", activityType))
}
// ActivityTypeNe is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) ActivityTypeNe(activityType uint32) CouponQuerySet {
return qs.w(qs.db.Where("activity_type != ?", activityType))
}
// ActivityTypeNotIn is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) ActivityTypeNotIn(activityType ...uint32) CouponQuerySet {
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 CouponQuerySet) All(ret *[]Coupon) error { func (qs CouponQuerySet) All(ret *[]Coupon) error {
@ -2113,6 +2225,62 @@ func (qs CouponQuerySet) Limit(limit int) CouponQuerySet {
return qs.w(qs.db.Limit(limit)) return qs.w(qs.db.Limit(limit))
} }
// MemberLevelEq is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) MemberLevelEq(memberLevel uint32) CouponQuerySet {
return qs.w(qs.db.Where("member_level = ?", memberLevel))
}
// MemberLevelGt is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) MemberLevelGt(memberLevel uint32) CouponQuerySet {
return qs.w(qs.db.Where("member_level > ?", memberLevel))
}
// MemberLevelGte is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) MemberLevelGte(memberLevel uint32) CouponQuerySet {
return qs.w(qs.db.Where("member_level >= ?", memberLevel))
}
// MemberLevelIn is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) MemberLevelIn(memberLevel ...uint32) CouponQuerySet {
if len(memberLevel) == 0 {
qs.db.AddError(errors.New("must at least pass one memberLevel in MemberLevelIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("member_level IN (?)", memberLevel))
}
// MemberLevelLt is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) MemberLevelLt(memberLevel uint32) CouponQuerySet {
return qs.w(qs.db.Where("member_level < ?", memberLevel))
}
// MemberLevelLte is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) MemberLevelLte(memberLevel uint32) CouponQuerySet {
return qs.w(qs.db.Where("member_level <= ?", memberLevel))
}
// MemberLevelNe is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) MemberLevelNe(memberLevel uint32) CouponQuerySet {
return qs.w(qs.db.Where("member_level != ?", memberLevel))
}
// MemberLevelNotIn is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) MemberLevelNotIn(memberLevel ...uint32) CouponQuerySet {
if len(memberLevel) == 0 {
qs.db.AddError(errors.New("must at least pass one memberLevel in MemberLevelNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("member_level NOT IN (?)", memberLevel))
}
// NameEq is an autogenerated method // NameEq is an autogenerated method
// nolint: dupl // nolint: dupl
func (qs CouponQuerySet) NameEq(name string) CouponQuerySet { func (qs CouponQuerySet) NameEq(name string) CouponQuerySet {
@ -2205,6 +2373,18 @@ func (qs CouponQuerySet) OrderAscByActiveStart() CouponQuerySet {
return qs.w(qs.db.Order("active_start ASC")) return qs.w(qs.db.Order("active_start ASC"))
} }
// OrderAscByActivityId is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) OrderAscByActivityId() CouponQuerySet {
return qs.w(qs.db.Order("activity_id ASC"))
}
// OrderAscByActivityType is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) OrderAscByActivityType() CouponQuerySet {
return qs.w(qs.db.Order("activity_type ASC"))
}
// OrderAscByCouponType is an autogenerated method // OrderAscByCouponType is an autogenerated method
// nolint: dupl // nolint: dupl
func (qs CouponQuerySet) OrderAscByCouponType() CouponQuerySet { func (qs CouponQuerySet) OrderAscByCouponType() CouponQuerySet {
@ -2235,6 +2415,12 @@ func (qs CouponQuerySet) OrderAscByID() CouponQuerySet {
return qs.w(qs.db.Order("id ASC")) return qs.w(qs.db.Order("id ASC"))
} }
// OrderAscByMemberLevel is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) OrderAscByMemberLevel() CouponQuerySet {
return qs.w(qs.db.Order("member_level ASC"))
}
// OrderAscByName is an autogenerated method // OrderAscByName is an autogenerated method
// nolint: dupl // nolint: dupl
func (qs CouponQuerySet) OrderAscByName() CouponQuerySet { func (qs CouponQuerySet) OrderAscByName() CouponQuerySet {
@ -2277,6 +2463,18 @@ func (qs CouponQuerySet) OrderDescByActiveStart() CouponQuerySet {
return qs.w(qs.db.Order("active_start DESC")) return qs.w(qs.db.Order("active_start DESC"))
} }
// OrderDescByActivityId is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) OrderDescByActivityId() CouponQuerySet {
return qs.w(qs.db.Order("activity_id DESC"))
}
// OrderDescByActivityType is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) OrderDescByActivityType() CouponQuerySet {
return qs.w(qs.db.Order("activity_type DESC"))
}
// OrderDescByCouponType is an autogenerated method // OrderDescByCouponType is an autogenerated method
// nolint: dupl // nolint: dupl
func (qs CouponQuerySet) OrderDescByCouponType() CouponQuerySet { func (qs CouponQuerySet) OrderDescByCouponType() CouponQuerySet {
@ -2307,6 +2505,12 @@ func (qs CouponQuerySet) OrderDescByID() CouponQuerySet {
return qs.w(qs.db.Order("id DESC")) return qs.w(qs.db.Order("id DESC"))
} }
// OrderDescByMemberLevel is an autogenerated method
// nolint: dupl
func (qs CouponQuerySet) OrderDescByMemberLevel() CouponQuerySet {
return qs.w(qs.db.Order("member_level DESC"))
}
// OrderDescByName is an autogenerated method // OrderDescByName is an autogenerated method
// nolint: dupl // nolint: dupl
func (qs CouponQuerySet) OrderDescByName() CouponQuerySet { func (qs CouponQuerySet) OrderDescByName() CouponQuerySet {
@ -2555,6 +2759,20 @@ func (u CouponUpdater) SetActiveStart(activeStart time.Time) CouponUpdater {
return u return u
} }
// SetActivityId is an autogenerated method
// nolint: dupl
func (u CouponUpdater) SetActivityId(activityId uint32) CouponUpdater {
u.fields[string(CouponDBSchema.ActivityId)] = activityId
return u
}
// SetActivityType is an autogenerated method
// nolint: dupl
func (u CouponUpdater) SetActivityType(activityType uint32) CouponUpdater {
u.fields[string(CouponDBSchema.ActivityType)] = activityType
return u
}
// SetCouponType is an autogenerated method // SetCouponType is an autogenerated method
// nolint: dupl // nolint: dupl
func (u CouponUpdater) SetCouponType(couponType string) CouponUpdater { func (u CouponUpdater) SetCouponType(couponType string) CouponUpdater {
@ -2590,6 +2808,13 @@ func (u CouponUpdater) SetID(ID uint32) CouponUpdater {
return u return u
} }
// SetMemberLevel is an autogenerated method
// nolint: dupl
func (u CouponUpdater) SetMemberLevel(memberLevel uint32) CouponUpdater {
u.fields[string(CouponDBSchema.MemberLevel)] = memberLevel
return u
}
// SetName is an autogenerated method // SetName is an autogenerated method
// nolint: dupl // nolint: dupl
func (u CouponUpdater) SetName(name string) CouponUpdater { func (u CouponUpdater) SetName(name string) CouponUpdater {
@ -2660,11 +2885,14 @@ var CouponDBSchema = struct {
Name CouponDBSchemaField Name CouponDBSchemaField
Describe CouponDBSchemaField Describe CouponDBSchemaField
CouponType CouponDBSchemaField CouponType CouponDBSchemaField
ActivityType CouponDBSchemaField
ActivityId CouponDBSchemaField
Value CouponDBSchemaField Value CouponDBSchemaField
OutCount CouponDBSchemaField OutCount CouponDBSchemaField
UsedCount CouponDBSchemaField UsedCount CouponDBSchemaField
ActiveStart CouponDBSchemaField ActiveStart CouponDBSchemaField
ActiveEnd CouponDBSchemaField ActiveEnd CouponDBSchemaField
MemberLevel CouponDBSchemaField
}{ }{
ID: CouponDBSchemaField("id"), ID: CouponDBSchemaField("id"),
@ -2674,11 +2902,14 @@ var CouponDBSchema = struct {
Name: CouponDBSchemaField("name"), Name: CouponDBSchemaField("name"),
Describe: CouponDBSchemaField("describe"), Describe: CouponDBSchemaField("describe"),
CouponType: CouponDBSchemaField("coupon_type"), CouponType: CouponDBSchemaField("coupon_type"),
ActivityType: CouponDBSchemaField("activity_type"),
ActivityId: CouponDBSchemaField("activity_id"),
Value: CouponDBSchemaField("value"), Value: CouponDBSchemaField("value"),
OutCount: CouponDBSchemaField("out_count"), OutCount: CouponDBSchemaField("out_count"),
UsedCount: CouponDBSchemaField("used_count"), UsedCount: CouponDBSchemaField("used_count"),
ActiveStart: CouponDBSchemaField("active_start"), ActiveStart: CouponDBSchemaField("active_start"),
ActiveEnd: CouponDBSchemaField("active_end"), ActiveEnd: CouponDBSchemaField("active_end"),
MemberLevel: CouponDBSchemaField("member_level"),
} }
// Update updates Coupon fields by primary key // Update updates Coupon fields by primary key
@ -2692,11 +2923,14 @@ func (o *Coupon) Update(db *gorm.DB, fields ...CouponDBSchemaField) error {
"name": o.Name, "name": o.Name,
"describe": o.Describe, "describe": o.Describe,
"coupon_type": o.CouponType, "coupon_type": o.CouponType,
"activity_type": o.ActivityType,
"activity_id": o.ActivityId,
"value": o.Value, "value": o.Value,
"out_count": o.OutCount, "out_count": o.OutCount,
"used_count": o.UsedCount, "used_count": o.UsedCount,
"active_start": o.ActiveStart, "active_start": o.ActiveStart,
"active_end": o.ActiveEnd, "active_end": o.ActiveEnd,
"member_level": o.MemberLevel,
} }
u := map[string]interface{}{} u := map[string]interface{}{}
for _, f := range fields { for _, f := range fields {
@ -2843,6 +3077,118 @@ func (qs UserCouponQuerySet) ActiveStartNe(activeStart time.Time) UserCouponQuer
return qs.w(qs.db.Where("active_start != ?", activeStart)) return qs.w(qs.db.Where("active_start != ?", activeStart))
} }
// ActivityIdEq is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) ActivityIdEq(activityId uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("activity_id = ?", activityId))
}
// ActivityIdGt is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) ActivityIdGt(activityId uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("activity_id > ?", activityId))
}
// ActivityIdGte is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) ActivityIdGte(activityId uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("activity_id >= ?", activityId))
}
// ActivityIdIn is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) ActivityIdIn(activityId ...uint32) UserCouponQuerySet {
if len(activityId) == 0 {
qs.db.AddError(errors.New("must at least pass one activityId in ActivityIdIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("activity_id IN (?)", activityId))
}
// ActivityIdLt is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) ActivityIdLt(activityId uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("activity_id < ?", activityId))
}
// ActivityIdLte is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) ActivityIdLte(activityId uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("activity_id <= ?", activityId))
}
// ActivityIdNe is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) ActivityIdNe(activityId uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("activity_id != ?", activityId))
}
// ActivityIdNotIn is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) ActivityIdNotIn(activityId ...uint32) UserCouponQuerySet {
if len(activityId) == 0 {
qs.db.AddError(errors.New("must at least pass one activityId in ActivityIdNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("activity_id NOT IN (?)", activityId))
}
// ActivityTypeEq is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) ActivityTypeEq(activityType uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("activity_type = ?", activityType))
}
// ActivityTypeGt is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) ActivityTypeGt(activityType uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("activity_type > ?", activityType))
}
// ActivityTypeGte is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) ActivityTypeGte(activityType uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("activity_type >= ?", activityType))
}
// ActivityTypeIn is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) ActivityTypeIn(activityType ...uint32) UserCouponQuerySet {
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 UserCouponQuerySet) ActivityTypeLt(activityType uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("activity_type < ?", activityType))
}
// ActivityTypeLte is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) ActivityTypeLte(activityType uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("activity_type <= ?", activityType))
}
// ActivityTypeNe is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) ActivityTypeNe(activityType uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("activity_type != ?", activityType))
}
// ActivityTypeNotIn is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) ActivityTypeNotIn(activityType ...uint32) UserCouponQuerySet {
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 UserCouponQuerySet) All(ret *[]UserCoupon) error { func (qs UserCouponQuerySet) All(ret *[]UserCoupon) error {
@ -3159,6 +3505,62 @@ func (qs UserCouponQuerySet) Limit(limit int) UserCouponQuerySet {
return qs.w(qs.db.Limit(limit)) return qs.w(qs.db.Limit(limit))
} }
// MemberLevelEq is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) MemberLevelEq(memberLevel uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("member_level = ?", memberLevel))
}
// MemberLevelGt is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) MemberLevelGt(memberLevel uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("member_level > ?", memberLevel))
}
// MemberLevelGte is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) MemberLevelGte(memberLevel uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("member_level >= ?", memberLevel))
}
// MemberLevelIn is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) MemberLevelIn(memberLevel ...uint32) UserCouponQuerySet {
if len(memberLevel) == 0 {
qs.db.AddError(errors.New("must at least pass one memberLevel in MemberLevelIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("member_level IN (?)", memberLevel))
}
// MemberLevelLt is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) MemberLevelLt(memberLevel uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("member_level < ?", memberLevel))
}
// MemberLevelLte is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) MemberLevelLte(memberLevel uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("member_level <= ?", memberLevel))
}
// MemberLevelNe is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) MemberLevelNe(memberLevel uint32) UserCouponQuerySet {
return qs.w(qs.db.Where("member_level != ?", memberLevel))
}
// MemberLevelNotIn is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) MemberLevelNotIn(memberLevel ...uint32) UserCouponQuerySet {
if len(memberLevel) == 0 {
qs.db.AddError(errors.New("must at least pass one memberLevel in MemberLevelNotIn"))
return qs.w(qs.db)
}
return qs.w(qs.db.Where("member_level NOT IN (?)", memberLevel))
}
// Offset is an autogenerated method // Offset is an autogenerated method
// nolint: dupl // nolint: dupl
func (qs UserCouponQuerySet) Offset(offset int) UserCouponQuerySet { func (qs UserCouponQuerySet) Offset(offset int) UserCouponQuerySet {
@ -3183,6 +3585,18 @@ func (qs UserCouponQuerySet) OrderAscByActiveStart() UserCouponQuerySet {
return qs.w(qs.db.Order("active_start ASC")) return qs.w(qs.db.Order("active_start ASC"))
} }
// OrderAscByActivityId is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) OrderAscByActivityId() UserCouponQuerySet {
return qs.w(qs.db.Order("activity_id ASC"))
}
// OrderAscByActivityType is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) OrderAscByActivityType() UserCouponQuerySet {
return qs.w(qs.db.Order("activity_type ASC"))
}
// OrderAscByCouponId is an autogenerated method // OrderAscByCouponId is an autogenerated method
// nolint: dupl // nolint: dupl
func (qs UserCouponQuerySet) OrderAscByCouponId() UserCouponQuerySet { func (qs UserCouponQuerySet) OrderAscByCouponId() UserCouponQuerySet {
@ -3213,6 +3627,12 @@ func (qs UserCouponQuerySet) OrderAscByID() UserCouponQuerySet {
return qs.w(qs.db.Order("id ASC")) return qs.w(qs.db.Order("id ASC"))
} }
// OrderAscByMemberLevel is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) OrderAscByMemberLevel() UserCouponQuerySet {
return qs.w(qs.db.Order("member_level ASC"))
}
// OrderAscByState is an autogenerated method // OrderAscByState is an autogenerated method
// nolint: dupl // nolint: dupl
func (qs UserCouponQuerySet) OrderAscByState() UserCouponQuerySet { func (qs UserCouponQuerySet) OrderAscByState() UserCouponQuerySet {
@ -3231,6 +3651,12 @@ func (qs UserCouponQuerySet) OrderAscByUpdatedAt() UserCouponQuerySet {
return qs.w(qs.db.Order("updated_at ASC")) return qs.w(qs.db.Order("updated_at ASC"))
} }
// OrderAscByUseTime is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) OrderAscByUseTime() UserCouponQuerySet {
return qs.w(qs.db.Order("use_time ASC"))
}
// OrderAscByValue is an autogenerated method // OrderAscByValue is an autogenerated method
// nolint: dupl // nolint: dupl
func (qs UserCouponQuerySet) OrderAscByValue() UserCouponQuerySet { func (qs UserCouponQuerySet) OrderAscByValue() UserCouponQuerySet {
@ -3249,6 +3675,18 @@ func (qs UserCouponQuerySet) OrderDescByActiveStart() UserCouponQuerySet {
return qs.w(qs.db.Order("active_start DESC")) return qs.w(qs.db.Order("active_start DESC"))
} }
// OrderDescByActivityId is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) OrderDescByActivityId() UserCouponQuerySet {
return qs.w(qs.db.Order("activity_id DESC"))
}
// OrderDescByActivityType is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) OrderDescByActivityType() UserCouponQuerySet {
return qs.w(qs.db.Order("activity_type DESC"))
}
// OrderDescByCouponId is an autogenerated method // OrderDescByCouponId is an autogenerated method
// nolint: dupl // nolint: dupl
func (qs UserCouponQuerySet) OrderDescByCouponId() UserCouponQuerySet { func (qs UserCouponQuerySet) OrderDescByCouponId() UserCouponQuerySet {
@ -3279,6 +3717,12 @@ func (qs UserCouponQuerySet) OrderDescByID() UserCouponQuerySet {
return qs.w(qs.db.Order("id DESC")) return qs.w(qs.db.Order("id DESC"))
} }
// OrderDescByMemberLevel is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) OrderDescByMemberLevel() UserCouponQuerySet {
return qs.w(qs.db.Order("member_level DESC"))
}
// OrderDescByState is an autogenerated method // OrderDescByState is an autogenerated method
// nolint: dupl // nolint: dupl
func (qs UserCouponQuerySet) OrderDescByState() UserCouponQuerySet { func (qs UserCouponQuerySet) OrderDescByState() UserCouponQuerySet {
@ -3297,6 +3741,12 @@ func (qs UserCouponQuerySet) OrderDescByUpdatedAt() UserCouponQuerySet {
return qs.w(qs.db.Order("updated_at DESC")) return qs.w(qs.db.Order("updated_at DESC"))
} }
// OrderDescByUseTime is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) OrderDescByUseTime() UserCouponQuerySet {
return qs.w(qs.db.Order("use_time DESC"))
}
// OrderDescByValue is an autogenerated method // OrderDescByValue is an autogenerated method
// nolint: dupl // nolint: dupl
func (qs UserCouponQuerySet) OrderDescByValue() UserCouponQuerySet { func (qs UserCouponQuerySet) OrderDescByValue() UserCouponQuerySet {
@ -3451,6 +3901,42 @@ func (qs UserCouponQuerySet) UpdatedAtNe(updatedAt time.Time) UserCouponQuerySet
return qs.w(qs.db.Where("updated_at != ?", updatedAt)) return qs.w(qs.db.Where("updated_at != ?", updatedAt))
} }
// UseTimeEq is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) UseTimeEq(useTime time.Time) UserCouponQuerySet {
return qs.w(qs.db.Where("use_time = ?", useTime))
}
// UseTimeGt is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) UseTimeGt(useTime time.Time) UserCouponQuerySet {
return qs.w(qs.db.Where("use_time > ?", useTime))
}
// UseTimeGte is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) UseTimeGte(useTime time.Time) UserCouponQuerySet {
return qs.w(qs.db.Where("use_time >= ?", useTime))
}
// UseTimeLt is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) UseTimeLt(useTime time.Time) UserCouponQuerySet {
return qs.w(qs.db.Where("use_time < ?", useTime))
}
// UseTimeLte is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) UseTimeLte(useTime time.Time) UserCouponQuerySet {
return qs.w(qs.db.Where("use_time <= ?", useTime))
}
// UseTimeNe is an autogenerated method
// nolint: dupl
func (qs UserCouponQuerySet) UseTimeNe(useTime time.Time) UserCouponQuerySet {
return qs.w(qs.db.Where("use_time != ?", useTime))
}
// ValueEq is an autogenerated method // ValueEq is an autogenerated method
// nolint: dupl // nolint: dupl
func (qs UserCouponQuerySet) ValueEq(value uint32) UserCouponQuerySet { func (qs UserCouponQuerySet) ValueEq(value uint32) UserCouponQuerySet {
@ -3521,6 +4007,20 @@ func (u UserCouponUpdater) SetActiveStart(activeStart time.Time) UserCouponUpdat
return u return u
} }
// SetActivityId is an autogenerated method
// nolint: dupl
func (u UserCouponUpdater) SetActivityId(activityId uint32) UserCouponUpdater {
u.fields[string(UserCouponDBSchema.ActivityId)] = activityId
return u
}
// SetActivityType is an autogenerated method
// nolint: dupl
func (u UserCouponUpdater) SetActivityType(activityType uint32) UserCouponUpdater {
u.fields[string(UserCouponDBSchema.ActivityType)] = activityType
return u
}
// SetCouponId is an autogenerated method // SetCouponId is an autogenerated method
// nolint: dupl // nolint: dupl
func (u UserCouponUpdater) SetCouponId(couponId uint32) UserCouponUpdater { func (u UserCouponUpdater) SetCouponId(couponId uint32) UserCouponUpdater {
@ -3556,6 +4056,13 @@ func (u UserCouponUpdater) SetID(ID uint32) UserCouponUpdater {
return u return u
} }
// SetMemberLevel is an autogenerated method
// nolint: dupl
func (u UserCouponUpdater) SetMemberLevel(memberLevel uint32) UserCouponUpdater {
u.fields[string(UserCouponDBSchema.MemberLevel)] = memberLevel
return u
}
// SetState is an autogenerated method // SetState is an autogenerated method
// nolint: dupl // nolint: dupl
func (u UserCouponUpdater) SetState(state uint32) UserCouponUpdater { func (u UserCouponUpdater) SetState(state uint32) UserCouponUpdater {
@ -3577,6 +4084,13 @@ func (u UserCouponUpdater) SetUpdatedAt(updatedAt time.Time) UserCouponUpdater {
return u return u
} }
// SetUseTime is an autogenerated method
// nolint: dupl
func (u UserCouponUpdater) SetUseTime(useTime time.Time) UserCouponUpdater {
u.fields[string(UserCouponDBSchema.UseTime)] = useTime
return u
}
// SetValue is an autogenerated method // SetValue is an autogenerated method
// nolint: dupl // nolint: dupl
func (u UserCouponUpdater) SetValue(value uint32) UserCouponUpdater { func (u UserCouponUpdater) SetValue(value uint32) UserCouponUpdater {
@ -3619,10 +4133,14 @@ var UserCouponDBSchema = struct {
Uid UserCouponDBSchemaField Uid UserCouponDBSchemaField
CouponId UserCouponDBSchemaField CouponId UserCouponDBSchemaField
CouponType UserCouponDBSchemaField CouponType UserCouponDBSchemaField
ActivityType UserCouponDBSchemaField
ActivityId UserCouponDBSchemaField
Value UserCouponDBSchemaField Value UserCouponDBSchemaField
State UserCouponDBSchemaField State UserCouponDBSchemaField
ActiveStart UserCouponDBSchemaField ActiveStart UserCouponDBSchemaField
ActiveEnd UserCouponDBSchemaField ActiveEnd UserCouponDBSchemaField
UseTime UserCouponDBSchemaField
MemberLevel UserCouponDBSchemaField
}{ }{
ID: UserCouponDBSchemaField("id"), ID: UserCouponDBSchemaField("id"),
@ -3632,10 +4150,14 @@ var UserCouponDBSchema = struct {
Uid: UserCouponDBSchemaField("uid"), Uid: UserCouponDBSchemaField("uid"),
CouponId: UserCouponDBSchemaField("coupon_id"), CouponId: UserCouponDBSchemaField("coupon_id"),
CouponType: UserCouponDBSchemaField("coupon_type"), CouponType: UserCouponDBSchemaField("coupon_type"),
ActivityType: UserCouponDBSchemaField("activity_type"),
ActivityId: UserCouponDBSchemaField("activity_id"),
Value: UserCouponDBSchemaField("value"), Value: UserCouponDBSchemaField("value"),
State: UserCouponDBSchemaField("state"), State: UserCouponDBSchemaField("state"),
ActiveStart: UserCouponDBSchemaField("active_start"), ActiveStart: UserCouponDBSchemaField("active_start"),
ActiveEnd: UserCouponDBSchemaField("active_end"), ActiveEnd: UserCouponDBSchemaField("active_end"),
UseTime: UserCouponDBSchemaField("use_time"),
MemberLevel: UserCouponDBSchemaField("member_level"),
} }
// Update updates UserCoupon fields by primary key // Update updates UserCoupon fields by primary key
@ -3649,10 +4171,14 @@ func (o *UserCoupon) Update(db *gorm.DB, fields ...UserCouponDBSchemaField) erro
"uid": o.Uid, "uid": o.Uid,
"coupon_id": o.CouponId, "coupon_id": o.CouponId,
"coupon_type": o.CouponType, "coupon_type": o.CouponType,
"activity_type": o.ActivityType,
"activity_id": o.ActivityId,
"value": o.Value, "value": o.Value,
"state": o.State, "state": o.State,
"active_start": o.ActiveStart, "active_start": o.ActiveStart,
"active_end": o.ActiveEnd, "active_end": o.ActiveEnd,
"use_time": o.UseTime,
"member_level": o.MemberLevel,
} }
u := map[string]interface{}{} u := map[string]interface{}{}
for _, f := range fields { for _, f := range fields {

View File

@ -3,38 +3,44 @@ package model
import "time" import "time"
const ( const (
CouponTypeDeduction = "deduction" CouponTypeDeduction = "deduction" // 抵扣
)
const (
CouponTypeMemberRenewal = "member_renewal"
) )
//go:generate goqueryset -in coupon.go //go:generate goqueryset -in coupon.go
// gen:qs // gen:qs
type Coupon struct { type Coupon struct {
Model Model
Name string `json:"name"` Name string `json:"name"`
Describe string `json:"describe" gorm:"type:text;"` // 描述 Describe string `json:"describe" gorm:"type:text;"` // 描述
CouponType string `json:"coupon_type"` CouponType string `json:"coupon_type"`
ActivityType uint32 `json:"activity_type"` // 活动类型 1-会员续费
ActivityId uint32 `json:"activity_id" gorm:"index"`
Value uint32 `json:"value"` Value uint32 `json:"value"`
OutCount uint32 `json:"out_count"` // 用户已领取数量 OutCount uint32 `json:"out_count"` // 用户已领取数量
UsedCount uint32 `json:"used_count"` // 用户已使用数量 UsedCount uint32 `json:"used_count"` // 用户已使用数量
ActiveStart time.Time `json:"active_start"` // 有效期开始 ActiveStart time.Time `json:"active_start"` // 有效期开始
ActiveEnd time.Time `json:"active_end"` // 有效期结束 零值永不结束 ActiveEnd time.Time `json:"active_end"` // 有效期结束 零值永不结束
MemberLevel uint32 `json:"member_level"` // 会员等级 1-用户 2-会员
IsDraw bool `json:"is_draw" gorm:"-"`
} }
// gen:qs // gen:qs
type UserCoupon struct { type UserCoupon struct {
Model Model
Uid uint32 `json:"uid"` Uid uint32 `json:"uid" gorm:"index"`
CouponId uint32 `json:"coupon_id"` CouponId uint32 `json:"coupon_id" gorm:"index"`
CouponType string `json:"coupon_type"` CouponType string `json:"coupon_type"`
ActivityType uint32 `json:"activity_type"` // 活动类型 1-会员续费
ActivityId uint32 `json:"activity_id" gorm:"index"`
Value uint32 `json:"value"` Value uint32 `json:"value"`
State uint32 `json:"state"` // 1-未使用 2-已使用 3-已过期 State uint32 `json:"state"` // 1-未使用 2-已使用 3-已过期
ActiveStart time.Time `json:"active_start"` // 有效期开始 ActiveStart time.Time `json:"active_start"` // 有效期开始
ActiveEnd time.Time `json:"active_end"` // 有效期结束 零值永不结束 ActiveEnd time.Time `json:"active_end"` // 有效期结束 零值永不结束
UseTime time.Time `json:"use_time"` //
MemberLevel uint32 `json:"member_level"` // 会员等级 1-用户 2-会员
Coupon *Coupon `json:"coupon" gorm:"-"`
} }
// gen:qs // gen:qs
@ -52,7 +58,7 @@ type Activity struct {
type ActivityMemberRenewal struct { type ActivityMemberRenewal struct {
Model Model
ActivityId uint32 `json:"activity_id"` ActivityId uint32 `json:"activity_id" gorm:"index"`
Uid uint32 `json:"uid"` Uid uint32 `json:"uid"`
State uint32 `json:"state" gorm:"column:state;comment:'状态'"` // 1-进行中 2-已完成 3-已过期 State uint32 `json:"state" gorm:"column:state;comment:'状态'"` // 1-进行中 2-已完成 3-已过期
StartTime time.Time `json:"start_time" gorm:"column:start_time;comment:'开始时间'"` // 开始时间 StartTime time.Time `json:"start_time" gorm:"column:start_time;comment:'开始时间'"` // 开始时间

View File

@ -21,7 +21,7 @@ type GameCard struct {
NewProducts uint8 `json:"new_products"` // 新品: 1-新品 2-非新品 NewProducts uint8 `json:"new_products"` // 新品: 1-新品 2-非新品
Status uint8 `json:"status"` // 状态: 1-上架 2-下架 Status uint8 `json:"status"` // 状态: 1-上架 2-下架
StockCount uint32 `json:"stock_count"` // 库存 StockCount uint32 `json:"stock_count"` // 库存
StockState uint32 `json:"stock_state"` // 1-库存 2-门店库存 3-无库存 StockState uint32 `json:"stock_state" gorm:"-"` // 1-库存 2-门店库存 3-无库存
TotalCount uint32 `json:"total_count"` // 总量 TotalCount uint32 `json:"total_count"` // 总量
GameTypeId uint32 `json:"game_type_id"` // 游戏类型 GameTypeId uint32 `json:"game_type_id"` // 游戏类型
GoodsGalleryUrl string `json:"goods_gallery_url" gorm:"type:text;comment:'轮播图'"` // 轮播图 GoodsGalleryUrl string `json:"goods_gallery_url" gorm:"type:text;comment:'轮播图'"` // 轮播图
@ -64,6 +64,7 @@ type HomeCarousel struct {
IsShow uint32 `json:"is_show"` // 1-显示 2-隐藏 IsShow uint32 `json:"is_show"` // 1-显示 2-隐藏
Detail string `json:"detail" gorm:"type:text;comment:'详情描述'"` Detail string `json:"detail" gorm:"type:text;comment:'详情描述'"`
Link string `json:"link"` Link string `json:"link"`
ActivityType uint32 `json:"activity_type"` // 活动类型:1-会员续费
} }
func (*HomeCarousel) TableName() string { func (*HomeCarousel) TableName() string {
@ -137,9 +138,6 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
} }
} }
if sortType == 1 {
}
hideGamePrice := uint32(30000) hideGamePrice := uint32(30000)
var user *User var user *User
if uid != 0 { if uid != 0 {
@ -151,6 +149,8 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
} }
gameIds := make([]uint32, 0) gameIds := make([]uint32, 0)
gameIdMap := make(map[uint32]uint32) gameIdMap := make(map[uint32]uint32)
if sortType == 1 {
if storeId != 0 { if storeId != 0 {
//gameIds := make([]uint32, 0) //gameIds := make([]uint32, 0)
////gameIdMap := make(map[uint32]int) ////gameIdMap := make(map[uint32]int)
@ -171,12 +171,12 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
//qs = qs.IDIn(gameIds...) //qs = qs.IDIn(gameIds...)
var cardStocks []GameCardGoodsStock var cardStocks []GameCardGoodsStock
err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).RentStockGt(0).OrderDescByRentStock().All(&cardStocks) err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).RentStockGt(0).
OrderDescByRentStock().All(&cardStocks)
if err != nil { if err != nil {
logger.Error("GetGameIdByType err:", err) logger.Error("GetGameIdByType err:", err)
return cards, 0, err return cards, 0, err
} }
for i, _ := range cardStocks { for i, _ := range cardStocks {
_, ok := gameIdMap[uint32(cardStocks[i].GameCardId)] _, ok := gameIdMap[uint32(cardStocks[i].GameCardId)]
if !ok { if !ok {
@ -185,7 +185,8 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
} }
} }
err = NewGameCardGoodsStockQuerySet(DB).StoreIdNe(uint64(storeId)).RentStockGt(0).OrderDescByRentStock().All(&cardStocks) err = NewGameCardGoodsStockQuerySet(DB).StoreIdNe(uint64(storeId)).RentStockGt(0).
OrderDescByRentStock().All(&cardStocks)
if err != nil { if err != nil {
logger.Error("GetGameIdByType err:", err) logger.Error("GetGameIdByType err:", err)
return cards, 0, err return cards, 0, err
@ -198,7 +199,36 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
} }
} }
err = NewGameCardGoodsStockQuerySet(DB).StoreIdNe(uint64(storeId)).RentStockEq(0).All(&cardStocks) err = NewGameCardGoodsStockQuerySet(DB).RentStockEq(0).All(&cardStocks)
if err != nil {
logger.Error("GetGameIdByType err:", err)
return cards, 0, err
}
for i, _ := range cardStocks {
_, ok := gameIdMap[uint32(cardStocks[i].GameCardId)]
if !ok {
gameIds = append(gameIds, uint32(cardStocks[i].GameCardId))
gameIdMap[uint32(cardStocks[i].GameCardId)] = 3
}
}
qs = qs.IDIn(gameIds...)
} else {
var cardStocks []GameCardGoodsStock
err := NewGameCardGoodsStockQuerySet(DB).RentStockGt(0).
OrderDescByRentStock().All(&cardStocks)
if err != nil {
logger.Error("GetGameIdByType err:", err)
return cards, 0, err
}
for i, _ := range cardStocks {
_, ok := gameIdMap[uint32(cardStocks[i].GameCardId)]
if !ok {
gameIds = append(gameIds, uint32(cardStocks[i].GameCardId))
gameIdMap[uint32(cardStocks[i].GameCardId)] = 1
}
}
err = NewGameCardGoodsStockQuerySet(DB).RentStockEq(0).All(&cardStocks)
if err != nil { if err != nil {
logger.Error("GetGameIdByType err:", err) logger.Error("GetGameIdByType err:", err)
return cards, 0, err return cards, 0, err
@ -212,13 +242,14 @@ func GetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId
} }
qs = qs.IDIn(gameIds...) qs = qs.IDIn(gameIds...)
} }
}
if count == 0 { if count == 0 {
count, err = qs.Count() count, err = qs.Count()
} }
totalPage = uint32(count/pageSize + 1) totalPage = uint32(count/pageSize + 1)
//err = qs.OrderDescByCreatedAt().Offset(page * pageSize).Limit(pageSize).All(&cards) //err = qs.OrderDescByCreatedAt().Offset(page * pageSize).Limit(pageSize).All(&cards)
if storeId == 0 { if sortType != 1 {
err = qs.Offset(page * pageSize).Limit(pageSize).All(&cards) err = qs.Offset(page * pageSize).Limit(pageSize).All(&cards)
if err != nil && err != RecordNotFound { if err != nil && err != RecordNotFound {
logger.Error("err:", err) logger.Error("err:", err)
@ -377,7 +408,7 @@ func (*GameCardGoodsStock) TableName() string {
return "game_card_goods_stock" return "game_card_goods_stock"
} }
func GetGameCardInfo(id uint64) (GameCard, error) { func GetGameCardInfo(id uint64, storeId uint32) (GameCard, error) {
game := GameCard{} game := GameCard{}
err := NewGameCardQuerySet(DB).IDEq(uint32(id)).One(&game) err := NewGameCardQuerySet(DB).IDEq(uint32(id)).One(&game)
if err != nil && err != RecordNotFound { if err != nil && err != RecordNotFound {
@ -385,16 +416,34 @@ func GetGameCardInfo(id uint64) (GameCard, error) {
return game, err return game, err
} }
var cardStocks []GameCardGoodsStock var cardStock GameCardGoodsStock
err = NewGameCardGoodsStockQuerySet(DB).GameCardIdEq(uint64(game.ID)).All(&cardStocks) err = NewGameCardGoodsStockQuerySet(DB).GameCardIdEq(uint64(game.ID)).StoreIdEq(uint64(storeId)).One(&cardStock)
if err != nil { if err != nil && err != RecordNotFound {
logger.Error("err:", err) logger.Error("err:", err)
return game, nil
} }
cardStock := uint32(0) if cardStock.RentStock > 0 {
for i, _ := range cardStocks { game.StockState = 1
cardStock += cardStocks[i].RentStock return game, nil
} }
game.StockCount = cardStock
err = NewGameCardGoodsStockQuerySet(DB).GameCardIdEq(uint64(game.ID)).
StoreIdNe(uint64(storeId)).RentStockGt(0).One(&cardStock)
if err != nil && err != RecordNotFound {
logger.Error("err:", err)
return game, nil
}
if cardStock.RentStock > 0 {
game.StockState = 2
return game, nil
}
game.StockState = 3
//cardStock := uint32(0)
//for i, _ := range cardStocks {
// cardStock += cardStocks[i].RentStock
//}
//game.StockCount = cardStock
return game, nil return game, nil
} }
@ -411,62 +460,86 @@ func GetGameCardSearch(name string, page, pageSize int, storeId uint32) ([]GameC
if page < 0 { if page < 0 {
page = 0 page = 0
} }
sqlStore := "" if pageSize <= 0 {
if storeId != 0 { pageSize = 10
var gameStocks []GameCardGoodsStock }
err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).All(&gameStocks) //sqlStore := ""
if err != nil { //if storeId != 0 {
// var gameStocks []GameCardGoodsStock
// err := NewGameCardGoodsStockQuerySet(DB).StoreIdEq(uint64(storeId)).All(&gameStocks)
// if err != nil {
// logger.Error("game card goods stock err:", err)
// }
// if len(gameStocks) == 0 {
// logger.Error("err:", err)
// return cards, 0, err
// }
// gameCardIds := make([]string, 0, len(gameStocks))
// for i, _ := range gameStocks {
// gameCardIds = append(gameCardIds, fmt.Sprintf("%d", gameStocks[i].GameCardId))
// }
// sqlStore = fmt.Sprintf(" AND id IN (%s) ", strings.Join(gameCardIds, ","))
//}
} countSql := "SELECT COUNT(id) AS count FROM game_card WHERE status=1 AND game_card.name LIKE '%" + name + "%'"
if len(gameStocks) == 0 {
logger.Error("err:", err)
return cards, 0, err
}
gameCardIds := make([]string, 0, len(gameStocks))
for i, _ := range gameStocks {
gameCardIds = append(gameCardIds, fmt.Sprintf("%d", gameStocks[i].GameCardId))
}
sqlStore = fmt.Sprintf(" AND id IN (%s) ", strings.Join(gameCardIds, ","))
}
//countSql := "SELECT game_card.* FROM game_card WHERE game_card.name LIKE '%" + name + "%'"
countSql := "SELECT COUNT(id) AS count FROM game_card WHERE status=1 AND game_card.name LIKE '%" + name + "%'" + sqlStore
err := DB.Raw(countSql).Scan(&cardCount).Error err := DB.Raw(countSql).Scan(&cardCount).Error
if err != nil { if err != nil {
logger.Error("err:", err) logger.Error("err:", err)
return cards, 0, err return cards, 0, err
} }
sql := "SELECT game_card.* FROM game_card WHERE status=1 AND game_card.name LIKE '%" + name + "%'" + sqlStore + fmt.Sprintf(" LIMIT %d,%d;", page*pageSize, pageSize) sql := "SELECT game_card.* FROM game_card WHERE status=1 AND game_card.name LIKE '%" + name + "%'"
//sql := fmt.Sprintf(`SELECT * FROM game_card WHERE name LIKE '%%s%';`) //sql := "SELECT game_card.* FROM game_card WHERE status=1 AND game_card.name LIKE '%" + name + "%'" + sqlStore +
// fmt.Sprintf(" LIMIT %d,%d;", page*pageSize, pageSize)
err = DB.Raw(sql).Scan(&cards).Error err = DB.Raw(sql).Scan(&cards).Error
if err != nil { if err != nil {
logger.Error("err:", err) logger.Error("err:", err)
return cards, 0, err return cards, 0, err
} }
cardMap := make(map[uint32]GameCard, 0)
cardIds := make([]uint64, 0) cardIds := make([]uint64, 0, len(cards))
for i, _ := range cards { for i, _ := range cards {
cardIds = append(cardIds, uint64(cards[i].ID)) cardIds = append(cardIds, uint64(cards[i].ID))
cardMap[cards[i].ID] = cards[i]
} }
var cardStocks []GameCardGoodsStock var cardStocks []GameCardGoodsStock
err = NewGameCardGoodsStockQuerySet(DB).GameCardIdIn(cardIds...).All(&cardStocks) err = NewGameCardGoodsStockQuerySet(DB).GameCardIdIn(cardIds...).RentStockGt(0).All(&cardStocks)
if err != nil { if err != nil {
logger.Error("err:", err) logger.Error("game card goods stock err:", err)
return cards, totalPage, nil return cards, totalPage, nil
} }
cardStockMap := make(map[uint64]uint32, 0) list := make([]GameCard, 0, len(cards))
stockMap := make(map[uint64]uint32, 0)
for i, _ := range cardStocks { for i, _ := range cardStocks {
cardStockMap[cardStocks[i].GameCardId] += cardStocks[i].RentStock _, ok := stockMap[cardStocks[i].GameCardId]
if !ok {
stockMap[cardStocks[i].GameCardId] = 1
v2, ok2 := cardMap[uint32(cardStocks[i].GameCardId)]
v2.StockState = 1
if ok2 {
list = append(list, v2)
} }
for i, _ := range cards {
stock, ok := cardStockMap[uint64(cards[i].ID)]
if ok {
cards[i].StockCount = stock
} }
} }
for i, _ := range cardIds {
_, ok := stockMap[cardIds[i]]
if !ok {
stockMap[cardIds[i]] = 3
v2, ok2 := cardMap[uint32(cardIds[i])]
v2.StockState = 3
if ok2 {
list = append(list, v2)
}
}
}
if uint32(page) < totalPage && totalPage != 1 {
cards = list[page*pageSize : (page+1)*pageSize]
} else {
cards = list[page*pageSize:]
}
totalPage = cardCount.Count/uint32(pageSize) + 1 totalPage = cardCount.Count/uint32(pageSize) + 1
return cards, totalPage, nil return cards, totalPage, nil
} }
@ -480,6 +553,7 @@ func GetHomeCarouselList() ([]HomeCarousel, error) {
logger.Error("err:", err) logger.Error("err:", err)
return carousels, err return carousels, err
} }
return carousels, nil return carousels, nil
} }

View File

@ -119,6 +119,11 @@ func InitTestDB() {
&GameCard{}, &GameCard{},
&ActivityMemberRenewal{}, &ActivityMemberRenewal{},
&Activity{},
&UserCoupon{},
&Coupon{},
&UserOpenMemberRecord{},
&HomeCarousel{},
) )
fmt.Println("DB init success") fmt.Println("DB init success")
@ -246,6 +251,48 @@ func TestHotSearch_TableName(t *testing.T) {
} }
} }
func TestActivity_Create(t *testing.T) {
InitTestDB()
DB = DBDev
//activity := Activity{
// Name: "会员续费优惠券",
// ActivityType: 1,
// State: 2,
// StartTime: utils.Now(),
// EndTime: utils.Now().AddDate(1, 0, 0),
//}
//&UserCoupon{
// Uid: 0,
// CouponId: 0,
// CouponType: "",
// ActivityType: 0,
// Value: 0,
// State: 0,
// ActiveStart: time.Time{},
// ActiveEnd: time.Time{},
//},
coupon := Coupon{
Name: "150抵扣券",
Describe: "续费黑金会员减150",
CouponType: "deduction",
ActivityType: 1,
ActivityId: 1,
Value: 15000,
OutCount: 0,
UsedCount: 0,
ActiveStart: utils.Now(),
ActiveEnd: utils.Now().AddDate(1, 0, 0),
}
err := DB.Create(&coupon).Error
if err != nil {
logger.Error("coupon err:", err)
}
}
func TestGetHomeCarouselList(t *testing.T) { func TestGetHomeCarouselList(t *testing.T) {
InitTestDB() InitTestDB()
//imgs := []string{"1-2011060021334X.jpg", "1-2011060021425N.jpg", "1-201106002150294.jpg", "1-201106002159522.jpg"} //imgs := []string{"1-2011060021334X.jpg", "1-2011060021425N.jpg", "1-201106002150294.jpg", "1-201106002159522.jpg"}
@ -1174,7 +1221,8 @@ func TestAddMemberPromotion(t *testing.T) {
func AddMemberPromotion() { func AddMemberPromotion() {
InitTestDB() InitTestDB()
sql := fmt.Sprintf( sql := fmt.Sprintf(
"UPDATE cooperative_member_promotion SET gold_count=gold_count+1 WHERE date=%s AND cooperative_business_id=%d", "2022-04", 1) "UPDATE cooperative_member_promotion SET gold_count=gold_count+1 WHERE date=%s AND cooperative_business_id=%d",
"2022-04", 1)
err := DBDev.Exec(sql).Error err := DBDev.Exec(sql).Error
if err != nil { if err != nil {
logger.Error("err:", err) logger.Error("err:", err)
@ -1364,7 +1412,7 @@ func NumStringSort(n string) (string, error) {
return ns[:len(ns)-1], nil return ns[:len(ns)-1], nil
} }
func TestBtys(t *testing.T) { func TestByte(t *testing.T) {
s := strings.Split("91 123 34 105 100 34 58 49 53 57 57 44 34 99 114 101 97 116 101 100 65 116 34 58 34 50 48 50 50 45 48 54 45 48 56 84 49 49 58 52 54 58 51 53 43 48 56 58 48 48 34 44 34 117 105 100 34 58 53 54 52 48 50 56 54 44 34 103 97 109 101 95 99 97 114 100 95 105 100 34 58 48 44 34 103 97 109 101 95 99 97 114 100 95 103 111 111 100 115 95 105 100 34 58 48 44 34 103 97 109 101 95 99 97 114 100 95 115 101 114 105 97 108 95 110 117 109 98 101 114 34 58 34 98 50 50 50 49 49 49 34 44 34 115 116 111 114 101 95 105 100 34 58 50 57 44 34 117 115 101 114 95 97 100 100 114 101 115 115 95 105 100 34 58 48 44 34 100 101 108 105 118 101 114 121 95 116 121 112 101 34 58 49 44 34 99 111 117 110 116 34 58 49 44 34 112 105 99 107 117 112 95 99 111 100 101 34 58 34 229 183 178 229 143 150 232 180 167 34 44 34 99 97 114 100 95 115 116 97 116 117 115 34 58 52 44 34 100 101 108 105 118 101 114 121 95 116 105 109 101 34 58 34 50 48 50 50 45 48 54 45 48 56 84 49 49 58 52 55 58 53 56 43 48 56 58 48 48 34 44 34 114 101 99 101 105 112 116 95 116 105 109 101 34 58 34 48 48 48 49 45 48 49 45 48 49 84 48 48 58 48 48 58 48 48 90 34 44 34 112 97 121 95 116 105 109 101 34 58 34 50 48 50 50 45 48 54 45 48 56 84 49 49 58 52 54 58 51 53 43 48 56 58 48 48 34 44 34 112 97 121 95 115 116 97 116 117 115 34 58 50 44 34 111 114 100 101 114 95 115 110 34 58 34 55 56 49 57 50 51 66 54 50 56 34 44 34 112 97 121 95 112 114 105 99 101 34 58 48 44 34 112 111 115 116 97 103 101 34 58 48 44 34 101 120 112 114 101 115 115 95 99 111 109 112 97 110 121 34 58 34 34 44 34 101 120 112 114 101 115 115 95 99 111 109 112 97 110 121 95 110 111 34 58 34 34 44 34 101 120 112 114 101 115 115 95 110 111 34 58 34 34 44 34 101 120 112 114 101 115 115 95 100 117 114 97 116 105 111 110 34 58 48 44 34 114 101 118 101 114 116 95 115 116 111 114 101 95 105 100 34 58 48 44 34 114 101 118 101 114 116 95 116 105 109 101 34 58 34 48 48 48 49 45 48 49 45 48 49 84 48 48 58 48 48 58 48 48 90 34 44 34 114 101 118 101 114 116 95 101 120 112 114 101 115 115 95 99 111 109 112 97 110 121 34 58 34 34 44 34 114 101 118 101 114 116 95 101 120 112 114 101 115 115 95 99 111 109 112 97 110 121 95 110 111 34 58 34 34 44 34 114 101 118 101 114 116 95 101 120 112 114 101 115 115 95 110 111 34 58 34 34 44 34 114 101 118 101 114 116 95 101 120 112 114 101 115 115 95 100 117 114 97 116 105 111 110 34 58 48 44 34 99 111 111 112 101 114 97 116 105 118 101 95 98 117 115 105 110 101 115 115 95 105 100 34 58 49 48 44 34 99 111 111 112 101 114 97 116 105 118 101 95 110 97 109 101 34 58 34 34 44 34 103 97 109 101 95 99 97 114 100 95 115 101 114 105 97 108 95 110 117 109 98 101 114 115 34 58 110 117 108 108 44 34 111 114 100 101 114 95 99 97 114 100 115 34 58 110 117 108 108 125 93", " ") s := strings.Split("91 123 34 105 100 34 58 49 53 57 57 44 34 99 114 101 97 116 101 100 65 116 34 58 34 50 48 50 50 45 48 54 45 48 56 84 49 49 58 52 54 58 51 53 43 48 56 58 48 48 34 44 34 117 105 100 34 58 53 54 52 48 50 56 54 44 34 103 97 109 101 95 99 97 114 100 95 105 100 34 58 48 44 34 103 97 109 101 95 99 97 114 100 95 103 111 111 100 115 95 105 100 34 58 48 44 34 103 97 109 101 95 99 97 114 100 95 115 101 114 105 97 108 95 110 117 109 98 101 114 34 58 34 98 50 50 50 49 49 49 34 44 34 115 116 111 114 101 95 105 100 34 58 50 57 44 34 117 115 101 114 95 97 100 100 114 101 115 115 95 105 100 34 58 48 44 34 100 101 108 105 118 101 114 121 95 116 121 112 101 34 58 49 44 34 99 111 117 110 116 34 58 49 44 34 112 105 99 107 117 112 95 99 111 100 101 34 58 34 229 183 178 229 143 150 232 180 167 34 44 34 99 97 114 100 95 115 116 97 116 117 115 34 58 52 44 34 100 101 108 105 118 101 114 121 95 116 105 109 101 34 58 34 50 48 50 50 45 48 54 45 48 56 84 49 49 58 52 55 58 53 56 43 48 56 58 48 48 34 44 34 114 101 99 101 105 112 116 95 116 105 109 101 34 58 34 48 48 48 49 45 48 49 45 48 49 84 48 48 58 48 48 58 48 48 90 34 44 34 112 97 121 95 116 105 109 101 34 58 34 50 48 50 50 45 48 54 45 48 56 84 49 49 58 52 54 58 51 53 43 48 56 58 48 48 34 44 34 112 97 121 95 115 116 97 116 117 115 34 58 50 44 34 111 114 100 101 114 95 115 110 34 58 34 55 56 49 57 50 51 66 54 50 56 34 44 34 112 97 121 95 112 114 105 99 101 34 58 48 44 34 112 111 115 116 97 103 101 34 58 48 44 34 101 120 112 114 101 115 115 95 99 111 109 112 97 110 121 34 58 34 34 44 34 101 120 112 114 101 115 115 95 99 111 109 112 97 110 121 95 110 111 34 58 34 34 44 34 101 120 112 114 101 115 115 95 110 111 34 58 34 34 44 34 101 120 112 114 101 115 115 95 100 117 114 97 116 105 111 110 34 58 48 44 34 114 101 118 101 114 116 95 115 116 111 114 101 95 105 100 34 58 48 44 34 114 101 118 101 114 116 95 116 105 109 101 34 58 34 48 48 48 49 45 48 49 45 48 49 84 48 48 58 48 48 58 48 48 90 34 44 34 114 101 118 101 114 116 95 101 120 112 114 101 115 115 95 99 111 109 112 97 110 121 34 58 34 34 44 34 114 101 118 101 114 116 95 101 120 112 114 101 115 115 95 99 111 109 112 97 110 121 95 110 111 34 58 34 34 44 34 114 101 118 101 114 116 95 101 120 112 114 101 115 115 95 110 111 34 58 34 34 44 34 114 101 118 101 114 116 95 101 120 112 114 101 115 115 95 100 117 114 97 116 105 111 110 34 58 48 44 34 99 111 111 112 101 114 97 116 105 118 101 95 98 117 115 105 110 101 115 115 95 105 100 34 58 49 48 44 34 99 111 111 112 101 114 97 116 105 118 101 95 110 97 109 101 34 58 34 34 44 34 103 97 109 101 95 99 97 114 100 95 115 101 114 105 97 108 95 110 117 109 98 101 114 115 34 58 110 117 108 108 44 34 111 114 100 101 114 95 99 97 114 100 115 34 58 110 117 108 108 125 93", " ")
b := make([]byte, 0) b := make([]byte, 0)
@ -1375,3 +1423,12 @@ func TestBtys(t *testing.T) {
fmt.Println("byte:", string(b)) fmt.Println("byte:", string(b))
} }
func TestSlice(t *testing.T) {
var p [100]int
var m interface{} = [...]int{99: 0}
fmt.Println(p == m)
fmt.Println("p:", p)
fmt.Println("m:", m)
}

View File

@ -251,7 +251,7 @@ func UserUpdate(user *User) error {
return nil return nil
} }
//OrderType: 1-物流支付 2-取消物流租卡 3-滞纳金 4-收回卡 5-退物流费 6-商城购物 7-购买商品取消订单 8-购买商品订单退货 //OrderType: 1-物流支付 2-取消物流租卡 3-滞纳金 4-收回卡 5-退物流费 6-商城购物 7-购买商品取消订单 8-购买商品订单退货 9-升级会员
// gen:qs // gen:qs
type UserOpenMemberRecord struct { type UserOpenMemberRecord struct {
@ -263,6 +263,7 @@ type UserOpenMemberRecord struct {
OrderType uint32 `json:"order_type"` OrderType uint32 `json:"order_type"`
MemberLevel uint32 `json:"member_level"` MemberLevel uint32 `json:"member_level"`
MemberExpire time.Time `json:"member_expire"` // 会员到期时间 MemberExpire time.Time `json:"member_expire"` // 会员到期时间
UserCouponId uint32 `json:"user_coupon_id" gorm:"index"` // 优惠券id
Order *Order `json:"order" gorm:"-"` Order *Order `json:"order" gorm:"-"`
ShareCardRetrieve *ShareCardRetrieve `json:"share_card_retrieve" gorm:"-"` ShareCardRetrieve *ShareCardRetrieve `json:"share_card_retrieve" gorm:"-"`
@ -763,7 +764,9 @@ func OrderCardUserRentCard(uid uint32, count uint32, memberConfig *MemberConfig,
} }
return nil return nil
} }
sql := fmt.Sprintf("UPDATE user_rent_card SET have_rent_count=have_rent_count+%d ,can_rent_count=can_rent_count-%d WHERE uid = %d", count, count, uid) sql := fmt.Sprintf(
"UPDATE user_rent_card SET have_rent_count=have_rent_count+%d ,can_rent_count=can_rent_count-%d WHERE uid = %d",
count, count, uid)
err = gdb.Exec(sql).Error err = gdb.Exec(sql).Error
if err != nil { if err != nil {
logger.Error("err", err) logger.Error("err", err)

View File

@ -49,14 +49,13 @@ func ConfigAppRouter(r gin.IRouter) {
gameCard := api.Group("game_card") gameCard := api.Group("game_card")
{ {
gameCard.POST("banner", controller.HomeCarouselList) // 轮播图
gameCard.POST("game_type", controller.GameCardTypes) // 游戏标签 gameCard.POST("game_type", controller.GameCardTypes) // 游戏标签
gameCard.POST("type/list", controller.GameCardTypeList) // 游戏类型列表 gameCard.POST("type/list", controller.GameCardTypeList) // 游戏类型列表
gameCard.Use(auth.UserAccessAuth) gameCard.Use(auth.UserAccessAuth)
gameCard.POST("info", controller.GameCardInfo) // 游戏卡详情 gameCard.POST("info", controller.GameCardInfo) // 游戏卡详情
gameCard.POST("list", controller.GameCardList) // 游戏卡列表 gameCard.POST("list", controller.GameCardList) // 游戏卡列表
gameCard.POST("banner", controller.HomeCarouselList) // 轮播图
} }
search := gameCard.Group("search") search := gameCard.Group("search")
@ -165,7 +164,9 @@ func ConfigAppRouter(r gin.IRouter) {
// 会员续费 // 会员续费
activity.POST("member_renewal/state", controller.UserMemberRenewalState) activity.POST("member_renewal/state", controller.UserMemberRenewalState)
activity.POST("member_renewal/info", controller.UserMemberRenewalInfo)
activity.POST("member_renewal/coupon_draw", controller.UserMemberRenewalCouponDraw)
activity.POST("member_renewal/user_coupon/list", controller.MemberRenewalUserCouponList)
} }
mall := api.Group("mall") mall := api.Group("mall")