考研资讯平台

devtools/2024/9/23 21:18:25/

@TOC

springboot0767考研资讯平台">springboot0767考研资讯平台

绪论

1.1课题研究背景与意义

随着现代网络技术的快速发展,互联网的应用对学生的生活和工作有着很大的影响,特别是在当今计算机的应用下的人更加需要这样的环境,所以我们根据这个要求来开发了本课题。该课题主要是设计了一个考研资讯平台,在系统当中学生可以根据不同的信息来实现该网站的考研资讯平台信息的管理。

通过课题的实现我们来进行开发一个通过计算机来进行实现网上考研资讯平台信息系统。并通过现实结合来开发出有关设计的数据库和功能模块,同时对各个软件得到了充分的应用,更加熟练的掌握了数据库的编程方法。在没有计算机和网络技术的时代里我们对网上考研资讯平台信息管理都是用纸质和笔来进行管理的。随着现代网络技术的快速发展和计算机的不断普及,学生很快就应用这种方式来进行对网上考研资讯平台信息的各项目工作进行管理。因为随着网络发展和应用网络人数的不断扩大发展,重要的信息也不断增加,同时也要进行管理,这时候在互联网高速发展和计算机影响学生生活中网络得到了广泛应用,学生不得不跟从社会的发展和时代的前进。虽然有了互联网的发展和计算机的应用,但是还是少不了学生的手工操作。对于这个考研资讯平台来说它就是针对上述的问题而设计的。这个系统可以有效的进行网上考研资讯平台信息管理和减少人员工作复杂度和工作量,同时提高工作人员的工作效率。

随着网络的快速发展和学生对网络的认识,在学生的生活当中很快就融入了互联网的应用,学生根据现在网络技术的快速发展和现实社会的需求管理,所以该系统应用计算机的现有资源和优势来实现了具体的管理趋势。根据该系统的具体调查和需求分析、数据流程以及分析,做出了对整个系统的总体结构设计和数据库的设计。该系统主要是采用了Java技术和mysql来建立系统的具体功能模块。使整个考研资讯平台在整个界面上是简洁实用的,包括考研资讯信息和报考指南信息浏览,添加,查询。因此,该文章主要是通过对考研资讯的设计来把网上考研资讯平台做一个详细的介绍,使整个网上考研资讯平台层次更加鲜明和清楚。在阅读完该文章以后可以更加了解到考研资讯平台的具体设计和实现过程。

1.2课题研究目的

考研资讯平台是典型的管理系统,系统开发主要是包括数据库的建立和分析以及后期上的维护操作等功能的方便应用。对于以前的网上考研资讯平台信息来说考研资讯平台的建设它是建立在一个符合学生日常考研资讯平台的流程和资料,从而保证了这个系统的完整性和安全性的功能。对于后者程序功能的要求来说它能够方便程序的功能使用和应用的特点。随着现代化网络的快速发展和计算机技术的不断提高,学生对计算机科学的发展逐渐便得更加成熟,对于现在计算机功能也逐渐了解和认可。考研资讯平台的开发环境也变得更加强大,随之学校也就开始融入了这种考研资讯平台的应用,从宏观的角度来说考研资讯平台它主要是顺应现代化的时代和潮流来做发展的,它可以提高经济效益,从微观上来看它可以加强现代化管理和提高学生的工作效率。

随着现代网络技术的快速发展和计算机知识的大量普及,在各行各业当中我们可以把这种管理模式和控制逐渐应用学校当中,所以说考研资讯平台的开发也可以成为大多数的学校管理模式,从而使学校管理模式变得更加系统化、规范化和自动化。

对于学生日常的工作来说大多数是采用一些机械重复来完成的,它使过去一些繁琐的工作效率变得简单高效,所以考研资讯平台它是根据现在学生的需求来做开发和控制的,从而提高学生日常的工作效率和学校的竞争能力。

1.3课题研究内容

考研资讯平台它主要是实现了不同学生的需求,具体包括管理员和学生。根据这几个方面的介绍我们对系统做了详细的研究,具体从该系统的开发背景、选题意义、需求分析、功能分析、数据库的建立以及相关技术的应用做了具体的设计与分析。并且对每一个功能实现做了具体的讲解。

2 系统开发环境介绍

该系统的开发主要是采用了Java技术和mysql数据库来做为系统的主要技术核心,并且对于系统的设计、数据库分析、页面制作和系统的安全做了合理安排,最后还对系统的运行、调试做了具体的工作。

java简介">2.1 java简介

Java语言是在二十世纪末由Sun公司发布的,而且公开源代码,这一优点吸引了许多世界各地优秀的编程爱好者,也使得他们开发出当时一款又一款经典好玩的小游戏。Java语言是纯面向对象语言之一,从发布初期到现今,可以说有将近20多年的历史,已发展成为人类计算机编程语言发展史上的一个深远影响。

Java语言具有非常多种的特性:(1)跨平台的无关性;(2)面向对象; (3)安全性得以保障;(4)支持多个任务;(5)多种编写方式,代码编写简单。对比其他的低级语言、高级语言,Java语言具有明显的显著优势以及未来开阔的前景,可以广泛的应用在个人笔记本电脑、大数据、大型游戏等等。

首先,Java语言具有面向对象的特性,并且易于理解。关于对象,其实可以理解成每一种事物都是一种对象,包括我们人类自身都是一种对象。利用面向对象语言的基本特征来解决软件开发中的实际问题,为有效软件开发提供了技术支持。

其次,Java 语言具有很好的跨平台无关性。所编写出来的应用程序是Java语言编写的,那么就无需再使用编译器来修改程序代码,可以直接在任何计算机系统中运行,Windows系统可以运行,在Linux系统中也可以,也就是经过一次编译,可以到处运行,所以Java语言具有卓越的可移植性,可以很好的跨平台实现。它编写简单,适应平台广,非常适合构造基于B/S结构的动态网页。

2.2 Tomcat介绍

Tomcat 虽然是Apache的扩展,但是它们都是可以独立运行的,二者是不互相干扰的。当配置正确的时候,Apache服务器为HTML页面的运行提供技术支持,Tomcat 的任务则是运行Servle和java 页面。Tomca也具有一定的HTML页面处理功能。Tomcat属于一种轻型的服务器,所以说在中小学校中并不具有普适性。但是当程序员需要开发或调试java 程序时,则通常会将该服务器作为首选。对于一个仅具有计算机基础知识的人来说,计算机系统具有一个好的Apache服务器,可以很好的对HTML 页面进行访问。Tomcat是非常受欢迎的服务器,因为它具有较好的扩展性,而且在运行的时候不需要太多的系统资源,拥有程序员所需要的收发邮件功能,还能够支持负载平衡,该程序能够不断的更新,程序员能够根据自己的需要增加新的功能。

2.3 mysql数据库介绍

MySQL数据库是世界上最流行的关系型数据库管理系统之一,它可以工作在许多平台(Unix,Linux,Windows)上,它是具有客户机/服务器体系结构的分布式数据库管理系统,而且MySQL数据库所使用的语言是数据库中最常用最标准化的语言。MySQL数据库是瑞典的MySQL AB公司开发的。mysql数据库它主要是适用于网络,并且它具开源代码软件,用其建造的数据库可在任何电脑平台上进行访问,相对于其他数据库而言,MySQL数据库具有运行速度快、可靠性高、安全保密性强等优点,大大降低了总体成本,非常适合中小型网站的开发。

Mysql数据库它的主要优点就是让学生在学习的过程当中容易、简单的去学习也方便进行操作。对于我们在使用mysql数据库的情况下将它的功能要进行代码的编写。对于mysql数据库来说我们只要编写一小段的代码就能实现功能。

springboot框架">2.4 Spring Boot框架

Spring Boot是Pivotal团队的一个新框架,旨在简化新Spring应用程序的初始设置和开发。该框架使用特定的配置方法,无需开发人员定义样板配置。通过这种方式,Spring Boot旨在成为蓬勃发展的快速应用程序开发领域的领导者。 Spring Boot特点: 1、创建一个单独的Spring应用程序; 2、嵌入式Tomcat,无需部署WAR文件; 3、简化Maven配置; 4、自动配置Spring; 5、提供生产就绪功能,如指标,健康检查和外部配置; 6、绝对没有代码生成和XML的配置要求; 安装步骤: 最基本的是,Spring Boot是一个可以被任何项目的构建系统使用的库集合。 为简单起见,该框架还提供了一个命令行界面,可用于运行和测试Boot应用程序。 可以从Spring存储库手动下载和安装框架的已发布版本,包括集成的CLI(命令行界面)。 更简单的方法是使用Groovy enVironment Manager(GVM),它负责处理Boot版本的安装和管理。 可以从GVM命令行GVM install springboot安装Boot及其CLI。 在OS X上安装Boot时可以使用Homebrew包管理器。要完成安装,首先使用brew tap pivotal / tap切换到pivotal存储库,然后执行brew install springboot命令。

3 系统分析

3.1 系统可行性分析

可行性的分析它是对一个项目开发是否有意义起着决定性的作用,也是对这个系统不足在某方面进行的一个改进。对于这个考研资讯平台来说,它能够为学生解决考研资讯平台问题,为学生提供方便的服务。所以这是该系统开发的主要的价值,同时它也在一定的程度上解决了对管理人员的压力和开发的价值意义。最后在总结的过程当中我们还要考虑这个系统的开发是否大于这个成本的价值,所以我们在进行可行性的分析就是对这个系统设计能否进行。

对于全篇来说,该项目主要是从以下几个方面来进行可行性分析的:

技术可行性:开发本系统主要是采用了Java技术所以我们设计该考研资讯平台是没有问题的。

经济可行性:对于系统的开发我们要考虑在开发出系统以后在社会的发展道路上带来的经济效益是否大于所付出劳动成果。

操作可行性:我们要考虑所开发出的系统它主要是方便学生的可操作性和普遍性。

3.1.1 技术可行性

技术的可行性分析它主要是针对开发该系统所用到技术进行分析,对于这个考研资讯平台来说它所建立的信息管理系统。通过当前我们所学的程序开发和语言介绍利用以上的技术开发该系统是比较合适的。而且我们在使用的数据库也是要保证这个系统的完整性、数据安全性好的条件。

3.1.2 经济可行性

就拿该项目的开发开发来说它主要是由这个系统价值来决定这个项目在以后的开发过程和利用价值,假如这个系统在开发当中花费了很多钱而且各个软件也没有实现反而需要我们投入更多的经济和成本,那么这个项目的开发它就很容易造成失败。就拿这个项目来说在最初开发的时候它就是为了节约,所以我们不需要进行启动任何资金,所用的软件也是我当初在学校期间所学的,所以它是一个双赢的过程,综上所述开发此软件在经济上是可行的。

3.1.3 操作可行性

对于这个考研资讯平台的注册登录界面来说,它是我们最常见的登录界面来进行访问进行,不需要我们对学生进行专业的访问操作。在加上系统所用的Spring Boot框架和mysql数据库这样的开发环境这样就使得系统开发更加完美,而且在整个系统的操作上也是方便、简单、易管理的特点,所以该系统是可以进行开发的。

通过上述的分析,对于这个系统的设计它是在经济、技术、操作上这些条件它都是满足的,因此,对于整个系统的开发它是具备可行性的条件。

3.2 系统性能分析

1、对于这个系统方面我们要做出一个良好的操作界面,而且该界面的设计要让工作人员和学生看上去简洁明了。

2、对该系统要有明确的应用,而且在使用过程当中要保证安全。

3、首先要对数据的修改和处理要保持明确的标记,对系统数据处理要快速,最后达到安全的管理系统。

3.3 系统功能需求分析

当我们进行任何一个新网站的开发它都是要进行一个完整的需求分析,因为我们在进行分析过程当中才能发现这个系统的质量好坏,才能决定是否开发这个系统。对于这个考研资讯平台来说它的前期分析是非常重要的,而且我们在进行开发这个系统的需求分析是让学生在使用过程更加满意,最后方便于大家使用。

需求分析对于一个系统来说它是比较重要的一个环节,因为在这里需求分析它可以考虑到系统当中出现的任何一个问题,而且它还决定这个系统能否正常运行,让学生是否能够满意,需求分析决定了整个系统的框架、功能和要求。并且将现实设计变化成对象并完成建模。

本课题要求实现一套考研资讯平台,系统主要分为前台和后台。主要包括学生前台:首页、考研资讯、报考指南、资料信息、论坛信息、我的、跳转到后台、购物车、客服,

管理员:首页、个人中心、考研资讯管理、学生管理、报考指南管理、资料信息管理、资料分类管理、论坛管理、系统管理、订单管理,

学生后台:首页、个人中心、我的收藏管理、订单管理等功能。

学生前台用例需求如图3-1所示:

图3-1学生前台需求用例图

管理员用例需求如图3-2所示:

图3-2 管理员需求用例图

3.4系统流程分析

在系统流程分析当中调查分析是比较重要的环节,因为在这个系统当中它都涉及到每个环节的业务流程,所以我们从考研资讯平台的整体设计上要保证各个信息的正确输入和输出以及对数据储存的完整,并结合实际的操作步骤来绘制出具体的流程图。具体该系统的开发流程图如下图3-3所示。

图3-3 系统流程图

4 系统设计

4.1 系统设计主要功能

经过对系统的分析阶段工作以后我们明确的了解到了系统具体实现的功能,接下来的工作它是对这些功能来做具体的功能实现的,也是这个设计的主要设计思想工作。对于这个设计总体来说它是根据最初的设计主要任务来做出具体的需求方案。最后根据所需的目标来做比较和概括的方式最后做出具体的任务,也就是说如果想要实现系统最高的效果,我们就从软件方面来做出最佳的方案。具体表现有以下几个特点:第一首先要根据最初指定的工作要求、功能和性能来做出具体的要求。第二要根据软件的可维护性和安全性来做出保障。第三就是保证这个软件的代码和系统文档配置保持一致,来做出这个设计的最佳方案。

总体的软件设计和开发阶段它是由上游阶段来完成的,该阶段在后续的开发上做了很好的铺垫。所以在整个设计上我们做出的种种决策来做了软件上的质量决策,从而做好设计的稳定性,同时也保证了软件方便维护。

对于该考研资讯平台来说它主要是由后台和前台两大部分组成。主要包括学生前台:首页、考研资讯、报考指南、资料信息、论坛信息、我的、跳转到后台、购物车、客服,管理员:首页、个人中心、考研资讯管理、学生管理、报考指南管理、资料信息管理、资料分类管理、论坛管理、系统管理、订单管理,学生后台:首页、个人中心、我的收藏管理、订单管理等功能。具体功能结构图如下图4-1所示:

图4-1 系统功能结构图

4.2 数据库设计

4.2.1 数据库E-R图

从系统这个阶段来看该阶段的任务它是由这个系统的具体任务来做出要求的,所以说我们可以通过这个阶段的设计工作以后我们可以详细的描述出这个系统在编码的过程中做出的具体程序语言设计,最后绘制出这个程序的蓝图,最后根据这个蓝图来做出详细的功能模块,最重要的是根据这个设计来完成整个程序的设计和一些关键技术的逻辑基础。以下就是对这几个设计具体实体关系图来做出设计:

图4-2 学生信息实体图

图4-3 资料信息管理实体图

图4-4 报考指南管理实体图

图4-5管理员实体图

4.2.2 数据表字段设计

数据库就是对数据进行储存,只不过它是在某方面通过计算进行的一种数据储存,而且数据库的储存它是有组织的储存在计算机内,而且在这里的数据具有独立性和共享性。对于每个数据库的应用它都是区分开的,当在某一个阶段运行时候它就会自动与客户端进行通讯。所以系统就与相应的数据进行连接。当我们选择哪一个桥段的时候它就会对数据库进行创建,这时候就会在对话框内弹出相应的数据源名称,同时输入相应的身份证和登录密码。

根据系统功能设计的要求和功能模块的划分,考研资讯平台一共涉及到多个数据表。下面就介绍一下各别主要数据库表的设计结构及其功能建立数据库表:

表4-1 allusers表

列名数据类型长度约束
idint11NOT NULL
usernamevarchar50default NULL
pwdvarchar50default NULL
cxvarchar50default NULL

表4-2:baokaozhinan表

列名数据类型长度约束
idint11NOT NULL
addtimevarchar50default NULL
biaotivarchar50default NULL
jiuyefangxiangvarchar50default NULL
tupianvarchar50default NULL
zhuanyevarchar50default NULL
xiangqingvarchar50default NULL
faburiqivarchar50default NULL

表4-3:kaoyanzixun表

列名数据类型长度约束
IDint11NOT NULL
addtimevarchar50default NULL
zixunbiaotivarchar50default NULL
leixingvarchar50default NULL
tupianvarchar50default NULL
neirongvarchar50default NULL
faburiqivarchar50default NULL

表4-4:xuesheng表

列名数据类型长度约束
idint11NOT NULL
addtimevarchar50default NULL
xuehaovarchar2default NULL
mimavarchar50default NULL
xueshengxingmingvarchar50default NULL
xingbievarchar50default NULL
touxiangvarchar255default NULL
zhuanyevarchar50default NULL
banjivarchar50default NULL
shoujivarchar50default NULL
youxiangvarchar50default NULL

表4-5:ziliaoxinxi表

列名数据类型长度约束
idint11NOT NULL
addtimevarchar50default NULL
ziliaomingchengvarchar255default NULL
fenleivarchar50default NULL
tupianvarchar50default NULL
guigevarchar50default NULL
beizhuvarchar50default NULL
xiangqingvarchar50default NULL

5 系统实现

5.1学生前台功能模块

5.1.2首页

在系统首页可以查看首页、考研资讯、报考指南、资料信息、论坛信息、我的、跳转到后台、购物车、客服等内容,如图5-1所示。

图5-1系统功能界面图

5.1.3 学生注册

在学生注册页面通过填写学号、密码、学生姓名、专业、班级、手机、邮箱等信息完成学生注册,如图5-2所示。

图5-2学生注册界面图

5.1.4登录

在登录页面可以填账号、密码等详细内容进行登录,如图5-3所示。

图5-3登录界面图

5.1.5个人中心

在个人中心信息页面可以填写学号、密码、学生姓名、性别、专业、邮箱等详细,如图5-4所示。

图5-4个人中心界面图

5.2登录设计实现

学生和管理员输入个人的账号和密码登录系统,这时候我们所对于这个系统的数据库来进行一些相关信息的查找,假如我们对输入的账号和密码不正确的时候,数据库就会自动提示出错误的信息,同时提示用户要从新输入正确的信息。网站登录效果图如图5-5、5-6所示:

图5-5 管理员登录效果图

图5-6 学生登录效果图

5.3 后台系统实现

5.3.1管理员模块

管理员主要管理:首页、个人中心、考研资讯管理、学生管理、报考指南管理、资料信息管理、资料分类管理、论坛管理、系统管理、订单管理等内容。具体管理员管理效果如下图5-7所示。

图5-7 管理员功能效果图

5.3.2考研资讯管理

管理员登录系统后台以后可以对考研资讯管理进行修改、删除以及对考研资讯管理进行查看等操作,具体的运行效果图如下图5-8所示。

图5-8考研资讯管理效果图

5.3.3学生管理

管理员进入后台对学生管理信息进行查看、修改、删除等操作,学生管理功能效果图如图5-9所示。

图5-9 学生管理效果图

5.3.4报考指南管理

管理员可以对报考指南管理信息进行修改、查看、删除等操作。报考指南管理效果图如下图5-10所示:

图5-10报考指南管理效果图

5.3.5资料信息管理

管理员可以对资料信息管理信息进行删除、修改、添加等具体的操作。资料信息管理效果图如下图5-11所示:

图5-11资料信息管理效果图

5.3.6资料分类管理

管理员可以对资料分类管理信息进行添加、查看、删除、修改等操作。资料分类管理效果图如5-12所示。

图5-12资料分类管理效果图

5.3.7论坛管理

管理员可以对论坛管理信息进行添加、查看、删除、修改等操作。论坛管理效果图如5-13所示。

图5-13论坛管理效果图

5.3.8系统管理

管理员可以对系统管理信息进行添加、查看、删除、修改等操作。系统管理效果图如5-14所示。

图5-14系统管理效果图

5.3.9订单管理

管理员可以对订单管理进行添加、查看、删除、修改等操作。订单管理效果图如5-15所示。

图5-15订单管理效果图

5.4 学生后台功能模块

5.4.1订单管理

学生进入系统可以查看首页、个人中心、我的收藏管理、订单管理等操作。学生可以对订单管理信息进行添加、查看等操作。订单管理效果图如5-16所示。

图5-16订单管理效果图

5.4.2我的收藏管理

学生进入系统后可以对我的收藏管理进行查看、删除等操作。我的收藏管理效果如下图5-17所示:

图5-17我的收藏管理效果图

5.4.3个人信息

学生进入系统后可以对个人信息进行查看、删除等操作。个人信息效果如下图5-18所示:

图5-18个人信息效果图

系统

java">ZiliaofenleiServiceImpl.java
package com.service.impl;import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.List;import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.utils.PageUtils;
import com.utils.Query;import com.dao.ZiliaofenleiDao;
import com.entity.ZiliaofenleiEntity;
import com.service.ZiliaofenleiService;
import com.entity.vo.ZiliaofenleiVO;
import com.entity.view.ZiliaofenleiView;@Service("ziliaofenleiService")
public class ZiliaofenleiServiceImpl extends ServiceImpl<ZiliaofenleiDao, ZiliaofenleiEntity> implements ZiliaofenleiService {@Overridepublic PageUtils queryPage(Map<String, Object> params) {Page<ZiliaofenleiEntity> page = this.selectPage(new Query<ZiliaofenleiEntity>(params).getPage(),new EntityWrapper<ZiliaofenleiEntity>());return new PageUtils(page);}@Overridepublic PageUtils queryPage(Map<String, Object> params, Wrapper<ZiliaofenleiEntity> wrapper) {Page<ZiliaofenleiView> page =new Query<ZiliaofenleiView>(params).getPage();page.setRecords(baseMapper.selectListView(page,wrapper));PageUtils pageUtil = new PageUtils(page);return pageUtil;}@Overridepublic List<ZiliaofenleiVO> selectListVO(Wrapper<ZiliaofenleiEntity> wrapper) {return baseMapper.selectListVO(wrapper);}@Overridepublic ZiliaofenleiVO selectVO(Wrapper<ZiliaofenleiEntity> wrapper) {return baseMapper.selectVO(wrapper);}@Overridepublic List<ZiliaofenleiView> selectListView(Wrapper<ZiliaofenleiEntity> wrapper) {return baseMapper.selectListView(wrapper);}@Overridepublic ZiliaofenleiView selectView(Wrapper<ZiliaofenleiEntity> wrapper) {return baseMapper.selectView(wrapper);}}
java">XueshengServiceImpl.java
package com.service.impl;import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.List;import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.utils.PageUtils;
import com.utils.Query;import com.dao.XueshengDao;
import com.entity.XueshengEntity;
import com.service.XueshengService;
import com.entity.vo.XueshengVO;
import com.entity.view.XueshengView;@Service("xueshengService")
public class XueshengServiceImpl extends ServiceImpl<XueshengDao, XueshengEntity> implements XueshengService {@Overridepublic PageUtils queryPage(Map<String, Object> params) {Page<XueshengEntity> page = this.selectPage(new Query<XueshengEntity>(params).getPage(),new EntityWrapper<XueshengEntity>());return new PageUtils(page);}@Overridepublic PageUtils queryPage(Map<String, Object> params, Wrapper<XueshengEntity> wrapper) {Page<XueshengView> page =new Query<XueshengView>(params).getPage();page.setRecords(baseMapper.selectListView(page,wrapper));PageUtils pageUtil = new PageUtils(page);return pageUtil;}@Overridepublic List<XueshengVO> selectListVO(Wrapper<XueshengEntity> wrapper) {return baseMapper.selectListVO(wrapper);}@Overridepublic XueshengVO selectVO(Wrapper<XueshengEntity> wrapper) {return baseMapper.selectVO(wrapper);}@Overridepublic List<XueshengView> selectListView(Wrapper<XueshengEntity> wrapper) {return baseMapper.selectListView(wrapper);}@Overridepublic XueshengView selectView(Wrapper<XueshengEntity> wrapper) {return baseMapper.selectView(wrapper);}}
java">TokenServiceImpl.java

package 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 yangliyuan* @date 2019年10月10日 上午9:17:59*/
@Service("tokenService")
public class TokenServiceImpl extends ServiceImpl<TokenDao, TokenEntity> implements TokenService {@Overridepublic PageUtils queryPage(Map<String, Object> params) {Page<TokenEntity> page = this.selectPage(new Query<TokenEntity>(params).getPage(),new EntityWrapper<TokenEntity>());return new PageUtils(page);}@Overridepublic List<TokenEntity> selectListView(Wrapper<TokenEntity> wrapper) {return baseMapper.selectListView(wrapper);}@Overridepublic 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;}@Overridepublic String generateToken(Long 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;}@Overridepublic 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;}
}

http://www.ppmy.cn/devtools/99984.html

相关文章

cron调度表达式

文章目录 一、cron表达式1.1 基本介绍1.2 字段取值和取值范围1.3 特殊字符1.4 示例1.4.1 每天固定时间执行1.4.2 每天多个固定时间执行1.4.3 每间隔一段时间执行 一、cron表达式 1.1 基本介绍 Cron表达式是一种用于指定定时任务的时间表达式&#xff0c;常用来指定任务的执行时…

Python元组之不可变序列的奥秘与应用方式例子解析

代码示例&#xff1a; Python中的元组&#xff08;Tuple&#xff09;是一种有序的、不可变的数据结构&#xff0c;它与列表类似&#xff0c;但具有一些独特的特性和应用方式。以下是关于Python元组的一些关键点和详细例子&#xff1a; 创建元组&#xff1a;元组可以通过圆括号…

TCP系列相关内容

一、TCP上传文件 loop——本地回环测试地址。 void *memset&#xff08;void *s,int c,size_t n&#xff09;——给一个变量设定一个值。 1、“粘包”问题 两次分别发送的数据&#xff0c;被一起接收形成该现象。 原因&#xff1a;TCP流式套接字&#xff0c;数据与数据间没…

探索结直肠癌的免疫逃逸机制:单细胞分析揭示患者分层

探索结直肠癌的免疫逃逸机制&#xff1a;单细胞分析揭示患者分层 在最新的科学研究中&#xff0c;结直肠癌&#xff08;CRC&#xff09;的复杂性和异质性一直是研究者们关注的重点。近期&#xff0c;一篇题为《Integrative single-cell analysis of human colorectal cancer r…

智云-一个抓取web流量的轻量级蜜罐docker一键启动

智云-一个抓取web流量的轻量级蜜罐docker安装教程 github地址 https://github.com/xiaoxiaoranxxx/POT-ZHIYUN docker快速启动(v1.4) git clone https://github.com/xiaoxiaoranxxx/POT-ZHIYUN.git cd POT-ZHIYUN docker-compose up -d默认映射到80和8080端口 mysql不对外开放…

「对比评测」标准WPF DataGrid与DevExpress WPF GridControl有何不同?(一)

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

牛客小白月赛99

文章目录 A.材料打印B. %%%C.迷宫又是一年毕业季题目链接 A.材料打印 签到题&#xff0c;直接按照题意输出就行。赛时写的有点慢了&#xff0c;这种题应该一分钟之内写完的 void solve () {int n;cin>>n;for (int i1;i<n;i) {int a,b,c,d;cin>>a>>b>…

npm install常见错误以及解决办法

在使用 Node.js 开发项目时&#xff0c;npm install 是开发者经常使用的命令&#xff0c;用于安装项目依赖库。然而&#xff0c;由于环境配置、网络问题或者包的版本兼容性等问题&#xff0c;npm install 有时会遇到一些常见错误。本文将总结几种常见错误及其解决方法&#xff…