From 547bc9a02ef4b08fb9dc9f1916d4183a87ac6b8f Mon Sep 17 00:00:00 2001 From: mofangmin Date: Tue, 20 Aug 2024 15:35:47 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E5=85=85=E8=BF=94=E8=BF=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- call/pay.go | 3 -- common/activity.go | 2 +- modules/common/nats.go | 4 +- modules/web/handler/activity.go | 69 +++++++++++++++---------- modules/web/routers/routers_activity.go | 5 +- modules/web/values/activity.go | 5 ++ 6 files changed, 54 insertions(+), 34 deletions(-) diff --git a/call/pay.go b/call/pay.go index 5327fb5..8c5d969 100644 --- a/call/pay.go +++ b/call/pay.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)}) } } } diff --git a/common/activity.go b/common/activity.go index 9c6ee7e..e0e0c0b 100644 --- a/common/activity.go +++ b/common/activity.go @@ -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 { diff --git a/modules/common/nats.go b/modules/common/nats.go index c7c03a9..85387e3 100644 --- a/modules/common/nats.go +++ b/modules/common/nats.go @@ -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) { diff --git a/modules/web/handler/activity.go b/modules/web/handler/activity.go index 0200d77..16e7916 100644 --- a/modules/web/handler/activity.go +++ b/modules/web/handler/activity.go @@ -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) + } +} diff --git a/modules/web/routers/routers_activity.go b/modules/web/routers/routers_activity.go index 2157cba..50c7f71 100644 --- a/modules/web/routers/routers_activity.go +++ b/modules/web/routers/routers_activity.go @@ -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) } diff --git a/modules/web/values/activity.go b/modules/web/values/activity.go index cd446d8..167028e 100644 --- a/modules/web/values/activity.go +++ b/modules/web/values/activity.go @@ -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 +}