<?php
|
|
namespace app\branch\model\member;
|
|
use app\common\model\branch\Member as MemberModel;
|
use app\common\model\user\User as UserModel;
|
|
/**
|
* 连盟成员模型
|
* Class Member
|
* @package app\branch\model\branch
|
*/
|
class Member extends MemberModel
|
{
|
/**
|
* 获取连盟成员列表
|
*/
|
public function getList($params = [])
|
{
|
// 构建查询规则
|
$model = $this->alias('A')
|
->field('A.*, user.nickName, user.avatarUrl, user.real_name, user.mobile, branch_position.weight, branch_position.name as position_name, supplier.name as supplier_name')
|
->with(['branch'])
|
->join('user', 'user.user_id = A.user_id', 'left')
|
->join('branch_position', 'branch_position.position_id = A.position_id', 'left')
|
->join('supplier', 'supplier.shop_supplier_id = A.shop_supplier_id', 'left')
|
->where('A.is_delete', '=', 0)
|
->order(['branch_position.weight' => 'desc', 'A.create_time' => 'desc']);
|
// 查询条件
|
if (!empty($params['branch_id'])) {
|
$model = $model->where('A.branch_id', '=', $params['branch_id']);
|
}
|
if (!empty($params['keywords'])) {
|
if ($params['keywords'] == 'user_id') {
|
$model = $model->where('user.user_id', '=', (int)$params['keywords']);
|
} else {
|
$model = $model->where('user.nickName|user.real_name|user.mobile', 'like', '%' . $params['keywords'] . '%');
|
}
|
}
|
return $model->paginate($params);
|
}
|
|
/**
|
* 新增记录
|
*/
|
public function add($data)
|
{
|
$user_id = $data['user_id'];
|
if (MemberModel::detail($data['user_id'])) {
|
$this->error = '该用户已经是连盟成员,不能重复添加';
|
return false;
|
}
|
$data['app_id'] = self::$app_id;
|
$this->save($data);
|
// 检查真实姓名和电话有没有更改
|
$user = UserModel::detail($data['user_id']);
|
$userData = [];
|
if ($user['real_name'] != $data['real_name']) {
|
$userData['real_name'] = $data['real_name'];
|
}
|
if ($user['mobile'] != $data['mobile']) {
|
$userData['mobile'] = $data['mobile'];
|
}
|
if (!empty($data['avatarUrl'])) {
|
$userData['avatarUrl'] = $data['avatarUrl'];
|
}
|
if ($userData) {
|
$user->save($userData);
|
}
|
return true;
|
}
|
|
/**
|
* 编辑连盟成员
|
* @param $data
|
* @return bool
|
*/
|
public function edit($data)
|
{
|
$this->save($data);
|
$userData = [];
|
$user = UserModel::detail($data['user_id']);
|
if ($user['real_name'] != $data['real_name']) {
|
$userData['real_name'] = $data['real_name'];
|
}
|
if ($user['mobile'] != $data['mobile']) {
|
$userData['mobile'] = $data['mobile'];
|
}
|
if (!empty($data['avatarUrl']) && $data['avatarUrl'] != $user['avatarUrl']) {
|
$userData['avatarUrl'] = $data['avatarUrl'];
|
}
|
if ($userData) {
|
$user->save($userData);
|
}
|
return true;
|
}
|
|
/**
|
* 删除连盟成员
|
* @return mixed
|
*/
|
public function setDelete()
|
{
|
return $this->transaction(function () {
|
// 标记当前股东记录为已删除
|
return $this->save([
|
'is_delete' => 1
|
]);
|
});
|
}
|
|
/**
|
* 提现打款成功:累积提现佣金
|
*/
|
public static function totalMoney($user_id, $money)
|
{
|
$model = self::detail($user_id);
|
return $model->save([
|
'freeze_money' => $model['freeze_money'] - $money,
|
'total_money' => $model['total_money'] + $money,
|
]);
|
}
|
|
/**
|
* 提现驳回:解冻股东资金
|
*/
|
public static function backFreezeMoney($user_id, $money)
|
{
|
$model = self::detail($user_id);
|
return $model->save([
|
'money' => $model['money'] + $money,
|
'freeze_money' => $model['freeze_money'] - $money,
|
]);
|
}
|
|
/**
|
* 获取平台的总销售额
|
*/
|
public function getTotalMoney($type = 'all_money')
|
{
|
$model = $this;
|
if($type == 'money'){
|
return $model->sum('money');
|
} else if($type == 'freeze_money'){
|
return $model->sum('freeze_money');
|
} else if($type == 'total_money'){
|
return $model->sum('total_money');
|
} else if($type == 'all_money'){
|
return $model->sum('total_money') + $model->sum('freeze_money') + $model->sum('money');
|
}
|
return 0;
|
}
|
|
}
|