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

<?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();
}
}