二次开发 下级用户有订单则永久绑定
背景:
后台设置:1.分销绑定模式 临时 ,2.绑定用户 所有人
开发调试:
use think\facade\Log;
use think\facade\Db;
Log::error('---------------');
Log::error(json_encode($userInfo['extend_info']));
user表中 pay_count 用户购买次数。
文件位置: /www/wwwroot/pumeiren.域名.com/app/listener/user/Register.php
UserSpreadJob::dispatch([$uid, $spreadUid]);
改成:
if($userInfo['pay_count']==0){
UserSpreadJob::dispatch([$uid, $spreadUid]);
}
UserFriendsJob::dispatch([$uid, $spread_uid]);
改成
if($userInfo['pay_count']==0){
UserFriendsJob::dispatch([$uid, $spread_uid]);
}
###############################################################################
后发现是这个:
/www/wwwroot/pumeiren.域名.com/app/services/user LoginServices.php
//绑定分销关系 = 所有用户
if (sys_config('brokerage_bindind', 1) == 1) {
//分销绑定类型为时间段且过期 ||临时
$store_brokerage_binding_time = sys_config('store_brokerage_binding_time', 30);
if (!$userInfo['spread_uid'] || $store_brokergae_binding_status == 3 || ($store_brokergae_binding_status == 2 && ($userInfo['spread_time'] + $store_brokerage_binding_time * 24 * 3600) < time())) {
$spreadUid = $spread_uid;
if ($spreadUid && $userInfo->uid == $this->dao->value(['uid' => $spreadUid], 'spread_uid')) {
$spreadUid = 0;
}
if ($spreadUid && $this->dao->count(['uid' => (int)$spreadUid])) {
这里是判断逻辑,
/* $data['spread_uid'] = $spreadUid;
$data['spread_time'] = time();*/
}
}
}
15383615781
https://pumeiren.域名.com?spid=1
https://pumeiren.域名.com?spid=2