Activity.php
3.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
<?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 (项目校区)
* @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['ronda'] = db('ronda')
->where('campus_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);
}
}