Activity.php
4.2 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
128
129
130
<?php
namespace app\api\controller;
use app\common\controller\Api;
/**
* 活动接口
* @ApiWeigh (97)
*/
class Activity extends Api
{
protected $noNeedLogin = [''];
protected $noNeedRight = ['*'];
/**
* @ApiTitle (活动首页)
*/
public function index()
{
$data = db('activity')
->order('createtime DESC')
->select();
if (!$data) {
$this->error('当前还没有活动', ['status' => 2]);
}
foreach ($data as $k => $v) {
$data[$k]['images'] = cdnurl($v['images'], true);
$data[$k]['createtime'] = date('Y-m-d', $v['createtime']);
}
$this->success('全部项目', $data);
}
/**
* @ApiTitle (项目校区)
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
* @ApiParams (name="id", type="string", required=false, description="活动id")
* @ApiReturnParams (name="code", type="integer", required=true, description="状态码")
* @ApiReturnParams (name="msg", type="string", required=true, description="提示语")
* @ApiReturnParams (name="data", type="object", description="扩展数据返回")
* @ApiReturn ({
"code":"状态码",
"msg": "提示消息",
"data": {}
})
*/
public function getSchoolItem()
{
$id = $this->request->param('id');
if (empty($id)) {
$this->error('参数错误', ['status' => 3]);
}
$data = db('campus c')
->join('activity a','a.id = c.activity_id')
->join('school s','s.id = c.school_id')
->where('c.activity_id', $id)
->field('c.*,a.title as activity_name,s.title as school_name')
->paginate(10,false);
if (empty($data)) {
$this->error('空空', ['status' => 3]);
}
$this->success('项目校区', $data);
}
/**
* @ApiTitle (项目日期场次)
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
* @ApiParams (name="id", type="string", required=false, description="校区id")
* @ApiReturnParams (name="code", type="integer", required=true, description="状态码")
* @ApiReturnParams (name="msg", type="string", required=true, description="提示语")
* @ApiReturnParams (name="data", type="object", description="扩展数据返回")
* @ApiReturn ({
"code":"状态码",
"msg": "提示消息",
"data": {
"school": [学校]
"ronda": [
"item": 项目
"item_details": 项目详情
]
}
})
*/
public function getItemRonda()
{
$id = $this->request->param('id');
$data['school_name'] = db('school s')
->join('activity a','s.activity_id = a.id')
->field('s.*,a.title as activity_name')
->where('s.id', $id)
->find();
$data['ronda'] = db('ronda')
->where('xq_id', $id)
->paginate(10)
->each(function ($item, $k) {
$data['item'] = db('item')->where('ronda_id', $item['id'])->find();
$data['item_details'] = db('item_details')->where('item_id', $data['item']['id'])->find();
return $data;
});
$this->success('项目场次日期', $data);
}
/**
* @ApiTitle (项目详情)
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
* @ApiParams (name="id", type="string", required=false, description="项目id")
* @ApiReturnParams (name="code", type="integer", required=true, description="状态码")
* @ApiReturnParams (name="msg", type="string", required=true, description="提示语")
* @ApiReturnParams (name="data", type="object", description="扩展数据返回")
* @ApiReturn ({
"code":"状态码",
"msg": "提示消息",
"data": {
"school_name": 校区信息{},
"ronda": 场次信息{
"data": [{
"item": 场次对应的项目信息{},
]}
})
*/
public function getItemDetails()
{
$id = $this->request->param('id');
$data = db('item_details')
->where('item_id', $id)
->find();
$this->success('', $data);
}
}