1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?php
 
 
 
namespace app\operations\model\plus\operations;
 
 
 
 
use app\common\model\plus\operations\Apply as ApplyModel;
 
use app\common\service\message\MessageService;
 
use app\common\model\plus\operations\Grade as GradeModel;
 
 
 
/**
 
 * 队长入驻申请模型
 
 */
 
class Apply extends ApplyModel
 
{
 
    /**
 
     * 获取队长申请列表
 
     * @noinspection PhpUndefinedMethodInspection
 
     */
 
    public function getList($search)
 
    {
 
        $model = $this->alias('apply')
 
            ->field('apply.*, user.nickName, user.avatarUrl')
 
            ->with(['referee'])
 
            ->join('user', 'user.user_id = apply.user_id')
 
            ->order(['apply.create_time' => 'desc']);
 
        if (!empty($search['nick_name'])) {
 
            $model = $model->where('user.nickName|apply.real_name|apply.mobile', 'like', '%' . $search['nick_name'] . '%');
 
        }
 
 
 
        // 获取列表数据
 
        return $model->paginate($search['list_rows']);
 
    }
 
 
 
    /**
     * 股东入驻审核
     * @param $data
     * @return bool
     */
    public function submit($data)
    {
        if ($data['apply_status'] == '30' && empty($data['reject_reason'])) {
            $this->error = '请填写驳回原因';
            return false;
        }
        $this->startTrans();
        if ($data['apply_status'] == '20') {
            // 新增区域代理用户(参考 Operations::addoperationsUser 方法)
            $operationsModel = new Operations();
            $result = $operationsModel->addoperationsUser([
                'user_id' => $data['user_id'],
                'real_name' => $data['real_name'],
                'mobile' => $data['mobile'],
                'operations_level' => $data['region_level']["value"],
                'province_id' => $data['province_id'],
                'city_id' => $data['city_id'],
                'area_id' => $data['area_id'],
                'referee_id' => $data['referee_id'],
                'user_name' => isset($data['user_name']) ? $data['user_name'] : '',
                'password' => isset($data['password']) ? $data['password'] : ''
            ]);
            if (!$result) {
                $this->error = $operationsModel->error;
                $this->rollback();
                return false;
            }
        }
        $save_data = [
            'audit_time' => time(),
            'apply_status' => $data['apply_status'],
            'region_level' => $data['region_level']["value"],
            'province_id' => $data['province_id'],
            'city_id' => $data['city_id'],
            'area_id' => $data['area_id'],
            'reject_reason' => $data['reject_reason'],
        ];
        $this->save($save_data);
        // 记录推荐人关系
        // if ($data['referee_id'] > 0) {
        //     RefereeModel::createRelation($data['user_id'], $data['referee_id']);
        // }
        // 发送模板消息
        //(new MessageService)->operations($this);
        $this->commit();
        return true;
    }
 
 
 
    /**
 
     * 获取申请中的数量
 
     */
 
    public static function getApplyCount(){
 
        return (new static())->where('apply_status', '=', 10)->count();
 
    }
 
}