();
+ // 如果指定了x-oss-complete-all:yes,则OSS会列举当前UploadId已上传的所有Part,然后按照PartNumber的序号排序并执行CompleteMultipartUpload操作。
+ // 如果指定了x-oss-complete-all:yes,则不允许继续指定body,否则报错。
+ // headers.put("x-oss-complete-all","yes");
+ // completeMultipartUploadRequest.setHeaders(headers);
+
+ // 完成分片上传。
+ CompleteMultipartUploadResult completeMultipartUploadResult = ossClient.completeMultipartUpload(completeMultipartUploadRequest);
+ uploadFileVO.setUrl(completeMultipartUploadResult.getLocation().replace("http","https"));
+ System.out.println(completeMultipartUploadResult.getLocation());
+ } catch (OSSException oe) {
+ System.out.println("Caught an OSSException, which means your request made it to OSS, "
+ + "but was rejected with an error response for some reason.");
+ System.out.println("Error Message:" + oe.getErrorMessage());
+ System.out.println("Error Code:" + oe.getErrorCode());
+ System.out.println("Request ID:" + oe.getRequestId());
+ System.out.println("Host ID:" + oe.getHostId());
+ } catch (ClientException ce) {
+ System.out.println("Caught an ClientException, which means the client encountered "
+ + "a serious internal problem while trying to communicate with OSS, "
+ + "such as not being able to access the network.");
+ System.out.println("Error Message:" + ce.getMessage());
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (ossClient != null) {
+ ossClient.shutdown();
+ }
+ }
+
+ return ResponseData.generateCreatedResponse(0, uploadFileVO);
+ }
+
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/PermissionsController.java a/src/main/java/com/zhongzhi/controller/PermissionsController.java
new file mode 100644
index 0000000..59b2ec4
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/PermissionsController.java
@@ -0,0 +1,20 @@
+package com.zhongzhi.controller;
+
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 权限表 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2021-04-28
+ */
+@RestController
+@Api(tags = "权限")
+@RequestMapping("/permissions")
+public class PermissionsController {
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/ProjectAwardController.java a/src/main/java/com/zhongzhi/controller/ProjectAwardController.java
new file mode 100644
index 0000000..8cab4a1
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/ProjectAwardController.java
@@ -0,0 +1,20 @@
+package com.zhongzhi.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 项目奖项 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2022-04-25
+ */
+@RestController
+@RequestMapping("/project-award-do")
+public class ProjectAwardController {
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/ProjectController.java a/src/main/java/com/zhongzhi/controller/ProjectController.java
new file mode 100644
index 0000000..185c3cc
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/ProjectController.java
@@ -0,0 +1,985 @@
+package com.zhongzhi.controller;
+
+import com.zhongzhi.common.constant.Platform;
+import com.zhongzhi.common.constant.ProjectType;
+import com.zhongzhi.common.utils.LoginRequired;
+import com.zhongzhi.common.utils.ResponseData;
+import com.zhongzhi.dto.member.CreateProjectMemberDTO;
+import com.zhongzhi.dto.project.*;
+import com.zhongzhi.dto.review.ProjectReviewPageDTO;
+import com.zhongzhi.dto.review.ProjectReviewScoreDTO;
+import com.zhongzhi.model.ProjectDO;
+import com.zhongzhi.service.ProjectService;
+import com.zhongzhi.vo.ResponseVO;
+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;
+
+/**
+ *
+ * 项目表 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2021-05-11
+ */
+@RestController
+@Api(tags = "项目")
+@RequestMapping("/project")
+public class ProjectController {
+
+ @Autowired
+ private ProjectService projectService;
+
+ @PostMapping(value = "/getProjectDetail")
+ @ApiOperation("学生端(高职赛道、种子赛道、国际合作通用) ---项目详情: id/项目ID")
+ public ResponseVO getProjectDetail(@RequestBody ProjectDO projectDO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getProjectById(projectDO.getId()));
+ }
+
+ @PostMapping(value = "/getMainTrackProject")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---主赛道项目分页查询: matchId/赛事年份ID, pageNo/当前页数, pageSize/每页显示条数")
+ public ResponseVO getMainTrackProject(@RequestBody ProjectListPageDTO projectListPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getMainTrackProject(projectListPageDTO));
+ }
+
+ @PostMapping(value = "/getMainTrackProjectById")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端---根据ID查询主赛道项目信息")
+ public ResponseVO getMainTrackProjectById() {
+ return ResponseData.generateCreatedResponse(0, projectService.getMainTrackProjectById());
+ }
+
+ @PostMapping(value = "/createMainTrackProject")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---保存主赛道项目信息: 项目logo/logoUri、项目名称/projectName、所在地/address、itemField/所属领域、项目概述/projectIntro、projectTransform/国家级重大、重点科研项目的科研成果转化项目" +
+ "学校科技成果转化/resultTransfer、参赛申报人为科技成果的完成人或所有人/competitionOwner、参赛申报人为科技成果的第一完成人或所有人/competitionFirst" +
+ "师生共创/bothInvention、项目进展/projectProgress(创意设计阶段,已注册公司)、公司名称/companyName、法人身份/legalPersonStatus、法人姓名/legalPersonName、职务/position、注册资金/registerFund" +
+ "注册时间/registerDate、注册省份/registerProvince、注册地址/registerAddress、统一社会信用代码/unifyCode" +
+ "股权结构/pos:[{ shareholderStatus/股东身份、shareholderName/股东名称、shareholdingRatio/持股比例 }]" +
+ "隐私设置/privacySetting(保密,公开)、materialsType/项目计划书类型、materialsSize/项目计划书大小、materialsName/项目计划书名称、materialsUrl/项目计划书地址" +
+ "vodUrl 视频地址")
+ public ResponseVO createMainTrackProject(@RequestBody CreateMainTrackProjectDTO createMainTrackProjectDTO) {
+ projectService.createMainTrackProject(createMainTrackProjectDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/getProjectMemberById")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---根据项目ID查询主赛道团队成员")
+ public ResponseVO getProjectMemberById() {
+ return ResponseData.generateCreatedResponse(0, projectService.getProjectMemberById());
+ }
+
+ @PostMapping(value = "/createProjectMember")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---保存主赛道团队信息:name/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、studentNo/学籍号" +
+ "teamMember/团队成员:[{ teamName/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、studentNo/学籍号 }]" +
+ "mentor/指导老师:[{ teacherName/姓名、 company/工作单位、positionTitle/职称、position/职务、telephone/手机号}]")
+ public ResponseVO createProjectMember(@RequestBody CreateProjectMemberDTO createProjectMemberDTO) {
+ createProjectMemberDTO.setProjectGroup(ProjectType.MAIN_TRACK);
+ createProjectMemberDTO.setProjectType(ProjectType.MAIN_TRACK);
+ projectService.createProjectMember(createProjectMemberDTO,null);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/withdrawn")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---撤回申请:id/项目ID")
+ public ResponseVO withdrawn(@RequestBody ProjectDO projectDO) {
+ projectService.withdrawn(projectDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/rollback")
+// @LoginRequired(Platform.school)
+ @ApiOperation("院校端 ---上报撤回:id/项目ID")
+ public ResponseVO rollback(@RequestBody ProjectDO projectDO) {
+ projectService.rollback(projectDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/getSeedTrackProject")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---种子赛道项目分页查询: matchId/年份ID, pageNo/当前页数, pageSize/每页显示条数")
+ public ResponseVO getSeedTrackProject(@RequestBody ProjectListPageDTO projectListPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getSeedTrackProject(projectListPageDTO));
+ }
+
+ @PostMapping(value = "/createSeedTrackProject")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---保存种子赛道项目信息: projectProgress:红色文创/科技创新 projectName/项目名称、projectGroup/组别、projectIntro/介绍及创新点、projectCreativity/设计背景、" +
+ "scientificPrinciple/科学设计、applicationProspect/应用前景、roadShowForm/路演形式、restriction/创意实施或实验所受条件的限制" +
+ "、materials/项目材料:[{ materialsType/项目计划书类型、materialsSize/项目计划书大小、materialsName/项目计划书名称、materialsUrl/项目计划书地址 }]")
+ public ResponseVO createSeedTrackProject(@RequestBody CreateSeedTrackProjectDTO createSeedTrackProjectDTO) {
+ return ResponseData.generateCreatedResponse(0,projectService.createSeedTrackProject(createSeedTrackProjectDTO));
+ }
+
+ @PostMapping("judgeThemeDone")
+ @LoginRequired((Platform.student))
+ @ApiOperation("学生端 学生报过了哪些主题")
+ public ResponseVO judgeThemeDone(@RequestBody CreateSeedTrackProjectDTO createSeedTrackProjectDTO){
+ return ResponseData.generateCreatedResponse(0,projectService.judgeThemeDone(createSeedTrackProjectDTO));
+ }
+
+ @PostMapping(value = "/getTechnologyProjectById")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---根据ID查询科技创新项目")
+ public ResponseVO getTechnologyProjectById() {
+ return ResponseData.generateCreatedResponse(0, projectService.getSeedTrackProjectById());
+ }
+
+ @PostMapping(value = "/getCulturalProjectById")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---根据ID查询红色文创项目")
+ public ResponseVO getCulturalProjectById(@RequestBody ProjectDO projectDO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getCulturalProjectById(projectDO));
+ }
+
+ @PostMapping(value = "/uploadTechnologyProjectAttachment")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 --- 上传科技创新项目加盖公章的附件: printAttachment/附件地址, printAttachmentType/附件类型, printAttachmentName/附件名称")
+ public ResponseVO uploadTechnologyProjectAttachment(@RequestBody PrintAttachmentDTO printAttachmentDTO) {
+ printAttachmentDTO.setProjectGroup(ProjectType.TECHNOLOGY_INNOVATION_GROUP);
+ projectService.uploadPrintAttachment(printAttachmentDTO,ProjectType.TECHNOLOGY_INNOVATION_GROUP);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/createTechnologyProjectMember")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---保存科技创新项目团队信息:name/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、idCard身份证 studentNo/学籍号 fiveYears" +
+ "teamMember/团队成员:[{ teamName/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、studentNo/学籍号 }]" +
+ "mentor/指导老师:[{ teacherName/姓名、 company/工作单位、positionTitle/职称、position/职务、telephone/手机号}]")
+ public ResponseVO createTechnologyProjectMember(@RequestBody CreateProjectMemberDTO createProjectMemberDTO) {
+ createProjectMemberDTO.setProjectGroup(ProjectType.TECHNOLOGY_INNOVATION_GROUP);
+ createProjectMemberDTO.setProjectType(ProjectType.SEED_TRACK);
+ projectService.createProjectMember(createProjectMemberDTO,ProjectType.TECHNOLOGY_INNOVATION_GROUP);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/getTechnologyProjectMember")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---查询科技创新项目团队信息")
+ public ResponseVO getTechnologyProjectMember() {
+ return ResponseData.generateCreatedResponse(0, projectService.getProjectMember(ProjectType.TECHNOLOGY_INNOVATION_GROUP,null,ProjectType.TECHNOLOGY_INNOVATION_GROUP));
+ }
+
+ @PostMapping(value = "/uploadCulturalProjectAttachment")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 --- 上传红色文创项目加盖公章的附件: printAttachment/附件地址, printAttachmentType/附件类型, printAttachmentName/附件名称")
+ public ResponseVO uploadCulturalProjectAttachment(@RequestBody PrintAttachmentDTO printAttachmentDTO) {
+ printAttachmentDTO.setProjectGroup(ProjectType.CULTURAL_CREATIVE_GROUP);
+ projectService.uploadPrintAttachment(printAttachmentDTO,ProjectType.CULTURAL_CREATIVE_GROUP);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/createCulturalProjectMember")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---保存红色文创项目团队信息:name/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、idCard 身份证 studentNo/学籍号 fiveYears" +
+ "teamMember/团队成员:[{ teamName/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、studentNo/学籍号 }]" +
+ "mentor/指导老师:[{ teacherName/姓名、 company/工作单位、positionTitle/职称、position/职务、telephone/手机号}]")
+ public ResponseVO createCulturalProjectMember(@RequestBody CreateProjectMemberDTO createProjectMemberDTO) {
+ createProjectMemberDTO.setProjectGroup(ProjectType.CULTURAL_CREATIVE_GROUP);
+ createProjectMemberDTO.setProjectType(ProjectType.SEED_TRACK);
+ projectService.createProjectMember(createProjectMemberDTO,ProjectType.CULTURAL_CREATIVE_GROUP);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/getCulturalProjectMember")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---查询红色文创项目团队信息")
+ public ResponseVO getCulturalProjectMember(@RequestBody ProjectDO projectDO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getProjectMember(ProjectType.CULTURAL_CREATIVE_GROUP,projectDO.getThemeName(),"文化创意"));
+ }
+
+ @PostMapping(value = "/getMainTrackProjectPage")
+ @LoginRequired(Platform.school)
+ @ApiOperation("院校端 --- 分页查询主赛道全部项目:matchId/赛事ID, projectSchedule/项目进度(全部项目传空字符串、校内赛、复赛、决赛), " +
+ "projectStatus/项目状态, itemField/领域, name/搜名称, pageNo/当前页数 、pageSize/每页显示条数")
+ public ResponseVO getMainTrackProjectPage(@RequestBody ProjectListPageDTO projectListPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getMainTrackProjectPage(projectListPageDTO));
+ }
+
+ @PostMapping(value = "/getMainTrackProjectDetail")
+ @LoginRequired({Platform.center, Platform.school, Platform.review})
+ @ApiOperation("学生端/中心端 ---查询主赛道项目详情:id/项目ID")
+ public ResponseVO getMainTrackProjectDetail(@RequestBody ProjectDO projectDO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getMainTrackProjectDetail(projectDO.getId()));
+ }
+
+ @PostMapping(value = "/delete")
+ @LoginRequired({Platform.center, Platform.school})
+ @ApiOperation("中心端/院校端 --- 删除项目:id/项目ID")
+ public ResponseVO delete(@RequestBody ProjectDO projectDO) {
+ projectService.removeById(projectDO.getId());
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/getSeedTrackProjectList")
+ @LoginRequired(Platform.school)
+ @ApiOperation("院校端 --- 分页查询种子赛道全部项目:matchId/赛事ID,projectGroup/项目组别(科技创新、红色文创)、projectSchedule/项目进度(全部项目传空字符串、校内赛、复赛、决赛), " +
+ "projectStatus/项目状态, itemField/领域, name/搜名称, pageNo/当前页数 、pageSize/每页显示条数")
+ public ResponseVO getSeedTrackProjectList(@RequestBody ProjectListPageDTO projectListPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getSeedTrackProjectList(projectListPageDTO));
+ }
+
+ @PostMapping(value = "/getSeedTrackProjectListCity")
+ @LoginRequired(Platform.school)
+ @ApiOperation("院校端 --- 分页查询种子赛道全部项目:matchId/赛事ID,projectGroup/项目组别(科技创新、红色文创)、projectSchedule/项目进度(全部项目传空字符串、校内赛、复赛、决赛), " +
+ "projectStatus/项目状态, itemField/领域, name/搜名称, pageNo/当前页数 、pageSize/每页显示条数")
+ public ResponseVO getSeedTrackProjectListCity(@RequestBody ProjectListPageDTO projectListPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getSeedTrackProjectListCity(projectListPageDTO));
+ }
+
+ @PostMapping(value = "/getSeedTrackProjectPage")
+ @ApiOperation("中心端 --- 分页查询种子赛道全部项目:matchId/赛事ID,projectGroup/项目组别(科技创新、红色文创)、projectSchedule/项目进度(全部项目传空字符串、校内赛、复赛、决赛), " +
+ "projectStatus/项目状态, itemField/领域, name/搜名称, pageNo/当前页数 、pageSize/每页显示条数 projectProgress")
+ public ResponseVO getSeedTrackProjectPage(@RequestBody ProjectListPageDTO projectListPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getSeedTrackProjectPage(projectListPageDTO));
+ }
+
+ @PostMapping(value = "/downloadTechnologyPDF")
+ @LoginRequired({Platform.student})
+ @ApiOperation("学生端 --- 种子赛道科技创新申请表下载")
+ public void downloadTechnologyPDF() {
+ projectService.downloadPDF(ProjectType.TECHNOLOGY_INNOVATION_GROUP,null,ProjectType.TECHNOLOGY_INNOVATION_GROUP);
+ }
+
+ @PostMapping(value = "/downloadCulturalPDF")
+ @LoginRequired({Platform.student})
+ @ApiOperation("学生端 --- 种子赛道红色文创申请表下载 themeName")
+ public void downloadCulturalPDF(@RequestBody DownloadCulturalPDFDTO downloadCulturalPDFDTO) {
+ projectService.downloadPDF(ProjectType.CULTURAL_CREATIVE_GROUP,downloadCulturalPDFDTO.getThemeName(),ProjectType.CULTURAL_CREATIVE_GROUP);
+ }
+
+ @PostMapping(value = "/getSeedTrackProjectDetail")
+ @LoginRequired({Platform.center, Platform.school, Platform.review})
+ @ApiOperation("中心端/院校端 --- 种子赛道项目详情:id/项目ID")
+ public ResponseVO getSeedTrackProjectDetail(@RequestBody ProjectDO projectDO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getSeedTrackProjectDetail(projectDO.getId()));
+ }
+
+ @PostMapping(value = "/getSeedTrackProjectDetailCity")
+ @LoginRequired({Platform.center, Platform.school, Platform.review})
+ @ApiOperation("中心端/院校端 --- 种子赛道项目详情:id/项目ID")
+ public ResponseVO getSeedTrackProjectDetailCity(@RequestBody ProjectDO projectDO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getSeedTrackProjectDetailCity(projectDO.getId()));
+ }
+
+ @PostMapping(value = "/weedOut")
+ @LoginRequired({Platform.center, Platform.school})
+ @ApiOperation("院校端 --- 不予提交:id/项目ID")
+ public ResponseVO weedOut(@RequestBody ApproveDTO approveDTO) {
+ projectService.weedOut(approveDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/batchWeedOut")
+ @LoginRequired({Platform.center, Platform.school})
+ @ApiOperation("院校端 --- 批量不予提交:ids/项目ID")
+ public ResponseVO batchWeedOut(@RequestBody ApproveDTO approveDTO) {
+ projectService.batchWeedOut(approveDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/pass")
+ @LoginRequired({Platform.center, Platform.school})
+ @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")
+ @LoginRequired({Platform.center, Platform.school})
+ @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 = "/getReviewList")
+// @LoginRequired({Platform.center})
+ @ApiOperation("中心端 --- 评审列表:projectGroup/组别(科技创新、红色文创、主赛道)、projectName/搜索项目或院校、 projectStatus/项目状态(市级复赛、市级决赛)、projectReview/评审分配状态(已分配/未分配)、" +
+ "pageNo/当前页数、pageSize/每页显示条数")
+ public ResponseVO getReviewList(@RequestBody ReviewListDTO reviewListDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getReviewList(reviewListDTO));
+ }
+
+ @PostMapping(value = "/getProjectReviewNum")
+ @ApiOperation("中心端 --- 评审列表项目数量统计:matchId/赛事年份ID、projectProgress/组别(科技创新、文化创意), projectStatus/项目进度(市级复赛、市级决赛)")
+ public ResponseVO getProjectReviewNum(@RequestBody ReviewListDTO reviewListDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getProjectReviewNum(reviewListDTO));
+ }
+
+ @PostMapping(value = "/getProjectReviewAssignNum")
+ @LoginRequired({Platform.school})
+ @ApiOperation("中心端 --- 评审分配项目数量统计:matchId/赛事年份ID、projectGroup/组别(科技创新、红色文创), projectStatus/项目进度(市级复赛、市级决赛)")
+ public ResponseVO getProjectReviewAssignNum(@RequestBody ReviewListDTO reviewListDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getProjectReviewAssignNum(reviewListDTO));
+ }
+
+ @PostMapping(value = "/getReviewProjectNum")
+ @LoginRequired({Platform.review})
+ @ApiOperation("评审端 --- 评审项目数量统计:matchId/赛事年份ID、projectGroup/组别(科技创新、红色文创), projectStatus/项目状态(市级复赛、市级决赛)")
+ public ResponseVO getReviewProjectNum(@RequestBody ReviewListDTO reviewListDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getReviewProjectNum(reviewListDTO));
+ }
+
+ @PostMapping(value = "/getReviewProjectNumCity")
+ @LoginRequired({Platform.review})
+ @ApiOperation("评审端 --- 评审项目数量统计:matchId/赛事年份ID、projectGroup/组别(科技创新、红色文创), projectStatus/项目状态(市级复赛、市级决赛)")
+ public ResponseVO getReviewProjectNumCity(@RequestBody ReviewListDTO reviewListDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getReviewProjectNumCity(reviewListDTO));
+ }
+
+ @PostMapping(value = "/getExportProjectListField")
+ @LoginRequired({Platform.center, Platform.school})
+ @ApiOperation("中心端 --- 种子赛道项目字段")
+ public ResponseVO getExportProjectListField() {
+ return ResponseData.generateCreatedResponse(0, projectService.getExportProjectField());
+ }
+
+ @PostMapping(value = "/exportProjectCollegeList")
+ @LoginRequired({Platform.school})
+ @ApiOperation("院校端 --- 批量导出院校项目:matchId/赛事ID")
+ public void exportProjectCollegeList(@RequestBody ProjectCollegeListDTO projectCollegeListDTO) {
+ projectService.exportProjectCollegeList(projectCollegeListDTO);
+ }
+
+ @PostMapping(value = "/exportProjectList")
+ @ApiOperation("中心端 --- 批量导出种子赛道项目:matchId/赛事ID")
+ public void exportProjectList(@RequestBody ProjectCollegeListDTO projectCollegeListDTO) {
+ projectService.exportProjectList(projectCollegeListDTO);
+ }
+
+ @PostMapping(value = "/exportProjectAll")
+ @ApiOperation("中心端 --- 导出全部种子赛道项目:matchId/赛事ID, projectSchedule/项目进度,projectGroup/项目组别")
+ public void exportProjectAll(@RequestBody ProjectCollegeListDTO projectCollegeListDTO) {
+ projectService.exportProjectAll(projectCollegeListDTO);
+ }
+
+ @PostMapping(value = "/exportProjectAllProgress")
+// @LoginRequired({Platform.center})
+ @ApiOperation("中心端 --- 导出全部种子赛道项目:matchId/赛事ID, projectSchedule/项目进度,projectGroup/项目组别 projectProgress 组别")
+ public void exportProjectAllProgress(@RequestBody ProjectCollegeListDTO projectCollegeListDTO) {
+ projectService.exportProjectAllProgress(projectCollegeListDTO);
+ }
+
+
+ @PostMapping(value = "/getExportProjectField")
+ @LoginRequired({Platform.center})
+ @ApiOperation("中心端 --- 评审项目字段")
+ public ResponseVO getExportProjectField() {
+ return ResponseData.generateCreatedResponse(0, projectService.getExportProjectReviewField());
+ }
+
+ @PostMapping(value = "/exportProject")
+ @LoginRequired({Platform.center})
+ @ApiOperation("中心端 --- 评审项目导出:matchId/赛事ID")
+ public ResponseVO exportProject(@RequestBody ReviewListDTO reviewListDTO) {
+ projectService.exportProjectReview(reviewListDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/exportProjectNew")
+// @LoginRequired({Platform.school})
+ @ApiOperation("中心端 --- 评审项目导出:matchId/赛事ID")
+ public ResponseVO exportProjectNew(@RequestBody ReviewListDTO reviewListDTO) {
+ projectService.exportProjectNew(reviewListDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/exportProjectById")
+ @LoginRequired({Platform.school})
+ @ApiOperation("中心端 --- 评审项目根据ID导出:id/ID")
+ public ResponseVO exportProjectById(@RequestBody ReviewListDTO reviewListDTO) {
+ projectService.exportProjectById(reviewListDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/getProjectReviewPage")
+ @LoginRequired({Platform.review})
+ @ApiOperation("评审端 ---评审项目分页查询:matchId/赛事年份ID、projectSchedule/项目进度(复赛、决赛)、status/状态(待评审, 已评审)、projectGroup/项目组别、projectName/搜索名称、pageNo/当前页数、pageSize/每页显示条数")
+ public ResponseVO getProjectReviewPage(@RequestBody ProjectReviewPageDTO projectReviewPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getProjectReviewPage(projectReviewPageDTO));
+ }
+
+ @PostMapping(value = "/getProjectReviewPageCity")
+ @LoginRequired({Platform.review})
+ @ApiOperation("评审端 ---评审项目分页查询:matchId/赛事年份ID、projectSchedule/项目进度(复赛、决赛)、status/状态(待评审, 已评审)、projectGroup/项目组别、projectName/搜索名称、pageNo/当前页数、pageSize/每页显示条数")
+ public ResponseVO getProjectReviewPageCity(@RequestBody ProjectReviewPageDTO projectReviewPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getProjectReviewPageCity(projectReviewPageDTO));
+ }
+
+ @PostMapping(value = "/setScore")
+ @LoginRequired({Platform.review})
+ @ApiOperation("评审端 ---批量预评分:reviewScore[{ id/项目ID、score/分数 }] +" +
+ " --- 单个预评分:id/项目ID、score/分数")
+ public ResponseVO setScore(@RequestBody ProjectReviewScoreDTO projectReviewScoreDTO) {
+ projectService.setScore(projectReviewScoreDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/setScoreCity")
+ @LoginRequired({Platform.review})
+ @ApiOperation("评审端 ---批量预评分:reviewScore[{ id/项目ID、score/分数 }] +" +
+ " --- 单个预评分:id/项目ID、score/分数")
+ public ResponseVO setScoreCity(@RequestBody ProjectReviewScoreDTO projectReviewScoreDTO) {
+ projectService.setScoreCity(projectReviewScoreDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/submitted")
+ @LoginRequired({Platform.review})
+ @ApiOperation("评审端 ---批量提交:ids:[项目ID]" +
+ " --- 提交评分:id/项目ID ")
+ public ResponseVO submitted(@RequestBody ProjectReviewScoreDTO projectReviewScoreDTO) {
+ projectService.submitted(projectReviewScoreDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/submittedCity")
+ @LoginRequired({Platform.review})
+ @ApiOperation("评审端 ---批量提交:ids:[项目ID]" +
+ " --- 提交评分:id/项目ID ")
+ public ResponseVO submittedCity(@RequestBody ProjectReviewScoreDTO projectReviewScoreDTO) {
+ projectService.submittedCity(projectReviewScoreDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "getCollegeDataOverview")
+ @LoginRequired({Platform.school})
+ @ApiOperation("院校端 --- 种子赛道数据概览")
+ public ResponseVO getCollegeDataOverview(@RequestBody DataOverviewDTO dataOverviewDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getCollegeDataOverview(dataOverviewDTO));
+ }
+
+// @PostMapping(value = "getCollegeVocationalDataOverview")
+// @LoginRequired({Platform.school})
+// @ApiOperation("院校端 --- 职教赛道数据概览")
+// public ResponseVO getCollegeVocationalDataOverview() {
+// return ResponseData.generateCreatedResponse(0, projectService.getCollegeVocationalDataOverview());
+// }
+
+ @PostMapping(value = "getDataOverview")
+ @LoginRequired({Platform.center})
+ @ApiOperation("中心端 --- 数据概览")
+ public ResponseVO getDataOverview(@RequestBody DataOverviewDTO dataOverviewDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalDataOverview(dataOverviewDTO));
+ }
+
+// @PostMapping(value = "getSeedTrackDataOverview")
+// @LoginRequired({Platform.center})
+// @ApiOperation("中心端 --- 种子赛道数据概览")
+// public ResponseVO getSeedTrackDataOverview() {
+// return ResponseData.generateCreatedResponse(0, projectService.getSeedTrackDataOverview());
+// }
+//
+// @PostMapping(value = "getMainTrackDataOverview")
+// @LoginRequired({Platform.center})
+// @ApiOperation("中心端 --- 主赛道数据概览")
+// public ResponseVO getMainTrackDataOverview() {
+// return ResponseData.generateCreatedResponse(0, projectService.getMainTrackDataOverview());
+// }
+
+ @PostMapping(value = "exportCollegeProject")
+ @LoginRequired({Platform.school})
+ @ApiOperation("院校端 --- 批量导出项目")
+ public ResponseVO exportCollegeProject(@RequestBody CollegeProjectDTO collegeProjectDTO) {
+ projectService.exportCollegeProject(collegeProjectDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "getProjectByStudentId")
+ @LoginRequired({Platform.student})
+ @ApiOperation("学生端 --- 项目查重:matchId/赛事ID, projectGroup/组别")
+ public ResponseVO getProjectByStudentId(@RequestBody StudentProjectDTO studentProjectDTO) {
+ projectService.getProjectByStudentId(studentProjectDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "getSeedTrackProjectNum")
+ @LoginRequired({Platform.center, Platform.school})
+ @ApiOperation("中心端/院校端 --- 项目数量: matchId/赛事ID、projectGroup/项目组别")
+ public ResponseVO getSeedTrackProjectNum(@RequestBody SeedTrackProjectNumDTO seedTrackProjectNumDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getSeedTrackProjectNum(seedTrackProjectNumDTO));
+ }
+
+ @PostMapping(value = "getSeedTrackProjectNumCity")
+ @LoginRequired({Platform.center, Platform.school})
+ @ApiOperation("中心端/院校端 --- 项目数量: matchId/赛事ID、projectGroup/项目组别")
+ public ResponseVO getSeedTrackProjectNumCity(@RequestBody SeedTrackProjectNumDTO seedTrackProjectNumDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getSeedTrackProjectNumCity(seedTrackProjectNumDTO));
+ }
+
+ /* -- 职教接口(学生端) -- */
+ @PostMapping(value = "createVocationalProject")
+ @LoginRequired({ Platform.student })
+ @ApiOperation("学生端(职教)--创建职教项目:项目logo/logoUri、项目名称/projectName、所属领域/itemField、项目概述/projectIntro、国家级重大、重点科研项目的科研成果转化项目/projectTransform、" +
+ "学校科技成果转化/resultTransfer、参赛申报人为科技成果的完成人或所有人/competitionOwner、参赛申报人为科技成果的第一完成人或所有人/competitionFirst、师生共创/bothInvention、组别/projectProgress、项目进展/projectStage" +
+ "公司名称/companyName、法人姓名/legalPersonName、法人职务/position、注册资金/registerFund、注册时间/registerDate、注册省份/registerProvince、注册地址/registerAddress、统一社会信用代码/unifyCode、财务报表地址/financialStatement、是否获得投资/investment、" +
+ "ownership(股权结构): [{ shareholderStatus/股东身份、shareholderName/股东名称、shareholdingRatio/持股比例 }]" +
+ "隐私设置/privacySetting(保密,公开)、materialsType/项目计划书类型、materialsSize/项目计划书大小、materialsName/项目计划书名称、materialsUrl/项目计划书地址、项目PPT地址/projectPptUrl、项目TTP类型/projectPptType、项目PPT名称/projectPptName" +
+ "patent(获得专利): [{专利国别/country、公开号/publicationNumber、专利标题/patentTitle、专利类型/patentType、专利号/patentNumber、专利申请人/patentApplicants、获得时间/issuedTime、到期时间/expirationTime、发明人/inventor、其他发明人/otherInventors}]"+
+ "paper(论文发表): [{论文名称/paperTitle、发表期刊/publishedJournals、DOI号/doi、是否有共同/common、第一作者/firstAuthor、其他作者/otherAuthor}]"+
+ "award(奖项): [{奖项名称/awardTitle、获奖项目名称/awardProjectTitle、level/级别、获奖人/prizewinner、获奖时间/winningTime}]"+
+ "copyright(软件著作): [{软件名称/dynacomm、著作权人/copyrightOwner、权利获取方式/rightAcquisitionMethod、开发完成日期/developmentDate、开发发表日期/publishedDate、权利范围/interestField、登记号/registerNumber}]"+
+ "works(作品著作): [{作品名称/worksName、作者/author、创作完成日期/completionDate、首次发表日期/firstPublicationDate、作品类别/worksType、登记号/registerNumber}]" +
+ "trademark(商标): [{国际分类号/classificationNumber、商标名称/tradeName、注册人/registeredPerson、注册时间/registeredDate、有效日期/effectiveDate、商标编号/trademarkNumber}]" +
+ "vodUrl")
+ public ResponseVO createVocationalProject(@RequestBody CreateVocationalProjectDTO createVocationalProjectDTO) {
+ projectService.createVocationalProject(createVocationalProjectDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ /* -- 职教接口(学生端) -- */
+ @PostMapping(value = "createHonglvProject")
+ @LoginRequired({ Platform.student })
+ @ApiOperation("学生端(职教)--创建职教项目:项目logo/logoUri、项目名称/projectName、所属领域/itemField、项目概述/projectIntro、国家级重大、重点科研项目的科研成果转化项目/projectTransform、" +
+ "学校科技成果转化/resultTransfer、参赛申报人为科技成果的完成人或所有人/competitionOwner、参赛申报人为科技成果的第一完成人或所有人/competitionFirst、师生共创/bothInvention、组别/projectProgress、项目进展/projectStage" +
+ "公司名称/companyName、法人姓名/legalPersonName、法人职务/position、注册资金/registerFund、注册时间/registerDate、注册省份/registerProvince、注册地址/registerAddress、统一社会信用代码/unifyCode、财务报表地址/financialStatement、是否获得投资/investment、" +
+ "ownership(股权结构): [{ shareholderStatus/股东身份、shareholderName/股东名称、shareholdingRatio/持股比例 }]" +
+ "隐私设置/privacySetting(保密,公开)、materialsType/项目计划书类型、materialsSize/项目计划书大小、materialsName/项目计划书名称、materialsUrl/项目计划书地址、项目PPT地址/projectPptUrl、项目TTP类型/projectPptType、项目PPT名称/projectPptName" +
+ "patent(获得专利): [{专利国别/country、公开号/publicationNumber、专利标题/patentTitle、专利类型/patentType、专利号/patentNumber、专利申请人/patentApplicants、获得时间/issuedTime、到期时间/expirationTime、发明人/inventor、其他发明人/otherInventors}]"+
+ "paper(论文发表): [{论文名称/paperTitle、发表期刊/publishedJournals、DOI号/doi、是否有共同/common、第一作者/firstAuthor、其他作者/otherAuthor}]"+
+ "award(奖项): [{奖项名称/awardTitle、获奖项目名称/awardProjectTitle、level/级别、获奖人/prizewinner、获奖时间/winningTime}]"+
+ "copyright(软件著作): [{软件名称/dynacomm、著作权人/copyrightOwner、权利获取方式/rightAcquisitionMethod、开发完成日期/developmentDate、开发发表日期/publishedDate、权利范围/interestField、登记号/registerNumber}]"+
+ "works(作品著作): [{作品名称/worksName、作者/author、创作完成日期/completionDate、首次发表日期/firstPublicationDate、作品类别/worksType、登记号/registerNumber}]" +
+ "trademark(商标): [{国际分类号/classificationNumber、商标名称/tradeName、注册人/registeredPerson、注册时间/registeredDate、有效日期/effectiveDate、商标编号/trademarkNumber}]" +
+ "vodUrl")
+ public ResponseVO createHonglvProject(@RequestBody CreateVocationalProjectDTO createVocationalProjectDTO) {
+ projectService.createHonglvProject(createVocationalProjectDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ /* -- 国际合作(学生端) -- */
+ @PostMapping(value = "createInternationalProject")
+ @LoginRequired({ Platform.student })
+ @ApiOperation("学生端(职教)--创建职教项目:项目logo/logoUri、项目名称/projectName、所属领域/itemField、项目概述/projectIntro、国家级重大、重点科研项目的科研成果转化项目/projectTransform、" +
+ "学校科技成果转化/resultTransfer、参赛申报人为科技成果的完成人或所有人/competitionOwner、参赛申报人为科技成果的第一完成人或所有人/competitionFirst、师生共创/bothInvention、组别/projectProgress、项目进展/projectStage" +
+ "公司名称/companyName、法人姓名/legalPersonName、法人职务/position、注册资金/registerFund、注册时间/registerDate、注册省份/registerProvince、注册地址/registerAddress、统一社会信用代码/unifyCode、财务报表地址/financialStatement、是否获得投资/investment、" +
+ "ownership(股权结构): [{ shareholderStatus/股东身份、shareholderName/股东名称、shareholdingRatio/持股比例 }]" +
+ "隐私设置/privacySetting(保密,公开)、materialsType/项目计划书类型、materialsSize/项目计划书大小、materialsName/项目计划书名称、materialsUrl/项目计划书地址、项目PPT地址/projectPptUrl、项目TTP类型/projectPptType、项目PPT名称/projectPptName" +
+ "patent(获得专利): [{专利国别/country、公开号/publicationNumber、专利标题/patentTitle、专利类型/patentType、专利号/patentNumber、专利申请人/patentApplicants、获得时间/issuedTime、到期时间/expirationTime、发明人/inventor、其他发明人/otherInventors}]"+
+ "paper(论文发表): [{论文名称/paperTitle、发表期刊/publishedJournals、DOI号/doi、是否有共同/common、第一作者/firstAuthor、其他作者/otherAuthor}]"+
+ "award(奖项): [{奖项名称/awardTitle、获奖项目名称/awardProjectTitle、level/级别、获奖人/prizewinner、获奖时间/winningTime}]"+
+ "copyright(软件著作): [{软件名称/dynacomm、著作权人/copyrightOwner、权利获取方式/rightAcquisitionMethod、开发完成日期/developmentDate、开发发表日期/publishedDate、权利范围/interestField、登记号/registerNumber}]"+
+ "works(作品著作): [{作品名称/worksName、作者/author、创作完成日期/completionDate、首次发表日期/firstPublicationDate、作品类别/worksType、登记号/registerNumber}]" +
+ "trademark(商标): [{国际分类号/classificationNumber、商标名称/tradeName、注册人/registeredPerson、注册时间/registeredDate、有效日期/effectiveDate、商标编号/trademarkNumber}]" +
+ "vodUrl")
+ public ResponseVO createInternationalProject(@RequestBody CreateVocationalProjectDTO createVocationalProjectDTO) {
+ projectService.createInternationalProject(createVocationalProjectDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "updateVocationalProject")
+ @LoginRequired({ Platform.student })
+ @ApiOperation("学生端(职教)--修改职教项目:id/项目ID、项目logo/logoUri、所属领域/itemField、项目概述/projectIntro、国家级重大、重点科研项目的科研成果转化项目/projectTransform、" +
+ "学校科技成果转化/resultTransfer、参赛申报人为科技成果的完成人或所有人/competitionOwner、参赛申报人为科技成果的第一完成人或所有人/competitionFirst、师生共创/bothInvention、组别/projectProgress、项目进展/projectStage" +
+ "公司名称/companyName、法人姓名/legalPersonName、法人职务/position、注册资金/registerFund、注册时间/registerDate、注册省份/registerProvince、注册地址/registerAddress、统一社会信用代码/unifyCode、财务报表地址/financialStatement、是否获得投资/investment、" +
+ "ownership(股权结构): [{ shareholderStatus/股东身份、shareholderName/股东名称、shareholdingRatio/持股比例 }]" +
+ "隐私设置/privacySetting(保密,公开)、materialsType/项目计划书类型、materialsSize/项目计划书大小、materialsName/项目计划书名称、materialsUrl/项目计划书地址、项目PPT地址/projectPptUrl、项目TTP类型/projectPptType、项目PPT名称/projectPptName" +
+ "patent(获得专利): [{专利国别/country、公开号/publicationNumber、专利标题/patentTitle、专利类型/patentType、专利号/patentNumber、专利申请人/patentApplicants、获得时间/issuedTime、到期时间/expirationTime、发明人/inventor、其他发明人/otherInventors}]"+
+ "paper(论文发表): [{论文名称/paperTitle、发表期刊/publishedJournals、DOI号/doi、是否有共同/common、第一作者/firstAuthor、其他作者/otherAuthor}]"+
+ "award(奖项): [{奖项名称/awardTitle、获奖项目名称/awardProjectTitle、level/级别、获奖人/prizewinner、获奖时间/winningTime}]"+
+ "copyright(软件著作): [{软件名称/dynacomm、著作权人/copyrightOwner、权利获取方式/rightAcquisitionMethod、开发完成日期/developmentDate、开发发表日期/publishedDate、权利范围/interestField、登记号/registerNumber}]"+
+ "works(作品著作): [{作品名称/worksName、作者/author、创作完成日期/completionDate、首次发表日期/firstPublicationDate、作品类别/worksType、登记号/registerNumber}]" +
+ "trademark(商标): [{国际分类号/classificationNumber、商标名称/tradeName、注册人/registeredPerson、注册时间/registeredDate、有效日期/effectiveDate、商标编号/trademarkNumber}]")
+ public ResponseVO updateVocationalProject(@RequestBody CreateVocationalProjectDTO createVocationalProjectDTO) {
+ projectService.updateVocationalProject(createVocationalProjectDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "updateInternationalProject")
+ @LoginRequired({ Platform.student })
+ @ApiOperation("学生端(职教)--修改职教项目:id/项目ID、项目logo/logoUri、所属领域/itemField、项目概述/projectIntro、国家级重大、重点科研项目的科研成果转化项目/projectTransform、" +
+ "学校科技成果转化/resultTransfer、参赛申报人为科技成果的完成人或所有人/competitionOwner、参赛申报人为科技成果的第一完成人或所有人/competitionFirst、师生共创/bothInvention、组别/projectProgress、项目进展/projectStage" +
+ "公司名称/companyName、法人姓名/legalPersonName、法人职务/position、注册资金/registerFund、注册时间/registerDate、注册省份/registerProvince、注册地址/registerAddress、统一社会信用代码/unifyCode、财务报表地址/financialStatement、是否获得投资/investment、" +
+ "ownership(股权结构): [{ shareholderStatus/股东身份、shareholderName/股东名称、shareholdingRatio/持股比例 }]" +
+ "隐私设置/privacySetting(保密,公开)、materialsType/项目计划书类型、materialsSize/项目计划书大小、materialsName/项目计划书名称、materialsUrl/项目计划书地址、项目PPT地址/projectPptUrl、项目TTP类型/projectPptType、项目PPT名称/projectPptName" +
+ "patent(获得专利): [{专利国别/country、公开号/publicationNumber、专利标题/patentTitle、专利类型/patentType、专利号/patentNumber、专利申请人/patentApplicants、获得时间/issuedTime、到期时间/expirationTime、发明人/inventor、其他发明人/otherInventors}]"+
+ "paper(论文发表): [{论文名称/paperTitle、发表期刊/publishedJournals、DOI号/doi、是否有共同/common、第一作者/firstAuthor、其他作者/otherAuthor}]"+
+ "award(奖项): [{奖项名称/awardTitle、获奖项目名称/awardProjectTitle、level/级别、获奖人/prizewinner、获奖时间/winningTime}]"+
+ "copyright(软件著作): [{软件名称/dynacomm、著作权人/copyrightOwner、权利获取方式/rightAcquisitionMethod、开发完成日期/developmentDate、开发发表日期/publishedDate、权利范围/interestField、登记号/registerNumber}]"+
+ "works(作品著作): [{作品名称/worksName、作者/author、创作完成日期/completionDate、首次发表日期/firstPublicationDate、作品类别/worksType、登记号/registerNumber}]" +
+ "trademark(商标): [{国际分类号/classificationNumber、商标名称/tradeName、注册人/registeredPerson、注册时间/registeredDate、有效日期/effectiveDate、商标编号/trademarkNumber}]")
+ public ResponseVO updateInternationalProject(@RequestBody CreateVocationalProjectDTO createVocationalProjectDTO) {
+ projectService.updateInternationalProject(createVocationalProjectDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "getVocationalProject")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---职教赛道项目分页查询: matchId/赛事届数ID ,pageNo/当前页数, pageSize/每页显示条数")
+ public ResponseVO getVocationalProject(@RequestBody ProjectListPageDTO projectListPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalProject(projectListPageDTO));
+ }
+
+ @PostMapping(value = "getHonglvProject")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---职教赛道项目分页查询: matchId/赛事届数ID ,pageNo/当前页数, pageSize/每页显示条数")
+ public ResponseVO getHonglvProject(@RequestBody ProjectListPageDTO projectListPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getHonglvProject(projectListPageDTO));
+ }
+
+ @PostMapping(value = "getInternationalProject")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端 ---职教赛道项目分页查询: matchId/赛事届数ID ,pageNo/当前页数, pageSize/每页显示条数")
+ public ResponseVO getInternationalProject(@RequestBody ProjectListPageDTO projectListPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getInternationalProject(projectListPageDTO));
+ }
+
+ @PostMapping(value = "getVocationalProjectById")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端(职教)--根据ID查询高职赛道项目信息")
+ public ResponseVO getVocationalProjectById() {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectById());
+ }
+
+ @PostMapping(value = "getHonglvProjectById")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端(职教)--根据ID查询高职赛道项目信息")
+ public ResponseVO getHonglvProjectById() {
+ return ResponseData.generateCreatedResponse(0, projectService.getHonglvProjectById());
+ }
+
+ @PostMapping(value = "getInternationalProjectById")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端(国际合作)--根据ID查询高职赛道项目信息")
+ public ResponseVO getInternationalProjectById() {
+ return ResponseData.generateCreatedResponse(0, projectService.getInternationalProjectById());
+ }
+
+ @PostMapping(value = "createVocationalMember")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端(职教) ---保存职教赛道团队信息:name/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、studentNo/学籍号、email/邮箱 fiveYears" +
+ "teamMember/团队成员:[{ teamName/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、studentNo/学籍号 teamTelephone 手机号 }]" +
+ "mentor/指导老师:[{ teacherName/姓名、 company/工作单位、positionTitle/职称、position/职务、telephone/手机号 idCard}]")
+ public ResponseVO createVocationalMember(@RequestBody CreateProjectMemberDTO createProjectMemberDTO) {
+ projectService.createVocationalMember(createProjectMemberDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "createHonglvMember")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端(职教) ---保存职教赛道团队信息:name/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、studentNo/学籍号、email/邮箱 fiveYears" +
+ "teamMember/团队成员:[{ teamName/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、studentNo/学籍号 teamTelephone 手机号 }]" +
+ "mentor/指导老师:[{ teacherName/姓名、 company/工作单位、positionTitle/职称、position/职务、telephone/手机号 idCard}]")
+ public ResponseVO createHonglvMember(@RequestBody CreateProjectMemberDTO createProjectMemberDTO) {
+ projectService.createHonglvMember(createProjectMemberDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "updateVocationalMember")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端(职教) ---保存职教赛道团队信息:id/项目ID、name/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、studentNo/学籍号、email/邮箱" +
+ "teamMember/团队成员:[{ teamName/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、studentNo/学籍号 }]" +
+ "mentor/指导老师:[{ teacherName/姓名、 company/工作单位、positionTitle/职称、position/职务、telephone/手机号}]")
+ public ResponseVO updateVocationalMember(@RequestBody CreateProjectMemberDTO createProjectMemberDTO) {
+ projectService.updateVocationalMember(createProjectMemberDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "createInternationalMember")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端(职教) ---保存职教赛道团队信息:name/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、studentNo/学籍号、email/邮箱 fiveYears" +
+ "teamMember/团队成员:[{ teamName/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、studentNo/学籍号 teamTelephone 手机号 }]" +
+ "mentor/指导老师:[{ teacherName/姓名、 company/工作单位、positionTitle/职称、position/职务、telephone/手机号 idCard}]")
+ public ResponseVO createInternationalMember(@RequestBody CreateProjectMemberDTO createProjectMemberDTO) {
+ projectService.createInternationalMember(createProjectMemberDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "updateInternationalMember")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端(职教) ---保存职教赛道团队信息:id/项目ID、name/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、studentNo/学籍号、email/邮箱" +
+ "teamMember/团队成员:[{ teamName/姓名、school/就读学校、grade/年级、major/就读专业、sex/性别、studentNo/学籍号 }]" +
+ "mentor/指导老师:[{ teacherName/姓名、 company/工作单位、positionTitle/职称、position/职务、telephone/手机号}]")
+ public ResponseVO updateInternationalMember(@RequestBody CreateProjectMemberDTO createProjectMemberDTO) {
+ projectService.updateInternationalMember(createProjectMemberDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "getVocationalProjectMember")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端(职教) ---查询职教项目团队信息")
+ public ResponseVO getVocationalProjectMember() {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectMember(ProjectType.VOCATIONAL,null));
+ }
+
+ @PostMapping(value = "getHonglvProjectMember")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端(职教) ---查询职教项目团队信息")
+ public ResponseVO getHonglvProjectMember() {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectMember(ProjectType.HONGLV,null));
+ }
+
+ @PostMapping(value = "getInternationalProjectMember")
+ @LoginRequired(Platform.student)
+ @ApiOperation("学生端(国际合作) ---查询国际合作项目团队信息")
+ public ResponseVO getInternationalProjectMember() {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectMember(ProjectType.INTERNATIONAL,null));
+ }
+
+ /* -- 管理端 -- */
+ @PostMapping(value = "/getVocationalProjectPage")
+ @ApiOperation("中心端 --- 分页查询职教赛道项目管理:matchId/赛事ID,projectGroup/项目组别(高职、中职)、projectSchedule/项目进度(全部项目传空字符串、校内赛、市级初赛、市级复赛、市级决赛), " +
+ "projectStatus/项目状态, itemField/领域, name/搜名称, pageNo/当前页数 、pageSize/每页显示条数")
+ public ResponseVO getVocationalProjectPage(@RequestBody ProjectListPageDTO projectListPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectPage(projectListPageDTO));
+ }
+
+ /* -- 管理端 -- */
+ @PostMapping(value = "/getVocationalProjectPageCity")
+ @ApiOperation("中心端 --- 分页查询职教赛道项目管理:matchId/赛事ID,projectGroup/项目组别(高职、中职)、projectSchedule/项目进度(全部项目传空字符串、校内赛、市级初赛、市级复赛、市级决赛), " +
+ "projectStatus/项目状态, itemField/领域, name/搜名称, pageNo/当前页数 、pageSize/每页显示条数")
+ public ResponseVO getVocationalProjectPageCity(@RequestBody ProjectListPageDTO projectListPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectPageCity(projectListPageDTO));
+ }
+
+ /* -- 管理端 -- */
+ @PostMapping(value = "/getInternationalProjectPage")
+ @ApiOperation("中心端 --- 分页查询职教赛道项目管理:matchId/赛事ID,projectGroup/项目组别(高职、中职)、projectSchedule/项目进度(全部项目传空字符串、校内赛、市级初赛、市级复赛、市级决赛), " +
+ "projectStatus/项目状态, itemField/领域, name/搜名称, pageNo/当前页数 、pageSize/每页显示条数")
+ public ResponseVO getInternationalProjectPage(@RequestBody ProjectListPageDTO projectListPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getInternationalProjectPage(projectListPageDTO));
+ }
+
+ @PostMapping(value = "updateAllEditStatus")
+ @LoginRequired(Platform.center)
+ @ApiOperation("中心端 --- 更新所有编辑状态:matchId/赛事ID、projectGroup/项目组别、projectSchedule/项目进度、editStatus/状态(0:关闭,1:开启)")
+ public ResponseVO updateAllEditStatus(@RequestBody EditStatusDTO editStatusDTO) {
+ projectService.updateAllEditStatus(editStatusDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "batchUpdateEditStatus")
+ @LoginRequired(Platform.center)
+ @ApiOperation("中心端 --- 批量更新编辑状态:ids/项目ID(数组)、editStatus/状态(0:关闭,1:开启)")
+ public ResponseVO batchUpdateEditStatus(@RequestBody EditStatusDTO editStatusDTO) {
+ projectService.batchUpdateEditStatus(editStatusDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "updateEditStatus")
+ @LoginRequired(Platform.center)
+ @ApiOperation("中心端 --- 更新编辑状态:id/项目ID、editStatus/状态(0:关闭,1:开启)")
+ public ResponseVO updateEditStatus(@RequestBody EditStatusDTO editStatusDTO) {
+ projectService.updateEditStatus(editStatusDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @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 = "/getHonglvReviewList")
+ @ApiOperation("中心端 --- 职教评审列表:projectGroup/组别、projectName/搜索项目或院校、 projectStatus/项目状态(市级初赛、市级复赛、市级决赛)、projectReview/评审分配状态(已分配/未分配)、" +
+ "pageNo/当前页数、pageSize/每页显示条数")
+ public ResponseVO getHonglvReviewList(@RequestBody ReviewListDTO reviewListDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getHonglvReviewList(reviewListDTO));
+ }
+
+ @PostMapping(value = "/getInternationalReviewList")
+ @LoginRequired({Platform.center})
+ @ApiOperation("中心端 --- 职教评审列表:projectGroup/组别、projectName/搜索项目或院校、 projectStatus/项目状态(市级初赛、市级复赛、市级决赛)、projectReview/评审分配状态(已分配/未分配)、" +
+ "pageNo/当前页数、pageSize/每页显示条数")
+ public ResponseVO getInternationalReviewList(@RequestBody ReviewListDTO reviewListDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalReviewList(reviewListDTO));
+ }
+
+ @PostMapping(value = "/getVocationalProjectDetail")
+ @LoginRequired({Platform.center, Platform.school, Platform.review})
+ @ApiOperation("中心端/院校端 --- 职教赛道项目详情:id/项目ID")
+ public ResponseVO getVocationalProjectDetail(@RequestBody ProjectDO projectDO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectDetail(projectDO.getId()));
+ }
+
+ @PostMapping(value = "/getVocationalProjectDetailCity")
+ @LoginRequired({Platform.center, Platform.school, Platform.review})
+ @ApiOperation("中心端/院校端 --- 职教赛道项目详情:id/项目ID")
+ public ResponseVO getVocationalProjectDetailCity(@RequestBody ProjectDO projectDO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectDetailCity(projectDO.getId()));
+ }
+
+ @PostMapping(value = "/getInternationalProjectDetail")
+ @LoginRequired({Platform.center, Platform.school, Platform.review})
+ @ApiOperation("中心端/院校端 --- 职教赛道项目详情:id/项目ID")
+ public ResponseVO getInternationalProjectDetail(@RequestBody ProjectDO projectDO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getInternationalProjectDetail(projectDO.getId()));
+ }
+
+ /* -- 院校端 -- */
+ @PostMapping(value = "/getVocationalProjectList")
+ @LoginRequired(Platform.school)
+ @ApiOperation("院校端 --- 分页查询职教赛道项目:matchId/赛事ID,projectGroup/项目组别、projectSchedule/项目进度(全部项目传空字符串、校内赛、初赛、复赛、决赛), " +
+ "projectStatus/项目状态, itemField/领域, name/搜名称, pageNo/当前页数 、pageSize/每页显示条数")
+ public ResponseVO getVocationalProjectList(@RequestBody ProjectListPageDTO projectListPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectList(projectListPageDTO));
+ }
+
+ /* -- 院校端 -- */
+ @PostMapping(value = "/getInternationalProjectList")
+ @LoginRequired(Platform.school)
+ @ApiOperation("院校端 --- 分页查询职教赛道项目:matchId/赛事ID,projectGroup/项目组别、projectSchedule/项目进度(全部项目传空字符串、校内赛、初赛、复赛、决赛), " +
+ "projectStatus/项目状态, itemField/领域, name/搜名称, pageNo/当前页数 、pageSize/每页显示条数")
+ public ResponseVO getInternationalProjectList(@RequestBody ProjectListPageDTO projectListPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getInternationalProjectList(projectListPageDTO));
+ }
+
+ @PostMapping(value = "getReviewVocationalNum")
+ @LoginRequired(Platform.review)
+ @ApiOperation("评审端 --- (职教)项目数量: matchId/赛事ID、projectGroup/项目组别、 projectSchedule/赛事状态 projectJudgeId")
+ public ResponseVO getReviewVocationalNum(@RequestBody ReviewVocationalNumDTO reviewVocationalNumDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getReviewVocationalNum(reviewVocationalNumDTO));
+ }
+
+ @PostMapping(value = "getReviewInternationalNum")
+ @LoginRequired(Platform.review)
+ @ApiOperation("评审端 --- (职教)项目数量: matchId/赛事ID、projectGroup/项目组别、 projectSchedule/赛事状态 projectJudgeId")
+ public ResponseVO getReviewInternationalNum(@RequestBody ReviewVocationalNumDTO reviewVocationalNumDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getReviewInternationalNum(reviewVocationalNumDTO));
+ }
+
+ /* -- 评审端 -- */
+ @PostMapping(value = "/getVocationalProjectReviewPage")
+ @LoginRequired({Platform.review})
+ @ApiOperation("评审端 ---职教评审项目分页查询:matchId/赛事年份ID、projectSchedule/项目进度(初赛、复赛、决赛)、status/状态(待评审, 已评审)、projectGroup/项目组别、projectName/搜索名称、pageNo/当前页数、pageSize/每页显示条数")
+ public ResponseVO getVocationalProjectReviewPage(@RequestBody ProjectReviewPageDTO projectReviewPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectReviewPage(projectReviewPageDTO));
+ }
+
+ /* -- 评审端 -- */
+ @PostMapping(value = "/getInternationalProjectReviewPage")
+ @LoginRequired({Platform.review})
+ @ApiOperation("评审端 ---职教评审项目分页查询:matchId/赛事年份ID、projectSchedule/项目进度(初赛、复赛、决赛)、status/状态(待评审, 已评审)、projectGroup/项目组别、projectName/搜索名称、pageNo/当前页数、pageSize/每页显示条数")
+ public ResponseVO getInternationalProjectReviewPage(@RequestBody ProjectReviewPageDTO projectReviewPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getInternationalProjectReviewPage(projectReviewPageDTO));
+ }
+
+ @PostMapping(value = "getVocationalProjectNum")
+ @LoginRequired({Platform.center, Platform.school, Platform.review})
+ @ApiOperation("中心端/院校端 --- (职教)项目管理数量: matchId/赛事ID、projectGroup/项目组别")
+ public ResponseVO getVocationalProjectNum(@RequestBody SeedTrackProjectNumDTO seedTrackProjectNumDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectNum(seedTrackProjectNumDTO));
+ }
+
+ @PostMapping(value = "getVocationalProjectNumCity")
+ @LoginRequired({Platform.center, Platform.school, Platform.review})
+ @ApiOperation("中心端/院校端 --- (职教)项目管理数量: matchId/赛事ID、projectGroup/项目组别")
+ public ResponseVO getVocationalProjectNumCity(@RequestBody SeedTrackProjectNumDTO seedTrackProjectNumDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectNumCity(seedTrackProjectNumDTO));
+ }
+
+ @PostMapping(value = "getInternationalProjectNum")
+ @LoginRequired({Platform.center, Platform.school, Platform.review})
+ @ApiOperation("中心端/院校端 --- (职教)项目管理数量: matchId/赛事ID、projectGroup/项目组别")
+ public ResponseVO getInternationalProjectNum(@RequestBody SeedTrackProjectNumDTO seedTrackProjectNumDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getInternationalProjectNum(seedTrackProjectNumDTO));
+ }
+
+ @PostMapping(value = "/getVocationalReviewNum")
+ @ApiOperation("中心端 --- 职教评审列表(已评审 + 待评审)项目数量统计:matchId/赛事年份ID、projectGroup/组别(高职、中职), projectStatus/项目进度(校级申请项目、市级初赛项目、市级复赛项目、市级 决赛项目)")
+ public ResponseVO getVocationalReviewNum(@RequestBody ReviewListDTO reviewListDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalReviewNum(reviewListDTO));
+ }
+
+ @PostMapping(value = "/getHonglvReviewNum")
+ @ApiOperation("中心端 --- 职教评审列表(已评审 + 待评审)项目数量统计:matchId/赛事年份ID、projectGroup/组别(高职、中职), projectStatus/项目进度(校级申请项目、市级初赛项目、市级复赛项目、市级 决赛项目)")
+ public ResponseVO getHonglvReviewNum(@RequestBody ReviewListDTO reviewListDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getHonglvReviewNum(reviewListDTO));
+ }
+
+ @PostMapping(value = "/getInternationalReviewNum")
+ @ApiOperation("中心端 --- 职教评审列表(已评审 + 待评审)项目数量统计:matchId/赛事年份ID、projectGroup/组别(高职、中职), projectStatus/项目进度(校级申请项目、市级初赛项目、市级复赛项目、市级 决赛项目)")
+ public ResponseVO getInternationalReviewNum(@RequestBody ReviewListDTO reviewListDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getInternationalReviewNum(reviewListDTO));
+ }
+
+ @PostMapping(value = "/getVocationalAssignNum")
+ @ApiOperation("中心端 --- 职教评审分配(已分配 + 未分配)项目数量统计:matchId/赛事年份ID、projectGroup/组别(高职、中职), projectStatus/项目进度(校级申请项目、市级初赛项目、市级复赛项目、市级 决赛项目)")
+ public ResponseVO getVocationalAssignNum(@RequestBody ReviewListDTO reviewListDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getVocationalAssignNum(reviewListDTO));
+ }
+
+ @PostMapping(value = "/getHonglvAssignNum")
+ @ApiOperation("中心端 --- 职教评审分配(已分配 + 未分配)项目数量统计:matchId/赛事年份ID、projectGroup/组别(高职、中职), projectStatus/项目进度(校级申请项目、市级初赛项目、市级复赛项目、市级 决赛项目)")
+ public ResponseVO getHonglvAssignNum(@RequestBody ReviewListDTO reviewListDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getHonglvAssignNum(reviewListDTO));
+ }
+
+ @PostMapping(value = "/getInternationalAssignNum")
+ @LoginRequired({Platform.center})
+ @ApiOperation("中心端 --- 职教评审分配(已分配 + 未分配)项目数量统计:matchId/赛事年份ID、projectGroup/组别(高职、中职), projectStatus/项目进度(校级申请项目、市级初赛项目、市级复赛项目、市级 决赛项目)")
+ public ResponseVO getInternationalAssignNum(@RequestBody ReviewListDTO reviewListDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getInternationalAssignNum(reviewListDTO));
+ }
+
+ @PostMapping(value = "importVocationalProject")
+ @ApiOperation("中心端/院校端 --- 导出高职项目赛事: projectGroup/项目组别")
+ @LoginRequired({ Platform.center, Platform.school })
+ public void importVocationalProject(@RequestBody ImportVocationalProjectDTO importVocationalProjectDTO) {
+ projectService.importVocationalProject(importVocationalProjectDTO);
+ }
+
+ @PostMapping(value = "importProjectByGroup")
+ @ApiOperation("中心端/院校端 ---excel 数据预览导出市级初赛/市级复赛项目: projectGroup/项目组别")
+ @LoginRequired({ Platform.center, Platform.school })
+ public void importProjectByGroup(@RequestBody ImportVocationalProjectDTO importVocationalProjectDTO) {
+ projectService.importProjectByGroup(importVocationalProjectDTO);
+ }
+
+ @PostMapping("exportProjectByGroup")
+ @ApiOperation("中心端/院校端 ---pdf 数据预览导出市级初赛/市级复赛项目: projectGroup/项目组别 matchId")
+// @LoginRequired({ Platform.center, Platform.school })
+ public void exportProjectByGroup(@RequestBody ImportVocationalProjectDTO importVocationalProjectDTO) {
+ projectService.exportProjectByGroup(importVocationalProjectDTO);
+ }
+ @PostMapping("exportInternationalByGroup")
+ @ApiOperation("中心端/院校端 ---pdf 数据预览导出市级初赛/市级复赛项目: projectGroup/项目组别 matchId")
+// @LoginRequired({ Platform.center, Platform.school })
+ public void exportInternationalByGroup(@RequestBody ImportVocationalProjectDTO importVocationalProjectDTO) {
+ projectService.exportInternationalByGroup(importVocationalProjectDTO);
+ }
+
+ @PostMapping("attendCount")
+ @ApiOperation("这一届参加的个数 matchId ")
+ @LoginRequired({ Platform.student})
+ public ResponseVO attendCount(@RequestBody AttendCountDTO attendCountDTO){
+ return ResponseData.generateCreatedResponse(0, projectService.attendCount(attendCountDTO));
+ }
+
+ /* -- 管理端 -- */
+ @PostMapping(value = "/getHonglvProjectPage")
+ @ApiOperation("中心端 --- 分页查询职教赛道项目管理:matchId/赛事ID,projectGroup/项目组别(高职、中职)、projectSchedule/项目进度(全部项目传空字符串、校内赛、市级初赛、市级复赛、市级决赛), " +
+ "projectStatus/项目状态, itemField/领域, name/搜名称, pageNo/当前页数 、pageSize/每页显示条数")
+ public ResponseVO getHonglvProjectPage(@RequestBody ProjectListPageDTO projectListPageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getHonglvProjectPage(projectListPageDTO));
+ }
+
+ @PostMapping(value = "getHonglvProjectNum")
+ @LoginRequired({Platform.center, Platform.school, Platform.review})
+ @ApiOperation("中心端/院校端 --- (职教)项目管理数量: matchId/赛事ID、projectGroup/项目组别")
+ public ResponseVO getHonglvProjectNum(@RequestBody SeedTrackProjectNumDTO seedTrackProjectNumDTO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getHonglvProjectNum(seedTrackProjectNumDTO));
+ }
+
+ @PostMapping(value = "/getHonglvProjectDetail")
+ @LoginRequired({Platform.center, Platform.school, Platform.review})
+ @ApiOperation("中心端/院校端 --- 职教赛道项目详情:id/项目ID")
+ public ResponseVO getHonglvProjectDetail(@RequestBody ProjectDO projectDO) {
+ return ResponseData.generateCreatedResponse(0, projectService.getHonglvProjectDetail(projectDO.getId()));
+ }
+
+}
\ No newline at end of file
diff --git b/src/main/java/com/zhongzhi/controller/ProjectCopyrightController.java a/src/main/java/com/zhongzhi/controller/ProjectCopyrightController.java
new file mode 100644
index 0000000..62c2696
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/ProjectCopyrightController.java
@@ -0,0 +1,20 @@
+package com.zhongzhi.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 项目软件著作权 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2022-04-25
+ */
+@RestController
+@RequestMapping("/project-copyright-do")
+public class ProjectCopyrightController {
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/ProjectJudgeController.java a/src/main/java/com/zhongzhi/controller/ProjectJudgeController.java
new file mode 100644
index 0000000..9e532b6
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/ProjectJudgeController.java
@@ -0,0 +1,98 @@
+package com.zhongzhi.controller;
+
+import com.zhongzhi.common.constant.Platform;
+import com.zhongzhi.common.utils.LoginRequired;
+import com.zhongzhi.common.utils.ResponseData;
+import com.zhongzhi.dto.administer.LoginDTO;
+import com.zhongzhi.dto.judge.ProjectJudgePageDTO;
+import com.zhongzhi.model.ProjectJudgeDO;
+import com.zhongzhi.service.ProjectJudgeService;
+import com.zhongzhi.vo.ResponseVO;
+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;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ *
+ * 项目评审员 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2021-05-28
+ */
+@RestController
+@Api(tags = "评委")
+@RequestMapping("/projectJudge")
+public class ProjectJudgeController {
+
+ @Autowired
+ private ProjectJudgeService projectJudgeService;
+
+ @PostMapping(value = "/login")
+ @ApiOperation("评审端 --- 登录:telephone/手机号、code/验证码")
+ public ResponseVO login(@RequestBody LoginDTO loginDTO) {
+ return ResponseData.generateCreatedResponse(0, projectJudgeService.login(loginDTO));
+ }
+
+ @PostMapping(value = "/getProjectJudgePage")
+ @ApiOperation("中心端 ---评委列表:username/姓名、status/状态、pageNo/当前页数、 pageSize/每页显示条数")
+ public ResponseVO getProjectJudgePage(@RequestBody ProjectJudgePageDTO projectJudgePageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectJudgeService.getProjectJudgePage(projectJudgePageDTO));
+ }
+
+ @PostMapping(value = "/createProjectJudge")
+ @LoginRequired({Platform.school})
+ @ApiOperation("中心端 ---添加评委:username/姓名、telephone/手机号、 position/职位、unit/单位")
+ public ResponseVO createProjectJudge(@RequestBody ProjectJudgeDO projectJudgeDO) {
+ projectJudgeService.createProjectJudge(projectJudgeDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/updateProjectJudge")
+ @ApiOperation("中心端 ---编辑评委:id/ID、username/姓名、telephone/手机号、 position/职位、unit/单位, status/状态(1:启用,0:禁用)")
+ public ResponseVO updateProjectJudge(@RequestBody ProjectJudgeDO projectJudgeDO) {
+ projectJudgeService.updateProjectJudge(projectJudgeDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/delete")
+ @ApiOperation("中心端 ---删除评委:id/ID")
+ public ResponseVO delete(@RequestBody ProjectJudgeDO projectJudgeDO) {
+ projectJudgeService.removeJudge(projectJudgeDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/projectJudgesAssigned")
+ @ApiOperation("中心端 ---已分配项目评委列表: matchId/赛事ID、projectGroup/组别、projectSchedule/进度")
+ public ResponseVO projectJudgesAssigned(@RequestBody ProjectJudgePageDTO projectJudgePageDTO) {
+ return ResponseData.generateCreatedResponse(0, projectJudgeService.projectJudgesAssigned(projectJudgePageDTO));
+ }
+
+ @PostMapping(value = "/downloadJudgeTemplate")
+ @ApiOperation("中心端 ---下载导入评委模板")
+ public ResponseVO downloadJudgeTemplate() {
+ projectJudgeService.downloadTemplate();
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/importJudge")
+ @LoginRequired({Platform.school})
+ @ApiOperation("中心端 ---导入评委:file/文件(数据格式:Form-Data)")
+ public ResponseVO importJudge(MultipartFile file) {
+ projectJudgeService.importJudge(file);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/exportProjectJudge")
+ @ApiOperation("中心端 ---导出评委")
+ @LoginRequired({Platform.school})
+ public void exportProjectJudge() {
+ projectJudgeService.exportProjectJudge();
+ }
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/ProjectMaterialsController.java a/src/main/java/com/zhongzhi/controller/ProjectMaterialsController.java
new file mode 100644
index 0000000..b59c15e
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/ProjectMaterialsController.java
@@ -0,0 +1,20 @@
+package com.zhongzhi.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 项目材料 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2021-05-11
+ */
+@RestController
+@RequestMapping("/projectMaterials")
+public class ProjectMaterialsController {
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/ProjectMemberController.java a/src/main/java/com/zhongzhi/controller/ProjectMemberController.java
new file mode 100644
index 0000000..6b7a2dc
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/ProjectMemberController.java
@@ -0,0 +1,20 @@
+package com.zhongzhi.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 项目团队信息表 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2021-05-11
+ */
+@RestController
+@RequestMapping("/projectMember")
+public class ProjectMemberController {
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/ProjectOwnershipStructureController.java a/src/main/java/com/zhongzhi/controller/ProjectOwnershipStructureController.java
new file mode 100644
index 0000000..f3f2a29
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/ProjectOwnershipStructureController.java
@@ -0,0 +1,20 @@
+package com.zhongzhi.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 股权结构表 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2021-05-11
+ */
+@RestController
+@RequestMapping("/projectOwnershipStructure")
+public class ProjectOwnershipStructureController {
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/ProjectPaperController.java a/src/main/java/com/zhongzhi/controller/ProjectPaperController.java
new file mode 100644
index 0000000..9aea4fe
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/ProjectPaperController.java
@@ -0,0 +1,20 @@
+package com.zhongzhi.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 项目论文 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2022-04-25
+ */
+@RestController
+@RequestMapping("/project-paper-do")
+public class ProjectPaperController {
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/ProjectPatentController.java a/src/main/java/com/zhongzhi/controller/ProjectPatentController.java
new file mode 100644
index 0000000..62251fd
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/ProjectPatentController.java
@@ -0,0 +1,20 @@
+package com.zhongzhi.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 项目专利 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2022-04-25
+ */
+@RestController
+@RequestMapping("/project-patent-do")
+public class ProjectPatentController {
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/ProjectReviewController.java a/src/main/java/com/zhongzhi/controller/ProjectReviewController.java
new file mode 100644
index 0000000..b9cf952
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/ProjectReviewController.java
@@ -0,0 +1,64 @@
+package com.zhongzhi.controller;
+
+import com.zhongzhi.common.constant.Platform;
+import com.zhongzhi.common.utils.LoginRequired;
+import com.zhongzhi.common.utils.ResponseData;
+import com.zhongzhi.dto.review.CancelReviewDTO;
+import com.zhongzhi.dto.review.ProjectReviewDTO;
+import com.zhongzhi.dto.review.SetReviewDTO;
+import com.zhongzhi.service.ProjectReviewService;
+import com.zhongzhi.vo.ResponseVO;
+import com.zhongzhi.vo.review.SendNoticeVO;
+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;
+
+/**
+ *
+ * 项目评审 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2021-05-18
+ */
+@RestController
+@Api(tags = "项目评审")
+@RequestMapping("/projectReview")
+public class ProjectReviewController {
+
+ @Autowired
+ private ProjectReviewService projectReviewService;
+
+ @PostMapping(value = "/setReview")
+ @ApiOperation("中心端 ---分配评审:[{projectId}]/项目ID、[{judgeId}]/评委ID、smsMessage/是否发送短信通知(0:不发送,1:发送)")
+ public ResponseVO setReview(@RequestBody SetReviewDTO setReviewDTO) {
+ projectReviewService.setReview(setReviewDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/sendNotice")
+ @ApiOperation("中心端 --- 发送通知评审:id/评委ID, matchId/赛事ID")
+ public ResponseVO sendNotice(@RequestBody SendNoticeVO sendNoticeVO) {
+ projectReviewService.sendNotice(sendNoticeVO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/cancelReview")
+ @ApiOperation("中心端 --- 撤销分配:projectId/项目ID、[{judgeId}]/评委ID、smsMessage/是否发送短信通知(0:不发送,1:发送)")
+ public ResponseVO cancelReview(@RequestBody CancelReviewDTO cancelReviewVO) {
+ projectReviewService.cancelReview(cancelReviewVO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/getProjectReview")
+ @ApiOperation("中心端 --- 已分配项目评审员:projectId/项目ID")
+ public ResponseVO getProjectReview(@RequestBody ProjectReviewDTO projectReviewDTO) {
+ return ResponseData.generateCreatedResponse(0, projectReviewService.getProjectReview(projectReviewDTO));
+ }
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/ProjectReviewPeriodController.java a/src/main/java/com/zhongzhi/controller/ProjectReviewPeriodController.java
new file mode 100644
index 0000000..7eac7fd
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/ProjectReviewPeriodController.java
@@ -0,0 +1,56 @@
+package com.zhongzhi.controller;
+
+import com.zhongzhi.common.constant.Platform;
+import com.zhongzhi.common.utils.LoginRequired;
+import com.zhongzhi.common.utils.ResponseData;
+import com.zhongzhi.dto.period.ProjectReviewPeriodDTO;
+import com.zhongzhi.model.ProjectReviewPeriodDO;
+import com.zhongzhi.service.ProjectReviewPeriodService;
+import com.zhongzhi.vo.ResponseVO;
+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;
+
+/**
+ *
+ * 评审时段 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2021-06-10
+ */
+@RestController
+@Api(tags = "评审时段")
+@RequestMapping("/projectReviewPeriod")
+public class ProjectReviewPeriodController {
+
+ @Autowired
+ private ProjectReviewPeriodService projectReviewPeriodService;
+
+ @PostMapping(value = "/getProjectReviewPeriod")
+ @LoginRequired({Platform.center, Platform.school, Platform.review})
+ @ApiOperation("中心端(种子赛道、职教赛道) --- 查询评审时间:matchId/赛事年份ID、projectGroup/项目组别(科技创新组、红色文创组、高职、中职)、projectSchedule/项目进度(市级初赛、市级复赛、市级决赛)")
+ public ResponseVO getProjectReviewPeriod(@RequestBody ProjectReviewPeriodDTO projectReviewPeriodDTO) {
+ return ResponseData.generateCreatedResponse(0, projectReviewPeriodService.getProjectReviewPeriod(projectReviewPeriodDTO));
+ }
+
+ @PostMapping(value = "/getProjectReviewPeriodCity")
+ @LoginRequired({Platform.center, Platform.school, Platform.review})
+ @ApiOperation("中心端(种子赛道、职教赛道) --- 查询评审时间:matchId/赛事年份ID、projectGroup/项目组别(科技创新组、红色文创组、高职、中职)、projectSchedule/项目进度(市级初赛、市级复赛、市级决赛)")
+ public ResponseVO getProjectReviewPeriodCity(@RequestBody ProjectReviewPeriodDTO projectReviewPeriodDTO) {
+ return ResponseData.generateCreatedResponse(0, projectReviewPeriodService.getProjectReviewPeriodCity(projectReviewPeriodDTO));
+ }
+
+ @PostMapping(value = "/updateProjectReviewPeriod")
+ @LoginRequired(Platform.center)
+ @ApiOperation("中心端 --- 修改评审时间:id/ID、matchId/赛事ID、projectGroup/项目组别、projectSchedule/项目进度、startTime/开始时间、endTime/结束时间")
+ public ResponseVO updateProjectReviewPeriod(@RequestBody ProjectReviewPeriodDO projectReviewPeriodDO) {
+ projectReviewPeriodService.updateProjectReviewPeriod(projectReviewPeriodDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/ProjectScheduleRecordController.java a/src/main/java/com/zhongzhi/controller/ProjectScheduleRecordController.java
new file mode 100644
index 0000000..30df3b4
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/ProjectScheduleRecordController.java
@@ -0,0 +1,41 @@
+package com.zhongzhi.controller;
+
+import com.zhongzhi.common.constant.Platform;
+import com.zhongzhi.common.utils.LoginRequired;
+import com.zhongzhi.common.utils.ResponseData;
+import com.zhongzhi.dto.scheduleRecord.ProjectScheduleRecordDTO;
+import com.zhongzhi.service.ProjectScheduleRecordService;
+import com.zhongzhi.vo.ResponseVO;
+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;
+
+/**
+ *
+ * 项目进度记录 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2021-06-02
+ */
+@RestController
+@Api(tags = "项目进度记录")
+@RequestMapping("/projectScheduleRecord")
+public class ProjectScheduleRecordController {
+
+ @Autowired
+ private ProjectScheduleRecordService projectScheduleRecordService;
+
+ @PostMapping(value = "/getProjectScheduleRecord")
+ @ApiOperation("中心端 ---获奖情况")
+ @LoginRequired({Platform.center})
+ public ResponseVO getProjectScheduleRecord(@RequestBody ProjectScheduleRecordDTO projectScheduleRecordDTO) {
+ return ResponseData.generateCreatedResponse(0, projectScheduleRecordService.getProjectScheduleRecord(projectScheduleRecordDTO));
+ }
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/ProjectTrademarkController.java a/src/main/java/com/zhongzhi/controller/ProjectTrademarkController.java
new file mode 100644
index 0000000..727eeff
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/ProjectTrademarkController.java
@@ -0,0 +1,20 @@
+package com.zhongzhi.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 项目作品 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2022-04-25
+ */
+@RestController
+@RequestMapping("/project-trademark-do")
+public class ProjectTrademarkController {
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/ProjectWorksController.java a/src/main/java/com/zhongzhi/controller/ProjectWorksController.java
new file mode 100644
index 0000000..29141dc
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/ProjectWorksController.java
@@ -0,0 +1,20 @@
+package com.zhongzhi.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 项目作品 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2022-04-25
+ */
+@RestController
+@RequestMapping("/project-works-do")
+public class ProjectWorksController {
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/SmsCodeController.java a/src/main/java/com/zhongzhi/controller/SmsCodeController.java
new file mode 100644
index 0000000..ba53d12
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/SmsCodeController.java
@@ -0,0 +1,62 @@
+package com.zhongzhi.controller;
+
+import com.zhongzhi.common.constant.Platform;
+import com.zhongzhi.common.utils.LoginRequired;
+import com.zhongzhi.common.utils.ResponseData;
+import com.zhongzhi.model.AdministerDO;
+import com.zhongzhi.model.SmsCodeDO;
+import com.zhongzhi.service.SmsCodeService;
+import com.zhongzhi.vo.ResponseVO;
+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;
+
+/**
+ *
+ * 短信验证码 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2021-04-28
+ */
+@RestController
+@Api(tags = "短信验证码")
+@RequestMapping("/smsCode")
+public class SmsCodeController {
+
+ @Autowired
+ private SmsCodeService smsCodeService;
+
+ @PostMapping(value = "/sendRegisterCode")
+ @ApiOperation("学生端 ---注册验证码:telephone/手机号")
+ public ResponseVO sendRegisterCode(@RequestBody SmsCodeDO smsCodeDO)throws Exception {
+ smsCodeService.sendRegisterCode(smsCodeDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/sendStudentLoginCode")
+ @ApiOperation("学生端 ---登陆验证码:telephone/手机号")
+ public ResponseVO sendStudentLoginCode(@RequestBody SmsCodeDO smsCodeDO)throws Exception {
+ smsCodeService.sendStudentLoginCode(smsCodeDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/sendAdministerLoginCode")
+ @ApiOperation("中心端 --- 中心端登陆验证码:telephone/手机号")
+ public ResponseVO sendAdministerLoginCode(@RequestBody AdministerDO administerDO) throws Exception{
+ smsCodeService.sendAdministerLoginCode(administerDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "/sendJudgeLoginCode")
+ @ApiOperation("评审端 ---登陆验证码:telephone/手机号")
+ public ResponseVO sendJudgeLoginCode(@RequestBody SmsCodeDO smsCodeDO) throws Exception{
+ smsCodeService.sendJudgeLoginCode(smsCodeDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/SmsNoticeController.java a/src/main/java/com/zhongzhi/controller/SmsNoticeController.java
new file mode 100644
index 0000000..f143fda
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/SmsNoticeController.java
@@ -0,0 +1,59 @@
+package com.zhongzhi.controller;
+
+
+import com.zhongzhi.common.constant.Platform;
+import com.zhongzhi.common.utils.LoginRequired;
+import com.zhongzhi.common.utils.ResponseData;
+import com.zhongzhi.dto.notice.SmsNoticeDTO;
+import com.zhongzhi.dto.notice.SmsNoticePageDTO;
+import com.zhongzhi.service.SmsNoticeService;
+import com.zhongzhi.vo.ResponseVO;
+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;
+
+/**
+ *
+ * 短信通知记录 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2022-04-15
+ */
+@RestController
+@Api(tags = "短信通知")
+@RequestMapping("/smsNotice")
+public class SmsNoticeController {
+
+ @Autowired
+ private SmsNoticeService smsNoticeService;
+
+ @PostMapping(value = "batchSend")
+ @LoginRequired({Platform.center})
+ @ApiOperation("管理端 -- 批量发送短信:matchId/赛事年份ID、projectGroup/组别、projectSchedule/阶段、projectStatus/状态、name/搜索名称")
+ public ResponseVO batchSend(@RequestBody SmsNoticeDTO smsNoticeDTO) {
+ smsNoticeService.batchSend(smsNoticeDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "send")
+ @LoginRequired({Platform.center})
+ @ApiOperation("管理端 -- 发送短信:ids/项目ID(数组)")
+ public ResponseVO send(@RequestBody SmsNoticeDTO smsNoticeDTO) {
+ smsNoticeService.send(smsNoticeDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping(value = "getListByPage")
+ @LoginRequired({Platform.center})
+ @ApiOperation("管理端 -- 发送短信记录:date/日期、name/搜索名称、pageNo、pageSize")
+ public ResponseVO getListByPage(@RequestBody SmsNoticePageDTO smsNoticePageDTO) {
+ return ResponseData.generateCreatedResponse(0, smsNoticeService.getListByPage(smsNoticePageDTO));
+ }
+
+}
\ No newline at end of file
diff --git b/src/main/java/com/zhongzhi/controller/StudentController.java a/src/main/java/com/zhongzhi/controller/StudentController.java
new file mode 100644
index 0000000..ce699a9
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/StudentController.java
@@ -0,0 +1,56 @@
+package com.zhongzhi.controller;
+
+import com.zhongzhi.common.constant.Platform;
+import com.zhongzhi.common.utils.LoginRequired;
+import com.zhongzhi.common.utils.ResponseData;
+import com.zhongzhi.dto.student.LoginDTO;
+import com.zhongzhi.dto.student.RegisterDTO;
+import com.zhongzhi.model.StudentDO;
+import com.zhongzhi.service.StudentService;
+import com.zhongzhi.vo.ResponseVO;
+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;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2021-04-28
+ */
+@RestController
+@Api(tags = "学生")
+@RequestMapping("/student")
+public class StudentController {
+
+ @Autowired
+ private StudentService studentService;
+
+ @PostMapping(value = "/register")
+ @ApiOperation("注册:name/真实姓名, idCard/身份证, telephone/手机号, code/验证码, " +
+ "education/学历层次, school/就读院校, major/就读专业, enrollmentDate/入学年份, graduateDate/毕业年份 sex")
+ public ResponseVO register(@RequestBody RegisterDTO registerDTO) {
+ return ResponseData.generateCreatedResponse(0, studentService.register(registerDTO));
+ }
+
+ @PostMapping(value = "/login")
+ @ApiOperation("登陆:telephone/手机号, code/验证码")
+ public ResponseVO login(@RequestBody LoginDTO loginDTO) {
+ return ResponseData.generateCreatedResponse(0, studentService.login(loginDTO));
+ }
+
+ @PostMapping(value = "updateStudentInfo")
+ @LoginRequired({ Platform.student })
+ @ApiOperation("登陆:id/ID, education/学历, college/就读院校, major/专业, enrollmentDate/入学年份, graduateDate/毕业年份")
+ public ResponseVO updateStudentInfo(@RequestBody StudentDO studentDO) {
+ studentService.updateStudentInfo(studentDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/VodDictController.java a/src/main/java/com/zhongzhi/controller/VodDictController.java
new file mode 100644
index 0000000..ba1d62b
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/VodDictController.java
@@ -0,0 +1,84 @@
+package com.zhongzhi.controller;
+
+
+import com.zhongzhi.common.utils.ResponseData;
+import com.zhongzhi.dto.course.ChangeOrdersDTO;
+import com.zhongzhi.dto.course.VodsDTO;
+import com.zhongzhi.model.CourseDictDO;
+import com.zhongzhi.model.VodDictDO;
+import com.zhongzhi.service.VodDictService;
+import com.zhongzhi.vo.ResponseVO;
+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;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2022-11-14
+ */
+@RestController
+@RequestMapping("/vodDict")
+@Api(tags = "视频字典表")
+public class VodDictController {
+
+ @Autowired
+ private VodDictService vodDictService;
+
+ @PostMapping("/signature")
+ @ApiOperation("获取签名")
+ public ResponseVO signature()throws Exception{
+ return ResponseData.generateCreatedResponse(0,vodDictService.signature());
+ }
+
+
+ @PostMapping("deleteVod")
+ @ApiOperation("删除视频 id")
+ public ResponseVO deleteVod(@RequestBody VodDictDO vodDictDO){
+ vodDictService.deleteVod(vodDictDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping("addVod")
+ @ApiOperation("新增视频 courseId vodName vodUrl vodCode vodLength vodSize vodFormat coverPage")
+ public ResponseVO orderNo(@RequestBody VodDictDO vodDictDO){
+ vodDictService.addVod(vodDictDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping("updateVod")
+ @ApiOperation("修改视频 id vodName vodName vodUrl vodCode vodLength vodSize vodFormat coverPage ")
+ public ResponseVO updateVod(@RequestBody VodDictDO vodDictDO){
+ vodDictService.updateVod(vodDictDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping("changeOrders")
+ @ApiOperation("排序 ids[]")
+ public ResponseVO changeOrders(@RequestBody ChangeOrdersDTO changeOrdersDTO){
+ vodDictService.changeOrders(changeOrdersDTO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping("vods")
+ @ApiOperation("查询课程下的视频 courseId vodName")
+ public ResponseVO vods(@RequestBody VodsDTO vodsDTO){
+ return ResponseData.generateCreatedResponse(0, vodDictService.vods(vodsDTO));
+ }
+
+ @PostMapping("fourVods")
+ @ApiOperation("首页只查询4个视频 yearId ")
+ public ResponseVO fourVods(@RequestBody CourseDictDO courseDictDO){
+ return ResponseData.generateCreatedResponse(0,vodDictService.fourVods(courseDictDO));
+ }
+
+
+}
diff --git b/src/main/java/com/zhongzhi/controller/YearDictController.java a/src/main/java/com/zhongzhi/controller/YearDictController.java
new file mode 100644
index 0000000..ac1c090
--- /dev/null
+++ a/src/main/java/com/zhongzhi/controller/YearDictController.java
@@ -0,0 +1,53 @@
+package com.zhongzhi.controller;
+
+
+import com.zhongzhi.common.utils.ResponseData;
+import com.zhongzhi.model.YearDictDO;
+import com.zhongzhi.service.YearDictService;
+import com.zhongzhi.vo.ResponseVO;
+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;
+
+/**
+ *
+ * 年份字典表 前端控制器
+ *
+ *
+ * @author DengMin
+ * @since 2023-04-11
+ */
+@RestController
+@RequestMapping("/yearDict")
+@Api(tags = "年份管理")
+public class YearDictController {
+
+ @Autowired
+ private YearDictService yearDictService;
+
+ @PostMapping("queryYears")
+ @ApiOperation("查询年份")
+ public ResponseVO queryYears(){
+ return ResponseData.generateCreatedResponse(0,yearDictService.queryYears());
+ }
+
+ @PostMapping("updateYear")
+ @ApiOperation("编辑年份 id year status")
+ public ResponseVO updateYear(@RequestBody YearDictDO yearDictDO){
+ yearDictService.updateYear(yearDictDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+ @PostMapping("addYear")
+ @ApiOperation("添加年份 year status ")
+ public ResponseVO addYear(@RequestBody YearDictDO yearDictDO){
+ yearDictService.addYear(yearDictDO);
+ return ResponseData.generateCreatedResponse(0);
+ }
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/AdministerDAO.java a/src/main/java/com/zhongzhi/dao/AdministerDAO.java
new file mode 100644
index 0000000..0d51a5f
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/AdministerDAO.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.AdministerDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 中心管理账户表 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-04-28
+ */
+@Repository
+public interface AdministerDAO extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/AdministerPermissionDAO.java a/src/main/java/com/zhongzhi/dao/AdministerPermissionDAO.java
new file mode 100644
index 0000000..feb2306
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/AdministerPermissionDAO.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.AdministerPermissionDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 系统用户权限表 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-04-28
+ */
+@Repository
+public interface AdministerPermissionDAO extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/CollegesDictDAO.java a/src/main/java/com/zhongzhi/dao/CollegesDictDAO.java
new file mode 100644
index 0000000..c8b391a
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/CollegesDictDAO.java
@@ -0,0 +1,35 @@
+package com.zhongzhi.dao;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zhongzhi.model.CollegesDictDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.college.AwardedListVO;
+import com.zhongzhi.vo.college.CollegePageVO;
+import com.zhongzhi.vo.college.GetCollegeInfoVO;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * 院校字典表 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-04-28
+ */
+@Repository
+public interface CollegesDictDAO extends BaseMapper {
+
+ IPage listPage(Page page, String name);
+
+ IPage getAwardedList(Page page, String name);
+
+ List getAwardedListAll();
+
+ List getCollegeInfo(String name,String education,Long sceneId);
+
+ List getSceneCollegeInfo(String name,String education,Long sceneId);
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/CourseDictDAO.java a/src/main/java/com/zhongzhi/dao/CourseDictDAO.java
new file mode 100644
index 0000000..e441c9a
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/CourseDictDAO.java
@@ -0,0 +1,22 @@
+package com.zhongzhi.dao;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zhongzhi.model.CourseDictDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.course.CoursesVO;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2022-11-14
+ */
+@Repository
+public interface CourseDictDAO extends BaseMapper {
+
+ IPage courses(IPage page, String courseName,Long yearId);
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/DrawLotGroupDictMapper.java a/src/main/java/com/zhongzhi/dao/DrawLotGroupDictMapper.java
new file mode 100644
index 0000000..7eae753
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/DrawLotGroupDictMapper.java
@@ -0,0 +1,31 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.DrawLotGroupDictDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.drawlots.GroupJudgesVO;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2025-06-19
+ */
+@Repository
+public interface DrawLotGroupDictMapper extends BaseMapper {
+
+ /**
+ * 组别下的成员
+ */
+ List groupJudges(Long groupId, String roleType);
+
+ /**
+ * 查看组别下的编号
+ */
+ List groupNums(Long groupId);
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/DrawLotsGroupItemsMapper.java a/src/main/java/com/zhongzhi/dao/DrawLotsGroupItemsMapper.java
new file mode 100644
index 0000000..450836c
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/DrawLotsGroupItemsMapper.java
@@ -0,0 +1,57 @@
+package com.zhongzhi.dao;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zhongzhi.model.DrawLotGroupDictDO;
+import com.zhongzhi.model.DrawLotsGroupItemsDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.drawlots.AllGroupItemsVO;
+import com.zhongzhi.vo.drawlots.CollegeProjectsVO;
+import com.zhongzhi.vo.drawlots.GroupProjectInfoVO;
+import com.zhongzhi.vo.drawlots.MatchProjectsVO;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2025-06-19
+ */
+@Repository
+public interface DrawLotsGroupItemsMapper extends BaseMapper {
+
+ IPage allGroupItems(IPage page,Long sceneId, String projectName,String college);
+
+ /**
+ * 某赛道 没有被选的项目
+ */
+ List matchProjects(Long matchId, String projectSchedule);
+
+ /**
+ * 还没有坑位的项目
+ */
+ IPage collegeProjects(IPage iPage,Long sceneId, String college, String projectSchedule, String projectProgress);
+
+ /**
+ * 还没有满的坑位
+ */
+ List noFullGroup(Long sceneId,String college,Integer count);
+
+ /**
+ * 查看该组别下的项目
+ */
+ List groupProjectInfo(Long groupId);
+
+ /**
+ * 某组别已经存在的编码
+ */
+ List existNum(Long groupId);
+
+ /**
+ * 某现场某院校组别最小的数量
+ */
+ Integer sceneCollege(Long sceneId,String college);
+}
diff --git b/src/main/java/com/zhongzhi/dao/DrawLotsGroupJudgesMapper.java a/src/main/java/com/zhongzhi/dao/DrawLotsGroupJudgesMapper.java
new file mode 100644
index 0000000..b33354f
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/DrawLotsGroupJudgesMapper.java
@@ -0,0 +1,65 @@
+package com.zhongzhi.dao;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zhongzhi.model.DrawLotGroupDictDO;
+import com.zhongzhi.model.DrawLotsGroupJudgesDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.drawlots.*;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * 赛组评委表 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2025-06-19
+ */
+@Repository
+public interface DrawLotsGroupJudgesMapper extends BaseMapper {
+
+ IPage matchJudges(IPage page,Long sceneId, String userName, String expectorType, String roleType);
+
+ /**
+ * 选择评委
+ */
+ IPage selectJudges(IPage page,Long sceneId,String userName);
+
+ /**
+ * 某组别已经存在的编码
+ */
+ List allNum(Long groupId);
+
+ /**
+ * 某组别已经随机到的编码
+ */
+ List existNum(Long groupId);
+
+ /**
+ * 当前组的组长
+ */
+ Integer currentGroupLeaderCnt(Long groupId);
+
+ /**
+ * 评委信息
+ */
+ List drawJudgeInfo(Long groupId);
+
+ /**
+ * 没有组长的组
+ */
+ List noLeaderGroup(Long sceneId);
+
+ /**
+ * 某个类别(行业专家,教育专家)没有满的组员
+ */
+ List noMemberGroup(Long sceneId,String teachType);
+
+ LoginVO login(String name);
+
+ List judgeScoreScreen(Long groupId, Integer groupNum);
+
+ JudgeFullInfoVO judgeInfo(Long groupId,Integer groupNum);
+}
diff --git b/src/main/java/com/zhongzhi/dao/DrawLotsJudgeNumMapper.java a/src/main/java/com/zhongzhi/dao/DrawLotsJudgeNumMapper.java
new file mode 100644
index 0000000..7e671ed
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/DrawLotsJudgeNumMapper.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.DrawLotsJudgeNumDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2025-07-10
+ */
+@Repository
+public interface DrawLotsJudgeNumMapper extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/DrawLotsScenesMapper.java a/src/main/java/com/zhongzhi/dao/DrawLotsScenesMapper.java
new file mode 100644
index 0000000..a0f97a9
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/DrawLotsScenesMapper.java
@@ -0,0 +1,26 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.DrawLotsScenesDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.project.AllMatchScenesVO;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2025-06-19
+ */
+@Repository
+public interface DrawLotsScenesMapper extends BaseMapper {
+
+ /**
+ * 某赛道所有现场
+ */
+ List allMatchScenes(Long matchId, String openStatus);
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/DrawLotsScoresMapper.java a/src/main/java/com/zhongzhi/dao/DrawLotsScoresMapper.java
new file mode 100644
index 0000000..0b680b2
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/DrawLotsScoresMapper.java
@@ -0,0 +1,62 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.DrawLotsGroupItemsDO;
+import com.zhongzhi.model.DrawLotsScoresDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.drawlots.*;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2025-07-04
+ */
+@Repository
+public interface DrawLotsScoresMapper extends BaseMapper {
+
+ /**
+ * 评分--项目列表
+ */
+ List groupScores(Long sceneId,String projectName,Long groupId);
+
+ /**
+ * 评分--列表里每个角色的评分详情
+ */
+ List groupJudgeScores(Long groupId, Long projectId);
+
+ /**
+ * 某评委的评分列表
+ */
+ List queryItems(Long judgeId);
+
+ /**
+ * 排序
+ */
+ List groupRank(Long groupId);
+
+ /**
+ * 最初前4
+ */
+ List beforeHand4Project(Long groupId);
+
+ /**
+ * 前4
+ */
+ List hand4Project(Long groupId);
+
+ /**
+ * 负责人
+ */
+ String groupLeader(Long groupId);
+
+ /**
+ * 最终排位结果
+ */
+ List rank(Long sceneId,Long groupId,String projectName);
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/FinalMatchMemberDAO.java a/src/main/java/com/zhongzhi/dao/FinalMatchMemberDAO.java
new file mode 100644
index 0000000..af5ca99
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/FinalMatchMemberDAO.java
@@ -0,0 +1,38 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.FinalMatchMemberDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.college.ExportListVO;
+import com.zhongzhi.vo.college.RegisterMembersVO;
+import com.zhongzhi.vo.college.SchoolsVO;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2024-07-12
+ */
+@Repository
+public interface FinalMatchMemberDAO extends BaseMapper {
+
+ List registerMembers(Long collegeId,Long matchId);
+
+ List otherMembers(Long collegeId,Long matchId);
+
+ List cars(Long collegeId,Long matchId);
+
+ String latestUpdateTime(Long collegeId);
+
+ List schools(Long matchId,String name);
+
+ /**
+ * 导出名单
+ */
+ List exportList(Long matchId,Long collegeId);
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/FundDictDAO.java a/src/main/java/com/zhongzhi/dao/FundDictDAO.java
new file mode 100644
index 0000000..5446e6c
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/FundDictDAO.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.FundDictDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 届数表 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-04-28
+ */
+@Repository
+public interface FundDictDAO extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/ItemFieldDictDAO.java a/src/main/java/com/zhongzhi/dao/ItemFieldDictDAO.java
new file mode 100644
index 0000000..086537b
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/ItemFieldDictDAO.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.ItemFieldDictDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 行业领域字典表 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-04-28
+ */
+@Repository
+public interface ItemFieldDictDAO extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/MajorDictDAO.java a/src/main/java/com/zhongzhi/dao/MajorDictDAO.java
new file mode 100644
index 0000000..6f43c8d
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/MajorDictDAO.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.MajorDictDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 专业字典表 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-04-28
+ */
+@Repository
+public interface MajorDictDAO extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/MatchCollegeCountDAO.java a/src/main/java/com/zhongzhi/dao/MatchCollegeCountDAO.java
new file mode 100644
index 0000000..d13a8c0
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/MatchCollegeCountDAO.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.MatchCollegeCountDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2025-06-10
+ */
+@Repository
+public interface MatchCollegeCountDAO extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/MatchCollegePdfMapper.java a/src/main/java/com/zhongzhi/dao/MatchCollegePdfMapper.java
new file mode 100644
index 0000000..52d23b7
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/MatchCollegePdfMapper.java
@@ -0,0 +1,9 @@
+package com.zhongzhi.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.model.MatchCollegePdfDO;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface MatchCollegePdfMapper extends BaseMapper {
+}
diff --git b/src/main/java/com/zhongzhi/dao/MatchDictDAO.java a/src/main/java/com/zhongzhi/dao/MatchDictDAO.java
new file mode 100644
index 0000000..087cd87
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/MatchDictDAO.java
@@ -0,0 +1,39 @@
+package com.zhongzhi.dao;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zhongzhi.model.MatchDictDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.match.MatchDictVO;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * 赛事年份管理 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-05-17
+ */
+@Repository
+public interface MatchDictDAO extends BaseMapper {
+
+ IPage getSeedTrackMatchPage(Page page, String matchType);
+
+ List getList(@Param("projectType") String projectType, @Param("projectGroup") String projectGroup);
+
+ /**
+ * 职教
+ */
+ MatchDictDO getVocationalCurrentMatch(Long memberId,String progress);
+
+ /**
+ * 种子
+ * @return
+ */
+ MatchDictDO getSeedCurrentMatch(Long memberId,String progress);
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/MatchScheduleDAO.java a/src/main/java/com/zhongzhi/dao/MatchScheduleDAO.java
new file mode 100644
index 0000000..514bd19
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/MatchScheduleDAO.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.MatchScheduleDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 时间安排 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-05-27
+ */
+@Repository
+public interface MatchScheduleDAO extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/MessageDAO.java a/src/main/java/com/zhongzhi/dao/MessageDAO.java
new file mode 100644
index 0000000..cdf7134
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/MessageDAO.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.MessageDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 通知消息表 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-05-17
+ */
+@Repository
+public interface MessageDAO extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/PermissionsDAO.java a/src/main/java/com/zhongzhi/dao/PermissionsDAO.java
new file mode 100644
index 0000000..b9b2e3f
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/PermissionsDAO.java
@@ -0,0 +1,22 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.PermissionsDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.permission.PermissionVO;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * 权限表 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-04-28
+ */
+@Repository
+public interface PermissionsDAO extends BaseMapper {
+
+ List getPermissionById(Long id);
+}
diff --git b/src/main/java/com/zhongzhi/dao/ProjectAwardMapper.java a/src/main/java/com/zhongzhi/dao/ProjectAwardMapper.java
new file mode 100644
index 0000000..92a0d33
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/ProjectAwardMapper.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.ProjectAwardDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 项目奖项 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2022-04-25
+ */
+@Repository
+public interface ProjectAwardMapper extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/ProjectCopyrightMapper.java a/src/main/java/com/zhongzhi/dao/ProjectCopyrightMapper.java
new file mode 100644
index 0000000..117fbec
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/ProjectCopyrightMapper.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.ProjectCopyrightDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 项目软件著作权 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2022-04-25
+ */
+@Repository
+public interface ProjectCopyrightMapper extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/ProjectDAO.java a/src/main/java/com/zhongzhi/dao/ProjectDAO.java
new file mode 100644
index 0000000..742189e
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/ProjectDAO.java
@@ -0,0 +1,68 @@
+package com.zhongzhi.dao;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zhongzhi.model.ProjectDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.project.*;
+import com.zhongzhi.vo.student.JudgeThemeDoneVO;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * 项目表 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-05-11
+ */
+@Repository
+public interface ProjectDAO extends BaseMapper {
+
+ IPage getListPage(Page page, Long matchId, Long proposerId, String projectType);
+
+ IPage getMainTrackProjectPage(Page page, Long matchId, String projectGroup, @Param("type") String type, @Param("projectType") String projectType,
+ String projectSchedule,
+ String projectStatus, String itemField, @Param("name") String name);
+
+ IPage getSeedTrackProjectPage(Page page, Long matchId, String projectGroup, @Param("type") String type, @Param("projectType") String projectType,
+ @Param("school") String school, String projectSchedule,
+ String projectStatus, String itemField, @Param("name") String name,@Param("projectProgress") String projectProgress,@Param("themeName")String themeName);
+
+ IPage getSeedTrackProjectPageCity(Page page, Long matchId, String projectGroup, @Param("type") String type, @Param("projectType") String projectType,
+ @Param("school") String school, String projectSchedule,
+ String projectStatus, String itemField, @Param("name") String name,@Param("projectProgress") String projectProgress,@Param("themeName")String themeName);
+
+ IPage getReviewList(Page page, String projectName, String projectGroup, String schoolReview, Long matchId, String projectStatus, String schoolAssigned,String projectProgress);
+
+ IPage getProjectReviewPage(Page page, Long judgeId, Long matchId, String projectName, String projectSchedule, String projectReview, String projectGroup,String projectProgress);
+
+ List getProjectReviewList(Long id, Long matchId,String projectProgress);
+
+ List getProjectByCollege(Long matchId, @Param("name") String name, String projectProgress);
+
+ List getSeedTrackProjectList(Long matchId, String projectGroup, @Param("name") String name,@Param("projectProgress")String projectProgress);
+
+ List selectListByCollege(String projectType, String projectGroup, @Param("name") String name);
+
+ List getList(Long matchId, @Param("name") String name, String projectGroup);
+
+ List getProjectList(Long matchId, String projectGroup, String projectSchedule, String projectStatus, @Param("name") String name);
+
+ List getListByJudgeId(Long matchId, String projectGroup, @Param("judgeId") Long judgeId);
+
+ List getProjectById(@Param("ids") Long[] ids);
+
+ List projects(Long matchId,Long collegeId,String college);
+
+ Integer attendCount(Long userId,String matchDate);
+
+ List judgeThemeDone(Long studentId, Long matchId);
+
+ ProjectDO existProject(Long studentId,Long matchId,String projectGroup,String themeName,String projectStatus,String progress);
+
+ ProjectDO existVocationalProject(Long studentId,Long matchId,String projectGroup,String themeName,String projectStatus);
+}
diff --git b/src/main/java/com/zhongzhi/dao/ProjectJudgeDAO.java a/src/main/java/com/zhongzhi/dao/ProjectJudgeDAO.java
new file mode 100644
index 0000000..79dd8b7
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/ProjectJudgeDAO.java
@@ -0,0 +1,25 @@
+package com.zhongzhi.dao;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zhongzhi.model.ProjectJudgeDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.judge.ProjectJudgePageVO;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 项目评审员 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-05-28
+ */
+@Repository
+public interface ProjectJudgeDAO extends BaseMapper {
+
+ IPage getProjectJudgePage(Page page, String username, Integer status);
+
+ IPage projectJudgesAssigned(Page page, @Param("matchId") Long matchId, @Param("projectGroup") String projectGroup, @Param("projectSchedule") String projectSchedule);
+}
diff --git b/src/main/java/com/zhongzhi/dao/ProjectMaterialsDAO.java a/src/main/java/com/zhongzhi/dao/ProjectMaterialsDAO.java
new file mode 100644
index 0000000..073ab4a
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/ProjectMaterialsDAO.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.ProjectMaterialsDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 项目材料 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-05-11
+ */
+@Repository
+public interface ProjectMaterialsDAO extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/ProjectMemberDAO.java a/src/main/java/com/zhongzhi/dao/ProjectMemberDAO.java
new file mode 100644
index 0000000..62a204f
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/ProjectMemberDAO.java
@@ -0,0 +1,25 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.ProjectMemberDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * 项目团队信息表 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-05-11
+ */
+@Repository
+public interface ProjectMemberDAO extends BaseMapper {
+
+ /**
+ * 团队成员
+ */
+ List projectMembers(Long projectId);
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/ProjectOwnershipStructureDAO.java a/src/main/java/com/zhongzhi/dao/ProjectOwnershipStructureDAO.java
new file mode 100644
index 0000000..f033c5f
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/ProjectOwnershipStructureDAO.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.ProjectOwnershipStructureDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 股权结构表 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-05-11
+ */
+@Repository
+public interface ProjectOwnershipStructureDAO extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/ProjectPaperMapper.java a/src/main/java/com/zhongzhi/dao/ProjectPaperMapper.java
new file mode 100644
index 0000000..7d75482
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/ProjectPaperMapper.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.ProjectPaperDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 项目论文 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2022-04-25
+ */
+@Repository
+public interface ProjectPaperMapper extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/ProjectPatentMapper.java a/src/main/java/com/zhongzhi/dao/ProjectPatentMapper.java
new file mode 100644
index 0000000..9598bf3
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/ProjectPatentMapper.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.ProjectPatentDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 项目专利 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2022-04-25
+ */
+@Repository
+public interface ProjectPatentMapper extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/ProjectReviewDAO.java a/src/main/java/com/zhongzhi/dao/ProjectReviewDAO.java
new file mode 100644
index 0000000..f6ad28a
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/ProjectReviewDAO.java
@@ -0,0 +1,26 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.ProjectReviewDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.judge.ProjectReviewVO;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * 项目评审 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-05-18
+ */
+@Repository
+public interface ProjectReviewDAO extends BaseMapper {
+
+ List getList(String projectSchedule, Long projectId);
+
+ Integer selectCountByMatchId(Long judgeId, Long matchId);
+
+ Integer selectNotReviewCount(Long judgeId, Long matchId);
+}
diff --git b/src/main/java/com/zhongzhi/dao/ProjectReviewPeriodMapper.java a/src/main/java/com/zhongzhi/dao/ProjectReviewPeriodMapper.java
new file mode 100644
index 0000000..3d28726
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/ProjectReviewPeriodMapper.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.ProjectReviewPeriodDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 评审时段 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-06-10
+ */
+@Repository
+public interface ProjectReviewPeriodMapper extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/ProjectScheduleRecordDAO.java a/src/main/java/com/zhongzhi/dao/ProjectScheduleRecordDAO.java
new file mode 100644
index 0000000..c9a9ec2
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/ProjectScheduleRecordDAO.java
@@ -0,0 +1,27 @@
+package com.zhongzhi.dao;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zhongzhi.model.ProjectScheduleRecordDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.scheduleRecord.ProjectScheduleRecordVO;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * 项目进度记录 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-06-02
+ */
+@Repository
+public interface ProjectScheduleRecordDAO extends BaseMapper {
+
+ IPage getProjectScheduleRecord(Page page, Long matchId, @Param("name") String name);
+
+ List getList(Long matchId, String college, @Param("projectGroup") String projectGroup);
+}
diff --git b/src/main/java/com/zhongzhi/dao/ProjectTrademarkMapper.java a/src/main/java/com/zhongzhi/dao/ProjectTrademarkMapper.java
new file mode 100644
index 0000000..6a7973f
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/ProjectTrademarkMapper.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.ProjectTrademarkDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 项目作品 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2022-04-25
+ */
+@Repository
+public interface ProjectTrademarkMapper extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/ProjectWorksMapper.java a/src/main/java/com/zhongzhi/dao/ProjectWorksMapper.java
new file mode 100644
index 0000000..18d8e9b
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/ProjectWorksMapper.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.ProjectWorksDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 项目作品 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2022-04-25
+ */
+@Repository
+public interface ProjectWorksMapper extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/SmsCodeDAO.java a/src/main/java/com/zhongzhi/dao/SmsCodeDAO.java
new file mode 100644
index 0000000..7a14284
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/SmsCodeDAO.java
@@ -0,0 +1,19 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.SmsCodeDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 短信验证码 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-04-28
+ */
+@Repository
+public interface SmsCodeDAO extends BaseMapper {
+
+ SmsCodeDO getOneByTelePhone(String telephone, String type, String platform);
+}
diff --git b/src/main/java/com/zhongzhi/dao/SmsNoticeMapper.java a/src/main/java/com/zhongzhi/dao/SmsNoticeMapper.java
new file mode 100644
index 0000000..d52c2b7
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/SmsNoticeMapper.java
@@ -0,0 +1,23 @@
+package com.zhongzhi.dao;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zhongzhi.model.SmsNoticeDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.notice.SmsNoticeVO;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+/**
+*
+ * 短信通知记录 Mapper 接口
+ *
+*
+* @author DengMin
+* @since 2022-04-15
+*/
+@Repository
+public interface SmsNoticeMapper extends BaseMapper {
+
+ IPage getListByPage(Page page, @Param("date") String date, String name);
+}
diff --git b/src/main/java/com/zhongzhi/dao/StudentDAO.java a/src/main/java/com/zhongzhi/dao/StudentDAO.java
new file mode 100644
index 0000000..163c648
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/StudentDAO.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.StudentDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2021-04-28
+ */
+@Repository
+public interface StudentDAO extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/VodDictDAO.java a/src/main/java/com/zhongzhi/dao/VodDictDAO.java
new file mode 100644
index 0000000..3e014a6
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/VodDictDAO.java
@@ -0,0 +1,27 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.CourseDictDO;
+import com.zhongzhi.model.VodDictDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzhi.vo.course.VodsVO;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2022-11-14
+ */
+@Repository
+public interface VodDictDAO extends BaseMapper {
+
+ List vods(Long courseId,String vodName,Long yearId);
+
+ List fourVods(CourseDictDO courseDictDO);
+
+
+}
diff --git b/src/main/java/com/zhongzhi/dao/YearDictDAO.java a/src/main/java/com/zhongzhi/dao/YearDictDAO.java
new file mode 100644
index 0000000..7c1124f
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dao/YearDictDAO.java
@@ -0,0 +1,18 @@
+package com.zhongzhi.dao;
+
+import com.zhongzhi.model.YearDictDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ * 年份字典表 Mapper 接口
+ *
+ *
+ * @author DengMin
+ * @since 2023-04-11
+ */
+@Repository
+public interface YearDictDAO extends BaseMapper {
+
+}
diff --git b/src/main/java/com/zhongzhi/dto/administer/AdministerPageDTO.java a/src/main/java/com/zhongzhi/dto/administer/AdministerPageDTO.java
new file mode 100644
index 0000000..8a3f71b
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/administer/AdministerPageDTO.java
@@ -0,0 +1,15 @@
+package com.zhongzhi.dto.administer;
+
+import lombok.Data;
+
+@Data
+public class AdministerPageDTO {
+
+ private String listItem;
+
+ private String username;
+
+ private Integer pageNo;
+
+ private Integer pageSize;
+}
diff --git b/src/main/java/com/zhongzhi/dto/administer/LoginDTO.java a/src/main/java/com/zhongzhi/dto/administer/LoginDTO.java
new file mode 100644
index 0000000..042a0cf
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/administer/LoginDTO.java
@@ -0,0 +1,11 @@
+package com.zhongzhi.dto.administer;
+
+import lombok.Data;
+
+@Data
+public class LoginDTO {
+
+ private String telephone;
+
+ private String code;
+}
diff --git b/src/main/java/com/zhongzhi/dto/college/AddProjectMemberDTO.java a/src/main/java/com/zhongzhi/dto/college/AddProjectMemberDTO.java
new file mode 100644
index 0000000..8802fd0
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/college/AddProjectMemberDTO.java
@@ -0,0 +1,17 @@
+package com.zhongzhi.dto.college;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AddProjectMemberDTO {
+
+ private List studentIds;
+
+ private Long projectId;
+
+ private Long matchId;
+
+}
+
diff --git b/src/main/java/com/zhongzhi/dto/college/AwardedListDTO.java a/src/main/java/com/zhongzhi/dto/college/AwardedListDTO.java
new file mode 100644
index 0000000..5bd1959
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/college/AwardedListDTO.java
@@ -0,0 +1,17 @@
+package com.zhongzhi.dto.college;
+
+import lombok.Data;
+
+@Data
+public class AwardedListDTO {
+
+ private Long matchId;
+
+ private String name;
+
+ private String projectGroup;
+
+ private Integer pageNo;
+
+ private Integer pageSize;
+}
diff --git b/src/main/java/com/zhongzhi/dto/college/CollegesDOT.java a/src/main/java/com/zhongzhi/dto/college/CollegesDOT.java
new file mode 100644
index 0000000..a32cf3b
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/college/CollegesDOT.java
@@ -0,0 +1,20 @@
+package com.zhongzhi.dto.college;
+
+import com.zhongzhi.common.utils.ExcelColumn;
+import lombok.Data;
+
+@Data
+public class CollegesDOT {
+
+ @ExcelColumn(col = 1, value = "学校代码")
+ private String code;
+
+ @ExcelColumn(col = 2, value = "院校名称")
+ private String name;
+
+ @ExcelColumn(col = 3, value = "联系方式")
+ private String phone;
+
+ @ExcelColumn(col = 4, value = "导入失败原因")
+ private String failReason;
+}
diff --git b/src/main/java/com/zhongzhi/dto/college/CollegesDictDTO.java a/src/main/java/com/zhongzhi/dto/college/CollegesDictDTO.java
new file mode 100644
index 0000000..8a3a628
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/college/CollegesDictDTO.java
@@ -0,0 +1,11 @@
+package com.zhongzhi.dto.college;
+
+import lombok.Data;
+
+@Data
+public class CollegesDictDTO {
+
+ private String name;
+
+ private String education;
+}
diff --git b/src/main/java/com/zhongzhi/dto/college/CollegesPageDTO.java a/src/main/java/com/zhongzhi/dto/college/CollegesPageDTO.java
new file mode 100644
index 0000000..f49c7ef
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/college/CollegesPageDTO.java
@@ -0,0 +1,13 @@
+package com.zhongzhi.dto.college;
+
+import lombok.Data;
+
+@Data
+public class CollegesPageDTO {
+
+ private String name;
+
+ private Integer pageNo;
+
+ private Integer pageSize;
+}
diff --git b/src/main/java/com/zhongzhi/dto/college/DownloadErrorDataDTO.java a/src/main/java/com/zhongzhi/dto/college/DownloadErrorDataDTO.java
new file mode 100644
index 0000000..24f8a7f
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/college/DownloadErrorDataDTO.java
@@ -0,0 +1,11 @@
+package com.zhongzhi.dto.college;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DownloadErrorDataDTO {
+
+ private List errorData;
+}
diff --git b/src/main/java/com/zhongzhi/dto/college/ExportCollegeDTO.java a/src/main/java/com/zhongzhi/dto/college/ExportCollegeDTO.java
new file mode 100644
index 0000000..ccfafb6
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/college/ExportCollegeDTO.java
@@ -0,0 +1,41 @@
+package com.zhongzhi.dto.college;
+
+import com.zhongzhi.common.utils.ExcelColumn;
+import lombok.Data;
+
+@Data
+public class ExportCollegeDTO {
+
+ @ExcelColumn(col = 1, value = "学校代码")
+ private String code;
+
+ @ExcelColumn(col = 2, value = "学校名称")
+ private String name;
+
+ @ExcelColumn(col = 3 , value = "分管领导")
+ private String leaderName;
+
+ @ExcelColumn(col = 4 , value = "职务")
+ private String leaderPost;
+
+ @ExcelColumn(col = 5 , value = "手机号")
+ private String leaderPhone;
+
+ @ExcelColumn(col = 6 , value = "联系人姓名")
+ private String contactName;
+
+ @ExcelColumn(col = 7 , value = "职务")
+ private String contactPost;
+
+ @ExcelColumn(col = 8 , value = "手机号")
+ private String contactPhone;
+
+ @ExcelColumn(col = 9, value = "账户")
+ private String account;
+
+ @ExcelColumn(col = 10, value = "密码")
+ private String password;
+
+ @ExcelColumn(col = 11, value = "联系地址")
+ private String address;
+}
diff --git b/src/main/java/com/zhongzhi/dto/college/GetCollegesListDTO.java a/src/main/java/com/zhongzhi/dto/college/GetCollegesListDTO.java
new file mode 100644
index 0000000..25db159
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/college/GetCollegesListDTO.java
@@ -0,0 +1,17 @@
+package com.zhongzhi.dto.college;
+
+import lombok.Data;
+
+@Data
+public class GetCollegesListDTO {
+
+ private Integer pageSize;
+
+ private Integer pageNum;
+
+ private String name;
+
+ private String education;
+
+ private Long sceneId;
+}
diff --git b/src/main/java/com/zhongzhi/dto/college/LoginDTO.java a/src/main/java/com/zhongzhi/dto/college/LoginDTO.java
new file mode 100644
index 0000000..ee7e704
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/college/LoginDTO.java
@@ -0,0 +1,11 @@
+package com.zhongzhi.dto.college;
+
+import lombok.Data;
+
+@Data
+public class LoginDTO {
+
+ private String account;
+
+ private String password;
+}
diff --git b/src/main/java/com/zhongzhi/dto/college/LoginStatusDTO.java a/src/main/java/com/zhongzhi/dto/college/LoginStatusDTO.java
new file mode 100644
index 0000000..600c691
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/college/LoginStatusDTO.java
@@ -0,0 +1,13 @@
+package com.zhongzhi.dto.college;
+
+import lombok.Data;
+
+@Data
+public class LoginStatusDTO {
+
+ private Long[] ids;
+
+ private Long id;
+
+ private Integer loginStatus;
+}
diff --git b/src/main/java/com/zhongzhi/dto/college/RegisterMembersDTO.java a/src/main/java/com/zhongzhi/dto/college/RegisterMembersDTO.java
new file mode 100644
index 0000000..e4b9a11
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/college/RegisterMembersDTO.java
@@ -0,0 +1,16 @@
+package com.zhongzhi.dto.college;
+
+import lombok.Data;
+
+@Data
+public class RegisterMembersDTO {
+
+ private Long id;
+
+ private Long matchId;
+
+ private Long collegeId;
+
+ private String name;
+
+}
diff --git b/src/main/java/com/zhongzhi/dto/college/UpdatePwdDTO.java a/src/main/java/com/zhongzhi/dto/college/UpdatePwdDTO.java
new file mode 100644
index 0000000..90143b7
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/college/UpdatePwdDTO.java
@@ -0,0 +1,9 @@
+package com.zhongzhi.dto.college;
+
+import lombok.Data;
+
+@Data
+public class UpdatePwdDTO {
+
+ private String password;
+}
diff --git b/src/main/java/com/zhongzhi/dto/course/ChangeOrdersDTO.java a/src/main/java/com/zhongzhi/dto/course/ChangeOrdersDTO.java
new file mode 100644
index 0000000..5ab9323
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/course/ChangeOrdersDTO.java
@@ -0,0 +1,12 @@
+package com.zhongzhi.dto.course;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ChangeOrdersDTO {
+
+ private List ids;
+
+}
diff --git b/src/main/java/com/zhongzhi/dto/course/CoursesDTO.java a/src/main/java/com/zhongzhi/dto/course/CoursesDTO.java
new file mode 100644
index 0000000..48a0ba3
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/course/CoursesDTO.java
@@ -0,0 +1,15 @@
+package com.zhongzhi.dto.course;
+
+import lombok.Data;
+
+@Data
+public class CoursesDTO {
+
+ private Integer pageSize;
+
+ private Integer pageNo;
+
+ private String courseName;
+
+ private Long yearId;
+}
diff --git b/src/main/java/com/zhongzhi/dto/course/VodsDTO.java a/src/main/java/com/zhongzhi/dto/course/VodsDTO.java
new file mode 100644
index 0000000..f41b75f
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/course/VodsDTO.java
@@ -0,0 +1,13 @@
+package com.zhongzhi.dto.course;
+
+import lombok.Data;
+
+@Data
+public class VodsDTO {
+
+ private Long yearId;
+
+ private Long courseId;
+
+ private String vodName;
+}
diff --git b/src/main/java/com/zhongzhi/dto/drawlots/AddJudgeDTO.java a/src/main/java/com/zhongzhi/dto/drawlots/AddJudgeDTO.java
new file mode 100644
index 0000000..b943718
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/drawlots/AddJudgeDTO.java
@@ -0,0 +1,28 @@
+package com.zhongzhi.dto.drawlots;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AddJudgeDTO {
+
+ private List judgeIds;
+
+ private Long sceneId;
+
+ /**
+ * 专家类型
+ */
+ private String expectorType;
+
+ /**
+ * 角色类型
+ */
+ private String roleType;
+
+ private List ids;
+
+ private Long groupId;
+
+}
diff --git b/src/main/java/com/zhongzhi/dto/drawlots/AddProjectToSceneDTO.java a/src/main/java/com/zhongzhi/dto/drawlots/AddProjectToSceneDTO.java
new file mode 100644
index 0000000..949798e
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/drawlots/AddProjectToSceneDTO.java
@@ -0,0 +1,14 @@
+package com.zhongzhi.dto.drawlots;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AddProjectToSceneDTO {
+
+ private List projectIds;
+
+ private Long sceneId;
+
+}
diff --git b/src/main/java/com/zhongzhi/dto/drawlots/AllGroupItemsDTO.java a/src/main/java/com/zhongzhi/dto/drawlots/AllGroupItemsDTO.java
new file mode 100644
index 0000000..26e9764
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/drawlots/AllGroupItemsDTO.java
@@ -0,0 +1,17 @@
+package com.zhongzhi.dto.drawlots;
+
+import lombok.Data;
+
+@Data
+public class AllGroupItemsDTO {
+
+ private Long sceneId;
+
+ private String projectName;
+
+ private String college;
+
+ private Integer pageSize;
+
+ private Integer pageNum;
+}
diff --git b/src/main/java/com/zhongzhi/dto/drawlots/CollegeProjectsDTO.java a/src/main/java/com/zhongzhi/dto/drawlots/CollegeProjectsDTO.java
new file mode 100644
index 0000000..90fc95e
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/drawlots/CollegeProjectsDTO.java
@@ -0,0 +1,22 @@
+package com.zhongzhi.dto.drawlots;
+
+import lombok.Data;
+
+@Data
+public class CollegeProjectsDTO {
+
+ private Long matchId;
+
+ private Long sceneId;
+
+ private String college;
+
+ private Integer pageSize;
+
+ private Integer pageNum;
+
+ private String projectProgress;
+
+ private String projectSchedule;
+
+}
diff --git b/src/main/java/com/zhongzhi/dto/drawlots/DrawLoginDTO.java a/src/main/java/com/zhongzhi/dto/drawlots/DrawLoginDTO.java
new file mode 100644
index 0000000..9cdc137
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/drawlots/DrawLoginDTO.java
@@ -0,0 +1,11 @@
+package com.zhongzhi.dto.drawlots;
+
+import lombok.Data;
+
+@Data
+public class DrawLoginDTO {
+
+ private String name;
+
+}
+
diff --git b/src/main/java/com/zhongzhi/dto/drawlots/GroupScoresDTO.java a/src/main/java/com/zhongzhi/dto/drawlots/GroupScoresDTO.java
new file mode 100644
index 0000000..5ab998e
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/drawlots/GroupScoresDTO.java
@@ -0,0 +1,14 @@
+package com.zhongzhi.dto.drawlots;
+
+import lombok.Data;
+
+@Data
+public class GroupScoresDTO {
+
+ private Long sceneId;
+
+ private String projectName;
+
+ private Long groupId;
+
+}
diff --git b/src/main/java/com/zhongzhi/dto/drawlots/JudgeScoreScreenDTO.java a/src/main/java/com/zhongzhi/dto/drawlots/JudgeScoreScreenDTO.java
new file mode 100644
index 0000000..3ec4909
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/drawlots/JudgeScoreScreenDTO.java
@@ -0,0 +1,14 @@
+package com.zhongzhi.dto.drawlots;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class JudgeScoreScreenDTO {
+
+ private Long groupId;
+
+ private List groupNums;
+
+}
diff --git b/src/main/java/com/zhongzhi/dto/drawlots/MatchProjectsDTO.java a/src/main/java/com/zhongzhi/dto/drawlots/MatchProjectsDTO.java
new file mode 100644
index 0000000..7cc6ded
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/drawlots/MatchProjectsDTO.java
@@ -0,0 +1,13 @@
+package com.zhongzhi.dto.drawlots;
+
+import lombok.Data;
+
+@Data
+public class MatchProjectsDTO {
+
+ private Long matchId;
+
+ private Long sceneId;
+
+ private String projectSchedule;
+}
diff --git b/src/main/java/com/zhongzhi/dto/judge/MatchJudgesDTO.java a/src/main/java/com/zhongzhi/dto/judge/MatchJudgesDTO.java
new file mode 100644
index 0000000..4db5b42
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/judge/MatchJudgesDTO.java
@@ -0,0 +1,21 @@
+package com.zhongzhi.dto.judge;
+
+import lombok.Data;
+
+@Data
+public class MatchJudgesDTO {
+
+ private Long sceneId;
+
+ private Long matchId;
+
+ private String userName;
+
+ private String expectorType;
+
+ private String roleType;
+
+ private Integer pageSize;
+
+ private Integer pageNum;
+}
diff --git b/src/main/java/com/zhongzhi/dto/judge/ProjectJudgePageDTO.java a/src/main/java/com/zhongzhi/dto/judge/ProjectJudgePageDTO.java
new file mode 100644
index 0000000..b2927fc
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/judge/ProjectJudgePageDTO.java
@@ -0,0 +1,21 @@
+package com.zhongzhi.dto.judge;
+
+import lombok.Data;
+
+@Data
+public class ProjectJudgePageDTO {
+
+ private Long matchId;
+
+ private String projectGroup;
+
+ private String projectSchedule;
+
+ private String username;
+
+ private Integer status;
+
+ private Integer pageNo;
+
+ private Integer pageSize;
+}
diff --git b/src/main/java/com/zhongzhi/dto/match/MatchDictDTO.java a/src/main/java/com/zhongzhi/dto/match/MatchDictDTO.java
new file mode 100644
index 0000000..a271842
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/match/MatchDictDTO.java
@@ -0,0 +1,45 @@
+package com.zhongzhi.dto.match;
+
+import com.zhongzhi.model.MatchScheduleDO;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class MatchDictDTO {
+
+ private Long id;
+
+ /**
+ * 赛事名称
+ */
+ private String matchName;
+
+ /**
+ * 赛事年份
+ */
+ private String matchDate;
+
+ /**
+ * 报名开始时间
+ */
+ private Date startTime;
+
+ /**
+ * 报名结束时间
+ */
+ private Date endTime;
+
+ /**
+ * 类型
+ */
+ private String matchType;
+
+ private Integer status;
+
+ /**
+ * 时间安排
+ */
+ private List schedule;
+}
diff --git b/src/main/java/com/zhongzhi/dto/match/SelectListPageDTO.java a/src/main/java/com/zhongzhi/dto/match/SelectListPageDTO.java
new file mode 100644
index 0000000..fec1548
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/match/SelectListPageDTO.java
@@ -0,0 +1,11 @@
+package com.zhongzhi.dto.match;
+
+import lombok.Data;
+
+@Data
+public class SelectListPageDTO {
+
+ private Integer pageNo;
+
+ private Integer pageSize;
+}
diff --git b/src/main/java/com/zhongzhi/dto/member/CreateProjectMemberDTO.java a/src/main/java/com/zhongzhi/dto/member/CreateProjectMemberDTO.java
new file mode 100644
index 0000000..b6a1334
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/member/CreateProjectMemberDTO.java
@@ -0,0 +1,90 @@
+package com.zhongzhi.dto.member;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CreateProjectMemberDTO {
+
+ private Long id;
+
+ private String themeName;
+
+ /**
+ * 姓名
+ */
+ private String name;
+
+ /**
+ * 就读学校
+ */
+ private String school;
+
+ /**
+ * 年级
+ */
+ private String grade;
+
+ /**
+ * 身份证
+ */
+ private String idCard;
+
+ /**
+ * 证件类型
+ */
+ private String idCardType;
+
+ /**
+ * 就读专业
+ */
+ private String major;
+
+ /**
+ * 性别
+ */
+ private String sex;
+
+ /**
+ * 学籍号
+ */
+ private String studentNo;
+
+ /**
+ * 手机号
+ */
+ private String telephone;
+
+ /**
+ * 邮箱
+ */
+ private String email;
+
+ private String studyCountry;
+
+ /**
+ * 团队成员
+ */
+ private List teamMember;
+
+ /**
+ * 指导老师
+ */
+ private List mentor;
+
+ /**
+ * 项目组别
+ */
+ private String projectGroup;
+
+ /**
+ * 项目类型
+ */
+ private String projectType;
+
+ private String fiveYears;
+
+ private String nation;
+
+}
diff --git b/src/main/java/com/zhongzhi/dto/member/MentorDTO.java a/src/main/java/com/zhongzhi/dto/member/MentorDTO.java
new file mode 100644
index 0000000..6605e55
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/member/MentorDTO.java
@@ -0,0 +1,41 @@
+package com.zhongzhi.dto.member;
+
+import lombok.Data;
+
+@Data
+public class MentorDTO {
+
+ private Long id;
+
+ /**
+ * 姓名
+ */
+ private String teacherName;
+
+ /**
+ * 工作单位
+ */
+ private String company;
+
+ /**
+ * 职称
+ */
+ private String positionTitle;
+
+ /**
+ * 职务
+ */
+ private String position;
+
+ /**
+ * 手机号
+ */
+ private String telephone;
+
+ /**
+ * 身份证号
+ */
+ private String idCard;
+
+ private String nation;
+}
diff --git b/src/main/java/com/zhongzhi/dto/member/TeamMemberDTO.java a/src/main/java/com/zhongzhi/dto/member/TeamMemberDTO.java
new file mode 100644
index 0000000..7668a70
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/member/TeamMemberDTO.java
@@ -0,0 +1,62 @@
+package com.zhongzhi.dto.member;
+
+import lombok.Data;
+
+@Data
+public class TeamMemberDTO {
+
+ private Long id;
+
+ /**
+ * 姓名
+ */
+ private String teamName;
+
+ /**
+ * 就读学校
+ */
+ private String school;
+
+ /**
+ * 年级
+ */
+ private String grade;
+
+ /**
+ * 就读专业
+ */
+ private String major;
+
+ /**
+ * 性别
+ */
+ private String sex;
+
+ /**
+ * 身份证号
+ */
+ private String idCard;
+
+ /**
+ * 证件类型
+ */
+ private String idCardType;
+
+ /**
+ * 学籍号
+ */
+ private String studentNo;
+
+ /**
+ * 手机号
+ */
+ private String teamTelephone;
+
+ private String email;
+
+ private String contractMethod;
+
+ private String nation;
+
+ private String studyCountry;
+}
diff --git b/src/main/java/com/zhongzhi/dto/message/MessagePageDTO.java a/src/main/java/com/zhongzhi/dto/message/MessagePageDTO.java
new file mode 100644
index 0000000..87a28f7
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/message/MessagePageDTO.java
@@ -0,0 +1,11 @@
+package com.zhongzhi.dto.message;
+
+import lombok.Data;
+
+@Data
+public class MessagePageDTO {
+
+ private Integer pageNo;
+
+ private Integer pageSize;
+}
diff --git b/src/main/java/com/zhongzhi/dto/notice/SmsNoticeDTO.java a/src/main/java/com/zhongzhi/dto/notice/SmsNoticeDTO.java
new file mode 100644
index 0000000..b6026da
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/notice/SmsNoticeDTO.java
@@ -0,0 +1,20 @@
+package com.zhongzhi.dto.notice;
+
+import lombok.Data;
+import java.util.List;
+
+@Data
+public class SmsNoticeDTO {
+
+ private List ids;
+
+ private Long matchId;
+
+ private String projectGroup;
+
+ private String projectSchedule;
+
+ private String projectStatus;
+
+ private String name;
+}
diff --git b/src/main/java/com/zhongzhi/dto/notice/SmsNoticePageDTO.java a/src/main/java/com/zhongzhi/dto/notice/SmsNoticePageDTO.java
new file mode 100644
index 0000000..48750c6
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/notice/SmsNoticePageDTO.java
@@ -0,0 +1,15 @@
+package com.zhongzhi.dto.notice;
+
+import lombok.Data;
+
+@Data
+public class SmsNoticePageDTO {
+
+ private String date;
+
+ private String name;
+
+ private Integer pageNo;
+
+ private Integer pageSize;
+}
diff --git b/src/main/java/com/zhongzhi/dto/period/ProjectReviewPeriodDTO.java a/src/main/java/com/zhongzhi/dto/period/ProjectReviewPeriodDTO.java
new file mode 100644
index 0000000..f7220d8
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/period/ProjectReviewPeriodDTO.java
@@ -0,0 +1,15 @@
+package com.zhongzhi.dto.period;
+
+import lombok.Data;
+
+@Data
+public class ProjectReviewPeriodDTO {
+
+ private Long matchId;
+
+ private String projectGroup;
+
+ private String projectSchedule;
+
+ private String projectProgress;
+}
diff --git b/src/main/java/com/zhongzhi/dto/project/ApproveDTO.java a/src/main/java/com/zhongzhi/dto/project/ApproveDTO.java
new file mode 100644
index 0000000..3eb52ce
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/project/ApproveDTO.java
@@ -0,0 +1,15 @@
+package com.zhongzhi.dto.project;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ApproveDTO {
+
+ private List ids;
+
+ private Long id;
+
+ private Integer projectStatus;
+}
diff --git b/src/main/java/com/zhongzhi/dto/project/AttendCountDTO.java a/src/main/java/com/zhongzhi/dto/project/AttendCountDTO.java
new file mode 100644
index 0000000..94f22bb
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/project/AttendCountDTO.java
@@ -0,0 +1,14 @@
+package com.zhongzhi.dto.project;
+
+import lombok.Data;
+
+@Data
+public class AttendCountDTO {
+
+ private Long userId;
+
+ private String matchDate;
+
+ private Long matchId;
+
+}
diff --git b/src/main/java/com/zhongzhi/dto/project/BatchRollbackDTO.java a/src/main/java/com/zhongzhi/dto/project/BatchRollbackDTO.java
new file mode 100644
index 0000000..75466de
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/project/BatchRollbackDTO.java
@@ -0,0 +1,9 @@
+package com.zhongzhi.dto.project;
+
+import lombok.Data;
+
+@Data
+public class BatchRollbackDTO {
+
+ private Long[] ids;
+}
diff --git b/src/main/java/com/zhongzhi/dto/project/CollegeProjectDTO.java a/src/main/java/com/zhongzhi/dto/project/CollegeProjectDTO.java
new file mode 100644
index 0000000..b0dd6fe
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/project/CollegeProjectDTO.java
@@ -0,0 +1,11 @@
+package com.zhongzhi.dto.project;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CollegeProjectDTO {
+
+ private List id;
+}
diff --git b/src/main/java/com/zhongzhi/dto/project/CreateMainTrackProjectDTO.java a/src/main/java/com/zhongzhi/dto/project/CreateMainTrackProjectDTO.java
new file mode 100644
index 0000000..7438733
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/project/CreateMainTrackProjectDTO.java
@@ -0,0 +1,143 @@
+package com.zhongzhi.dto.project;
+
+import com.zhongzhi.model.ProjectOwnershipStructureDO;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CreateMainTrackProjectDTO {
+
+ /**
+ * 所属领域
+ */
+ private String itemField;
+
+ /**
+ * 项目LOGO
+ */
+ private String logoUri;
+
+ /**
+ * 项目名称
+ */
+ private String projectName;
+
+ /**
+ * 所在地址
+ */
+ private String address;
+
+ /**
+ * 项目概述
+ */
+ private String projectIntro;
+
+ /**
+ * 国家级重大、重点科研项目的科研成果转化项目
+ */
+ private String projectTransform;
+
+ /**
+ * 学校科技成果转化
+ */
+ private String resultTransfer;
+
+ /**
+ * 参赛申报人为科技成果的完成人或所有人
+ */
+ private String competitionOwner;
+
+ /**
+ * 参赛申报人为科技成果的第一完成人或所有人
+ */
+ private String competitionFirst;
+
+ /**
+ * 师生共创
+ */
+ private String bothInvention;
+
+ /**
+ * 项目进展
+ */
+ private String projectProgress;
+
+ /**
+ * 公司名称
+ */
+ private String companyName;
+
+ /**
+ * 法人身份
+ */
+ private String legalPersonStatus;
+
+ /**
+ * 法人姓名
+ */
+ private String legalPersonName;
+
+ /**
+ * 职务
+ */
+ private String position;
+
+ /**
+ * 注册资金
+ */
+ private String registerFund;
+
+ /**
+ * 注册时间
+ */
+ private String registerDate;
+
+ /**
+ * 注册省份
+ */
+ private String registerProvince;
+
+ /**
+ * 注册地址
+ */
+ private String registerAddress;
+
+ /**
+ * 统一社会信用代码
+ */
+ private String unifyCode;
+
+ /**
+ * 股权结构
+ */
+ private List po;
+
+ /**
+ * 隐私设置
+ */
+ private String privacySetting;
+
+ /**
+ * 类型
+ */
+ private String materialsType;
+
+ /**
+ * 大小
+ */
+ private String materialsSize;
+
+ /**
+ * 名称
+ */
+ private String materialsName;
+
+
+ /**
+ * 地址
+ */
+ private String materialsUrl;
+
+ private String languageType;
+}
diff --git b/src/main/java/com/zhongzhi/dto/project/CreateSeedTrackProjectDTO.java a/src/main/java/com/zhongzhi/dto/project/CreateSeedTrackProjectDTO.java
new file mode 100644
index 0000000..70541f5
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/project/CreateSeedTrackProjectDTO.java
@@ -0,0 +1,69 @@
+package com.zhongzhi.dto.project;
+
+import com.zhongzhi.model.ProjectMaterialsDO;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CreateSeedTrackProjectDTO {
+
+ private String themeName;
+
+ private String projectName;
+
+ /**
+ * 组别
+ */
+ private String projectGroup;
+
+ /**
+ * 红色文创组类别
+ */
+ private String culClassification;
+
+ /**
+ * 科技组类别
+ */
+ private List classification;
+
+ /**
+ * 介绍及创新点
+ */
+ private String projectIntro;
+
+ /**
+ * 设计背景
+ */
+ private String projectCreativity;
+
+ /**
+ * 科学设计
+ */
+ private String scientificPrinciple;
+
+ /**
+ * 应用前景
+ */
+ private String applicationProspect;
+
+ /**
+ * 路演形式
+ */
+ private List roadShowForm;
+
+ /**
+ * 创意实施或实验所受条件的限制
+ */
+ private List restriction;
+
+ /**
+ * 项目材料
+ */
+ private List materials;
+
+ /**
+ * 红色文创/科技创新
+ */
+ private String projectProgress;
+}
diff --git b/src/main/java/com/zhongzhi/dto/project/CreateVocationalProjectDTO.java a/src/main/java/com/zhongzhi/dto/project/CreateVocationalProjectDTO.java
new file mode 100644
index 0000000..bcb78f2
--- /dev/null
+++ a/src/main/java/com/zhongzhi/dto/project/CreateVocationalProjectDTO.java
@@ -0,0 +1,208 @@
+package com.zhongzhi.dto.project;
+
+import com.zhongzhi.model.*;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CreateVocationalProjectDTO {
+
+ private Long id;
+
+ /**
+ * 所属领域
+ */
+ private String itemField;
+
+ /**
+ * 项目LOGO
+ */
+ private String logoUri;
+
+ /**
+ * 项目名称
+ */
+ private String projectName;
+
+ /**
+ * 项目概述
+ */
+ private String projectIntro;
+
+ /**
+ * 国家级重大、重点科研项目的科研成果转化项目
+ */
+ private String projectTransform;
+
+ /**
+ * 学校科技成果转化
+ */
+ private String resultTransfer;
+
+ /**
+ * 参赛申报人为科技成果的完成人或所有人
+ */
+ private String competitionOwner;
+
+ /**
+ * 参赛申报人为科技成果的第一完成人或所有人
+ */
+ private String competitionFirst;
+
+ /**
+ * 师生共创
+ */
+ private String bothInvention;
+
+ /**
+ * 项目进展
+ */
+ private String projectProgress;
+
+ /**
+ * 隐私设置
+ */
+ private String privacySetting;
+
+ /**
+ * 类型
+ */
+ private String materialsType;
+
+ /**
+ * 大小
+ */
+ private String materialsSize;
+
+ /**
+ * 名称
+ */
+ private String materialsName;
+
+ private String languageType;
+
+ /**
+ * 地址
+ */
+ private String materialsUrl;
+
+
+
+ /**
+ * 项目PPT地址
+ */
+ private String projectPptUrl;
+
+ /**
+ * 项目PPT类型
+ */
+ private String projectPptType;
+ private String projectPptTypeEn;
+
+ private String projectStage;
+
+ // 公司信息
+ /**
+ * 公司名称
+ */
+ private String companyName;
+
+ /**
+ * 法人姓名
+ */
+ private String legalPersonName;
+
+ /**
+ * 职务
+ */
+ private String position;
+
+ /**
+ * 注册资金
+ */
+ private String registerFund;
+
+ /**
+ * 注册时间
+ */
+ private String registerDate;
+
+ /**
+ * 注册省份
+ */
+ private String registerProvince;
+
+ /**
+ * 注册地址
+ */
+ private String registerAddress;
+
+ /**
+ * 统一社会信用代码
+ */
+ private String unifyCode;
+
+ /**
+ * 财务报表
+ */
+ private String financialStatement;
+
+ /**
+ * 项目是否获得投资
+ */
+ private String investment;
+
+ private String vodUrl;
+
+ /**
+ * 股权结构
+ */
+ private List ownership;
+
+ /**
+ * 专利
+ */
+ private List patent;
+
+ /**
+ * 论文
+ */
+ private List