Springboot+vue项目疫情社区防控系统
文末獲取源碼
開發語言:Java
開發工具:IDEA /Eclipse
數據庫:MYSQL5.7
應用服務:Tomcat7/Tomcat8
使用框架:springboot+vue
JDK版本:jdk1.8
本疫情防控系統是結合當前新冠疫情期間的具體需求而開發的,本系統使用Java語言,springboot框架和MySQL數據庫來進行開發,通過本系統可以對新冠疫情期間居家防護的人提供更多的資訊,從而在一定程度上防止了疫情的蔓延。
疫情防控系統分為前臺和后臺兩部分,其中前臺部分主要是給用戶使用的,主要功能包括,用戶的注冊登錄,查看疫情公告,在線交流,志愿者報名,體溫上報管理,行蹤上報管理,健康碼上傳管理,異常上報管理等功能,后臺管理員功能主要包括個人中心,用戶管理,體溫上報管理,軌跡上報管理,健康碼上傳管理,收費類型管理,收費信息管理,收費信息,志愿者報名管理,報名信息管理,異常上報管理,系統論壇,系統管理等功能,通過這些功能可以更好的對疫情進行防控。
系統結構
疫情防控系統分為前臺和后臺兩部分,其中前臺部分主要是給用戶使用的,主要功能包括,用戶的注冊登錄,查看疫情公告,在線交流,志愿者報名,體溫上報管理,行蹤上報管理,健康碼上傳管理,異常上報管理等功能,后臺管理員功能主要包括個人中心,用戶管理,體溫上報管理,軌跡上報管理,健康碼上傳管理,收費類型管理,收費信息管理,收費信息,志愿者報名管理,報名信息管理,異常上報管理,系統論壇,系統管理等功能,通過這些功能可以更好的對疫情進行防控。具體功能如下圖所示
疫情防控系統前臺部分設計
系統首頁
本系統是一個讓用戶疫情期間居家防護的系統,首頁設計的時候我們加入了banner和圖片輪播,并對最新的一些信息進行了推薦,方便用戶更加直觀方便的了解到想要的信息 ,疫情防控系統首頁部分如圖
?
?
用戶在上一部分中點擊了疫情公告的圖片之后可以看到疫情公告的詳情信息,在疫情公告的詳情信息中可以了解到其具體的內容,疫情公告詳情界面如圖?
?
在線論壇
本系統中的用戶通過點擊導航菜單的論壇交流信息可以看到本系統內相關的最新論壇交流信息,在論壇交流列表中我們通過列表的形式展示了論壇交流的摘要內容,這樣論壇交流看起來更加的豐富多彩,論壇列表界面如圖?
用戶在上一部分中點擊了論壇交流的標題之后可以看到論壇交流的詳情信息,在論壇交流的詳情信息中可以了解到其具體的內容,并且可以進行評論回復,論壇詳情界面如圖?
?
疫情防控系統后臺部分設計
管理員登錄模塊的實現
?疫情防控系統中的管理員通過登錄后可以系統的所有信息進行管理,在管理登錄界面我們是通過用戶名+密碼的方式進行驗證的,當用戶輸入登錄信息并點擊[登錄]按鈕之后系統將這些信息提交給login.jsp并到管理員信息表中查詢信息是否存在,如果輸入的用戶名+密碼正確即可成功的登錄到系統中,否則系統給出提示要求重新登錄。疫情防控系統管理員登陸界面如圖?
?
?
?
?
?
用戶?
?
?
?部分核心代碼:
package com.controller;import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Map; import java.util.HashMap; import java.util.Iterator; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.annotation.IgnoreAuth;import com.entity.BaomingxinxiEntity; import com.entity.view.BaomingxinxiView;import com.service.BaomingxinxiService; import com.service.TokenService; import com.utils.PageUtils; import com.utils.R; import com.utils.MD5Util; import com.utils.MPUtil; import com.utils.CommonUtil;/*** 報名信息* 后端接口* @author * @email * @date 2021-04-07 16:26:16*/ @RestController @RequestMapping("/baomingxinxi") public class BaomingxinxiController {@Autowiredprivate BaomingxinxiService baomingxinxiService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,BaomingxinxiEntity baomingxinxi,HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yonghu")) {baomingxinxi.setZhanghao((String)request.getSession().getAttribute("username"));}EntityWrapper<BaomingxinxiEntity> ew = new EntityWrapper<BaomingxinxiEntity>();PageUtils page = baomingxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, baomingxinxi), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,BaomingxinxiEntity baomingxinxi, HttpServletRequest request){EntityWrapper<BaomingxinxiEntity> ew = new EntityWrapper<BaomingxinxiEntity>();PageUtils page = baomingxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, baomingxinxi), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( BaomingxinxiEntity baomingxinxi){EntityWrapper<BaomingxinxiEntity> ew = new EntityWrapper<BaomingxinxiEntity>();ew.allEq(MPUtil.allEQMapPre( baomingxinxi, "baomingxinxi")); return R.ok().put("data", baomingxinxiService.selectListView(ew));}/*** 查詢*/@RequestMapping("/query")public R query(BaomingxinxiEntity baomingxinxi){EntityWrapper< BaomingxinxiEntity> ew = new EntityWrapper< BaomingxinxiEntity>();ew.allEq(MPUtil.allEQMapPre( baomingxinxi, "baomingxinxi")); BaomingxinxiView baomingxinxiView = baomingxinxiService.selectView(ew);return R.ok("查詢報名信息成功").put("data", baomingxinxiView);}/*** 后端詳情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){BaomingxinxiEntity baomingxinxi = baomingxinxiService.selectById(id);return R.ok().put("data", baomingxinxi);}/*** 前端詳情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){BaomingxinxiEntity baomingxinxi = baomingxinxiService.selectById(id);return R.ok().put("data", baomingxinxi);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody BaomingxinxiEntity baomingxinxi, HttpServletRequest request){baomingxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(baomingxinxi);baomingxinxiService.insert(baomingxinxi);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody BaomingxinxiEntity baomingxinxi, HttpServletRequest request){baomingxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(baomingxinxi);baomingxinxiService.insert(baomingxinxi);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody BaomingxinxiEntity baomingxinxi, HttpServletRequest request){//ValidatorUtils.validateEntity(baomingxinxi);baomingxinxiService.updateById(baomingxinxi);//全部更新return R.ok();}/*** 刪除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){baomingxinxiService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<BaomingxinxiEntity> wrapper = new EntityWrapper<BaomingxinxiEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yonghu")) {wrapper.eq("zhanghao", (String)request.getSession().getAttribute("username"));}int count = baomingxinxiService.selectCount(wrapper);return R.ok().put("count", count);}}?
總結
以上是生活随笔為你收集整理的Springboot+vue项目疫情社区防控系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx +Tomcat 实现动静态分
- 下一篇: skynet源码阅读5--协程调度模型