ProjectController.java
15.7 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
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
package com.subsidy.controller;
import com.subsidy.common.ResponseData;
import com.subsidy.common.ResponseVO;
import com.subsidy.dto.project.*;
import com.subsidy.dto.review.ProjectReviewPageDTO;
import com.subsidy.dto.review.ProjectReviewScoreDTO;
import com.subsidy.model.ProjectDO;
import com.subsidy.service.ProjectService;
import io.swagger.annotations.Api;
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;
/**
* <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 projectTrack 赛道:课程展示/教学技能赛道 courseName courseNameEn 课程英文名称 courseCode courseType grade courseHour " +
" courseObject 开课对象:0:专业不限 1:限制专业 courseObjectMajor 开课对象专业 theoryHour practiseHour" +
"score years startDate1 endDate1 startDate2 endDate2 studentTotalNum1 studentTotalNum2 vodUrl " +
" 开课单位 companyName courseUrl 课程网址" +
" supportFile 课程支撑材料上传 relateResult teachComment")
public ResponseVO createProject(@RequestBody UpdateProjectDTO updateProjectDTO)throws Exception{
return ResponseData.generateCreatedResponse(0, projectService.createProject(updateProjectDTO));
}
@PostMapping("returnPrevious")
@ApiOperation("查看这个老师这一届是否填过 matchId teacherId projectTrack")
public ResponseVO returnPrevious(@RequestBody ProjectDO projectDO){
return ResponseData.generateCreatedResponse(0,projectService.returnPrevious(projectDO));
}
@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 projectTrack")
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("downloadConsultPdf")
@ApiOperation("生成案例报告pdf")
public void downloadConsultPdf(@RequestBody ProjectDO projectDO){
projectService.downloadConsultPdf(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/项目组别 projectTrack 赛道")
public ResponseVO getVocationalProjectNum(@RequestBody SeedTrackProjectNumDTO seedTrackProjectNumDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectNum(seedTrackProjectNumDTO));
}
@PostMapping(value = "/getSeedTrackProjectList")
@ApiOperation("院校端 --- 分页查询种子赛道全部项目:collegeId 院校id matchId/赛事ID,projectSchedule/项目进度(全部项目传空字符串、校内赛、复赛、决赛), " +
"projectStatus/项目状态, projectTrack 赛道 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/项目状态, projectTrack 赛道,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 vodCode")
public ResponseVO uploadVods(@RequestBody UploadVodsDTO uploadVodsDTO)throws Exception{
return ResponseData.generateCreatedResponse(0,projectService.uploadVods(uploadVodsDTO));
}
@PostMapping("uploadVodsTimeLimit")
@ApiOperation("上传某个视频 id vodUrl")
public ResponseVO uploadVodsTimeLimit(@RequestBody ProjectDO projectDO)throws Exception{
return ResponseData.generateCreatedResponse(0,projectService.uploadVodsTimeLimit(projectDO));
}
@PostMapping(value = "/getVocationalReviewNum")
@ApiOperation("中心端 --- 职教评审列表(已评审 + 待评审)项目数量统计:matchId/赛事年份ID、projectGroup/组别(高职、中职), projectStatus/项目进度(校级申请项目、市级初赛项目、市级复赛项目、市级 决赛项目)")
public ResponseVO getVocationalReviewNum(@RequestBody ReviewListDTO reviewListDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalReviewNum(reviewListDTO));
}
@PostMapping(value = "/getVocationalReviewList")
@ApiOperation("中心端 --- 职教评审列表:projectGroup/组别、projectName/搜索项目或院校、 projectStatus/项目状态(市级初赛、市级复赛、市级决赛)、projectReview/评审分配状态(已分配/未分配)、" +
"pageNo/当前页数、pageSize/每页显示条数")
public ResponseVO getVocationalReviewList(@RequestBody ReviewListDTO reviewListDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalReviewList(reviewListDTO));
}
@PostMapping(value = "/getVocationalAssignNum")
@ApiOperation("中心端 --- 职教评审分配(已分配 + 未分配)项目数量统计:matchId/赛事年份ID、projectGroup/组别(高职、中职), projectStatus/项目进度(校级申请项目、市级初赛项目、市级复赛项目、市级 决赛项目)")
public ResponseVO getVocationalAssignNum(@RequestBody ReviewListDTO reviewListDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalAssignNum(reviewListDTO));
}
@PostMapping(value = "/exportProject")
@ApiOperation("中心端 --- 评审项目导出:matchId/赛事ID")
public ResponseVO exportProject(@RequestBody ReviewListDTO reviewListDTO) {
projectService.exportProjectReview(reviewListDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "getReviewVocationalNum")
@ApiOperation("评审端 --- (职教)项目数量: matchId/赛事ID、projectGroup/项目组别、 projectSchedule/赛事状态 projectJudgeId")
public ResponseVO getReviewVocationalNum(@RequestBody ReviewVocationalNumDTO reviewVocationalNumDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getReviewVocationalNum(reviewVocationalNumDTO));
}
/* -- 评审端 -- */
@PostMapping(value = "/getVocationalProjectReviewPage")
@ApiOperation("评审端 ---职教评审项目分页查询:matchId/赛事年份ID、projectSchedule/项目进度(初赛、复赛、决赛)、status/状态(待评审, 已评审)、projectGroup/项目组别、projectName/搜索名称、pageNo/当前页数、pageSize/每页显示条数")
public ResponseVO getVocationalProjectReviewPage(@RequestBody ProjectReviewPageDTO projectReviewPageDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectReviewPage(projectReviewPageDTO));
}
@PostMapping(value = "/setScore")
@ApiOperation("评审端 ---批量预评分:reviewScore[{ id/项目ID、score/分数 }] +" +
" --- 单个预评分:id/项目ID、score/分数")
public ResponseVO setScore(@RequestBody ProjectReviewScoreDTO projectReviewScoreDTO) {
projectService.setScore(projectReviewScoreDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/getVocationalProjectDetail")
@ApiOperation("中心端/院校端 --- 职教赛道项目详情:id/项目ID")
public ResponseVO getVocationalProjectDetail(@RequestBody GetVocationalProjectDetailDTO getVocationalProjectDetailDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectDetail(getVocationalProjectDetailDTO));
}
@PostMapping(value = "/submitted")
@ApiOperation("评审端 ---批量提交:ids:[项目ID]" +
" --- 提交评分:id/项目ID ")
public ResponseVO submitted(@RequestBody ProjectReviewScoreDTO projectReviewScoreDTO) {
projectService.submitted(projectReviewScoreDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "batchUpdateEditStatus")
@ApiOperation("中心端 --- 批量更新编辑状态:ids/项目ID(数组)、editStatus/状态(0:关闭,1:开启)")
public ResponseVO batchUpdateEditStatus(@RequestBody EditStatusDTO editStatusDTO) {
projectService.batchUpdateEditStatus(editStatusDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "updateEditStatus")
@ApiOperation("中心端 --- 更新编辑状态:id/项目ID、editStatus/状态(0:关闭,1:开启)")
public ResponseVO updateEditStatus(@RequestBody EditStatusDTO editStatusDTO) {
projectService.updateEditStatus(editStatusDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping("createTimeProject")
@ApiOperation("【时间】创建项目 timeId ")
public ResponseVO createTimeProject(@RequestBody UpdateProjectDTO updateProjectDTO)throws Exception{
return ResponseData.generateCreatedResponse(0, projectService.createTimeProject(updateProjectDTO));
}
@PostMapping("downloadTimePdf")
@ApiOperation("下载pdf id 项目id")
public void downloadTimePdf(@RequestBody ProjectDO projectDO){
projectService.downloadTimePdf(projectDO);
}
}