1、新增尊享会员使用优惠券的逻辑;
This commit is contained in:
parent
e5772d515a
commit
22a299898f
|
@ -95,7 +95,7 @@ func CooperativeRentCardOrderDeliver(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
req.OperationUid = uc.Uid
|
||||
req.StoreId = uint32(assistant.StoreId)
|
||||
//req.StoreId = uint32(assistant.StoreId)
|
||||
err, _ := req.Deliver()
|
||||
if err != nil {
|
||||
logger.Error("rent card order err:", err)
|
||||
|
|
|
@ -35,7 +35,7 @@ const (
|
|||
|
||||
// HomeCategoryList 首页分类列表
|
||||
// @Summary 首页分类列表
|
||||
// @Tags 首页分类, V1.4.5
|
||||
// @Tags 首页
|
||||
// @Produce json
|
||||
// @Accept json
|
||||
// @Success 200 {object} model.HomeCategoryListResp
|
||||
|
@ -51,13 +51,21 @@ func HomeCategoryList(c *gin.Context) {
|
|||
RespOK(c, categoryList)
|
||||
}
|
||||
|
||||
// NewGameCardList 游戏卡列表
|
||||
// @Summary 游戏卡列表
|
||||
// @Tags 首页
|
||||
// @Produce json
|
||||
// @Accept json
|
||||
// @Param request body model.NewGetGameCardListReq true "游戏卡列表模型"
|
||||
// @Success 200 {object} model.NewGetGameCardListResp
|
||||
// @Router /api/v1/game_card/list [post]
|
||||
func NewGameCardList(c *gin.Context) {
|
||||
req := struct {
|
||||
Page int `json:"cur_page"`
|
||||
PageSize int `json:"page_size"`
|
||||
Page int `json:"cur_page"` // 页码
|
||||
PageSize int `json:"page_size"` // 每页条数
|
||||
SortType int `json:"sort_type"` // 首页排序类型(对应首页分类ID)
|
||||
GameTypeIds []uint64 `json:"game_type_id"` // 游戏类型id
|
||||
StoreId uint32 `json:"store_id"`
|
||||
StoreId uint32 `json:"store_id"` // 门店ID
|
||||
}{
|
||||
Page: 1,
|
||||
PageSize: 10,
|
||||
|
@ -1583,6 +1591,14 @@ func PushWXPayNotice(c *gin.Context) {
|
|||
memberRecord.AfterMemberExpire = expireTime
|
||||
memberRecord.OpenMemberLevel = record.MemberLevel
|
||||
|
||||
if record.UserCouponId > 0 { // 如果使用了会员优惠券,更新优惠券状态为2-已使用
|
||||
err = model.NewUserCouponQuerySet(model.DB).IDEq(record.UserCouponId).GetUpdater().
|
||||
SetState(2).SetUseTime(utils.Now()).Update()
|
||||
if err != nil {
|
||||
logger.Error("update user coupon state err:", err)
|
||||
}
|
||||
}
|
||||
|
||||
// 邀请记录
|
||||
var invite model.UserInvite
|
||||
err = model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).OrderDescByCreatedAt().Limit(1).One(&invite)
|
||||
|
@ -3090,6 +3106,14 @@ func HmPushWXPayNotice(c *gin.Context) {
|
|||
memberRecord.AfterMemberExpire = expireTime
|
||||
memberRecord.OpenMemberLevel = record.MemberLevel
|
||||
|
||||
if record.UserCouponId > 0 { // 如果使用了会员优惠券,更新优惠券状态为2-已使用
|
||||
err = model.NewUserCouponQuerySet(model.DB).IDEq(record.UserCouponId).GetUpdater().
|
||||
SetState(2).SetUseTime(utils.Now()).Update()
|
||||
if err != nil {
|
||||
logger.Error("update user coupon state err:", err)
|
||||
}
|
||||
}
|
||||
|
||||
// 邀请记录
|
||||
var invite model.UserInvite
|
||||
err = model.NewUserInviteQuerySet(model.DB).ToUidEq(record.Uid).OrderDescByCreatedAt().Limit(1).One(&invite)
|
||||
|
|
|
@ -8,6 +8,14 @@ import (
|
|||
"mh-server/model"
|
||||
)
|
||||
|
||||
// StoreList 门店列表
|
||||
// @Summary 门店列表
|
||||
// @Tags 首页
|
||||
// @Produce json
|
||||
// @Accept json
|
||||
// @Param request body model.StoreListReq true "门店列表模型"
|
||||
// @Success 200 {object} model.StoreListResp
|
||||
// @Router /api/v1/store/list [post]
|
||||
func StoreList(c *gin.Context) {
|
||||
req := struct {
|
||||
//GameCardId uint64 `json:"game_card_id"`
|
||||
|
|
|
@ -1321,6 +1321,28 @@ func OpenPrivilegeMember(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
// 查询尊享会员信息
|
||||
var privilegeMember model.PrivilegeMember
|
||||
err = model.NewPrivilegeMemberQuerySet(model.DB).UidEq(uc.Uid).One(&privilegeMember)
|
||||
if err != nil && err != model.RecordNotFound {
|
||||
logger.Error(err)
|
||||
}
|
||||
|
||||
if req.UserCouponId != 0 && privilegeMember.ID == 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.ActivityType == model.OpenPrivilegeMemberActivityType && coupon.State == 1 {
|
||||
logger.Infof("使用开通优惠券,coupon_id is:", coupon.CouponId)
|
||||
totalFee -= coupon.Value
|
||||
}
|
||||
}
|
||||
|
||||
orderSn := model.GetOrderSn()
|
||||
err = model.UserOpenMemberRecord{Uid: uc.Uid, OpenNo: orderSn, MemberLevel: model.MemberLevelPrivilege,
|
||||
UserCouponId: req.UserCouponId, Attach: wxpay.WxPayPrivilegeMember}.Insert()
|
||||
|
|
|
@ -3,13 +3,14 @@ package model
|
|||
import "time"
|
||||
|
||||
const (
|
||||
CouponTypeDeduction = "deduction" // 抵扣
|
||||
RenewalMemberActivityId = 1 // 会员续费优惠券
|
||||
OpenMemberActivityId = 4 // 开通会员优惠券
|
||||
CommonSaleActivityId = 5 // 零售销售(普通会员)
|
||||
PrivilegeMemberActivityId = 6 // 零售销售(尊享会员
|
||||
VmActivityId = 9 // 积分兑换优惠券
|
||||
NewMachineActivityId = 10 // 主机预订券
|
||||
CouponTypeDeduction = "deduction" // 抵扣
|
||||
RenewalMemberActivityId = 1 // 会员续费优惠券
|
||||
OpenMemberActivityId = 4 // 开通会员优惠券
|
||||
CommonSaleActivityId = 5 // 零售销售(普通会员)
|
||||
PrivilegeMemberActivityId = 6 // 零售销售(尊享会员
|
||||
VmActivityId = 9 // 积分兑换优惠券
|
||||
NewMachineActivityId = 10 // 主机预订券
|
||||
OpenPrivilegeMemberActivityType = 11 // 开通尊享会员优惠券
|
||||
)
|
||||
|
||||
// gen:qs
|
||||
|
|
|
@ -1940,6 +1940,20 @@ func GetHomeGameCardList() (*HomeCategoryListResp, error) {
|
|||
return resp, nil
|
||||
}
|
||||
|
||||
type NewGetGameCardListReq struct {
|
||||
Page int `json:"cur_page"` // 页码
|
||||
PageSize int `json:"page_size"` // 每页条数
|
||||
SortType int `json:"sort_type"` // 首页排序类型(对应首页分类ID)
|
||||
GameTypeIds []uint64 `json:"game_type_id"` // 游戏类型id
|
||||
StoreId uint32 `json:"store_id"` // 门店ID
|
||||
}
|
||||
|
||||
type NewGetGameCardListResp struct {
|
||||
CardList []GameCard `json:"card_list"` // 游戏列表
|
||||
Page int `json:"cur_page"` // 当前页页码
|
||||
TotalPage int `json:"total_page"` // 总页数
|
||||
}
|
||||
|
||||
func NewGetGameCardList(sortType, page, pageSize int, gameTypeIds []uint64, storeId, uid uint32) ([]GameCard, uint32, error) {
|
||||
var (
|
||||
cards = make([]GameCard, 0)
|
||||
|
|
|
@ -35,6 +35,15 @@ type GameCardStock struct {
|
|||
Stock uint32 `json:"stock"`
|
||||
}
|
||||
|
||||
type StoreListReq struct {
|
||||
UseType uint32 `json:"use_type"`
|
||||
GameCardList []CardInfo `json:"game_card_list"`
|
||||
}
|
||||
|
||||
type StoreListResp struct {
|
||||
CardList []GameCardStock `json:"card_list"`
|
||||
}
|
||||
|
||||
func GetStoreList(cardInfos []CardInfo) ([]GameCardStock, error) {
|
||||
var eg errgroup.Group
|
||||
stores := make([]Store, 0)
|
||||
|
|
|
@ -63,4 +63,4 @@
|
|||
"host": "lottery",
|
||||
"port": 8885
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -63,4 +63,4 @@
|
|||
"host": "lottery",
|
||||
"port": 8885
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user