基于Java的疫情社區(qū)人員流動管理系統(tǒng)。
軟件架構(gòu)系統(tǒng)使用前后端分離,后端編寫接口,提供數(shù)據(jù)。前端調(diào)用接口獲取數(shù)據(jù),根據(jù)要求在頁面上進(jìn)行渲染。
由于使用前后端分離,就要解決跨域訪問的問題,所以用JWT進(jìn)行數(shù)據(jù)的傳送。
用shiro框架進(jìn)行權(quán)限的控制,根據(jù)用戶擁有的角色,分配角色對應(yīng)的權(quán)限。
在用戶注冊時,會有注冊碼,注冊碼有兩種分類,一種是管理員,一種是超級管理員,根據(jù)注冊碼給用戶分配角色。
管理員有添加、查詢,刪除居民或者訪客信息的權(quán)限,也有查詢住戶地址權(quán)限。而超級管理員擁有系統(tǒng)所有的權(quán)限。
開發(fā)環(huán)境1.系統(tǒng)用Java語言開發(fā),前端用Vue,后端用Spring Boot框架;
2.開發(fā)工具:IDEA、Navicat Premium 15、Postman等;
3.技術(shù):MySQL、Redis、Spring、Spring Boot、MyBatis、JWT(Shiro)、Vue等
界面效果圖登錄:
首頁:
用戶個人信息(圖片上傳):
住戶管理:
訪客出入登記:
訪客出入信息管理:
文件管理:
垃圾箱(數(shù)據(jù)恢復(fù)):
登錄:
@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()));
// 獲取當(dāng)前登錄用戶
User loginuser = userService.findRolesByAccount(user.getAccount());
List
圖表統(tǒng)計
@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(){//住戶總體人數(shù)
Listlist1 = residentService.getAll();
int number1=list1.size();
//訪客數(shù)量
Listlist2 = visitorService.getAll();
int number2 =list2.size();
//中高風(fēng)險地區(qū)人數(shù)
Listlist3 = residentService.queryByresState();
int number3 = list3.size();
//房間數(shù)量
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));
}
}
🌟思維導(dǎo)圖后面的就不再列舉了,,
??源碼,看下面評論哦??
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧