From 341c5a08de4366fd343dfb372cb92981b81271a2 Mon Sep 17 00:00:00 2001 From: chenlin Date: Mon, 11 Mar 2024 11:12:57 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7=E7=A7=AF?= =?UTF-8?q?=E5=88=86=E8=AE=B0=E5=BD=95=E9=80=BB=E8=BE=91=EF=BC=8C=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=B8=BA=E6=B6=88=E8=B4=B9=E4=B8=8E=E8=8E=B7=E5=BE=97?= =?UTF-8?q?=E7=A7=AF=E5=88=86=E6=AF=94=E4=BE=8B=E4=B8=BA1:1=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/game_card.go | 52 ++++++++++++++++++++++++++++++----------- controller/user.go | 6 ++--- lib/wxpay/wx_pay.go | 4 ++-- model/redeem_code.go | 27 +++++++++++++++++++++ model/user_vm.go | 4 +++- 5 files changed, 73 insertions(+), 20 deletions(-) diff --git a/controller/game_card.go b/controller/game_card.go index 49b9c6b..ee52cb3 100644 --- a/controller/game_card.go +++ b/controller/game_card.go @@ -640,11 +640,11 @@ func PushWXPayNotice(c *gin.Context) { // } //} - if spendType == 2 { - err = model.SendUserVm(user.Uid, record.MemberLevel, 0) - if err != nil { - logger.Error("send user vm err:", err) - } + if spendType == 2 { // 开通会员 + //err = model.SendUserVm(user.Uid, record.MemberLevel, 0) + //if err != nil { + // logger.Error("send user vm err:", err) + //} } openMemberChannel := model.OpenMemberChannelUserInvite @@ -676,6 +676,12 @@ func PushWXPayNotice(c *gin.Context) { } } + // 赠送积分 + err = model.NewSendUserVm(user.Uid, uint32(notifyInfo.TotalFee/100), spendType) + if err != nil { + logger.Error("send user vm err:", err) + } + if user.MemberLevel != 2 { } go func() { @@ -968,6 +974,12 @@ func PushWXPayNotice(c *gin.Context) { } } + // 赠送积分 + err = model.NewSendUserVm(user.Uid, uint32(notifyInfo.TotalFee/100), 4) + if err != nil { + logger.Error("send user vm err:", err) + } + fmt.Println("用户升级---") // 统计用户升级的数量,方便前端展示 // 分3种情况:1-店员干预(使用了店员兑换码兑换的优惠券)、2-自动续费(开通会员时有店员邀请,原价or优惠券续费) @@ -1392,7 +1404,7 @@ func HmPushWXPayNotice(c *gin.Context) { AfterMemberLevel: record.MemberLevel, } newTime := time.Now() - var spendType uint32 + var spendType uint32 // 开通类型: 1-未开通 2-开通会员 3-续费 4-升级 5-店员推广续费 var user model.User err = model.NewUserQuerySet(model.DB).UidEq(record.Uid).One(&user) if err != nil { @@ -1587,17 +1599,17 @@ func HmPushWXPayNotice(c *gin.Context) { inviteUser := model.GetUserByUid(invite.FromUid) if inviteUser != nil { if inviteUser.UserType != 2 /*不是店员*/ && user.MemberLevel != 2 { // 邀请 新用户推送一次 - err = model.SendUserVm(inviteUser.Uid, record.MemberLevel, 1) - if err != nil { - logger.Error("send user vm err:", err) - } + //err = model.SendUserVm(inviteUser.Uid, record.MemberLevel, 1) + //if err != nil { + // logger.Error("send user vm err:", err) + //} } if spendType == 2 { - err = model.SendUserVm(user.Uid, record.MemberLevel, 0) - if err != nil { - logger.Error("send user vm err:", err) - } + //err = model.SendUserVm(user.Uid, record.MemberLevel, 0) + //if err != nil { + // logger.Error("send user vm err:", err) + //} } openMemberChannel := model.OpenMemberChannelUserInvite @@ -1629,6 +1641,12 @@ func HmPushWXPayNotice(c *gin.Context) { } } + // 赠送积分 + err = model.NewSendUserVm(user.Uid, uint32(payAmountFloat), spendType) + if err != nil { + logger.Error("send user vm err:", err) + } + if user.MemberLevel != 2 { } go func() { @@ -1921,6 +1939,12 @@ func HmPushWXPayNotice(c *gin.Context) { } } + // 赠送积分 + err = model.NewSendUserVm(user.Uid, uint32(payAmountFloat), 4) + if err != nil { + logger.Error("send user vm err:", err) + } + fmt.Println("用户升级---") // 统计用户升级的数量,方便前端展示 // 分3种情况:1-店员干预(使用了店员兑换码兑换的优惠券)、2-自动续费(开通会员时有店员邀请,原价or优惠券续费) diff --git a/controller/user.go b/controller/user.go index 34b6bec..de3894a 100644 --- a/controller/user.go +++ b/controller/user.go @@ -1001,7 +1001,7 @@ func UserAttendance(c *gin.Context) { RespJson(c, status.InternalServerError, nil) return } - err = record.Add(model.VmEventAttendance, "连续签到获取积分") + err = record.Add(model.VmEventAttendance, "签到获取积分") if err != nil { logger.Error("add user attendance record err:", err) RespJson(c, status.InternalServerError, nil) @@ -1021,7 +1021,7 @@ func UserAttendance(c *gin.Context) { } if attendanceRecord.AttendanceDate == "" || attendanceRecord.AttendanceDate != utils.TodayZeroAddDaysDateFormat(-1) { - err = record.Add(model.VmEventAttendance, "连续签到获取积分") + err = record.Add(model.VmEventAttendance, "签到获取积分") if err != nil { logger.Error("add user attendance record err:", err) RespJson(c, status.InternalServerError, nil) @@ -1047,7 +1047,7 @@ func UserAttendance(c *gin.Context) { } record.Vm = configInfo.Vm(userAttendance.ConsecutiveDays) - err = record.Add(model.VmEventAttendance, "连续签到获取积分") + err = record.Add(model.VmEventAttendance, "签到获取积分") if err != nil { logger.Error("add user attendance record err:", err) RespJson(c, status.InternalServerError, nil) diff --git a/lib/wxpay/wx_pay.go b/lib/wxpay/wx_pay.go index 077eecf..b2c743e 100644 --- a/lib/wxpay/wx_pay.go +++ b/lib/wxpay/wx_pay.go @@ -45,7 +45,7 @@ const ( WxPayMember = "member_pay" // 会员 WxPayRentCard = "rent_card_pay" // 租卡 WxPayDeposit = "deposit_pay" // 押金 - WxPayBuyGoods = "buy_goods" // 购买商品 + WxPayBuyGoods = "buy_goods" // 购买商品(线上小程序) WxPayUpgradeMember = "upgrade_member" // 升级会员 WxPayMemberExpireDelay = "member_expire_delay" // 会员过期滞纳金 WxPayShareCardRetrieve = "share_card_retrieve" // 收回卡 @@ -250,7 +250,7 @@ type ( IsSubscribe string `xml:"is_subscribe,CDATA" json:"is_subscribe"` TradeType string `xml:"trade_type,CDATA" json:"trade_type"` BankType string `xml:"bank_type,CDATA" json:"bank_type"` - TotalFee uint `xml:"total_fee,CDATA" json:"total_fee"` + TotalFee uint `xml:"total_fee,CDATA" json:"total_fee"` // 订单总金额,单位为分 SettlementTotalFee uint `xml:"settlement_total_fee" json:"settlement_total_fee"` FeeType string `xml:"fee_type,CDATA" json:"fee_type"` CashFee uint `xml:"cash_fee,CDATA" json:"cash_fee"` diff --git a/model/redeem_code.go b/model/redeem_code.go index 420b442..bc21034 100644 --- a/model/redeem_code.go +++ b/model/redeem_code.go @@ -328,6 +328,33 @@ func SendUserVm(uid, memberLevel, inviteLevel uint32) error { return nil } +// NewSendUserVm 会员积分:开通会员、续费/升级会员,积分规则为1:1;邀请不再有积分 +func NewSendUserVm(uid, nAmount, nType uint32) error { + describe := "" + event := "" + + if nType == 2 { // 开通会员 + describe = "开通会员" + event = VmEventOpenMember + } else if nType == 3 { // 续费会员 + describe = "续费/升级会员" + event = VmEventRenewMember + } else if nType == 4 { // 升级会员 + describe = "续费/升级会员" + event = VmEventUpgradeMember + } else { + logger.Errorf("err:", "记录会员积分失败,nType类型错误为:%d", nType) + return errors.New("记录会员积分失败") + } + + err := UserVmUpdate(uid, int(nAmount), event, describe) + if err != nil { + logger.Error("err:", err) + return err + } + return nil +} + func GetUserRenewalCouponIds() ([]uint32, error) { ids := make([]uint32, 0) var coupons []Coupon diff --git a/model/user_vm.go b/model/user_vm.go index ab563a3..0faab70 100644 --- a/model/user_vm.go +++ b/model/user_vm.go @@ -10,9 +10,11 @@ const ( //VmEventExchangeGoods = "exchange_goods" VmEventBuyGoods = "buy_goods" // 购买商品积分抵扣 VmEventOpenMember = "open_member" // 开通会员奖励 + VmEventRenewMember = "renew_member" // 续费会员奖励 + VmEventUpgradeMember = "upgrade_member" // 升级会员奖励 VmEventInvite1Member = "invite_1_member" // 邀请会员奖励 VmEventInvite2Member = "invite_2_member" // 邀请会员奖励 - VmEventAttendance = "attendance" // 连续签到获取积分 + VmEventAttendance = "attendance" // 签到获取积分 VmEventErpOrderSale = "erp_order_sale" // 零售销售获得积分 VmEventErpOrderReject = "erp_order_reject" // 零售退货扣除积分 )