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; } }