• 基于SSM的疫苗预约接种平台


    博主主页猫头鹰源码

    博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

    主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

    文末联系获取

    项目介绍:

    本系统采用SSM框架,数据层采用mybatis-plus,数据库使用mysql,适合选题:疫情、疫苗、预约、预约接种等。

    项目功能:

    这个系统的用户可以分成三类:管理员,用户,医生。

    用户模块

    用户在系统的操作模块主要在前端模块包含以下功能:

    系统首页、疫苗信息浏览、健康资讯信息浏览、使用者的个人中心

    (1)首页:包括系统通知、导航栏(系统首页、疫苗信息浏览、健康资讯信息浏览、使用者的个人中心)、轮播图、疫苗厂商详情简介、注册登记。

    (2)疫苗信息浏览:疫苗的预览界面,分页显示疫苗信息,疫苗信息查询,以及疫苗的详细信息查询显示

    点击疫苗的按键,可以看到疫苗详细信息,其上显示的疫苗信息(疫苗名称、生产厂商、类别、价格、库存、疫苗生产批号、生产日期、某疫苗的使用剂量、接种疫苗的适用年龄、疫苗图示)并显示可预约的疫苗(未登录跳转到登陆页面进行登录注册)。点击预约某疫苗后进入预约接种确认页面,填写需接种疫苗的预约人信息(用户姓名、用户地址、预约人手机号),用户选择接种的人、以及接种时间。确认预约后随机生成6位数字作为接种码存储在数据库中。

    (3)健康资讯信息浏览:健康资讯浏览主页面(显示标题以及资讯图示),页面上显示健康资讯信息,也也有关键词搜索,以查询相关资讯内容,点击之后显示具体健康讯息。

    在此网页中,您可以看到健康信息,页面具体展示了健康资讯详细信息(包括图片和内容)、内容发布时间、以及点赞功能(未登陆不能使用该模块、并提示用户注册登录)。

    (4)个人中心:本系统页面包含了预约对象的详细信息:接种记录、个人信息、修改用户密码、退出系统。

    后台模块

    后台模块的操作主要使用者为系统管理员和医生

    系统管理员的功能包括以下功能: 

    (1)用户管理:管理用户模块以及对用户的增加、删除、修改、查询

    (2)疫苗信息管理:显示疫苗名称信息、疫苗厂商、疫苗类别、各种疫苗价格、疫苗库存、疫苗生产批号、疫苗生产日期、疫苗每针剂量、疫苗接种年龄、疫苗图示。每类疫苗的添加、对疫苗相关信息的修改、疫苗信息的删除

    (3)资讯信息管理:显示标题、详情、图片、内容发布时间、资讯类别并对显示信息进行可编辑操作(使用富文本)、添加操作(使用富文本)、删除操作

    (4)资讯信息分类管理(将资讯进行分类管理)

    (5)接种记录查询(只有查看权限)和前端用户查看的内容一致

    (6)疫苗厂商管理:修改疫苗厂商的名称、简介、图示进行增删改查

    医生的主要功能包括以下功能:

    (1)已预约订单显示:接种码、预约人(登录预约用户,显示用户个人的信息)、接种人(显示接种人姓名)、接种人过敏药物、疫苗名称、接种人预约时间

    (2)对预约订单进行接种疫苗操作,接种疫苗操作时只能添加接种部位、接种方式、以及接种医生查询接种时的记录信息

    系统包含技术:

    后端:SSM整合
    前端:bootstrap、js、css等
    开发工具:eclipse
    数据库:mysql 5.7
    JDK版本:jdk1.8
    服务器:tomcat8

    部分截图说明:

    系统首页

    下面是登录页面

    登录后查看预约

     接种人维护

    ​​​​​​​

    首页下面是疫苗列表

     点击查看疫苗详情

    查看厂商列表

     厂商详情

    可以根据分类查看资讯列表 

    点击查看资讯详情

     公告管理

    用户管理,对用户维护

    资讯管理,资讯的维护

    疫苗管理

    部分代码:

    spring的配置

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xmlns:context="http://www.springframework.org/schema/context"
    5. xmlns:aop="http://www.springframework.org/schema/aop"
    6. xmlns:p="http://www.springframework.org/schema/p"
    7. xmlns:tx="http://www.springframework.org/schema/tx"
    8. xsi:schemaLocation="http://www.springframework.org/schema/beans
    9. http://www.springframework.org/schema/beans/spring-beans.xsd
    10. http://www.springframework.org/schema/context
    11. http://www.springframework.org/schema/context/spring-context.xsd
    12. http://www.springframework.org/schema/aop
    13. http://www.springframework.org/schema/aop/spring-aop.xsd
    14. http://www.springframework.org/schema/tx
    15. http://www.springframework.org/schema/tx/spring-tx.xsd">
    16. <!--开启注解-->
    17. <context:component-scan base-package="cn"/>
    18. <!--配置一个dataSource-->
    19. <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    20. <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    21. <property name="url" value="jdbc:mysql://127.0.0.1:3306/db_yimiao?useUnicode=true&characterEncoding=utf-8"/>
    22. <property name="username" value="root"/>
    23. <property name="password" value="root"/>
    24. <!-- 初始化连接大小 -->
    25. <property name="initialSize" value="0"></property>
    26. <!-- 连接池最大使用连接数量 -->
    27. <property name="maxActive" value="20"></property>
    28. <!-- 连接池最小空闲 -->
    29. <property name="minIdle" value="0" />
    30. <!-- 获取连接最大等待时间 -->
    31. <property name="maxWait" value="60000" />
    32. <property name="validationQuery">
    33. <value>SELECT 1</value>
    34. </property>
    35. <property name="testOnBorrow" value="false" />
    36. <property name="testOnReturn" value="false" />
    37. <property name="testWhileIdle" value="true" />
    38. <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
    39. <property name="timeBetweenEvictionRunsMillis" value="60000" />
    40. <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
    41. <property name="minEvictableIdleTimeMillis" value="25200000" />
    42. <!-- 打开removeAbandoned功能 -->
    43. <property name="removeAbandoned" value="true" />
    44. <!-- 1800秒,也就是30分钟 -->
    45. <property name="removeAbandonedTimeout" value="1800" />
    46. <!-- 关闭abanded连接时输出错误日志 -->
    47. <property name="logAbandoned" value="true" />
    48. <!-- 监控数据库 -->
    49. <!-- 配置监控统计拦截的filters -->
    50. <property name="filters" value="stat"/>
    51. </bean>
    52. <!--配置一个sqlSessionFactory-->
    53. <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
    54. <!--指定一个mybatis配置文件-->
    55. <property name="configLocation" value="classpath:mybatis-config.xml"/>
    56. <property name="dataSource" ref="dataSource"/>
    57. <!--别名-->
    58. <property name="typeAliasesPackage" value="cn.entity"/>
    59. <!--映射-->
    60. <property name="mapperLocations" value="classpath:cn/mapper/*Mapper.xml"/>
    61. <!--配置分页插件-->
    62. <property name="plugins">
    63. <array>
    64. <!-- 分页插件 -->
    65. <bean id="paginationInterceptor" class="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor">
    66. <property name="dialectType" value="mysql"/>
    67. </bean>
    68. </array>
    69. </property>
    70. </bean>
    71. <!-- 验证码 -->
    72. <bean id="captchaProducer" class="com.google.code.kaptcha.impl.DefaultKaptcha">
    73. <property name="config">
    74. <bean class="com.google.code.kaptcha.util.Config">
    75. <constructor-arg>
    76. <props>
    77. <prop key="kaptcha.border">no</prop>
    78. <prop key="kaptcha.border.color">red</prop>
    79. <prop key="kaptcha.border.thickness">5</prop>
    80. <prop key="kaptcha.image.width">140</prop>
    81. <prop key="kaptcha.image.height">50</prop>
    82. <prop key="kaptcha.noise.color">0,0,205</prop><!-- 0,0,205 black -->
    83. <prop key="kaptcha.background.clear.from">178,223,238</prop> <!-- 255,250,205 -->
    84. <prop key="kaptcha.background.clear.to">240,255,240</prop>
    85. <prop key="kaptcha.textproducer.font.names">微软雅黑</prop>
    86. <prop key="kaptcha.textproducer.font.size">30</prop>
    87. <prop key="kaptcha.textproducer.font.color">72,118,255</prop> <!-- 255,110,180 -->
    88. <prop key="kaptcha.textproducer.char.space">3</prop>
    89. <prop key="kaptcha.textproducer.char.string">ABCDEFGHJKMNQRSTUVWXYZ123456789</prop>
    90. <prop key="kaptcha.textproducer.char.length">4</prop>
    91. </props>
    92. </constructor-arg>
    93. </bean>
    94. </property>
    95. </bean>
    96. <!--2、扫描DAO接口所在的包,指定sessionFactory的名称-->
    97. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    98. <property name="basePackage" value="cn.mapper"/>
    99. <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
    100. </bean>
    101. <!--transaction-manager事务管理器-->
    102. <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    103. <property name="dataSource" ref="dataSource"/>
    104. </bean>
    105. <!--声明式事务-->
    106. <tx:advice id="txAdvice" transaction-manager="transactionManager">
    107. <tx:attributes>
    108. <!--哪些方法用什么事务 propagation事务的传播特性-->
    109. <tx:method name="add*" propagation="REQUIRED"/>
    110. <tx:method name="del*" propagation="REQUIRED"/>
    111. <tx:method name="modify*" propagation="REQUIRED"/>
    112. <tx:method name="update*" propagation="REQUIRED"/>
    113. <tx:method name="*" propagation="SUPPORTS" read-only="true"/>
    114. </tx:attributes>
    115. </tx:advice>
    116. <!--aop-->
    117. <aop:config>
    118. <aop:advisor advice-ref="txAdvice" pointcut="execution(* cn.service..*.*(..))"/>
    119. </aop:config>
    120. </beans>

    疫苗操作

    1. @RequestMapping("list")
    2. public String list(Integer page,String name,HttpSession session,Model model) {
    3. if(page==null){
    4. page=1;
    5. }
    6. PageBean pageBean=new PageBean();
    7. pageBean.setPageNo(page);
    8. QueryWrapper<Yimiao> wrapper = new QueryWrapper<Yimiao>();
    9. if(!StringUtils.isNullOrEmpty(name)){
    10. wrapper.like("name", name);
    11. model.addAttribute("name",name);
    12. }
    13. wrapper.eq("isdel", 0);
    14. IPage<Yimiao> pageList=new Page<Yimiao>(page,pageBean.getPageSize());
    15. pageList = yimiaoService.page(pageList, wrapper);
    16. List<Yimiao> list=pageList.getRecords();
    17. for (Yimiao m : list) {
    18. if(m.getTid()!=null){
    19. Yimiaotype y = yimiaotypeService.getById(m.getTid());
    20. m.setYimiaotype(y);
    21. }
    22. if(m.getFid()!=null){
    23. Firm f = firmService.getById(m.getFid());
    24. m.setFirm(f);
    25. }
    26. }
    27. pageBean.setTotalCount((int)pageList.getTotal());
    28. model.addAttribute("pageBean", pageBean);
    29. model.addAttribute("list", list);
    30. return "admin/yimiaoList";
    31. }
    32. @RequestMapping("add")
    33. @ResponseBody
    34. public ServerResponse add(Yimiao yimiao) {
    35. yimiao.setIsdel(0);
    36. boolean flag = yimiaoService.save(yimiao);
    37. if (flag) {
    38. return new ServerResponse("0", "操作成功!");
    39. } else {
    40. return new ServerResponse("1", "操作失败!");
    41. }
    42. }
    43. @RequestMapping("update")
    44. @ResponseBody
    45. public ServerResponse update(Yimiao yimiao) {
    46. boolean flag = yimiaoService.updateById(yimiao);
    47. if (flag) {
    48. return new ServerResponse("0", "操作成功!");
    49. } else {
    50. return new ServerResponse("1", "操作失败!");
    51. }
    52. }
    53. @RequestMapping("delete")
    54. @ResponseBody
    55. public ServerResponse delete(Yimiao yimiao) {
    56. yimiao.setIsdel(1);
    57. boolean flag = yimiaoService.updateById(yimiao);
    58. if (flag) {
    59. return new ServerResponse("0", "操作成功!");
    60. } else {
    61. return new ServerResponse("1", "操作失败!");
    62. }
    63. }

    以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

    好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

  • 相关阅读:
    自学Java的初学者,如何开始?
    [附源码]SSM计算机毕业设计 图书管理系统 JAVA
    中英文说明书丨艾美捷HEK293T宿主细胞蛋白ELISA试剂盒
    基于springboot+vue的超市进销存系统 elementui
    【pandas小技巧】--拆分列
    【无标题】Echarts饼图默认选中一个
    CSS 简介
    asp毕业设计——基于asp+sqlserver的WEB车辆管理系统设计与实现(毕业论文+程序源码)——车辆管理系统
    素数计算 马蹄集
    资源分享 | 情绪脑电研究公开数据集
  • 原文地址:https://blog.csdn.net/mtyedu/article/details/127436006