介绍
可以自定义每个商品的返利比例,避免高价商品的高返利提高成本
修改 tpl
修改 /home/wwwroot/sspanel/resources/views/material/admin/shop 目录下的 create.tpl
<div class="form-group form-group-label"> <label class="floating-label" for="rebate_ratio">返利比例</label> <input class="form-control maxwidth-edit" id="rebate_ratio" type="number" value="0.2"> <p class="form-control-guide"><i class="material-icons">info</i>受邀用户购买套餐时,实际支付金额乘以该值,即为邀请人获得的返利</p> </div>

同样是该文件
rebate_ratio: $$getValue('rebate_ratio'),

修改 /home/wwwroot/sspanel/resources/views/material/admin/shop 目录下的 edit.tpl
<div class="form-group form-group-label">
<label class="floating-label" for="rebate_ratio">返利比例</label>
<input class="form-control maxwidth-edit" id="rebate_ratio" type="number" value="{$shop->rebate_ratio}">
<p class="form-control-guide"><i class="material-icons">info</i>受邀用户购买套餐时,实际支付金额乘以该值,即为邀请人获得的返利</p>
</div>

同样是该文件
rebate_ratio: $$getValue('rebate_ratio'),

修改结构
SQL 语句
ALTER TABLE `shop` ADD `rebate_ratio` DECIMAL(12,2) NULL AFTER `status`;

修改 ShopController.php
修改 /home/wwwroot/sspanel/app/Controllers/Admin 目录下的 ShopController.php
修改 add 函数
$shop->rebate_ratio = $request->getParam('rebate_ratio');

和 update 函数
$shop->rebate_ratio = $request->getParam('rebate_ratio');
if($shop->rebate_ratio == null) {
$shop->rebate_ratio = Config::get('code_payback') / 100;
}

修改 UserController.php
将充值时返利的逻辑,修改为购买时返利。涉及三个文件,需将下列文件相关函数中的部分代码注释掉
/home/wwwroot/sspanel/app/Controllers/UserController.php的codepost函数/home/wwwroot/sspanel/Services/Gateway/AbstractPayment.php的postPayment函数/home/wwwroot/sspanel/Services/Gateway/PaymentWall.php的notify函数

- 搜索关键词 购买成功 定位即可。具体位置可参考图示
if ($user->ref_by != '' && $user->ref_by != 0 && $user->ref_by != null) {
if($shop->rebate_ratio == null) {
$rebate_ratio = Config::get('code_payback') / 100;
}else{
$rebate_ratio = $shop->rebate_ratio;
}
$rebate_amount = $rebate_ratio * $price;
$gift_user = User::where('id', '=', $user->ref_by)->first();
$gift_user->money += $rebate_amount;
$gift_user->save();
$Payback = new Payback();
$Payback->total = $price;
$Payback->userid = $user->id;
$Payback->ref_by = $user->ref_by;
$Payback->ref_get = $rebate_amount;
$Payback->datetime = time();
$Payback->save();
}

如何使用
在新添加商品,或编辑商品时,可以设置返利比例。返利比例为小数,精确到小数点后两位。例如,将返利比例设置为 0.2 时,受邀用户购买 100 元商品,邀请用户可获得返利 100 * 0.2 = 20 元。留空时,跟随系统默认返利比。请注意不要设置为整数,避免造成高返利
发表回复