Blame view

ProjectController.java 9.42 KB
涂亚平 committed
1 2 3
package com.subsidy.controller;


涂亚平 committed
4 5 6 7 8 9 10 11 12 13 14 15 16
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;
涂亚平 committed
17
import org.springframework.web.bind.annotation.RequestMapping;
涂亚平 committed
18

涂亚平 committed
19
import org.springframework.web.bind.annotation.RestController;
涂亚平 committed
20
import io.swagger.annotations.Api;
涂亚平 committed
21 22 23

/**
 * <p>
涂亚平 committed
24
 * 前端控制器
涂亚平 committed
25 26 27
 * </p>
 *
 * @author Tuyp
涂亚平 committed
28
 * @since 2025-01-07
涂亚平 committed
29 30
 */
@RestController
涂亚平 committed
31
@Api(tags = "项目")
涂亚平 committed
32 33 34
@RequestMapping("/project")
public class ProjectController {

涂亚平 committed
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
    @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));
    }
涂亚平 committed
191
}
涂亚平 committed
192 193 194