• SpringBoot+Vue项目实现疫情期间社区出入管理系统


    文末获取源码

    开发语言:Java

    使用框架:spring boot

    前端技术:JavaScript、Vue.js 、css3

    开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code

    数据库:MySQL 5.7/8.0

    数据库管理工具:phpstudy/Navicat

    JDK版本:Java jdk8

    Maven:apache-maven 3.8.1-bin

    目录

    一、前言介绍 

    二、系统功能 

    三、管理员功能模块

    3.1住户管理模块

    3.2分类信息管理模块

    3.3社区信息管理模块

    四、访客功能模块

    五、门卫功能模块

    六、住户功能模块 

    七、部分核心代码 

    7.1登录系统主要代码 

    7.2社区信息关键代码

    7.3进入登记关键代码


    一、前言介绍 

    疫情期间社区出入管理系统主要功能模块包括管理员、访客、住户、门卫、分类信息、访客进入审核、访客离开登记、住户进入登记、社区信息、住户外出审核等,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取Mysql作为后台数据的主要存储单元,采用Springboot框架、MVVM模式进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对疫情期间社区出入管理系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现部署运行。

    二、系统功能 

    使用毕业设计管理系统的分为管理员和访客、住户、门卫、四个权限模块。

    管理员所能使用的功能主要有管理员:首页、用户管理(管理员、访客、住户、门卫)更多管理(分类信息、访客进入审核、访客离开登记、住户进入登记、社区信息、住户外出审核)等。

    访客可以实现首页、进入登记、离开登记。

    门卫可以实现首页、访客离开授权、住户进入授权。

    住户可以实现首页、进入登记、申请外出登

    三、管理员功能模块

    3.1住户管理模块

    3.2分类信息管理模块

    3.3社区信息管理模块

    四、访客功能模块

    五、门卫功能模块

    六、住户功能模块 

    七、部分核心代码 

    7.1登录系统主要代码 

    1. /**
    2. * 登录
    3. * @param data
    4. * @param httpServletRequest
    5. * @return
    6. */
    7. @PostMapping("login")
    8. public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
    9. log.info("[执行登录接口]");
    10. String username = data.get("username");
    11. String email = data.get("email");
    12. String phone = data.get("phone");
    13. String password = data.get("password");
    14. List resultList = null;
    15. Map<String, String> map = new HashMap<>();
    16. if(username != null && "".equals(username) == false){
    17. map.put("username", username);
    18. resultList = service.select(map, new HashMap<>()).getResultList();
    19. }
    20. else if(email != null && "".equals(email) == false){
    21. map.put("email", email);
    22. resultList = service.select(map, new HashMap<>()).getResultList();
    23. }
    24. else if(phone != null && "".equals(phone) == false){
    25. map.put("phone", phone);
    26. resultList = service.select(map, new HashMap<>()).getResultList();
    27. }else{
    28. return error(30000, "账号或密码不能为空");
    29. }
    30. if (resultList == null || password == null) {
    31. return error(30000, "账号或密码不能为空");
    32. }
    33. //判断是否有这个用户
    34. if (resultList.size()<=0){
    35. return error(30000,"用户不存在");
    36. }
    37. User byUsername = (User) resultList.get(0);
    38. Map<String, String> groupMap = new HashMap<>();
    39. groupMap.put("name",byUsername.getUserGroup());
    40. List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
    41. if (groupList.size()<1){
    42. return error(30000,"用户组不存在");
    43. }
    44. UserGroup userGroup = (UserGroup) groupList.get(0);
    45. //查询用户审核状态
    46. if (!StringUtils.isEmpty(userGroup.getSourceTable())){
    47. String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
    48. String res = String.valueOf(service.runCountSql(sql).getSingleResult());
    49. if (res==null){
    50. return error(30000,"用户不存在");
    51. }
    52. if (!res.equals("已通过")){
    53. return error(30000,"该用户审核未通过");
    54. }
    55. }
    56. //查询用户状态
    57. if (byUsername.getState()!=1){
    58. return error(30000,"用户非可用状态,不能登录");
    59. }
    60. String md5password = service.encryption(password);
    61. if (byUsername.getPassword().equals(md5password)) {
    62. // 存储Token到数据库
    63. AccessToken accessToken = new AccessToken();
    64. accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
    65. accessToken.setUser_id(byUsername.getUserId());
    66. tokenService.save(accessToken);
    67. // 返回用户信息
    68. JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
    69. user.put("token", accessToken.getToken());
    70. JSONObject ret = new JSONObject();
    71. ret.put("obj",user);
    72. return success(ret);
    73. } else {
    74. return error(30000, "账号或密码不正确");
    75. }
    76. }

    7.2社区信息关键代码

    1. @RequestMapping(value = {"/avg_group", "/avg"})
    2. public Map<String, Object> avg(HttpServletRequest request) {
    3. Query count = service.avg(service.readQuery(request), service.readConfig(request));
    4. return success(count.getResultList());
    5. }

    7.3进入登记关键代码

    1. public StudentTopicSelectionController(StudentTopicSelectionService service) {
    2. setService(service);
    3. }
    4. @PostMapping("/add")
    5. @Transactional
    6. public Map<String, Object> add(HttpServletRequest request) throws IOException {
    7. Map<String,Object> paramMap = service.readBody(request.getReader());
    8. this.addMap(paramMap);
    9. return success(1);
    10. }
    11. }
  • 相关阅读:
    聊一聊数据库的行存与列存
    修改设备网络DNS
    【6 ElementUI Tabs控件第二个tab页签Div宽度缩小的问题】
    我的创作纪念日
    FFmpeg 命令:从入门到精通 | ffplay 命令选项
    Parallels Desktop 19中文-- PD19最新安装
    [python][flask] Jinja 模板入门
    8月外贸新规
    打印机连接网络后怎么安装驱动?
    算法通关村第六关—序列恢复二叉树(青铜)
  • 原文地址:https://blog.csdn.net/m0_49113107/article/details/128008437