CoachIndexController.php
4.9 KB
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
<?php
namespace api\home\controller;
use api\home\model\ToolsModel;
use api\home\service\ToolsService;
use cmf\controller\RestBaseController;
use think\Db;
/**
* @title 教练端-瑜伽房
*/
class CoachIndexController extends RestBaseController
{
/**
* @title 教练资格
* @description 教练资格判断接口
* @author Pan Haowen
* @url /home/coach_index/coach
* @method POST
* @header name:XX-Token require:1 default: desc:token
*/
public function coach(){
$userId = $this->getUserId();
$re=Db::name('coach')->where('user_id',$userId)->find();
if (!$re){
$this->success('未认证',['status'=>0]);
}elseif ($re['status']==0){
$this->success('认证中',['status'=>1]);
}elseif ($re['status']==1){
$this->success('已认证',['status'=>2]);
}elseif ($re['status']==2){
$this->success('认证失败请重新认证',['status'=>3]);
}
}
/**
* @title 教练报名课程
* @description 教练报名课程接口
* @author Pan Haowen
* @url /home/coach_index/ClassApply
* @method POST
* @header name:XX-Token require:1 default: desc:token
* @param name:class_id type:int require:1 desc:课程id
*/
public function ClassApply(){
$userId = $this->getUserId();
$param=$this->request->param();
$coach=Db::name('coach')->where(['user_id'=>$userId,'status'=>1])->find();
$class=Db::name('class')->where('id',$param['class_id'])->find();
if (!$coach){
$this->error(['code'=>'40001','msg'=>'未认证']);
}
if (!in_array($class['type'],explode(',',$coach['type']))){
$this->error(['code'=>'40002','msg'=>'授课类型不符']);
}
$re1=Db::name('coach_class_apply')->where(['coach_id'=>$coach['id'],'class_id'=>$class['id'],'status'=>1])->find();
if ($re1){
$this->error('您的申请已通过');
}
$re2=Db::name('coach_class_apply')->where(['coach_id'=>$coach['id'],'class_id'=>$class['id'],'status'=>0])->find();
if ($re2){
$this->error('您的申请正在审核中');
}
Db::name('coach_class_apply')->insert(['coach_id'=>$coach['id'],'class_id'=>$class['id'],'status'=>0,'create_time'=>time()]);
$this->success('申请成功');
}
/**
* @title 教练授课订单
* @description 教练授课订单接口
* @author Pan Haowen
* @url /home/coach_index/plan
* @method POST
* @header name:XX-Token require:1 default: desc:token
* @param name:time type:int require:1 desc:时间搜索条件
*/
public function plan(){
$userId = $this->getUserId();
$coach=Db::name('coach')->where('user_id',$userId)->find();
$param = $this->request->param();
$where=[];
if (!empty($param['time'])) {
$where['c.start_time'] = [['>= time', $param['time']], ['<= time', strtotime('+1 month', $param['time'])]];
} else {
$where['c.start_time'] = [['>= time', strtotime('+1 month', strtotime(date('Y-m', time())))], ['<= time', strtotime('+2 month', strtotime(date('Y-m', time())))]];
}
$data=Db::name('coach_class_apply')
->alias('cca')
->join('class c','cca.class_id=c.id')
->join('product p','c.product_id=p.id')
->join('room r','c.room_id=r.id')
->where(['c.delete_time'=>null,'c.status'=>1,'cca.coach_id'=>$coach['id']])
->where($where)
->field('p.name as pname,c.*,cca.status,r.name as rname,cca.coach_id')
->select()
->each(function ($item) {
if ($item['type']==1) {
$item['avatar']=Db::name('user_class_apply')
->alias('ucc')
->join('user u','ucc.user_id=u.id')
->where(['ucc.class_id' => $item['id'], 'ucc.status' => 1])
->field('u.avatar,u.user_nickname')
->select();
}elseif ($item['type']==2){
$item['avatar'] = Db::name('coach_class_apply')
->alias('cca')
->join('coach c', 'cca.coach_id=c.id')
->where(['cca.status' => 1, 'cca.class_id' => $item['id']])
->field('c.id,c.avatar,c.name,c.mobile')
->find();
$item['avatar']['avatar'] = cmf_get_image_preview_url($item['avatar']['avatar']);
}
$count=Db::name('coach_class')->where(['class_id'=>$item['id'],'status'=>0,'coach_id'=>$item['coach_id']])->count();
$item['money']=$item['coach_price']*$count;
return $item;
});
$new_arr=array();
foreach($data as $k=>$v ){
$new_arr[$v['rname']][] = $v;
}
$this->success("获取数据成功", $new_arr);
}
}