| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309 |
- <?php
- namespace Task\Src;
- use Dever;
- use Task\Lib\Base;
- class User extends Base
- {
- public function __construct()
- {
- parent::__construct();
- $this->checkLogin();
- }
- public function menu()
- {
- $menu = Dever::db('main/menu')->state();
- # 获取消息
- $msg = Dever::load('message/lib/data.num', $this->data['uid']);
- foreach ($menu as $k => $v) {
- $menu[$k]['icon'] = $v['icon'];
- if ($v['icon'] == 'ico-account' && $msg) {
- $menu[$k]['icon'] .= ' ico-msg';
- }
- }
- return $menu;
- }
- public function config()
- {
- # 资料认证
- $config['submit'] = $this->url('task/user.submit', array('uid' => $this->data['uid']));
- # 完善资料
- $config['set'] = $this->url('task/user.set', array('uid' => $this->data['uid']));
- return $config;
- }
- /**
- * 用户基本信息
- *
- * @return mixed
- */
- public function one()
- {
- $user = $this->user;
- # 获取消息
- $user['msg'] = Dever::load('message/lib/data.num', $this->data['uid']);
- # 获取退出链接
- $user['quit'] = Dever::url('login.quit', 'passport');
- # 获取头衔
- $user['group_name'] = $this->group();
- # 获取手机号
- $user['mobile'] = Dever::hide($user['mobile']);
- return $user;
- }
- # 获取头衔
- private function group()
- {
- $name = '';
- $where['uid'] = $this->data['uid'];
- $score = Dever::db('task/user_score')->one($where);
- $score = $score['score'];
- $group = Dever::db('task/user_group')->one(array('uid' => $this->data['uid']));
- if ($group) {
- $group_num = Dever::db('task/user_group')->total(array('group_id' => $group['id']));
- } else {
- $group_num = 0;
- }
- # 获取用户等级
- $level = Dever::db('task/user_level')->state();
- if ($level) {
- foreach ($level as $k => $v) {
- if ($v['member'] > 0 && $group_num >= $v['member'] && $v['score'] > 0 && $score >= $v['score']) {
- $name = $v['name'];
- break;
- } elseif ($v['member'] <= 0 && $v['score'] >= 0 && $score >= $v['score']) {
- $name = $v['name'];
- break;
- }
- }
- }
- return $name;
- }
- /**
- * 用户消息列表
- *
- * @return mixed
- */
- public function msg()
- {
- $data = Dever::load('message/lib/data.read', $this->data['uid'], false, true);
- return $data;
- }
- /**
- * 检测是否已经完善资料
- *
- * @return mixed
- */
- public function set_check()
- {
- $where['uid'] = $this->data['uid'];
- $user = Dever::db('task/user_score')->one($where);
- if ($user) {
- return Dever::location($this->refer());
- }
- }
- /**
- * 完善资料
- *
- * @return mixed
- */
- public function set()
- {
- return $this->set_action();
- }
- /**
- * 填写资料
- *
- * @return mixed
- */
- private function set_action()
- {
- $where['uid'] = $this->data['uid'];
- $user = Dever::db('task/user_score')->one($where);
- $edit = Dever::input('edit');
- if ($user && !$edit) {
- Dever::alert('你已经填写过资料了');
- }
- $username = Dever::input('username');
- $code = Dever::input('code');
- $sex = Dever::input('sex');
- if (!$username) {
- Dever::alert('用户昵称不能为空');
- }
- if (!$sex && $sex != 0) {
- Dever::alert('性别不能为空');
- }
- if ($code) {
- # 加入小队
- $group = Dever::db('task/user_group')->one(array('code' => $code));
- if ($group && $group['uid'] != $this->data['uid']) {
- $info = Dever::db('task/user_group_member')->one(array('uid' => $this->data['uid'], 'group_id' => $group['id']));
- if (!$info) {
- $member['group_id'] = $group['id'];
- $member['uid'] = $this->data['uid'];
- $member['status'] = 2;
- Dever::db('task/user_group_member')->insert($member);
- }
-
- } else {
- Dever::alert('邀请码错误');
- }
- }
- $avatar = Dever::input('avatar');
- if (!$avatar) {
- # 设置默认头像
- $config = Dever::db('main/config-one');
- Dever::setInput('avatar', $config['avatar']);
- }
- Dever::load('passport/user')->updateInfo();
- if (!$user) {
- $insert['uid'] = $this->data['uid'];
- $insert['score'] = 0;
- $insert['code'] = $code;
- Dever::db('task/user_score')->insert($insert);
- }
- return $this->refer();
- }
- /**
- * 检测是否已经认证
- *
- * @return mixed
- */
- public function info_check()
- {
- $info = $this->info();
- if (!$info) {
- return Dever::location(Dever::url('user/info_certify', 'main'));
- }
- if ($info['status'] == 1) {
- $info['show'] = '审核中';
- $info['class'] = 'disable';
- } elseif ($info['status'] == 2) {
- $info['show'] = '已认证';
- $info['class'] = 'mb-success';
- } else {
- $info['show'] = '未通过';
- $info['class'] = '';
- }
- return $info;
- }
- /**
- * 用户资料
- *
- * @return mixed
- */
- public function info()
- {
- # 检测用户是否认证
- $where['uid'] = $this->data['uid'];
- return Dever::db('task/user_info')->one($where);
- }
- /**
- * 资料认证
- *
- * @return mixed
- */
- public function submit()
- {
- return $this->submit_action();
- }
- /**
- * 立刻认证
- *
- * @return mixed
- */
- private function submit_action()
- {
- $user = $this->info();
- $truename = Dever::input('truename');
- $card = Dever::input('card');
- $card_front = Dever::input('card_front');
- $card_end = Dever::input('card_end');
- $wechat = Dever::input('wechat');
- $alipay = Dever::input('alipay');
- $refresh = array('element' => '#submit', 'attr' => 'dever-refresh', 'value' => Dever::load("task/user.config#submit"));
- if (!$truename) {
- Dever::alert('真实姓名不能为空', $refresh);
- }
- if (!$card) {
- Dever::alert('身份证号不能为空', $refresh);
- }
- if (!$card_front) {
- Dever::alert('身份证正面不能为空', $refresh);
- }
- if (!$card_end) {
- Dever::alert('身份证反面不能为空', $refresh);
- }
- if (!$wechat && !$alipay) {
- Dever::alert('微信号或者支付宝账号不能为空', $refresh);
- }
- if (!$user) {
- $insert['uid'] = $this->data['uid'];
- $insert['truename'] = $truename;
- $insert['card'] = $card;
- $insert['card_front'] = $card_front;
- $insert['card_end'] = $card_end;
- $insert['wechat'] = $wechat;
- $insert['alipay'] = $alipay;
- $insert['status'] = 1;
- Dever::db('task/user_info')->insert($insert);
- } else {
- $update['truename'] = $truename;
- $update['card'] = $card;
- $update['card_front'] = $card_front;
- $update['card_end'] = $card_end;
- $update['wechat'] = $wechat;
- $update['alipay'] = $alipay;
- $update['status'] = 1;
- $update['where_id'] = $user['id'];
- Dever::db('task/user_info')->update($update);
- }
- return Dever::url('user/info', 'main');
- }
- }
|