日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

【计算机毕业设计】疫情社区管理系统的设计与实现 (新增-健康打卡)

發布時間:2023/12/9 windows 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【计算机毕业设计】疫情社区管理系统的设计与实现 (新增-健康打卡) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 介紹
  • 🚀 軟件架構
  • 🚀 開發環境
  • 🚀 界面效果圖
  • 🚀 項目結構
  • 🚀 代碼實現:
  • 🌟思維導圖

介紹

基于Java的疫情社區人員流動管理系統。

🚀 軟件架構

系統使用前后端分離,后端編寫接口,提供數據。前端調用接口獲取數據,根據要求在頁面上進行渲染。

由于使用前后端分離,就要解決跨域訪問的問題,所以用JWT進行數據的傳送。

用shiro框架進行權限的控制,根據用戶擁有的角色,分配角色對應的權限。

在用戶注冊時,會有注冊碼,注冊碼有兩種分類,一種是管理員,一種是超級管理員,根據注冊碼給用戶分配角色。

管理員有添加、查詢,刪除居民或者訪客信息的權限,也有查詢住戶地址權限。而超級管理員擁有系統所有的權限。

🚀 開發環境

1.系統用Java語言開發,前端用Vue,后端用Spring Boot框架;

2.開發工具:IDEA、Navicat Premium 15、Postman等;

3.技術:MySQL、Redis、Spring、Spring Boot、MyBatis、JWT(Shiro)、Vue等

🚀 界面效果圖

🚀 登錄:

🚀 首頁:(新增-健康打卡)


🌈 管理員:



🌈 用戶角色 (健康打卡數據分析、區域數據分析、社區人員分析)




🚀 健康打卡 (針對用戶角色)


🚀 個人信息(圖片上傳):


🚀 住戶管理:


🚀 訪客出入登記:


🚀 訪客出入信息管理:


🚀 文件管理:


🚀 垃圾箱(數據恢復):


🚀 項目結構

🚀 代碼實現:

🌈 登錄:

@RequestMapping("/user") @RestController public class LoginController {final UserService userService;final MenuService menuService;public LoginController(UserService userService, MenuService menuService){this.userService = userService;this.menuService = menuService;}@RequestMapping(value = "/login",method = RequestMethod.POST)public APIResult login(@RequestBody User user){Subject subject = SecurityUtils.getSubject();try {subject.login(new UsernamePasswordToken(user.getAccount(),user.getPassword()));// 獲取當前登錄用戶User loginuser = userService.findRolesByAccount(user.getAccount());List<Menu> menuByRoleName = menuService.findMenuByRoleName(loginuser.getRoleName());loginuser.setMenus(menuByRoleName);if (loginuser.getStatus() == ConstantsUtils.CODE_STATUS_1){return APIResult.notFound("該用戶已被禁用或者拉入黑名單,請聯系管理員");}loginuser.setPassword(null);loginuser.setCodeText(null);String token = TokenUtil.createToken(loginuser.getAccount());return new APIResult(ConstantsUtils.CODE_STATUS_200,token,1,loginuser);} catch (UnknownAccountException e) {e.printStackTrace();return APIResult.notFound("用戶名錯誤");} catch (IncorrectCredentialsException e) {e.printStackTrace();return APIResult.notFound("密碼錯誤");}}@RequestMapping(value = "/loginout",method = RequestMethod.POST)public APIResult loginout(@RequestBody String account){RedisTemplate redisTemplate = (RedisTemplate) ApplicationContextUtils.getBean("redisTemplate");redisTemplate.setKeySerializer(new StringRedisSerializer());redisTemplate.setHashKeySerializer(new StringRedisSerializer());redisTemplate.opsForHash().delete("authenticationCache",account);return new APIResult(ConstantsUtils.CODE_STATUS_200,null,ConstantsUtils.CODE_STATUS_1,"退出成功");}@RequestMapping(value = "/reg",method = RequestMethod.POST)public APIResult reg(@RequestBody User user){try {userService.reg(user);return APIResult.created(user);} catch (Exception e) {e.printStackTrace();return APIResult.notFound(e.getMessage());}} }

🌈 圖表統計

@RequestMapping("/echarts") @RestController public class EchartsController {final ResidentService residentService;final VisitorService visitorService;final AddressService addressService;public EchartsController(ResidentService residentService, VisitorService visitorService, AddressService addressService) {this.residentService = residentService;this.visitorService = visitorService;this.addressService = addressService;}@GetMapping("/members")public APIResult members() {List<Resident> list = residentService.queryAll(null,null,null);int q1 = list.size(); // 正常List<Resident> residents = residentService.queryByresState();int q2 = residents.size();return new APIResult(ConstantsUtils.CODE_STATUS_200,null,list.size(),CollUtil.newArrayList(q1, q2));}@RequestMapping(value = "/vis",method = RequestMethod.GET)public APIResult getVis(){List<Visitor> list = visitorService.queryAll(null, null, null);int q1 = 0; // 第一季度int q2 = 0; // 第二季度int q3 = 0; // 第三季度int q4 = 0; // 第四季度for (Visitor visitor : list) {Date visTime = visitor.getVisTime();Quarter quarter = DateUtil.quarterEnum(visTime);switch (quarter) {case Q1: q1 += 1; break;case Q2: q2 += 1; break;case Q3: q3 += 1; break;case Q4: q4 += 1; break;default: break;}}return new APIResult(ConstantsUtils.CODE_STATUS_200,null,list.size(),CollUtil.newArrayList(q1, q2, q3, q4));}@RequestMapping(value = "/getFour",method = RequestMethod.GET)public APIResult getFour(){//住戶總體人數List<Resident> list1 = residentService.getAll();int number1=list1.size();//訪客數量List<Visitor> list2 = visitorService.getAll();int number2 =list2.size();//中高風險地區人數List<Resident> list3 = residentService.queryByresState();int number3 = list3.size();//房間數量List<Address> list4 = addressService.queryAll(null, null, null);int number4 = list4.size();return new APIResult(ConstantsUtils.CODE_STATUS_200,null,null,CollUtil.newArrayList(number1, number2, number3, number4));}}

🌟思維導圖

后面的就不再列舉了,,

??源碼,看下面評論哦??

總結

以上是生活随笔為你收集整理的【计算机毕业设计】疫情社区管理系统的设计与实现 (新增-健康打卡)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。