微信小程序|Springboot+Node+Vue实现学科竞赛管理系统(二)

简介: 微信小程序|Springboot+Node+Vue实现学科竞赛管理系统

微信小程序|Springboot+Node+Vue实现学科竞赛管理系统(一)https://developer.aliyun.com/article/1423239


四,核心代码展示

1. package com.sang.subjectcompetition.controller;
2. 
3. import com.sang.subjectcompetition.entity.Comp;
4. import com.sang.subjectcompetition.entity.Project;
5. import com.sang.subjectcompetition.entity.Teacher_Project;
6. import com.sang.subjectcompetition.entity.resultInfo.CompResult;
7. import com.sang.subjectcompetition.service.CompService;
8. import com.sang.subjectcompetition.service.ProjectService;
9. import org.apache.logging.log4j.util.PropertySource;
10. import org.springframework.beans.factory.annotation.Autowired;
11. import org.springframework.web.bind.annotation.*;
12. 
13. import java.util.Comparator;
14. import java.util.List;
15. 
16. @RestController
17. @RequestMapping("/comp")
18. public class CompController {
19. 
20. @Autowired
21. private CompService compService;
22. 
23. @Autowired
24. private ProjectService projectService;
25. 
26. /**
27.      * 返回全部的竞赛信息
28.      * @return
29.      */
30. @PostMapping("/getAllComps")
31. public List<Comp> selectAllComp(){
32.         List<Comp> allComps = compService.getAllComps();
33.         allComps.sort(Comparator.naturalOrder());
34. return allComps;
35.     }
36. 
37. /**
38.      * 发布竞赛/更新
39.      * @param comp
40.      * @return
41.      */
42. @PostMapping("/addComp")
43. public String addComp(Comp comp){
44. CompResult compResult = compService.createComp(comp);
45. return compResult.getMessage();
46.     }
47. 
48. /**
49.      * 多条件模糊查询
50.      * @return
51.      */
52. @PostMapping("/moreSearch")
53. public List<Comp> moreSearch(Comp comp){
54.         String compName=comp.getCompName();
55.         String organizer=comp.getOrganizer();
56.         Integer level=comp.getLevel();
57.         String subjectType=comp.getSubjectType();
58.         String place=comp.getPlace();
59.         Integer compState=comp.getCompState();
60. return compService.getCompsBySelf(compName,organizer,level,subjectType,place,compState);
61.     }
62. 
63. /**
64.      * 根据Id返回竞赛的项目
65.      */
66. @GetMapping("/getProjectLists/{compId}")
67. public List<Project> getProjectLists(@PathVariable Integer compId){
68.         List<Project> projectsBycompId = projectService.getProjectsBycompId(compId);
69. return projectService.getProjectsBycompId(compId);
70.     }
71. 
72. }
1. package com.sang.subjectcompetition.controller;
2. 
3. import com.sang.subjectcompetition.entity.*;
4. import com.sang.subjectcompetition.entity.resultInfo.MessageResult;
5. import com.sang.subjectcompetition.respository.AdminRepository;
6. import com.sang.subjectcompetition.respository.CollegeRepository;
7. import com.sang.subjectcompetition.respository.StudentRepository;
8. import com.sang.subjectcompetition.respository.TeacherRepository;
9. import com.sang.subjectcompetition.service.MessageService;
10. import org.springframework.beans.factory.annotation.Autowired;
11. import org.springframework.web.bind.annotation.GetMapping;
12. import org.springframework.web.bind.annotation.PathVariable;
13. import org.springframework.web.bind.annotation.RequestMapping;
14. import org.springframework.web.bind.annotation.RestController;
15. 
16. import java.util.ArrayList;
17. import java.util.HashMap;
18. import java.util.List;
19. import java.util.Map;
20. 
21. @RestController
22. @RequestMapping("/msg")
23. public class MessageController {
24. 
25. @Autowired
26. private MessageService messageService;
27. 
28. @Autowired
29. private AdminRepository adminRepository;
30. 
31. @Autowired
32. private StudentRepository studentRepository;
33. 
34. @Autowired
35. private CollegeRepository collegeRepository;
36. 
37. @Autowired
38. private TeacherRepository teacherRepository;
39. 
40. @GetMapping("/getUnReadListPopup/{receiver}")
41. public List<Message> getUnReadListPopup(@PathVariable String receiver ){
42. return messageService.findUnReadMessage(receiver);
43.     }
44. 
45. @GetMapping("/getUnReadList/{receive}")
46. public List<Map<String ,Object>> getUnReadList(@PathVariable String receive){
47.         List<Map<String ,Object>> result=new ArrayList<>();
48.         List<Message> unReadMessage = messageService.findUnReadMessage(receive);
49. for (Message message : unReadMessage) {
50.             Map<String ,Object> map=new HashMap<>();
51.             map.put("id",message.getId());
52.             map.put("date",message.getMsgDate());
53.             map.put("title",message.getTitle());
54.             map.put("content",message.getContent());
55. if(message.getSenderRole()==0){
56. Student student = studentRepository.findStudentByTargetId(message.getSender());
57.                 map.put("sendUsername",student.getUsername());
58.                 map.put("sendName",student.getNickname());
59.             }else if(message.getSenderRole()==1){
60. Teacher teacher = teacherRepository.findTeacherByTargetId(message.getSender());
61.                 map.put("sendUsername",teacher.getUsername());
62.                 map.put("sendName",teacher.getNickname());
63.             }else if(message.getSenderRole()==2){
64. College college = collegeRepository.findCollegeByTargetId(message.getSender());
65.                 map.put("sendUsername",college.getUsername());
66.                 map.put("sendName",college.getNickname());
67.             }else{
68. Admin admin = adminRepository.findAdminByTargetId(message.getSender());
69.                 map.put("sendUsername",admin.getUsername());
70.                 map.put("sendName",admin.getNickname());
71.             }
72.             result.add(map);
73.         }
74. return result;
75.     }
76. 
77. @GetMapping("/getReadList/{receive}")
78. public List<Map<String ,Object>> getReadList(@PathVariable String receive){
79.         List<Map<String ,Object>> result=new ArrayList<>();
80.         List<Message> readMessage = messageService.findReadMessage(receive);
81. for (Message message : readMessage) {
82.             Map<String ,Object> map=new HashMap<>();
83.             map.put("id",message.getId());
84.             map.put("date",message.getMsgDate());
85.             map.put("title",message.getTitle());
86.             map.put("content",message.getContent());
87. if(message.getSenderRole()==0){
88. Student student = studentRepository.findStudentByTargetId(message.getSender());
89.                 map.put("sendUsername",student.getUsername());
90.                 map.put("sendName",student.getNickname());
91.             }else if(message.getSenderRole()==1){
92. Teacher teacher = teacherRepository.findTeacherByTargetId(message.getSender());
93.                 map.put("sendUsername",teacher.getUsername());
94.                 map.put("sendName",teacher.getNickname());
95.             }else if(message.getSenderRole()==2){
96. College college = collegeRepository.findCollegeByTargetId(message.getSender());
97.                 map.put("sendUsername",college.getUsername());
98.                 map.put("sendName",college.getNickname());
99.             }else{
100. Admin admin = adminRepository.findAdminByTargetId(message.getSender());
101.                 map.put("sendUsername",admin.getUsername());
102.                 map.put("sendName",admin.getNickname());
103.             }
104.             result.add(map);
105.         }
106. return result;
107.     }
108. 
109. @GetMapping("/markMessage/{messageId}")
110. public MessageResult markMessage(@PathVariable Integer messageId){
111. return messageService.markRead(messageId);
112.     }
113. 
114. @GetMapping("/deleteMessage/{messageId}")
115. public MessageResult deleteMessage(@PathVariable Integer messageId){
116. return messageService.deleteMessage(messageId);
117.     }
118. 
119. }
1. package com.sang.subjectcompetition.controller;
2. 
3. import com.sang.subjectcompetition.entity.Project;
4. import com.sang.subjectcompetition.entity.resultInfo.ProResult;
5. import com.sang.subjectcompetition.service.ProjectService;
6. import com.sang.subjectcompetition.service.StudentService;
7. import com.sang.subjectcompetition.service.TeacherService;
8. import org.springframework.beans.factory.annotation.Autowired;
9. import org.springframework.web.bind.annotation.*;
10. 
11. import java.util.Comparator;
12. import java.util.List;
13. import java.util.TreeSet;
14. 
15. /**
16.  * 项目管理
17.  */
18. @RestController
19. @RequestMapping("/project")
20. public class ProjectController {
21. @Autowired
22. private ProjectService projectService;
23. 
24. @Autowired
25. private TeacherService teacherService;
26. 
27. @Autowired
28. private StudentService studentService;
29. 
30. /**
31.      * 得到参加项目的老师
32.      * @param projectId
33.      * @return
34.      */
35. @GetMapping("/getProjectJoinTeacher/{projectId}")
36. public List getProjectJoinTeacher(@PathVariable Integer projectId){
37. return projectService.getProjectJoinTeacher(projectId);
38.     }
39. 
40. /**
41.      * 得到参加项目的学生
42.      * @param projectId
43.      * @return
44.      */
45. @GetMapping("/getProjectJoinStudent/{projectId}")
46. public List getProjectJoinStudent(@PathVariable Integer projectId){
47. return projectService.getProjectJoinStudent(projectId);
48.     }
49. 
50. /**
51.      * 根据学院id来得到模糊查询
52.      * @param project
53.      * @param collegeId
54.      * @return
55.      */
56. @PostMapping("/getMoreSearchProjectByCollege")
57. public List<Project> getMoreSearchProjectByCollege(Project project,Integer collegeId){
58.         List<Project> moreSearchProjectByCollege = projectService.getMoreSearchProjectByCollege(collegeId, project);
59.         moreSearchProjectByCollege.sort(Comparator.naturalOrder());
60. return moreSearchProjectByCollege;
61.     }
62. 
63. /**
64.      * 根据学院id来得到模糊查询
65.      * @param project
66.      * @param teacherId
67.      * @return
68.      */
69. @PostMapping("/getMoreSearchProjectByTeacher")
70. public List<Project> getMoreSearchProjectByTeacher(Project project,Integer teacherId){
71.         Integer collegeId=teacherService.getTeacherById(teacherId).getCollege().getId();
72. 
73.         List<Project> projects = projectService.getMoreSearchProjectByCollege(collegeId, project);
74.         projects.sort(Comparator.naturalOrder());
75. return projects;
76.     }
77. 
78. /**
79.      * 根据学院id来得到模糊查询
80.      * @param project
81.      * @param studentId
82.      * @return
83.      */
84. @PostMapping("/getMoreSearchProjectByStudent")
85. public List<Project> getMoreSearchProjectByStudent(Project project,Integer studentId){
86.         Integer collegeId=studentService.getStudentById(studentId).getCollege().getId();
87.         List<Project> moreSearchProjectByCollege = projectService.getMoreSearchProjectByCollege(collegeId, project);
88.         moreSearchProjectByCollege.sort(Comparator.naturalOrder());
89. return moreSearchProjectByCollege;
90.     }
91. 
92. /**
93.      * 根据学院id来得到模糊查询
94.      * @param project
95.      * @return
96.      */
97. @PostMapping("/getMoreSearchAllProjects")
98. public List<Project> getMoreSearchAllProjects(Project project){
99.         List<Project> moreSearchAllProject = projectService.getMoreSearchAllProject(project);
100.         moreSearchAllProject.sort(Comparator.naturalOrder());
101. return moreSearchAllProject;
102.     }
103. 
104. /**
105.      * 得到学生参与的项目集合
106.      * @param studentId
107.      * @return
108.      */
109. @GetMapping("/getStudentProjects/{studentId}")
110. public List<Project> getStudentProjects(@PathVariable Integer studentId){
111.         List<Project> studentProjects = projectService.getStudentProjects(studentId);
112.         studentProjects.sort(Comparator.naturalOrder());
113. return studentProjects;
114.     }
115. 
116. /**
117.      * 得到教师领队的项目
118.      * @param teacherId
119.      * @return
120.      */
121. @GetMapping("/getTeacherJoinProjects/{teacherId}")
122. public List<Project> getTeacherJoinProjects(@PathVariable Integer teacherId){
123.         List<Project> teacherJoinProjects = projectService.getTeacherJoinProjects(teacherId);
124.         teacherJoinProjects.sort(Comparator.naturalOrder());
125. return teacherJoinProjects;
126.     }
127. 
128. /**
129.      * 解散项目组
130.      * @param projectId
131.      * @return
132.      */
133. @GetMapping("/invokeProject/{projectId}")
134. public ProResult invokeProject(@PathVariable Integer projectId) {
135. return teacherService.invokeProject(projectId);
136.     }
137. 
138. }

五,项目总结

本项目设计功能丰富,所使用的技术比较符合现在毕业设计的要求,使用springboot开发后台服务接口,使用Node+Vue开发前端操作界面,并使用微信小程序开发小程序端供用户使用。项目比较适合做毕业设计使用。

相关文章
|
6天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
50 13
|
14天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
1月前
|
XML Java 数据库连接
SpringBoot集成Flowable:打造强大的工作流管理系统
在企业级应用开发中,工作流管理是一个核心组件,它能够帮助我们定义、执行和管理业务流程。Flowable是一个开源的工作流和业务流程管理(BPM)平台,它提供了强大的工作流引擎和建模工具。结合SpringBoot,我们可以快速构建一个高效、灵活的工作流管理系统。本文将探讨如何将Flowable集成到SpringBoot应用中,并展示其强大的功能。
178 1
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
80 2
|
1月前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
44 0
|
28天前
|
Web App开发 JavaScript 前端开发
2024年5月node.js安装(winmac系统)保姆级教程
本篇博客为2024年5月版Node.js安装教程,适用于Windows和Mac系统。作者是一名熟悉JavaScript与Vue的大一学生,分享了Node.js的基本介绍、下载链接及简单安装步骤。安装完成后,通过终端命令`node -v`验证版本即可确认安装成功。欢迎关注作者,获取更多技术文章。
27 2
2024年5月node.js安装(winmac系统)保姆级教程
|
26天前
|
存储 JavaScript 搜索推荐
Node框架的安装和配置方法
安装 Node 框架是进行 Node 开发的第一步,通过正确的安装和配置,可以为后续的开发工作提供良好的基础。在安装过程中,需要仔细阅读相关文档和提示,遇到问题及时解决,以确保安装顺利完成。
76 2
|
3月前
|
JavaScript
NodeJs的安装
文章介绍了Node.js的安装步骤和如何创建第一个Node.js应用。包括从官网下载安装包、安装过程、验证安装是否成功,以及使用Node.js监听端口构建简单服务器的示例代码。
NodeJs的安装
|
2月前
|
JavaScript 开发工具 git
已安装nodejs但是安装hexo报错
已安装nodejs但是安装hexo报错
38 2
|
2月前
|
JavaScript 算法 内存技术
如何降低node.js版本(nvm下载安装与使用)
如何降低node.js版本(nvm下载安装与使用)