sspanel v3魔改版添加满多少加送余额功能,提高用户粘性.md
sspanel v3魔改版添加满多少加送余额功能,提高用户粘性.md
home againsspanel自带的功能比较少,个性化的定制空间小。sspanel有一个优惠码的功能,但只能在购买套餐时使用,还有时间限制问题。个人觉得充值送余额(满送)更能直接刺激用户消费。
首先确定你的付款方式,再决定修改哪个文件。不过无论修改哪个文件,都是在 app/Services/Gateway/
目录下,然后根据付款方式选择修改文件。码支付就修改 Codepay.php,trimepay支付就修改 TrimePay.php,请务必选择正确。
找到notify函数,也就是下面这句,我们就修改这个函数即可达到目的。
public function notify($request, $response, $args) |
notify函数内找到下面这行代码,这行代码表示将金额写入数据库,也就表示这行代码执行完毕后用户就充值成功了。我们现在在这行代码下面“搞事情”。(这里都是以码支付为例,不同支付方式的代码有出入)
$this->postPayment($pay_id, $payment); |
判断用户的充值金额,如果我们想要阶梯式赠送余额:满500送10%,满300送8%,满200送6%,满100送5%,满50送3%。这里的满送规则仅作举例,根据实际情况你可自行修改。
$userid = explode("UID",$pay_id)[1]; |
先判断达到满送活动的用户,再为他额外加送余额。
$givemoney = User::where('id', '=', $userid)->first(); |
最后收尾工作,我们要导入两个数据库类来让我们写的代码能跟数据库正常交互。在此文件的开头添加如下代码:
use App\Models\User; |
一个满送活动就可以快乐的搞起来了。
为了此代码逻辑的严谨性,我们要保证不会存在重复赠送余额的可能。所以我们要判断每一笔满足满送条件的充值,是否已经赠送了余额,对于赠送过了的充值我们直接跳过上面的代码运行。在判断用户充值金额的代码前面,添加如下代码:
$leixing = Code::where("userid", "=", $userid)->latest('id')->first()->code; |
现在我们尝试对于充值成功并满足满送条件的充值进行补单,发现没有出现重复加送余额的bug。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果