航空售票以前都是电话订票,但是随着互联网发展,越来越多的人坐得起飞机了,昔时夜量的人们都通过电话进行购买航空机票的时候就带来了很大的不便,随着利用互联网的人越来越多,新生代都开始喜好什么都在网上购买,让新生代能通过互联网进行购买机票,也是办理购买机票问题的一大路子。校园疫情管控系统的开拓更好地帮助人们,校园疫情管控系统有利于提升人们的效率,让人们更加的方便更加的多样化。 ## 1.2设计目标 首先对系统所涉及到的干系打算机知识整体把握,并进行根本的系统剖析。系统剖析是程序开拓中的一个非常主要的环节,为了能够使设计程序更好、更充分的被展现出来,必须事前辈行调查研究。在根本的调查的同时,也要对新系统的功能进行详细的解析剖析,这样才能够研究开拓出更加完全的系统设计。
在本次毕业设计中,利用了JSP技能,SSM框架,MYSQL数据库进行系统的开拓。构建了一个校园疫情管控系统软件。
无论哪个别系都该当有自己的设计目标。该校园疫情管控系统软件也具有主要的设计目标有如下几个:

1.简洁性:操作简便、界面良好,大略明了的页面布局。
2.适用性:系统设计可以实现机票信息查看、公告等,具有良好的可用性。
3.即时可见:实现信息”即时发布、即时见效”的功能。 ## 1.3 设计原则 一个成功的网站应明确培植网站的目的,确定网站的详细功能,确定网站规模、投入用度,进行必要的市场剖析等。只有经由详细的策划,才能避免在网站培植中涌现的很多问题,使网站培植能够顺利进行。同时,一个大型的打算机网站系统,必须有一个精确的设计思想,并且通过合理的选择数据构造、网络构造、操作系统以及系统的开拓环境,逐步构成一个完善的网络构造系统,只有这样才能充分使得打算机数据管理的上风发挥到最大。根据现实生活中***的需求,该校园疫情管控系统软件的开拓按照以下原则进行。
1、有效性:实际上这里所说的有效性包括了两个方面的意思,即有用性和可用性。个中有用性是指的是站点能知足用户需求的潜在功能,而可用性指的是能够通过站点来操作实现系统的表示功能。因此可以看出一个站点如果不能够恰当的运行或者是设计得非常不好,那就不是一个好的站点。可用站点的效益该当非常高,并易于学习,在实现用户目标季候人满意而不出错。
2、高可靠性:一个实用的网站同时必须是可靠的,本设计通过合理而前辈的网络设计以及软、硬件的优化选型,可担保网站的可靠性与容错性。
3、高安全性:在设计中,将把网络软、硬件所能够供应的各种安全方法充分利用,这样既能够担保用户资源的共享,又能够充分考虑到系统以及数据资源的容灾、备份以及规复的哀求。为系统强大的数据库供应备份。以至于可以担保紧张数据的安全性。同时操作权限级,我们设置不同的角色来担保每一步的操作权限,可以由管理员进行设置。
4、前辈性:采取目前国际上最前辈的数据库技能,利用JSP作为开拓工具,MVC模式,MYSQL作为网站的数据库。本系统采取的这些技能完备基于微软平台进行开拓,从来有效的降落了系统的运营本钱,大大提高了该校园疫情管控系统软件的稳定性和易掩护性。
5、采取标准技能:本网站的所有设计遵照国际上现行的标准进行,以提高系统的开放性。
系统开拓环境2.1 JSP技能JSP程序利用了Java编程措辞,JSP技能可以对动态网页进行封装。通过tags和scriptlets,网页还能访问存在于做事真个资源的运用逻辑。JSP可以分离网页逻辑与网页设计和显示,对可重用的基于组件的开拓进行支撑,更随意马虎的对基于Web的运用程序进行设计。当Web做事器吸收到访问JSP网页的要求时,首先运行的程序段,接下来将JSP文件中的HTML代码和运行效果一并返还给用户。通过Java文件的插入能够对数据库、网页多重定向等运行,从而知足构建动态网页所须要的程序。JSP和Servle相同,都可以通过做事器端运行。由于能够将一个HTML文本返回给用户端,以是用户端具备浏览器就可以进行浏览。HTML程序和穿插在内部的Java程序可以构建JSP网页。在做事器被用户端访问时,能够处理相应的Java代码,然后将产生的HTML页面再返回给用户真个浏览器。JSP的设计关键是Servlet,常日大型的Web运用程序的设计成果也通过Java Servlet和JSP的协作。JSP既拥有了方便快捷的Java程序,又统统的面向用户,既实现了平台的无关性危险还比较小,可以具备互联网的全部上风。JSP技能的优点:
(1)一次编写,到处运行。除了系统之外,代码无需做任何改动。
(2)系统的多平台支持。常日情形下,能够在任何情形下的全部平台上进行设计,能够安排在任何情形中,也能够在任何情形下进行发展。比较ASP/.net来说,优点是显而易见的。
(3)强大的可塑性。通过一个不大的Jar程序能够对Servlet/JSP进走运行,也能够通过很多做事器进行集群和负载平衡,乃至能够通过多台Application办理问题。单台做事器到多台做事器,Java展现了一个强大的功能。
(4)具有强大和多样化的开拓工具支持。Java已经有了很多的设计方法,何况大部分工具都是没有花费的,这中间有很多都在多种平台之下顺畅的进展。
(5)支持做事器端组件。只有很有力的做事器端组件才能支撑web运行,因此开拓者可以在调用web页面时通过其余的开拓工具来达成纷乱效用的组件,来加强系统的可操作性。JSP可以通过完善的JAVA BEANS 组件来达成纷乱的商务功能。 ## 2.2 B/S构造 在三层体系构造的B/S(Browser/Server,浏览器/做事器构造)系统中,用户可以通过浏览器向分布在网络上的浩瀚做事器发出要求。B/S系统极大地简化了客户机的事情量,客户机上只须要安装、配置少量的客户端运行软件即可,做事器将担负大量的事情,对数据库的访问以及运用程序的实行都将由做事器来完成。
B/S架构的不断成熟,紧张利用WWW浏览器技能,结合多种浏览器脚本措辞,用通用浏览器须要实现原来繁芜的专有软件来实现的强大功能,并节约了开拓本钱,是一种新的软件架构。 ## 2.3 JAVA简介 Java非常适宜于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程措辞之一。Java来自于Sun公司的一个叫Green的项目,其原来的目的是为家用消费电子产品开拓一个分布式代码系统,这样我们可以把E-mail发给电冰箱、电视机等家用电器,对它们进行掌握,和它们进行信息互换。他们用Java体例了HotJava浏览器,得到了Sun公司首席实行官ScottMcNealy的支持,触发了Java进军Internet。面向工具的程序设计很靠近于我们人类自然的思维,相对付面向过程的程序设计,它具有更好的可扩展性和可掩护性,使我们编写的代码更健壮。
面向工具紧张有四大特性:封装、抽象、继续和多态。
封装:在面向工具措辞中,封装特性是由类来表示的,我们将现实生活中的一类实体定义成类,个中包括属性和行为(在Java中便是方法),就彷佛人类,可以具有name,sex,age等属性,同时也具有eat(),sleep()等行为,我们在行为中实现一定的功能,也可操作属性,这是面向工具的封装特性;
抽象:抽象便是将一类实体的共同特性抽象出来,封装在一个抽象类中,以是抽象在面向工具措辞是由抽象类来表示的。比如鸟便是一个抽象实体,由于抽象实体并不是一个真正的工具,它的属性还不能完备描述一个工具,以是在措辞中表示为抽象类不能实例化;
继续:继续就像是我们现实生活中的父子关系,儿子可以遗传父亲的一些特性,在面向工具措辞中,便是一个类可以继续另一个类的一些特性,从而可以代码重用,实在继续表示的是is-a关系,父类同子类在实质上还是一类实体。
多态:多态便是通过通报给父类工具引用不同的子类工具从而表现出不同的行为,多态可为程序供应更好的可扩展性,同样也可以代码重用。 ## 2.4 MYSQL数据库 ### 2.4.1MySQL数据库简介 在软件项目中,通过利用数据库来操作数据,可以担保数据的独立性、同等性和安全性,为系统供应有效地访问数据的办法,同时为程序员减少了运用程序的开拓韶光。 常见的数据库无非分为两类,一类是关系型数据库(Oracle,DB2,MySQL,SQL Server )和非关系型数据库(NoSql、MongeDB)。不同的数据库有各自的优缺陷,此处不做详细先容。 MySQL支持多线程的特点,可以方便的利用系统资源,有效提高速率,而且供应了TCP/IP、ODBC和JDBC等多种办法路子来连接数据库;虽说其功能不足强大、规模也相对较小,但是对付本系统来说足够了,同时也可以进行二次开拓的数据库表构造空间的扩展。利用MySQL建立系统数据库,不仅有利于前期对数据的整合处理操作,同时利于后期的二次开拓的数据扩展操作,对付有限级的数据处理,MySQL可以很好的胜任 。
MySQL的海豚标志被称为“Sakila”,这是一个很大的名称,被称为“海豚”MySQL AB公司的创始人。
MySQL是一个真正的多用户、多线程SQL数据库做事器。 是基于SQL的客户/做事器模式的关系数据库管理系统,它的有点有有功能强大、利用大略、管理方便、安全可靠性高。 ### 2.4.2 MySQL特点特性 (1)C和C ++中利用和测试,以确保源代码的编译器的便携性和灵巧性。
(2)支持多种操作系统AIX的,FreeBSD下,HP-UX,Linux和Mac OS中,Novell公司的Netware,OpenBSD系统,OS/2裹时,Solaris,Windows等。
(3)供应了用于不同的编程措辞的API。编程措辞,如C,, C ++,Python和Java的,的Perl,PHP,埃菲尔铁塔,Ruby和Tcl的。
(4),以及利用的CPU资源来支持多线程。
(5)算法优化查询SQL,切实提高搜索速率。
(6)网络上的客户端和做事器可以用来编程任何独立的编程环境,也有中国,GB2312,BIG5,日文写作,一样平常基金,用于支持多国措辞,并且可以嵌入在数据表和其他软件shift_jis访问柱可以用作的名称。
(7),TCP / IP,ODBC和JDBC数据库,并供应连接到其他
(8)管理工具的管理,掌握和优化数据库的操作
(9)可以数以千万计的记录在一个大的数据库 ### 2.4.3 MySQL数据库运用环境 如Oracle,DB2,SQL Server,小相对付其他紧张数据库如MySQL有自己的缺陷,如有限(MySQL集群,是一个相对贫穷的效率),但它并没有降落它的荣誉。一样平常的个人消费者和中小型企业,以及充足的空间,和MySQL MySQL是一个开源软件,由于它拥有一个非常降落本钱。
目前,互联网的构造来最盛行的网站上的LAMP(Linux操作系统,Apache+ MySQL的+ PHP),利用的操作系统,如Linux操作系统,Apache Web做事器,做事器端脚本阐明器的MySQL数据库, PHP等四个免费软件或开源软件(也),由于,可持续和可以创建一个免费的网站系统(劳动力本钱),以是你的花费不大。 ## 2.5 SSM框架先容 ### 2.5.1 SSM框架浸染 SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将全体系统划分为表现层,controller层,service层,DAO层四层
利用spring MVC卖力要求的转发和视图管理
spring实现业务工具管理,mybatis作为数据工具的持久化引擎 ### 2.5.2 SSM框架事理 SpringMVC:
1.客户端发送要求到DispacherServlet(分发器)
2.由DispacherServlet掌握器查询HanderMapping,找到处理要求的Controller
3.Controller调用业务逻辑处理后,返回ModelAndView
4.DispacherSerclet查询视图解析器,找到ModelAndView指定的视图
5.视图卖力将结果显示到客户端
系统的需求剖析需求剖析的任务是通过详细调查校园疫情管控系统软件所需的工具,充分理解系统的事情概况,明确功能实现的各种需求,然后在此根本上确定系统的功能。系统必须充分考虑今后可能的扩充和改变。 ## 3.1可行性剖析 通过对系统实施的目的初步调查和剖析,提出可行性方案并对其逐一进行论证。我们在这里紧张从技能可行性、经济可行性、操作可行性等方面进行剖析。 ### 3.1.1 技能可行性 1.硬件可行性剖析校园疫情管控系统系统的硬件哀求方面不存在分外的哀求,只须要在普通的硬件配置就能够轻松的实现,只是须要确保系统的正常事情即可,以及拥有较高的效率。如果有特殊低的硬件,它可以导致系统的低性能以及效率低,从而导致全体网站的运行不顺畅。以目前普遍的个人打算机的配置而言,这是十分随意马虎实现的 。因此,本系统的开拓在硬件方面是可行的。
2.软件可行性剖析
JSP技能供应了一个共同的机制类似的借口动态模型,设计更集中。此外,代码复用,也可以很好的表示。因此,考虑到系统的实际情形,选择JSP技能作为本系统的开拓技能。通过上述剖析,该系统的设计实现在软件方面是可行的。 ### 3.1.2经济可行性 从经济容许上剖析,系统开拓需求本钱并不高,而且采取的都是开源码,降落了开拓本钱,而且系统设计一旦完成,就能为运行,同时系统对打算机配置哀求也不高,纵然是网吧淘汰下来的打算机也能够知足须要。因此,从经济角度考虑,此系统开拓可行。 ### 3.1.3操作可行性 本系统操作比较随意马虎,大部分输入信息页面选择的形式都是下拉框。在有些页面,信息可以自动天生,不须要输入。输入韶光也采取了日历控件,操作比较随意马虎,对用户的哀求不高,只须要闇练操作WINDOWS即可。 ## 3.2系统设计原则 系统的架构设计,要能够反响出用户与全体系统模块的接口之间存在有效互动,而且该当是非常清楚的,从而才能够保障在后期系统真正实现的时候数据的扩展性和安全性,只有设计出的系统实现这个目标才能有一个更好的扩展空间,以适应社会的的发展需求。
全体系统的设计中,系统必须知足以下哀求:
(1)数据安全性
存储校园疫情管控系统的数据,须要确保数据的安全性,在网站设计时必须要采纳安全戒备方法,以办理潜在的安全问题。
(2)易用性
在用户权限范围内,可在一个统一风格的界面内即可完成干系的所有流程操作或者获取所有干系信息,大大利用者的事情效率和易用性,灵巧运用本系统。
(3)优柔性
由于这个校园疫情管控系统紧张针对新闻、公告等,设计出的系统必须能够处理接管变革的能力。 ## 3.3流程剖析 ### 3.3.1 系统开拓流程 校园疫情管控系统开拓中时,首先进行需求剖析,进而对系统进行总体的设计方案,设计系统功能模块,数据库的选择等,本系统的开拓流程如图3-1所示
图3-1系统开拓流程图 ### 3.3.2 系统登录流程 用户要想进入系统,必须首先通过精确的用户名、密码、权限和验证码进行登录系统。登录模块紧张完成系统管理员和用户的登入,输入账号、密码、权限和验证码,系统自动验证数据的精确与否,登录信息精确则进行对运用户主界面,否则无权进行登录系统。系统流程图如图3-2所示
图3-2系统登录流程图 ## 3.4系统设计规则与运行环境 无论哪个别系都该当有自己的设计规则。该系统也具有主要的设计标准有如下几个:
1.大略:在担保校园疫情管控系统能够成功实现的条件下,并只管即便使校园疫情管控系统更随意马虎操作,对付一个平台,这是非常主要的。
2.针对性:系统设计的重点是利于用户对干系信息的查看和管理员对信息的管理,它具有针对性很强的特点。
3.适用范围:适用范围广,平台都可以利用。
4.操作环境
(1)硬件平台:
CPU:酷睿i3 -3.0GHZ 内存:2G以上 硬盘:320GB
(2)软件平台:
5.操作系统:Window XP 或Win 7或Win10均可
6.数据库: MYSQL数据库 1. # 系统的概要设计 ## 4.1 系统构造设计 校园疫情管控系统紧张分为管理员和用户两个紧张用户角色,本网站采取B/S构造(Browser/Server,浏览器/做事器构造)和基于Web做事两种模式,是一个适用于Internet环境下的模型构造。只要用户能连上Internet,便可以在任何韶光、任何地点利用。系统构造图如图4-1所示:
网络
管理员
用户
做事器和程序
图4-1 系统构造图 ## 4.2 系统架构设计 ### 4.2.1总体架构设计 系统架构的整体设计是一个将一个弘大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完全的任务。它详细的事情步骤是:
1)系统被分解多个子模块
2)对各个子模块的功能进行预先的设计
3)对各个子模块之间的逻辑关系进行设计
4)对各个模块的界面以及模块间信息的传输进行设计
在全体设计过程,以确定可能的详细方案达成每一个小的终极目标,对付每一个小的目标而言,我们必须先理解一些干系的需求剖析的信息。然后对系统进行初步的设计,并对其逐渐进行优化,设计出一个详细可实现的系统框架。
如图4-2所示为系统的框架图。
校园疫情管控系统
学生信息管理
公告信息管理
防疫科普管理
论坛信息管理
打卡信息管理
学生信息修正
学生信息新增
打卡信息添加
打卡信息删除
打卡信息修正
论坛信息添加
论坛信息修正
论坛信息删除
公告信息添加
公告信息编削
公告信息删除
防疫科普添加
防疫科普修正
防疫科普删除
公告类型管理
公告类型修正
公告类型删除
公告类型添加
图4-2 系统框架图 ### 4.2.2系统网络拓扑构造图 本校园疫情管控系统采取前辈的B/S架构,该架构具有开拓大略、共享性强、掩护大略方便等诸多优点。本系统的网络拓扑图如图4-3所示:
图4-3 系统的网络拓扑图
4.3 数据库设计
开拓一个别系也须要提前设计数据库。这里的数据库是干系数据的凑集,存储在一起的这些数据也是按照一定的组织办法进行的。目前,数据库能够做事于多种运用程序,则是源于它存储办法最佳,具备数据冗余率低的上风。虽然数据库为程序供应信息存储做事,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段韶光的发展,从最初的不为人知,到现在的人尽皆知,其干系技能也加倍成熟,同时也拥有着坚实的理论根本。
4.3.1 数据库观点设计
这部分内容须要借助数据库关系图来完成,也须要利用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也须要按照设计的流程进行,首先还是要根据需求完成实体的确定,剖析实体具有的特色,还有对实体间的关联关系进行确定。末了才是利用E-R模型的表示方法,绘制本系统的E-R图。不管是利用亿图软件,还是Visio工具,对付E-R模型的表示符号都一样,常日矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也便是实体的特色用符号椭圆表示。末了利用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。
(1)下图是论坛实体和其具备的属性。
图4.1 论坛实体属性图
(2)下图是学生实体和其具备的属性。
图4.2 学生实体属性图
(3)下图是公告信息实体和其具备的属性。
图4.3 公告信息实体属性图
(4)下图是字典表实体和其具备的属性。
图4.4 字典表实体属性图
(5)下图是打卡信息实体和其具备的属性。
图4.5 打卡信息实体属性图
(6)下图是防疫科普实体和其具备的属性。
图4.6 防疫科普实体属性图
(7)下图是用户表实体和其具备的属性。
图4.7 用户表实体属性图
4.3.2数据库观点设计设计观点便是在数据剖析的根本上自下而上的对全体系统的数据库观点构造进行设计。从用户的角度对视图进行开拓,然后集成视图,末了剖析从而取得末了的结果。
对观点进行设计时采取实体—联系(E-R)的模型开拓方法。E-R模型法的构成元素有:实体、属性、联系,E-R模型可以用E-R图来表示,是对用户事情环境中所干系的事物给予提示,对实体特性的描述便是属性。
设计观点的出发点是能够对企业组织信息哀求的数据库观点构造进行反响,便是观点模式。观点模式不寄托数据库逻辑构造,,也不依赖支持数据库的DBMS,独立于打算机系统。 ### 4.3.3数据库实体(E-R图) 数据库观点模型是为了将现实天下中信息进行抽象而设计的,从而实现信息天下的建模,因此,观点模型是进行数据库设计的主要工具。在观点模式的设计中,E-R模型法是最常见的设计方法。 ### 4.3.4 数据库表 本系统数据库的功能紧张是存储网站中所有数据,以便进行操作。
表4.1打卡信息表
序号
列名
数据类型
解释
许可空
1
Id
Int
id
否
2
xuesheng_id
Integer
打卡学生
是
3
insert_time
Integer
打卡韶光
是
4
dakaxinxi_tiwen
BigDecimal
体温
是
5
dakaxinxi_didian
String
打卡所在地
是
6
quezhen_types
Integer
一月内是否打仗过确诊病例
是
7
yishi_types
Integer
一月内是否打仗过疑似病例
是
8
gaofengxian_types
Integer
一月内是否去过中高风险地区
是
9
create_time
Date
创建韶光
是
表4.2字典表表
序号
列名
数据类型
解释
许可空
1
Id
Int
id
否
2
dic_code
String
字段
是
3
dic_name
String
字段名
是
4
code_index
Integer
编码
是
5
index_name
String
编码名字
是
6
super_id
Integer
父字段id
是
7
beizhu
String
备注
是
8
create_time
Date
创建韶光
是
表4.3防疫科普表
序号
列名
数据类型
解释
许可空
1
Id
Int
id
否
2
fangyikepu_name
String
标题
是
3
fangyikepu_photo
String
图片
是
4
fangyikepu_file
String
干系文件
是
5
fangyikepu_content
String
内容
是
6
insert_time
Date
发布韶光
是
7
create_time
Date
创建韶光
是
表4.4论坛表
序号
列名
数据类型
解释
许可空
1
Id
Int
id
否
2
forum_name
String
帖子标题
是
3
yonghu_id
Integer
用户
是
4
forum_content
String
发布内容
是
5
super_ids
Integer
父id
是
6
forum_types
Integer
帖子类型
是
7
forum_state_types
Integer
帖子状态
是
8
insert_time
Date
发帖韶光
是
9
update_time
Date
修正韶光
是
10
create_time
Date
创建韶光
是
表4.5公告信息表
序号
列名
数据类型
解释
许可空
1
Id
Int
id
否
2
news_name
String
公告信息名称
是
3
news_photo
String
公告信息图片
是
4
news_types
Integer
公告类型
是
5
insert_time
Date
公告信息韶光
是
6
news_content
String
公告信息详情
是
7
create_time
Date
创建韶光
是
表4.6学生表
序号
列名
数据类型
解释
许可空
1
Id
Int
id
否
2
xuesheng_name
String
学生姓名
是
3
xuesheng_id_number
String
身份证号
是
4
xuesheng_phone
String
手机号
是
5
xuesheng_photo
String
照片
是
6
xuesheng_types
Integer
学生状态
是
7
create_time
Date
创建韶光
是
表4.7用户表表
序号
列名
数据类型
解释
许可空
1
Id
Int
id
否
2
role
String
角色
是
3
addtime
Date
新增韶光
是
系统的实现5.1学生信息管理如图5.1显示的便是学生信息管理页面,此页面供应给管理员的功能有:学生信息的查询管理,可以删除学生信息、修正学生信息、新增学生信息,还进行了对商户名称的模糊查询的条件
图5.1 学生信息管理页面 ### 5.2 打卡信息管理 如图5.2显示的便是打卡信息管理页面,此页面供应给管理员的功能有:查看已发布的打卡信息数据,修正打卡信息,打卡信息作废,即可删除。
图5.2 打卡信息管理页面 ### 5.3防疫科普管理 如图5.3显示的便是防疫科普管理页面,此页面供应给管理员的功能有:根据防疫科普进行条件查询,还可以对防疫科普进行新增、修正、查询操作等等。
图5.3 防疫科普管理页面 ### 5.1公告类型管理 如图5.4显示的便是公告类型管理页面,此页面供应给管理员的功能有:根据公告类型进行新增、修正、查询操作等等。
图5.4 公告类型管理页面 1. # 系
TokenServiceImpl.javapackage com.service.impl;import java.util.Calendar;import java.util.Date;import java.util.List;import java.util.Map;import org.springframework.stereotype.Service;import com.baomidou.mybatisplus.mapper.EntityWrapper;import com.baomidou.mybatisplus.mapper.Wrapper;import com.baomidou.mybatisplus.plugins.Page;import com.baomidou.mybatisplus.service.impl.ServiceImpl;import com.dao.TokenDao;import com.entity.TokenEntity;import com.entity.TokenEntity;import com.service.TokenService;import com.utils.CommonUtil;import com.utils.PageUtils;import com.utils.Query;/ token @author /@Service("tokenService")public class TokenServiceImpl extends ServiceImpl<TokenDao, TokenEntity> implements TokenService { @Override public PageUtils queryPage(Map<String, Object> params) { Page<TokenEntity> page = this.selectPage( new Query<TokenEntity>(params).getPage(), new EntityWrapper<TokenEntity>() ); return new PageUtils(page); } @Override public List<TokenEntity> selectListView(Wrapper<TokenEntity> wrapper) { return baseMapper.selectListView(wrapper); } @Override public PageUtils queryPage(Map<String, Object> params, Wrapper<TokenEntity> wrapper) { Page<TokenEntity> page =new Query<TokenEntity>(params).getPage(); page.setRecords(baseMapper.selectListView(page,wrapper)); PageUtils pageUtil = new PageUtils(page); return pageUtil; } @Override public String generateToken(Integer userid,String username, String tableName, String role) { TokenEntity tokenEntity = this.selectOne(new EntityWrapper<TokenEntity>().eq("userid", userid).eq("role", role)); String token = CommonUtil.getRandomString(32); Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); cal.add(Calendar.HOUR_OF_DAY, 1); if(tokenEntity!=null) { tokenEntity.setToken(token); tokenEntity.setExpiratedtime(cal.getTime()); this.updateById(tokenEntity); } else { this.insert(new TokenEntity(userid,username, tableName, role, token, cal.getTime())); } return token; } @Override public TokenEntity getTokenEntity(String token) { TokenEntity tokenEntity = this.selectOne(new EntityWrapper<TokenEntity>().eq("token", token)); if(tokenEntity == null || tokenEntity.getExpiratedtime().getTime()<new Date().getTime()) { return null; } return tokenEntity; }}
ForumServiceImpl.java
package com.service.impl;import com.utils.StringUtil;import org.springframework.stereotype.Service;import java.lang.reflect.Field;import java.util.;import com.baomidou.mybatisplus.plugins.Page;import com.baomidou.mybatisplus.service.impl.ServiceImpl;import org.springframework.transaction.annotation.Transactional;import com.utils.PageUtils;import com.utils.Query;import org.springframework.web.context.ContextLoader;import javax.servlet.ServletContext;import com.dao.ForumDao;import com.entity.ForumEntity;import com.service.ForumService;import com.entity.view.ForumView;/ 论坛 做事实现类 /@Service("forumService")@Transactionalpublic class ForumServiceImpl extends ServiceImpl<ForumDao, ForumEntity> implements ForumService { @Override public PageUtils queryPage(Map<String,Object> params) { if(params != null && (params.get("limit") == null || params.get("page") == null)){ params.put("page","1"); params.put("limit","10"); } Page<ForumView> page =new Query<ForumView>(params).getPage(); page.setRecords(baseMapper.selectListView(page,params)); return new PageUtils(page); }}
DakaxinxiServiceImpl.java
package com.service.impl;import com.utils.StringUtil;import org.springframework.stereotype.Service;import java.lang.reflect.Field;import java.util.;import com.baomidou.mybatisplus.plugins.Page;import com.baomidou.mybatisplus.service.impl.ServiceImpl;import org.springframework.transaction.annotation.Transactional;import com.utils.PageUtils;import com.utils.Query;import org.springframework.web.context.ContextLoader;import javax.servlet.ServletContext;import com.dao.DakaxinxiDao;import com.entity.DakaxinxiEntity;import com.service.DakaxinxiService;import com.entity.view.DakaxinxiView;/ 打卡信息 做事实现类 /@Service("dakaxinxiService")@Transactionalpublic class DakaxinxiServiceImpl extends ServiceImpl<DakaxinxiDao, DakaxinxiEntity> implements DakaxinxiService { @Override public PageUtils queryPage(Map<String,Object> params) { if(params != null && (params.get("limit") == null || params.get("page") == null)){ params.put("page","1"); params.put("limit","10"); } Page<DakaxinxiView> page =new Query<DakaxinxiView>(params).getPage(); page.setRecords(baseMapper.selectListView(page,params)); return new PageUtils(page); }}
声明
本博客适用于广泛的学术和教诲用场,包括但不限于个人学习、开拓设计,产品设计。仅供学习参考,旨在为读者供应深入理解和学术研究的材料。
java系统设计,毕设辅导