• SpringBoot+Vue项目小区疫苗接种管理系统的设计与实现


    文末获取源码

    开发语言:Java

    使用框架:spring boot

    前端技术:JavaScript、Vue 、css3

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

    数据库:MySQL 5.7/8.0

    数据库管理工具:phpstudy/Navicat

    JDK版本:jdk1.8

    Maven:apache-maven 3.8.1-bin

    目录

    一、前言介绍 

    二、系统设计规则

    三、管理员功能模块

    3.1系统登录模块 

    3.2系统首页模块

    3.3用户管理模块 

    3.4接种预约管理模块

    3.5接种信息管理模块

    3.6疫苗信息管理模块

    3.7用户留言管理模块 

    四、用户后台功能模块

    4.1用户注册管理模块 

    4.2个人中心管理模块

    4.3接种预约管理模块

    4.4接种信息管理模块

    五、部分核心代码 

    5.1疫苗信息的关键代码 

    5.2疫苗预约关键代码

    5.3疫苗接种管理的关键代码

    5.4用户登录的关键代码

    5.5用户注册关键代码


    一、前言介绍 

    采用Java技术,从数据库中获取数据、向数据库中写入数据,实现系统直接对数据库进行各种操作,在网页中加入动态内容,从而实现小区疫苗接种管理所需要的各种基本功能。 

    小区疫苗接种管理,主要的模块包括查看首页、用户管理、接种预约、公告栏、接种信息、疫苗信息、系统维护、用户留言、报表统计等功能。系统中管理员主要是为了安全有效地存储和管理各类信息,还可以对系统进行管理与更新维护等操作,并且对后台有相应的操作权限。

    要想实现小区疫苗接种管理的各项功能,需要后台数据库的大力支持。管理员验证注册信息,收集的用户信息,并由此分析得出的关联信息等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。

    本系统的开发使获取小区疫苗接种管理信息能够更加方便快捷,同时也使小区疫苗接种管理管理信息变的更加系统化、有序化。系统界面较友好,易于操作。

    二、系统设计规则

    本小区疫苗接种管理采用Java技术,Mysql数据库开发,充分保证了系统稳定性、完整性。

    小区疫苗接种管理的设计与实现的设计思想如下:

    1、操作简单方便、系统界面安全良好:简单明了的页面布局,方便查询小区疫苗接种管理管理的相关信息。

    2、即时可见:对小区疫苗接种管理信息的处理将立马在对应地点可以查询到,从而实现“即时发布、即时见效”的系统功能。

    3、功能的完善性:可以管理首页、个人中心、用户管理、接种预约、公告栏、接种信息、疫苗信息、系统维护、用户留言、报表统计管理、系统管理模块的修改和维护操作。

    三、管理员功能模块

    3.1系统登录模块 

    管理员登录,管理员通过输入用户,密码,角色等信息进行系统登录 

    3.2系统首页模块

    3.3用户管理模块 

    在用户管理页面可以查看等索引、用户账号、密码、用户姓名、性别、年龄、联系电话、电子邮箱、身份证号、家庭住址、个人照片等信息,并可根据需要进行修改或删除等操作 

    3.4接种预约管理模块

     在接种预约页面可以查看索引、疫苗名称、生产厂家、适应人群、禁忌、预约时间、可预约人数等信息,并可根据需要进行修改或删除等操作

    3.5接种信息管理模块

    在接种信息页面可以查看索引、用户名、姓名、联系方式、疫苗名称、预约时间、等信息,并可根据需要进行修改或删除等操作

    3.6疫苗信息管理模块

    在疫苗信息页面可以查看索引、疫苗编号、疫苗名称、疫苗作用、生产厂家等信息,并可根据需要进行修改或删除等操作

    3.7用户留言管理模块 

    在用户留言页面可以查看索引、用户名、姓名、联系方式、日期、留言内容等信息,并可根据需要进行修改或删除等操作 

    四、用户后台功能模块

    4.1用户注册管理模块 

    在用户注册页面通过填写用户账号、密码、用户姓名、年龄、联系电话、电子邮箱、身份证号、等信息完成用户注册 

    4.2个人中心管理模块

    在个人中心页面通过填写用户账号、用户姓名、性别、年龄、联系电话、电子邮箱、身份证号、个人照片等信息进行修改 

    4.3接种预约管理模块

    在接种记录管理页面可以查看索引、疫苗名称、生产厂家、适应人群、禁忌、预约时间、可预约人数等信息 

    4.4接种信息管理模块

    在接种信息管理页面可以查看索引、用户名、姓名、联系方式、疫苗名称、预约时间等信息 

    五、部分核心代码 

    5.1疫苗信息的关键代码 

    1. @PostMapping("/add")
    2. @Transactional
    3. public Map<String, Object> add(HttpServletRequest request) throws IOException {
    4. service.insert(service.readBody(request.getReader()));
    5. return success(1);
    6. }
    7. @Transactional
    8. public Map<String, Object> addMap(Map<String,Object> map){
    9. service.insert(map);
    10. return success(1);
    11. }

    5.2疫苗预约关键代码

    1. @RequestMapping("/get_list")
    2. public Map<String, Object> getList(HttpServletRequest request) {
    3. Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));
    4. return success(map);
    5. }

    5.3疫苗接种管理的关键代码

    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. }

    5.4用户登录的关键代码

    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. }

    5.5用户注册关键代码

    1. /**
    2. * 注册
    3. * @param user
    4. * @return
    5. */
    6. @PostMapping("register")
    7. public Map<String, Object> signUp(@RequestBody User user) {
    8. // 查询用户
    9. Map<String, String> query = new HashMap<>();
    10. query.put("username",user.getUsername());
    11. List list = service.select(query, new HashMap<>()).getResultList();
    12. if (list.size()>0){
    13. return error(30000, "用户已存在");
    14. }
    15. user.setUserId(null);
    16. user.setPassword(service.encryption(user.getPassword()));
    17. service.save(user);
    18. return success(1);
    19. }
    20. /**
    21. * 用户ID:[0,8388607]用户获取其他与用户相关的数据
    22. */
    23. @Id
    24. @GeneratedValue(strategy = GenerationType.IDENTITY)
    25. @Column(name = "user_id")
    26. private Integer userId;
    27. /**
    28. * 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)
    29. */
    30. @Basic
    31. @Column(name = "state")
    32. private Integer state;
    33. /**
    34. * 所在用户组:[0,32767]决定用户身份和权限
    35. */
    36. @Basic
    37. @Column(name = "user_group")
    38. private String userGroup;
    39. /**
    40. * 上次登录时间:
    41. */
    42. @Basic
    43. @Column(name = "login_time")
    44. private Timestamp loginTime;
    45. /**
    46. * 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时
    47. */
    48. @Basic
    49. @Column(name = "phone")
    50. private String phone;
    51. /**
    52. * 手机认证:[0,1](0未认证|1审核中|2已认证)
    53. */
    54. @Basic
    55. @Column(name = "phone_state")
    56. private Integer phoneState;
    57. /**
    58. * 用户名:[0,16]用户登录时所用的账户名称
    59. */
    60. @Basic
    61. @Column(name = "username")
    62. private String username;
    63. /**
    64. * 昵称:[0,16]
    65. */
    66. @Basic
    67. @Column(name = "nickname")
    68. private String nickname;
    69. /**
    70. * 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成
    71. */
    72. @Basic
    73. @Column(name = "password")
    74. private String password;
    75. /**
    76. * 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时
    77. */
    78. @Basic
    79. @Column(name = "email")
    80. private String email;
    81. /**
    82. * 邮箱认证:[0,1](0未认证|1审核中|2已认证)
    83. */
    84. @Basic
    85. @Column(name = "email_state")
    86. private Integer emailState;
    87. /**
    88. * 头像地址:[0,255]
    89. */
    90. @Basic
    91. @Column(name = "avatar")
    92. private String avatar;
    93. /**
    94. * 创建时间:
    95. */
    96. @Basic
    97. @Column(name = "create_time")
    98. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    99. private Timestamp createTime;
    100. @Basic
    101. @Transient
    102. private String code;
    103. }
  • 相关阅读:
    推荐一款国人开源的 Redis 可视化管理工具
    [科研图像处理]用matlab平替image-j,有点麻烦,但很灵活!
    Go 微服务开发框架 DMicro 的设计思路
    【二叉树】层数最深叶子节点的和
    金仓数据库KStudio使用手册(4. sql编辑)
    laravel框架介绍(二) composer命令下载laravel报错
    SpringSecurity Oauth2实战 - 05 /oauth/token请求认证流程源码分析
    基于JS的迷宫小游戏
    CVPR 2022 | 美团技术团队精选论文解读
    Springboot 连接 Mysql
  • 原文地址:https://blog.csdn.net/m0_49113107/article/details/127954330