You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.0 KiB
64 lines
2.0 KiB
<?php
|
|
|
|
namespace app\distribution\logic;
|
|
|
|
|
|
use app\distribution\model\DistributionUserCode;
|
|
use app\distribution\model\DistributionUserRelation;
|
|
use think\facade\Request;
|
|
|
|
class Distribution extends Base
|
|
{
|
|
|
|
/**
|
|
* 生成分销关系
|
|
* @param int $user_id 当前用户ID
|
|
* @param int $last_user_id 上一级分销商ID
|
|
* @date 2021-04-01
|
|
*/
|
|
public function buildRelation($user_id = 0, $last_user_id = '')
|
|
{
|
|
|
|
$distribution_user_relation_model = new DistributionUserRelation();
|
|
|
|
//检查该用户是否已生成分销
|
|
$is_relation_exist = $distribution_user_relation_model->getNumber([
|
|
['user_id', '=', $user_id]
|
|
]);
|
|
if ($is_relation_exist) {
|
|
return sendErrorArray(3001, '用户已生成分销关系');
|
|
}
|
|
|
|
|
|
$data = [
|
|
'uid' => $this->mid,
|
|
'user_id' => $user_id
|
|
];
|
|
//查询上级分销商数据
|
|
if ($last_user_id) {
|
|
$last_distribution_relation = $distribution_user_relation_model->getOneData([
|
|
['user_id', '=', $last_user_id]
|
|
]);
|
|
if (empty($last_distribution_relation)) {
|
|
$last_distribution_relation['first_user_id'] = '';
|
|
$last_distribution_relation['second_user_id'] = '';
|
|
$last_distribution_relation['all_last_user_id'] = '';
|
|
}
|
|
$data['first_user_id'] = $last_user_id;
|
|
$data['second_user_id'] = $last_distribution_relation['first_user_id'];
|
|
$data['third_user_id'] = $last_distribution_relation['second_user_id'];
|
|
$data['all_last_user_id'] = empty($last_distribution_relation['all_last_user_id']) ? $last_user_id : $last_user_id . ',' . $last_distribution_relation['all_last_user_id'];
|
|
}
|
|
|
|
$res = $distribution_user_relation_model->dataUpdate($data);
|
|
if (!$res) {
|
|
return sendErrorArray(3002, '分销关系创建失败');
|
|
}
|
|
|
|
return sendSuccessArray();
|
|
}
|
|
|
|
|
|
|
|
}
|