ProjectController.java
9.42 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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
package com.subsidy.controller;
import com.subsidy.common.ResponseData;
import com.subsidy.common.ResponseVO;
import com.subsidy.common.constant.Platform;
import com.subsidy.common.interceptor.LoginRequired;
import com.subsidy.dto.project.*;
import com.subsidy.model.CollegesDictDO;
import com.subsidy.model.ProjectDO;
import com.subsidy.service.ProjectService;
import com.subsidy.util.ConstantUtils;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 前端控制器
* </p>
*
* @author Tuyp
* @since 2025-01-07
*/
@RestController
@Api(tags = "项目")
@RequestMapping("/project")
public class ProjectController {
@Autowired
private ProjectService projectService;
@PostMapping("createProject")
@ApiOperation("基本信息--保存并继续 id matchId teacherId courseName courseCode courseType grade courseHour theoryHour practiseHour" +
"score years startDate1 endDate1 startDate2 endDate2 studentTotalNum vodUrl")
public ResponseVO createProject(@RequestBody UpdateProjectDTO updateProjectDTO)throws Exception{
return ResponseData.generateCreatedResponse(0, projectService.createProject(updateProjectDTO));
}
@PostMapping("updateProject")
@ApiOperation("[弃用]基本信息--课程团队/课程信息 id semester startDate endDate teachHours teachGrade classTotalNum " +
"projectMembersDOS[userName birthDate education position title major semester courseTarget startDate endDate teachHours teachGrade classTotalNum ]" +
"courseTeam courseDesc courseTarget courseContent teachFiles teachResult courseFeature attachment " +
"vodUrl")
public ResponseVO updateProject(@RequestBody UpdateProjectDTO updateProjectDTO) throws Exception{
return ResponseData.generateCreatedResponse(0, projectService.updateProject(updateProjectDTO));
}
@PostMapping("oneProject")
@ApiOperation("查询单个项目 id")
public ResponseVO oneProject(@RequestBody ProjectDO projectDO){
return ResponseData.generateCreatedResponse(0,projectService.oneProject(projectDO));
}
@PostMapping("oneProjectByTeacherId")
@ApiOperation("查询单个项目 matchId teacherId")
public ResponseVO oneProjectByTeacherId(@RequestBody ProjectDO projectDO){
return ResponseData.generateCreatedResponse(0,projectService.oneProjectByTeacherId(projectDO));
}
@PostMapping("teacherProject")
@ApiOperation("查询老师某一届的项目 matchId teacherId")
public ResponseVO oneTeacherProject(@RequestBody ProjectDO projectDO){
return ResponseData.generateCreatedResponse(0,projectService.teacherProject(projectDO));
}
@PostMapping("downloadPdf")
@ApiOperation("生成pdf id 项目id")
public void downloadPdf(@RequestBody ProjectDO projectDO) {
projectService.downloadPdf(projectDO);
}
@PostMapping(value = "/getSeedTrackProjectPage")
@ApiOperation("中心端 --- 分页查询种子赛道全部项目:matchId/赛事ID,projectGroup/职教、高教、projectSchedule/项目进度(全部项目传空字符串、校内报名、市级复赛、市级决赛), " +
"projectStatus/项目状态, itemField/领域, name/搜名称, pageNum/当前页数 、pageSize/每页显示条数 ")
public ResponseVO getSeedTrackProjectPage(@RequestBody ProjectListPageDTO projectListPageDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getSeedTrackProjectPage(projectListPageDTO));
}
@PostMapping(value = "/pass")
@ApiOperation("中心端/院校端 --- (校内赛/初赛/复赛/决赛)通过:id/项目ID、" +
"projectStatus/1:市级复赛通过, 2:市级优胜奖,3/6:市级银奖,4:市级铜奖,5:市级金奖")
public ResponseVO pass(@RequestBody ApproveDTO approveDTO) {
projectService.pass(approveDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/batchPass")
@ApiOperation("中心端/院校端 --- 批量(校内赛/初赛/复赛/决赛)通过:ids/项目ID、" +
"projectStatus/1:市级复赛通过, 2:市级优胜奖,3/6:市级银奖,4:市级铜奖,5:市级金奖")
public ResponseVO batchPass(@RequestBody ApproveDTO approveDTO) {
projectService.batchPass(approveDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/exportProjectList")
@ApiOperation("中心端 --- 批量导出种子赛道项目:matchId/赛事ID")
public void exportProjectList(@RequestBody ProjectCollegeListDTO projectCollegeListDTO) {
projectService.exportProjectList(projectCollegeListDTO);
}
@PostMapping("matchCollegeVods")
@ApiOperation("院校端查看某一届的视频 collegeId 院校id matchId 赛事id")
public ResponseVO matchCollegeVods(@RequestBody MatchCollegeVodsDTO matchCollegeVodsDTO) {
return ResponseData.generateCreatedResponse(0, projectService.matchCollegeVods(matchCollegeVodsDTO));
}
@PostMapping("recentVod")
@ApiOperation("视频最近更新日期(返回的项目 uploadDate) collegeId matchId")
public ResponseVO recentVod(@RequestBody ProjectDO projectDO){
return ResponseData.generateCreatedResponse(0,projectService.recentVod(projectDO));
}
@PostMapping(value = "getDataOverview")
@ApiOperation("中心端 --- 数据概览 projectGroup")
public ResponseVO getDataOverview(@RequestBody DataOverviewDTO dataOverviewDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalDataOverview(dataOverviewDTO));
}
@PostMapping(value = "/withdrawn")
@ApiOperation("学生端 ---撤回申请:id/项目ID")
public ResponseVO withdrawn(@RequestBody ProjectDO projectDO)throws Exception {
projectService.withdrawn(projectDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/rollback")
@ApiOperation("院校端 ---上报撤回:id/项目ID")
public ResponseVO rollback(@RequestBody ProjectDO projectDO)throws Exception {
projectService.rollback(projectDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "getVocationalProjectNum")
@ApiOperation("中心端/院校端 --- (职教)项目管理数量:id 院校id matchId/赛事ID、projectGroup/项目组别")
public ResponseVO getVocationalProjectNum(@RequestBody SeedTrackProjectNumDTO seedTrackProjectNumDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectNum(seedTrackProjectNumDTO));
}
@PostMapping(value = "/getSeedTrackProjectList")
@ApiOperation("院校端 --- 分页查询种子赛道全部项目:collegeId 院校id matchId/赛事ID,projectSchedule/项目进度(全部项目传空字符串、校内赛、复赛、决赛), " +
"projectStatus/项目状态,name/搜名称, pageNum/当前页数 、pageSize/每页显示条数")
public ResponseVO getSeedTrackProjectList(@RequestBody ProjectListPageDTO projectListPageDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getSeedTrackProjectList(projectListPageDTO));
}
/* -- 管理端 -- */
@PostMapping(value = "/getVocationalProjectPage")
@ApiOperation("中心端 --- 分页查询职教赛道项目管理:matchId/赛事ID,projectGroup/项目组别(高职、中职)、projectSchedule/项目进度(全部项目传空字符串、校内赛、市级初赛、市级复赛、市级决赛), " +
"projectStatus/项目状态, itemField/领域, name/搜名称, pageNum/当前页数 、pageSize/每页显示条数")
public ResponseVO getVocationalProjectPage(@RequestBody ProjectListPageDTO projectListPageDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectPage(projectListPageDTO));
}
@PostMapping(value = "/weedOut")
@ApiOperation("院校端 --- 不予提交:id/项目ID")
public ResponseVO weedOut(@RequestBody ApproveDTO approveDTO) {
projectService.weedOut(approveDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/batchWeedOut")
@ApiOperation("院校端 --- 批量不予提交:ids/项目ID")
public ResponseVO batchWeedOut(@RequestBody ApproveDTO approveDTO) {
projectService.batchWeedOut(approveDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping("/signature")
@ApiOperation("获取签名")
public ResponseVO signature()throws Exception{
return ResponseData.generateCreatedResponse(0,projectService.signature());
}
@PostMapping("uploadVods")
@ApiOperation("上传某个视频 id vodUrl")
public ResponseVO uploadVods(@RequestBody ProjectDO projectDO)throws Exception{
return ResponseData.generateCreatedResponse(0,projectService.uploadVods(projectDO));
}
@PostMapping("uploadVodsTimeLimit")
@ApiOperation("上传某个视频 id vodUrl")
public ResponseVO uploadVodsTimeLimit(@RequestBody ProjectDO projectDO)throws Exception{
return ResponseData.generateCreatedResponse(0,projectService.uploadVodsTimeLimit(projectDO));
}
}