首充返还

dev
mofangmin 1 year ago
parent 2c0d2a4f5e
commit 547bc9a02e
  1. 3
      call/pay.go
  2. 2
      common/activity.go
  3. 4
      modules/common/nats.go
  4. 69
      modules/web/handler/activity.go
  5. 5
      modules/web/routers/routers_activity.go
  6. 5
      modules/web/values/activity.go

@ -530,13 +530,10 @@ func PayActivity(r *common.RechargeOrder, notCharge bool, user *common.PlayerDBI
}
func ActivityFirstRechargeBack(r *common.RechargeOrder) {
now := time.Now().Unix()
if IsActivityValid(common.ActivityIDFirstRechargeBack) {
rechargeBackData := GetUserFirstRechargeBackData(r.UID)
if rechargeBackData.RechargeTime == 0 {
db.Mysql().Create(&common.ActivityFirstRechargeBackData{UID: r.UID, RechargeTime: time.Now().Unix(), Amount: r.Amount})
} else if now-rechargeBackData.RechargeTime < common.ActivityFirstRechargeBackTime {
db.Mysql().Update(&common.ActivityFirstRechargeBackData{UID: r.UID}, map[string]interface{}{"amount": gorm.Expr("amount + ?", r.Amount)})
}
}
}

@ -198,7 +198,7 @@ const (
type ConfigActivityFirstRechargeBack struct {
ID int `gorm:"primary_key;AUTO_INCREMENT;column:id" json:"ID"`
MinRecharge int64 `gorm:"column:min_recharge;type:bigint(20);default:10000000000;comment:最低充值额度" web:"min_recharge"`
MaxBack int64 `gorm:"column:max_back;type:bigint(20);default:-1;comment:最大返还额度" web:"max_back"`
MaxBack int64 `gorm:"column:max_back;type:bigint(20);default:-1;comment:最大返还额度比例" web:"max_back"`
}
func (c *ConfigActivityFirstRechargeBack) TableName() string {

@ -34,8 +34,8 @@ func afterSettle(d *pb.InnerAfterSettle) {
log.Debug("afterSettle:%+v", *d)
UpdateGameData(d)
call.ShareSettle(d)
p := &Player{uid: int(d.UID), gid: int(d.GameID), settleData: d}
p.ActivityFirstRechargeBack()
// p := &Player{uid: int(d.UID), gid: int(d.GameID), settleData: d}
// p.ActivityFirstRechargeBack()
}
func UpdateGameData(d *pb.InnerAfterSettle) {

@ -667,35 +667,25 @@ func ActivityFirstRechargeBackInfo(c *gin.Context) {
return
}
resp := &values.ActivityFirstRechargeBackInfoResp{}
conf := call.GetConfigActivityFirstRechargeBack()
a.Data = resp
data := call.GetUserFirstRechargeBackData(a.UID)
diff := time.Now().Unix() - data.RechargeTime
log.Debug("ActivityFirstRechargeBackInfo:%+v", data)
if data.RechargeTime == 0 {
resp.CanRecharge = true
} else {
if diff > common.ActivityFirstRechargeBackTime*2 {
a.Code = values.CodeActivityExpire
return
}
resp.CanRecharge = diff < common.ActivityFirstRechargeBackTime
}
resp.ProductList = call.GetConfigPayProductByActivityID(common.ActivityIDFirstRechargeBack)
resp.Recharge = data.Amount
if data.Amount < call.GetConfigActivityFirstRechargeBack().MinRecharge {
if data.Amount < conf.MinRecharge {
return
}
val := data.Amount - call.GetUserCurrencyTotal(a.UID, common.CurrencyINR)
if val < 0 {
val = 0
}
max := call.GetConfigActivityFirstRechargeBack().MaxBack
if max > 0 && val > max {
val = max
}
if val > data.Amount {
val = data.Amount
}
val = val * conf.MaxBack / 100
resp.Back = val
}
func ActivityFirstRechargeBackDraw(c *gin.Context) {
@ -706,6 +696,7 @@ func ActivityFirstRechargeBackDraw(c *gin.Context) {
if !a.CheckActivityExpire(common.ActivityIDFirstRechargeBack) {
return
}
conf := call.GetConfigActivityFirstRechargeBack()
data := call.GetUserFirstRechargeBackData(a.UID)
val := data.Amount - call.GetUserCurrencyTotal(a.UID, common.CurrencyINR)
if val <= 0 {
@ -716,22 +707,12 @@ func ActivityFirstRechargeBackDraw(c *gin.Context) {
a.Code = values.CodeRetry
return
}
if time.Now().Unix()-data.RechargeTime > common.ActivityFirstRechargeBackTime*2 {
a.Code = values.CodeActivityExpire
return
}
rows, err := db.Mysql().UpdateRes(&common.ActivityFirstRechargeBackData{UID: a.UID}, map[string]interface{}{"lost": 0})
if err != nil || rows == 0 {
a.Code = values.CodeRetry
return
}
max := call.GetConfigActivityFirstRechargeBack().MaxBack
if max > 0 || val > max {
val = max
}
if val > data.Amount {
val = data.Amount
}
val = val * conf.MaxBack / 100
_, err = call.UpdateCurrencyPro(&common.UpdateCurrency{
CurrencyBalance: &common.CurrencyBalance{
UID: a.UID,
@ -1999,3 +1980,39 @@ func ActivityPopup(c *gin.Context) {
resp.List = call.GetConfigActivityPopupByType(req.JumpType)
}
}
func WeekCardInfo(c *gin.Context) {
a := app.NewApp(c)
defer func() {
a.Response()
}()
req := values.ActivityPopupReq{}
if !a.S(&req) {
return
}
resp := new(values.ActivityPopupResp)
a.Data = resp
if req.JumpType == 0 {
resp.List = call.GetConfigActivityPopup()
} else {
resp.List = call.GetConfigActivityPopupByType(req.JumpType)
}
}
func WeekCardDraw(c *gin.Context) {
a := app.NewApp(c)
defer func() {
a.Response()
}()
req := values.ActivityPopupReq{}
if !a.S(&req) {
return
}
resp := new(values.ActivityPopupResp)
a.Data = resp
if req.JumpType == 0 {
resp.List = call.GetConfigActivityPopup()
} else {
resp.List = call.GetConfigActivityPopupByType(req.JumpType)
}
}

@ -19,8 +19,6 @@ func activity(e *gin.RouterGroup) {
e.POST("/activity/pdd/reference", handler.ActivityPddReference)
e.POST("/activity/freeSpin/info", handler.ActivityFreeSpinInfo)
e.POST("/activity/freeSpin/draw", handler.ActivityFreeSpinDraw)
e.POST("/activity/firstRechargeBack/info", handler.ActivityFirstRechargeBackInfo)
e.POST("/activity/firstRechargeBack/draw", handler.ActivityFirstRechargeBackDraw)
e.POST("/activity/luckyCode/info", handler.ActivityLuckyCodeInfo)
e.POST("/activity/luckyCode/draw", handler.ActivityLuckyCodeDraw)
// e.POST("/activity/sign/info", handler.ActivitySignInfo)
@ -45,4 +43,7 @@ func activity(e *gin.RouterGroup) {
e.POST("/activity/betDraw/record", handler.ActivityBetDrawHistory)
// 活动弹窗
e.POST("/activity/activityPopup/info", handler.ActivityPopup)
// 首充返还
e.POST("/activity/firstRechargeBack/info", handler.ActivityFirstRechargeBackInfo)
e.POST("/activity/firstRechargeBack/draw", handler.ActivityFirstRechargeBackDraw)
}

@ -47,6 +47,7 @@ type ActivityFirstRechargeBackInfoResp struct {
Recharge int64
Back int64
CanRecharge bool
ProductList []*common.ConfigPayProduct
}
// ID 物品id
@ -287,3 +288,7 @@ type ActivityPopupReq struct {
type ActivityPopupResp struct {
List []*common.ConfigActivityPopup
}
type ActivityFirstRechargeInfoResp struct {
List []*common.ConfigActivityPopup
}

Loading…
Cancel
Save