修改优惠券发放逻辑

dev_aagame_provider
zhora 3 weeks ago
parent a56b05ed8d
commit 78f4ffc62e
  1. 5
      call/config.go
  2. 12
      call/pay.go

@ -1908,7 +1908,7 @@ func GetConfigActivityPopupByType(jumpType int) []*common.ConfigActivityPopup {
func LoadConfigDiscountTicket() (err error) {
var list []common.ConfigDiscountTicket
if _, err = db.Mysql().QueryAll("", "", &common.ConfigDiscountTicket{}, &list); err != nil {
if _, err = db.Mysql().QueryAll("", "recharge_amount", &common.ConfigDiscountTicket{}, &list); err != nil {
log.Error("err:%v", err)
return err
}
@ -1923,8 +1923,9 @@ func GetConfigDiscountTicket() []common.ConfigDiscountTicket {
// GetConfigDiscountTicketByAmount 不存在就获取小一档的
func GetConfigDiscountTicketByAmount(amount int64) (ret common.ConfigDiscountTicket) {
for _, item := range configDiscountTicket {
if item.RechargeAmount <= amount {
if item.RechargeAmount == amount {
ret = item
return
}
}
return

@ -306,8 +306,8 @@ func RechargeCallback(r *common.RechargeOrder, success bool, payAccount, extra s
}
if r.ActivityID == 0 {
ticket := GetConfigDiscountTicketByAmount(discountOriginAmount)
log.Debug("get ticket cfg:%+v", ticket)
if ticket.ID > 0 {
log.Info("ticket:%v", ticket)
// 赠送优惠券
tickets := GetConfigDiscountTicket()
sort.Slice(tickets, func(i, j int) bool {
@ -324,18 +324,20 @@ func RechargeCallback(r *common.RechargeOrder, success bool, payAccount, extra s
if len(tickets) > nextIdx && nextIdx != -1 {
nextTicket = tickets[nextIdx]
}
log.Info("nextTicket:%v", nextTicket)
count := ticket.CurProb + ticket.NextProb
if count > 0 {
val := rand.Intn(count)
log.Info("val:%v", val)
// 改成100
val := rand.Intn(100)
if val < ticket.CurProb {
log.Info("ticket:%v", ticket)
AddUserDiscountTicket(uid, ticket.DiscountAmount, ticket.RechargeAmount, -1, 0, true)
SendMailWithContent(uid, SystemTitle, fmt.Sprintf(EmailDiscount, ticket.DiscountAmount/common.DecimalDigits, ticket.RechargeAmount/common.DecimalDigits))
} else if nextTicket.ID > 0 {
} else if val < ticket.CurProb+ticket.NextProb {
log.Info("nextTicket:%v", nextTicket)
AddUserDiscountTicket(uid, nextTicket.DiscountAmount, nextTicket.RechargeAmount, -1, 1, true)
SendMailWithContent(uid, SystemTitle, fmt.Sprintf(EmailDiscount, nextTicket.DiscountAmount/common.DecimalDigits, nextTicket.RechargeAmount/common.DecimalDigits))
}
log.Info("discountTicket, uid:%d count:%d(%d+%d) val:%v", uid, count, ticket.CurProb, ticket.NextProb, val)
}
}
}

Loading…
Cancel
Save