diff --git a/call/pay.go b/call/pay.go index 6f507bf..7edd4bf 100644 --- a/call/pay.go +++ b/call/pay.go @@ -214,6 +214,7 @@ func RechargeCallback(r *common.RechargeOrder, success bool, payAccount, extra s } if r.ProductID == 0 { ticket := GetConfigDiscountTicketByAmount(r.Amount) + log.Info("ticket:%v", ticket) if ticket.Id > 0 { // 赠送优惠券 products := GetConfigPayProductByActivityID(0) diff --git a/modules/web/handler/activity.go b/modules/web/handler/activity.go index 558f00e..9a4661a 100644 --- a/modules/web/handler/activity.go +++ b/modules/web/handler/activity.go @@ -1306,7 +1306,6 @@ func ActivityWeekCardInfo(c *gin.Context) { } rewardList = append([]int64{cons.DayOneReward}, rewardList...) rewardList = append(rewardList, 0) - if cardInfo.ID <= 0 || len(cardInfo.Rewards) == 0 { cardInfo.Day = 0 rewardList, err = util.GenerateRandomSequence(cons.RewardAmount, cons.MiniLimit, 5) @@ -1373,7 +1372,7 @@ func ActivityWeekCardDraw(c *gin.Context) { } resp := &values.ActivityWeekCardDrawResp{} a.Data = resp - conf := call.GetConfigActivityWeekCard() + // conf := call.GetConfigActivityWeekCard() card := call.GetUserWeekCard(a.UID) if card.ID == 0 { a.Code = values.CodeRetry @@ -1419,19 +1418,34 @@ func ActivityWeekCardDraw(c *gin.Context) { if count >= 3 { up = true } - exi2 := int64(300) * common.DecimalDigits - // 判断充值的金额 - productList := call.GetConfigPayProduct() - for _, product := range productList { - if product.Amount > card.RechargeAmount && up && exi2 < product.Amount { - exi2 = product.Amount - } else if product.Amount < card.RechargeAmount && up && exi2 > product.Amount { - exi2 = product.Amount + ticket := call.GetConfigDiscountTicketByAmount(int64(300) * common.DecimalDigits) + log.Info("ticket:%v", ticket) + if ticket.Id > 0 { + // 赠送优惠券 + products := call.GetConfigPayProductByActivityID(0) + nextProduct := &common.ConfigPayProduct{} + for _, product := range products { + if product.Amount > card.RechargeAmount && nextProduct.Amount < product.Amount { + nextProduct = product + } else if product.Amount < card.RechargeAmount && nextProduct.Amount > product.Amount { + nextProduct = product + } + } + var nextTicket common.ConfigDiscountTicket + if nextProduct != nil { + nextTicket = call.GetConfigDiscountTicketByAmount(nextProduct.Amount) + } + if up { + call.AddUserDiscountTicket(a.UID, ticket.RechargeAmount, ticket.DiscountAmount, -1) + call.SendMailWithContent(a.UID, call.SystemTitle, fmt.Sprintf(call.EmailDiscount, ticket.RechargeAmount/common.DecimalDigits, ticket.DiscountAmount/common.DecimalDigits)) + } else if nextTicket.Id > 0 { + call.AddUserDiscountTicket(a.UID, nextTicket.RechargeAmount, nextTicket.DiscountAmount, -1) + call.SendMailWithContent(a.UID, call.SystemTitle, fmt.Sprintf(call.EmailDiscount, ticket.RechargeAmount/common.DecimalDigits, ticket.DiscountAmount/common.DecimalDigits)) } + resp.DiscountTicket = ticket.DiscountAmount + resp.Amount = ticket.RechargeAmount } - call.AddUserDiscountTicket(a.UID, exi2-exi2*conf.Discount/100, exi2, -1) - resp.DiscountTicket = conf.Discount - resp.Amount = exi2 + } resource := common.CurrencyResourceWeekCard if card.Day > 0 { @@ -1935,6 +1949,7 @@ func ActivityBetDrawInfo(c *gin.Context) { drawInfo.SpinInfo.SpinNum < drawInfo.SpinInfo.SpinCount && now.Unix() >= drawInfo.SpinInfo.NextSpinTIme { call.PushRed(a.UID, pb.RedPointModule_RedPointFreeSpin, uint32(1)) + break } } } @@ -2119,6 +2134,8 @@ func DiscountTicketInfo(c *gin.Context) { resp.Ticket = &values.DiscountTicketInfo{ Amount: list[0].Exi1, Discount: list[0].Exi2, + Id: int64(list[0].ID), } } + resp.ChannelList = call.GetConfigPayChannelsByID(common.CurrencyINR) } diff --git a/modules/web/handler/mail.go b/modules/web/handler/mail.go index 8490ef3..f04979e 100644 --- a/modules/web/handler/mail.go +++ b/modules/web/handler/mail.go @@ -6,6 +6,7 @@ import ( "server/db" "server/modules/web/app" "server/modules/web/values" + "server/pb" "github.com/gin-gonic/gin" "github.com/liangdas/mqant/log" @@ -41,6 +42,7 @@ func MailList(c *gin.Context) { Count: int(count), } a.Data = resp + call.PushRed(a.UID, pb.RedPointModule_RedPointMail, 0) } func ReadMail(c *gin.Context) { diff --git a/modules/web/values/activity.go b/modules/web/values/activity.go index fe6f1f5..8f06174 100644 --- a/modules/web/values/activity.go +++ b/modules/web/values/activity.go @@ -316,9 +316,12 @@ type ActivityFirstRechargeInfoResp struct { } type DiscountTicketInfo struct { - Amount int64 + Id int64 + Amount int64 Discount int64 } + type DiscountTicketResp struct { - Ticket *DiscountTicketInfo + Ticket *DiscountTicketInfo + ChannelList []*common.ConfigPayChannels }