'待审核', 20 => '审核通过', 30 => '驳回', ]; /** * 申请时间 * @param $value * @return false|string */ public function getApplyTimeAttr($value) { return date('Y-m-d H:i:s', $value); } /** * 审核时间 * @param $value * @return false|int|string */ public function getAuditTimeAttr($value) { return $value > 0 ? date('Y-m-d H:i:s', $value) : 0; } /** * 关联推荐人表 * @return \think\model\relation\BelongsTo */ public function referee() { return $this->belongsTo('app\common\model\user\User', 'referee_id') ->field(['user_id', 'nickName']); } /** * 申请记录详情 * @param $where * @return array|\think\Model|null * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public static function detail($where) { $filter = is_array($where) ? $where : ['apply_id' => $where]; return (new static())->where($filter)->find(); } /** * 根据分销判断成为股东 * @param $userId * @param $appId * @return bool */ public function becomeShareholderByAgent($userId, $become_type, $appId) { // 验证是否设置 $config = Setting::getItem('basic', $appId); if (empty($config['is_open'])) { return false; } $agent = AgentUserModel::detail($userId); if (!$agent) { return false; } $becomeShareholder = false; //分销商总数 if ($config['become'] == '40') { $agent_total = $agent['first_num'] + $agent['second_num'] + $agent['third_num']; if ($agent_total >= $config['totalfxs_down']) { $becomeShareholder = true; } } //分销佣金总数 if ($config['become'] == '50') { $agent_money = $agent['total_money'] + $agent['money'] + $agent['freeze_money']; if ($agent_money >= $config['total_money']) { $becomeShareholder = true; } } // 新增股东用户 if ($becomeShareholder) { User::add($userId, [ 'referee_id' => $agent['referee_id'], //推荐人id 'app_id' => $appId, ]); } return true; } /** * 根据团队分红判断成为股东 * @param $userId * @param $appId * @return bool */ public function becomeShareholderByTeam($userId, $become_type, $appId) { // 验证是否设置 $config = Setting::getItem('basic', $appId); if (empty($config['is_open'])) { return false; } $teamUser = TeamUserModel::detail($userId); if (!$teamUser) { return false; } if (User::isshareholderUser($userId)) { return false; } $becomeShareholder = false; //团队总业绩 if ($config['become'] == '70') { $total_money = TeamOrderModel::getOrderAllPrice($userId); if ($config['self_buy_money']) { $total_money += $teamUser['user']['expend_money']; } if ($total_money >= $config['total_team_money']) { $becomeShareholder = true; } } //团队总人数 if ($config['become'] == '80') { if ($teamUser['total_num'] >= $config['total_team_user']) { $becomeShareholder = true; } } if ($config['become'] == '110'){ $subordinateUserId=(new TeamRefereeModel())->where(['heads_id'=>$userId])->column('user_id'); $subordinateUserId[]=$userId; $vipNum=(new \app\common\model\user\User)->getRefereeGradeCount($subordinateUserId,$config['referee_grade_ids']); $supplierNum=(new \app\common\model\supplier\Supplier())->getSubordinateNum($subordinateUserId); $user=(new \app\common\model\user\User)->where(['user_id'=>$userId,'is_delete'=>0])->find(); if ($vipNum >= $config['totalvip_down'] && $supplierNum >= $config['totalsh_down']&&$user['purchase_count']>=$config['purchase_count']){ $becomeShareholder = true; } } // 新增股东用户 if ($becomeShareholder) { User::add($userId, [ 'referee_id' => $teamUser['referee_id'], //推荐人id 'app_id' => $appId, ]); } return true; } /** * 审核状态 * @param $value * @return array */ public function getApplyStatusAttr($value) { $method = [10 => '待审核', 20 => '审核通过', '30' => '驳回']; return ['text' => $method[$value], 'value' => $value]; } /** * 审核方式 * @param $value * @return array */ public function getApplyTypeAttr($value) { $method = [10 => '后台审核', 20 => '无需审核']; return ['text' => $method[$value], 'value' => $value]; } }