基于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
图表统计
@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() {Listlist = residentService.queryAll(null,null,null);
int q1 = list.size(); // 正常
Listresidents = 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(){Listlist = 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(){//住户总体人数
Listlist1 = residentService.getAll();
int number1=list1.size();
//访客数量
Listlist2 = visitorService.getAll();
int number2 =list2.size();
//中高风险地区人数
Listlist3 = residentService.queryByresState();
int number3 = list3.size();
//房间数量
Listlist4 = addressService.queryAll(null, null, null);
int number4 = list4.size();
return new APIResult(ConstantsUtils.CODE_STATUS_200,null,null,CollUtil.newArrayList(number1, number2, number3, number4));
}
}
🌟思维导图后面的就不再列举了,,
✨✨源码,看下面评论哦✨✨
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧