Author Homepage: Programming Compass
Introduction: high-quality creators in the Java field, CSDN blog experts Java projects, resume templates, learning materials, interview question bank, technical mutual assistance
Get the source code at the end of the article
Item number: BS-XX-105
Development technology: Springboot+springmvc+mybatis+layui
Development tools: idea or eclipse
Database: mysql5.7
Development language: java
JDK version: jdk1.8
This system mainly realizes the functions of personal vaccination management, itinerary management, medical history management, risk area management, nucleic acid test report result reporting, and epidemic news management. The system is divided into two roles: administrator and ordinary user. Administrators can manage all relevant information, while ordinary users can only manage their own vaccinations and other information, and can view epidemic areas and epidemic prevention information released by administrators.
The table structure involved:
The specific functions are shown as follows:
User registration:
user login
Vaccination Administration
case history management
Nucleic acid test report
Itinerary management
Epidemic area management
Epidemic prevention knowledge management
personal data management
System user management
The core code of the system is as follows:
package com.vaccination.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vaccination.entity.CaseHistory;
import com.vaccination.entity.InoculationRecord;
import com.vaccination.entity.User;
import com.vaccination.service.CaseHistoryService;
import com.vaccination.service.UserService;
import com.vaccination.util.PageRequest;
import com.vaccination.util.PageResponse;
import com.vaccination.util.Result;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;
@RestController
public class CaseHistoryController {
@Autowired
private CaseHistoryService caseHistoryService;
@Autowired
private UserService userService;
@PostMapping("/listCaseHistory")
public PageResponse listCaseHistory(HttpServletRequest request, PageRequest page) {
String loginUser = (String) request.getSession().getAttribute("loginUser");
User user = JSONObject.parseObject(loginUser, User.class);
if (user == null) {
PageResponse pageResponse = new PageResponse();
pageResponse.setMsg("请登陆");
return pageResponse;
}
if (user.getRole() == 2) {
user.setId(-1L);
}
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
IPage<CaseHistory> iPage = caseHistoryService.listCaseHistory(new Page<>(page.getPage(), page.getLimit()), user.getId());
List<CaseHistory> records = iPage.getRecords();
records.forEach(item -> {
if (StringUtils.isBlank(item.getUsername()) && item.getUserId() != null) {
User byId = userService.getById(item.getUserId());
if (byId != null) {
item.setUsername(byId.getName());
item.setUserIdentity(byId.getIdentityNum());
}
}
if (item.getHappenTime() != null) {
item.setHappenTimeStr(dateFormat.format(item.getHappenTime()));
}
});
return new PageResponse("0", "请求成功", iPage.getTotal(), records);
}
@GetMapping("/delCaseHistory")
public Result delCaseHistory(Long id) {
caseHistoryService.removeById(id);
return Result.success("删除成功");
}
@PostMapping("/saveCaseHistory")
public Result saveInoculation(CaseHistory record, HttpServletRequest request) throws ParseException {
String loginUser = (String) request.getSession().getAttribute("loginUser");
User user = JSONObject.parseObject(loginUser, User.class);
if (user == null) {
return Result.error("请登陆");
}
record.setUserId(user.getId());
if (StringUtils.isNoneBlank(record.getUsername())){
User byUsername = userService.getByUsername(record.getUsername());
if(byUsername == null) {
User newUser = new User();
newUser.setUsername(record.getUsername());
newUser.setName(record.getUsername());
newUser.setPassword("123456");
newUser.setRole(1);
newUser.setStatus(1);
userService.save(newUser);
byUsername = newUser;
}
record.setUserId(byUsername.getId());
}
if (StringUtils.isNoneBlank(record.getHappenTimeStr())) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
record.setHappenTime(dateFormat.parse(record.getHappenTimeStr()));
}
caseHistoryService.save(record);
return Result.success("添加成功");
}
@PostMapping("/updateCaseHistory")
public Result updateInoculation(CaseHistory record) throws ParseException {
if (record.getId() == null) {
return Result.error("更新失败");
}
if (StringUtils.isNoneBlank(record.getHappenTimeStr())) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
record.setHappenTime(dateFormat.parse(record.getHappenTimeStr()));
}else {
record.setHappenTime(null);
}
caseHistoryService.updateById(record);
return Result.success("更新成功");
}
}
package com.vaccination.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vaccination.entity.InoculationRecord;
import com.vaccination.entity.User;
import com.vaccination.service.InoculationRecordService;
import com.vaccination.service.UserService;
import com.vaccination.util.PageRequest;
import com.vaccination.util.PageResponse;
import com.vaccination.util.Result;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;
@RestController
public class InoculationController {
@Autowired
private InoculationRecordService inoculationRecordService;
@Autowired
private UserService userService;
@PostMapping("/listInoculations")
public PageResponse listInoculations(HttpServletRequest request, PageRequest page) {
String loginUser = (String) request.getSession().getAttribute("loginUser");
User user = JSONObject.parseObject(loginUser, User.class);
if (user == null) {
PageResponse pageResponse = new PageResponse();
pageResponse.setMsg("请登陆");
return pageResponse;
}
if (user.getRole() == 2) {
user.setId(-1L);
}
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
IPage<InoculationRecord> iPage = inoculationRecordService.listInoculations(new Page<>(page.getPage(), page.getLimit()), user.getId());
List<InoculationRecord> records = iPage.getRecords();
records.forEach(item -> {
if (StringUtils.isBlank(item.getUsername()) && item.getUserId() != null) {
User byId = userService.getById(item.getUserId());
if (byId != null) {
item.setUsername(byId.getName());
item.setUserIdentity(byId.getIdentityNum());
}
}
if (item.getInoculationTimeOne() != null) {
item.setInoculationTimeStrOne(dateFormat.format(item.getInoculationTimeOne()));
}
if (item.getInoculationTimeTwo() != null) {
item.setInoculationTimeStrTwo(dateFormat.format(item.getInoculationTimeTwo()));
}
if (item.getInoculationTimeThree() != null) {
item.setInoculationTimeStrThree(dateFormat.format(item.getInoculationTimeThree()));
}
});
return new PageResponse("0", "请求成功", iPage.getTotal(), records);
}
@GetMapping("/delInoculation")
public Result delInoculation(Long id) {
inoculationRecordService.removeById(id);
return Result.success("删除成功");
}
@PostMapping("/saveInoculation")
public Result saveInoculation(InoculationRecord record, HttpServletRequest request) throws ParseException {
String loginUser = (String) request.getSession().getAttribute("loginUser");
User user = JSONObject.parseObject(loginUser, User.class);
if (user == null) {
return Result.error("请登陆");
}
if(record.getStatusThree() == 1 && (record.getStatusTwo() == 2 || record.getStatusOne() == 2)) {
return Result.error("请先接种第一二针");
}
if(record.getStatusTwo() == 1 && record.getStatusTwo() == 2) {
return Result.error("请先接种第一针");
}
record.setUserId(user.getId());
if (StringUtils.isNoneBlank(record.getUsername())){
User byUsername = userService.getByUsername(record.getUsername());
if(byUsername == null) {
User newUser = new User();
newUser.setUsername(record.getUsername());
newUser.setName(record.getUsername());
newUser.setPassword("123456");
newUser.setRole(1);
newUser.setStatus(1);
userService.save(newUser);
byUsername = newUser;
}
record.setUserId(byUsername.getId());
}
if (StringUtils.isNoneBlank(record.getInoculationTimeStrOne())) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
record.setInoculationTimeOne(dateFormat.parse(record.getInoculationTimeStrOne()));
}
if (StringUtils.isNoneBlank(record.getInoculationTimeStrTwo())) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
record.setInoculationTimeTwo(dateFormat.parse(record.getInoculationTimeStrTwo()));
}
if (StringUtils.isNoneBlank(record.getInoculationTimeStrThree())) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
record.setInoculationTimeThree(dateFormat.parse(record.getInoculationTimeStrThree()));
}
inoculationRecordService.save(record);
return Result.success("添加成功");
}
@PostMapping("/updateInoculation")
public Result updateInoculation(InoculationRecord record) throws ParseException {
if (record.getId() == null) {
return Result.error("更新失败");
}
if(record.getStatusThree() == 1 && (record.getStatusTwo() == 2 || record.getStatusOne() == 2)) {
return Result.error("请先接种第一二针");
}
if(record.getStatusTwo() == 1 && record.getStatusTwo() == 2) {
return Result.error("请先接种第一针");
}
if (StringUtils.isNoneBlank(record.getInoculationTimeStrOne())) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
record.setInoculationTimeOne(dateFormat.parse(record.getInoculationTimeStrOne()));
}
if (StringUtils.isNoneBlank(record.getInoculationTimeStrTwo())) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
record.setInoculationTimeTwo(dateFormat.parse(record.getInoculationTimeStrTwo()));
}
if (StringUtils.isNoneBlank(record.getInoculationTimeStrThree())) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
record.setInoculationTimeThree(dateFormat.parse(record.getInoculationTimeStrThree()));
}
inoculationRecordService.updateById(record);
return Result.success("更新成功");
}
}
package com.vaccination.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vaccination.entity.EpidemicPreventionKnowledge;
import com.vaccination.entity.User;
import com.vaccination.service.EpidemicPreventionKnowledgeService;
import com.vaccination.service.UserService;
import com.vaccination.util.PageRequest;
import com.vaccination.util.PageResponse;
import com.vaccination.util.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@RestController
public class KnowledgeController {
@Autowired
private EpidemicPreventionKnowledgeService epidemicPreventionKnowledgeService;
@Autowired
private UserService userService;
@PostMapping("/listKnowledge")
public PageResponse listKnowledge(HttpServletRequest request, PageRequest page) {
String loginUser = (String) request.getSession().getAttribute("loginUser");
User user = JSONObject.parseObject(loginUser, User.class);
if (user == null) {
PageResponse pageResponse = new PageResponse();
pageResponse.setMsg("请登陆");
return pageResponse;
}
if (user.getRole() == 2) {
user.setId(-1L);
}
IPage<EpidemicPreventionKnowledge> iPage = epidemicPreventionKnowledgeService.listKnowledge(new Page<>(page.getPage(), page.getLimit()));
List<EpidemicPreventionKnowledge> records = iPage.getRecords();
records.forEach(item-> {
if (item.getSendUserId() == null) {
return;
}
User byId = userService.getById(item.getSendUserId());
if (byId == null) {
return;
}
item.setUsername(byId.getName());
});
return new PageResponse("0", "请求成功", iPage.getTotal(), records);
}
@GetMapping("/delKnowledge")
public Result delCaseHistory(Long id, HttpServletRequest request) {
String loginUser = (String) request.getSession().getAttribute("loginUser");
User user = JSONObject.parseObject(loginUser, User.class);
if (user == null) {
return Result.error("请登陆");
}
if (user.getRole() == 1) {
return Result.error("非管理员用户,删除失败");
}
epidemicPreventionKnowledgeService.removeById(id);
return Result.success("删除成功");
}
@PostMapping("/saveKnowledge")
public Result saveInoculation(EpidemicPreventionKnowledge record, HttpServletRequest request) {
String loginUser = (String) request.getSession().getAttribute("loginUser");
User user = JSONObject.parseObject(loginUser, User.class);
if (user == null) {
return Result.error("请登陆");
}
if (user.getRole() == 1) {
return Result.error("非管理员用户,添加失败");
}
record.setSendUserId(user.getId());
epidemicPreventionKnowledgeService.save(record);
return Result.success("添加成功");
}
@PostMapping("/updateKnowledge")
public Result updateInoculation(EpidemicPreventionKnowledge record, HttpServletRequest request) {
String loginUser = (String) request.getSession().getAttribute("loginUser");
User user = JSONObject.parseObject(loginUser, User.class);
if (user == null) {
return Result.error("请登陆");
}
if (user.getRole() == 1) {
return Result.error("非管理员用户,修改失败");
}
if (record.getId() == null) {
return Result.error("更新失败");
}
epidemicPreventionKnowledgeService.updateById(record);
return Result.success("更新成功");
}
}
package com.vaccination.controller;
import com.alibaba.fastjson.JSONObject;
import com.sun.org.apache.xpath.internal.operations.Mod;
import com.vaccination.entity.EpidemicPreventionKnowledge;
import com.vaccination.entity.User;
import com.vaccination.service.EpidemicPreventionKnowledgeService;
import com.vaccination.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.time.OffsetDateTime;
import java.util.List;
@Controller
public class PageController {
@Autowired
EpidemicPreventionKnowledgeService epidemicPreventionKnowledgeService;
@Autowired
UserService userService;
@GetMapping("/")
public String index() {
return "login";
}
@GetMapping("/toReg")
public String toReg() {
return "reg";
}
@GetMapping("/toInoculation")
public ModelAndView toInoculation(ModelAndView mv, HttpServletRequest request) {
mv.setViewName("yimiao");
return getModelAndView(mv, request);
}
@GetMapping("/toCaseHistory")
public ModelAndView toCaseHistory(ModelAndView mv, HttpServletRequest request) {
mv.setViewName("case_history");
return getModelAndView(mv, request);
}
@GetMapping("/toTestReport")
public ModelAndView toTestReport(ModelAndView mv, HttpServletRequest request) {
mv.setViewName("nucleic_test_report");
return getModelAndView(mv, request);
}
@GetMapping("/toTravel")
public ModelAndView toTravel(ModelAndView mv, HttpServletRequest request) {
mv.setViewName("travel");
return getModelAndView(mv, request);
}
@GetMapping("/toRiskArea")
public ModelAndView toRiskArea(ModelAndView mv, HttpServletRequest request) {
mv.setViewName("risk_area");
return getModelAndView(mv, request);
}
@GetMapping("/toKnowledge")
public ModelAndView toKnowledge(ModelAndView mv, HttpServletRequest request) {
String loginUser = (String) request.getSession().getAttribute("loginUser");
User user = JSONObject.parseObject(loginUser, User.class);
if (user == null ){
mv.addObject("msg", "请登陆");
mv.setViewName("login");
return mv;
}
if (user.getRole() == 2) {
mv.setViewName("knowledge");
mv.addObject("isAdmin", true);
return mv;
}
List<EpidemicPreventionKnowledge> list = epidemicPreventionKnowledgeService.list();
list.forEach(item -> {
if (item.getSendUserId() == null) {
return;
}
User byId = userService.getById(item.getSendUserId());
if (byId == null) {
return;
}
item.setUsername(byId.getName());
});
mv.addObject("knowledgeList", list);
mv.setViewName("knowledge_user");
return mv;
}
private ModelAndView getModelAndView(ModelAndView mv, HttpServletRequest request) {
String loginUser = (String) request.getSession().getAttribute("loginUser");
User user = JSONObject.parseObject(loginUser, User.class);
if (user == null ){
mv.addObject("msg", "请登陆");
mv.setViewName("login");
return mv;
}
if (user.getRole() == 2) {
mv.addObject("isAdmin", true);
}else {
mv.addObject("isAdmin", false);
}
return mv;
}
@GetMapping("/toUserManage")
public String toUserManage() {
return "user_manage";
}
@GetMapping("/toEditInoculation")
public String toEditInoculation() {
return "editInoculation";
}
@GetMapping("/toEditCaseHistory")
public String toEditCaseHistory() {
return "editCaseHistory";
}
@GetMapping("/toEditTestReport")
public String toEditTestReport() {
return "editTestReport";
}
@GetMapping("/toEditTravel")
public String toEditTravel() {
return "editTravel";
}
@GetMapping("/toEditRiskArea")
public String toEditRiskArea() {
return "editRiskArea";
}
@GetMapping("/toEditKnowledge")
public String editKnowledge() {
return "editKnowledge";
}
}