| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- <?php
- namespace Task\Src;
- use Dever;
- use Task\Lib\Base;
- class Group extends Base
- {
- public function __construct()
- {
- parent::__construct();
- $this->checkUser();
- }
- /**
- * 我的小队
- *
- * @return mixed
- */
- public function user()
- {
- $group = $this->one();
- $data = array();
- if ($group) {
- $data = Dever::db('task/user_group_member')->getAll(array('group_id' => $group['id']));
- if ($data) {
- foreach ($data as $k => $v) {
- $data[$k]['user'] = Dever::db('passport/user')->one($v['uid']);
- $data[$k]['time'] = date('Y-m-d H:i', $v['cdate']);
- }
- }
- return $data;
- }
- return $data;
- }
- /**
- * 根据邀请码搜索队长
- *
- * @return mixed
- */
- public function info($code)
- {
- $where['code'] = $code;
- $group = Dever::db('task/user_group')->one($where);
- return $group;
- }
- /**
- * 我的邀请码
- *
- * @return mixed
- */
- public function one()
- {
- $where['uid'] = $this->data['uid'];
- $group = Dever::db('task/user_group')->one($where);
- if (!$group) {
- # 生成邀请码
- $code = $this->createCode();
- $group['uid'] = $where['uid'];
- $group['code'] = $code;
- $group['id'] = Dever::db('task/user_group')->insert($group);
- }
- # 生成二维码图片
- $url = Dever::url('user/set?qrcode=' . $group['code'], 'main');
- $url = Dever::url('reg?refer='.Dever::encode($url), 'main');
- $group['url'] = Dever::url('task/group.qrcode?url=' . urlencode($url));
- return $group;
- }
- public function qrcode()
- {
- Dever::import('qrcode');
- $url = urldecode(Dever::input('url'));
- return Dever::qrcode($url);
- }
- private function createCode()
- {
- $config = Dever::db('main/config')->one();
- if ($config['usercode'] > 1) {
- if ($config['usercode'] == 2) {
- $code = Dever::rand($config['code_len'], 0);
- } else {
- $code = Dever::rand($config['code_len']);
- }
- if ($this->info($code)) {
- return $this->createCode();
- } else {
- return $code;
- }
- } else {
- $code = '1';
- for ($i = 0; $i < $config['code_len'] -1; $i++) {
- $code .= '0';
- }
- return $code + $this->data['uid'];
- }
- }
- /**
- * 加入小队
- *
- * @return mixed
- */
- public function submit()
- {
- $code = Dever::input('code');
- if (!$code) {
- Dever::alert('邀请码不正确');
- }
- $where['code'] = $code;
- $group = Dever::db('task/user_group')->one($where);
- if (!$group) {
- Dever::alert('邀请码不正确');
- }
- $info = Dever::db('task/user_group_member')->one(array('uid' => $this->data['uid']));
- if (!$info) {
- $insert['uid'] = $this->data['uid'];
- $insert['group_id'] = $grou['id'];
- $insert['status'] = 2;
- return Dever::db('task/user_group_member')->insert($insert);
- }
- return $info['id'];
- }
- }
|