当前位置: 首页 > news >正文

艺体培训机构业务管理系统--论文pf

@TOC

springboot385艺体培训机构业务管理系统--论文pf

第1章 绪论

1.1选题动因

当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔记本的广泛运用,以及各种计算机硬件的完善和升级,市面上的电脑和笔记本的性能都得到提升,可以支持的软件也逐渐增多,因此,在计算机上安装软件来发挥其高效地信息处理的作用,则很受人们的青睐。对于艺体培训机构业务管理系统信息来讲,通过手工形式处理,在面对庞大的信息数量时,就显得不适宜了,首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,为了解决上述问题,有必要建立艺体培训机构业务管理系统,来规范艺体培训机构业务管理系统信息管理流程,让管理工作可以系统化和程序化,同时,艺体培训机构业务管理系统的有效运用可以帮助管理人员准确快速地处理信息。

1.2目的和意义

艺体培训机构业务管理系统可以对艺体培训机构业务管理系统信息进行集中管理,可以真正避免传统管理的缺陷。艺体培训机构业务管理系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计,以及数据查询等处理要求,艺体培训机构业务管理系统都可以轻松应对。所以,艺体培训机构业务管理系统的运用是让艺体培训机构业务管理系统信息管理升级的最好方式。它可以实现信息处理的便利化要求,还可以规范信息处理的流程,让事务处理成为管理人员手中的一件简单事,而不是之前手工处理时的困难事。尽管艺体培训机构业务管理系统具备较完善的功能,但是也需要管理人员利用闲暇时间提升自身素质以及个人能力,在操作艺体培训机构业务管理系统时可以最大化运用艺体培训机构业务管理系统提供的功能,让系统在满足高效率处理数据的同时,也能始终稳定运行,还可以确保数据的可靠性与数据处理的质量。

1.3论文结构安排

本文总共分为6个章节,每个章节都对本系统描述了不同的内容。接下来就对本文的研究内容进行阐述。

第1章:这个章节是论文的绪论部分。从选题的背景和意义的角度阐述即将开发的系统。

第2章:这个章节是技术介绍部分。从本系统需要运用的技术知识的角度阐述系统。

第3章:这个章节是系统分析部分。从分析系统可行性,分析系统功能和性能等角度阐述系统。

第4章:这个章节是系统设计部分。从系统功能结构的角度和数据库设计的角度阐述系统。

第5章:这个章节是系统实现部分。从系统功能模块运行效果的角度阐述系统。

第6章:这个章节是系统测试部分。从测试系统功能,系统测试方法的角度阐述系统。

第2章 开发环境与技术

开发艺体培训机构业务管理系统需要搭建编程的环境,也需要通过调查,对各个相关技术进行分析,选取适合本系统开发的技术与工具。

2.1 MySQL数据库

MySQL是一种具有安全系数、安全系数、混合开发性、高效化等特征的轻量关联数据库智能管理系统。MySQL由C语言和C语言构成 由C语言和C语言撰写成的,由于C语言和C语言 这是混合开发的,因此MySQL源码是生命期的。MySQL提供多种多样数据种类,常见的数据种类包含[34]。伴随着数据库技术发展,MySQL逐步形成数据库管理方法的重要工具之一。它不仅能提供简单实用的操作作用,还能实现复杂多变的数据检索方法和查询记录导出方式。因为MySQL具有较好的兼容模式和扩展性,因而广泛应用于各行各业。

MySQL在WEB行业越来越受单位和个人开发者的亲睐。大部分大中小型网址都采用MySQL数据库,它不仅可以提供简单高效的数据浏览作用,还会对数据进行相应的剖析解决。因为Linux电脑操作系统和MySQL数据库全是开源系统免费体验,能够为公司节约许多费用,让很多企业使用Linux MySQL做为网址数据库,体型小,启动速度快,也不会影响网址性能,导致用户体验感极差。

MySQL数据库能够支持各种各样操作系统的运作,包含AIX、HP-UX、OS/2 Wrap、Solaris、Mac OS、Linux和Windows等。性能好,使用便捷。因而,MySQL数据库已成为当下数据库行业最流行产品之一。MySQL数据库系统使用面向对象设计方式,客户至上开展编程设计。是利用面向对象观念来达到各项功能。它不仅能管理方法大中型数据表或关系数据库,还可以把这种复杂且庞大信息系统集成到一个简单的中小型数据库系统内。现阶段,中国很多公司早已运用了这一尖端技术。但是由于该操作系统是根据远程服务器/服务器结构的(C/S),因而,存在一些缺陷:最先,系统软件不可以提供完备的数据访问接口,客户只能依靠浏览器浏览所需要的数据;次之,系统软件并没有统一的标准,不同类型的客户端难以实现数据分享;第三,系统软件没有很好的权限管理体制。

2.2 Java语言技术

Java语言已经存在了25年有余。通过这些年的发展趋势,it行业在市场占有率上仍然占据一半,仍然受到了很多程序员的工作钟爱。许多从业者都是在学习培训。近年来随着从业者的提高,Java语言的位置并没减少,算得上是常青藤。Java语言学习培训比较简单,自然,它是对于C前辈们的 而言的,C 语言非常强劲。Java取消了许多特点,如go这种阐述,也取消了主文件,让所有文件夹全是类,类是二维数组以及各种对象,也使Java处理一些对象的引入和回收利用,让开发者只需建立对象,应用对象,编写代码逻辑,不需要留意性能,让各种各样文件存储给Java自己解决,你能花很多时间科学研究应用软件相互关系,使研发更为集中化,如同跑车驾驶员一样,只要了解各种汽车的性能,实际操作,不需要科学研究如何生产车轮子,使软件开发更为详尽。

2.3 Spring Boot框架

Spring Boot是一个根据Spring框架的轻量快速开发框架,能够帮助开发人员迅速搭建靠谱高效率的应用程序。依据自动部署和协议书,改善了Spring的研究过程,使开发人员可以更加专注于领域模型。

Spring Boot有许多特性,当中最主要的是它提供了内置Tomcat、Jetty、Undertow等Web网络服务器能够轻松搭建Web应用程序。除此之外,它也提供自动部署、无需撰写XML文件等功能。这种功能使开发人员能够迅速建立和布署应用程序,而无需解决繁杂的环境变量和其它繁琐复杂每日任务。

开发系统时,Spring Boot能够帮助开发人员完成模块化设计和松耦合的代码结构,从而更好地日常维护拓展应用程序。除此之外,它也提供了很多常见的库和部件,如Spring Data、Spring Security等,能够轻松集成化这种部件,完成数据库操作、验证、受权等功能。

2.4 其他技术使用

spring-jdbc联接:

这是一个专业生产制造Connection对象工厂类,大部分全部用以建立数据库联接框架都是会完成这一插口,Springjdbc包就实现了这一插口,实现类是DriverManagerdasource、现阶段的项目是由DataSource的getconection方式获得配备MYSQL5.7数据库连接信息。

提交Fileupload文件:

项目中应用Fileupload完成文件提交,通常是Fileupload前面提交文件提交请求,请求形式为POST:<form action="uploadServlet" method="post" ....="">请求编码方式:等候文件提交,启用Fileitem的isformField()方式,判断出表格域到底还是不是表格域,文件提交到后台管理,应用Fileupload接受文件信息,并把文件解决包存储在硬盘和库中。

Alibaba驱动:

比照各大网站Alibababababababababa.Druid是JAVA语言中比较好的数据库连接池。Druid可提供强有力的拓展和监控功能。该项目应用Alibababa.Druid开展数据库系统连接,Druid 0.1.18 以后,全部版本号都分享到maven中央仓库,在项目pome中.在xml里加入dependency就可以使用。

log4j日志:

艺体培训管理系统,其全世界错误处理和日志信息纪录,应用log4j开展日志日常维护管理与查询,其核心优势是错误处理:在logback中,应用软件里的出现异常不被应用软件认知,特性提升,关键或没有废弃物体制,log4j在很多情况下,可采取设计的一套无废弃物体制,防止经常日志搜集所引起的jvm gc。操作方法很简单,在pom中.新增log4j有关jarxml就可以。

第3章 系统分析

用户的需求以及与本系统相似的在市场上存在的其它系统可以作为系统分析中参考的资料,分析人员可以根据这些信息确定出本系统具备的功能,分析出本系统具备的性能等内容。

3.1可行性分析

尽管系统是根据用户的要求进行制作,但是在确定制作前,有必要分析其可行性。

3.1.1操作可行性分析

开发本系统需要用到的工具,本人都比较熟悉,因此可以使用这些工具,完整开发艺体培训机构业务管理系统。此外,艺体培训机构业务管理系统在功能上,基本都是完成信息的处理,涵盖了添加,修改,删除等,而且操作者面对的都是各个功能操作界面,并不是编码后台,所以一般的使用者都可以通过操作界面轻松完成信息的加工处理。因此,本系统操作可行。

3.1.2经济可行性分析

开发本系统,并没有投入资金购买开发工具。因为使用的开发工具都是事先在百度上下载安装在本人电脑上的,随着软件开发技术的成熟,系统功能实现的编码也都模块化,很容易通过各大软件开发类网站获取,并通过小部分代码改动,运用到本系统中,这些都不需要资金投入,同时,本系统开发的结构选用B/S,成本可以忽略不计。

3.1.3技术可行性分析

本系统需要的软件包括Eclipse,Tomcat,Mysql等,这些工具都接触并使用过,至于JAVA,B/S,vue,Html等技术,图书馆都有对应的书籍可以参考学习,加上平时课堂上学习的编程小项目对这些技术都有讲解,另外,本人也从课程设计作业中锻炼了编程能力。所以在技术上,可以完成艺体培训机构业务管理系统的编程开发。

通过上面的分析,已经确定了本系统在经济上的可行,本系统在技术上的可行,本系统在操作上的可行。由此,可以得出在目前的条件下,对于艺体培训机构业务管理系统的设计与实现是可以进行下去的。

3.2系统流程分析

本系统在处理数据时,其内部的操作逻辑也需要使用相应的工具进行展示。

在本系统的数据录入页面,对于操作者提供的每条数据都有相应的检验规则,比如数据信息不能有非法字符,或者本来应该是汉字的数据,不能用字母代替,还有对数据内容的长度等进行规范,这样的可以确保数据准确性的检验规则,在编码时,就提前编写好了。数据添加的流程见下图。如果数据已经保存进入数据库,则说明操作者提供的数据内容和格式都是符合要求的。

图3.1 添加信息流程图

很多时候,面对系统中的大量数据,难免会发现一些错误,因此需要及时纠正错误,本系统也提供数据后期的修改功能,其流程见下图。但是更新的数据也需要通过数据有效性检验。能够最终写入数据库则说明修改的数据是符合要求的。

图3.2 修改信息流程图

面对数据库里面大量数据,在系统的前台,要想快速获取需要的信息,就需要使用查询功能。其流程见下图。该功能需要操作者提前输入关键词,当系统的后台数据库保存了与关键词匹配的数据时,就会及时显示出来,整个过程耗时很短。

图3.3 查询信息流程图

3.3系统性能分析

分析艺体培训机构业务管理系统对于性能的需求主要还是从下面的5个角度来分析,它们分别是系统的实用性,系统的适应性,系统的易操作性,系统的安全性和系统的易维护性。

性能需求一:系统的实用性,本系统主要是让管理人员集中处理相关信息,可以提供方便快捷的信息添加,信息编辑等操作。在提高信息管理人员的工作效率的同时,也可以降低管理成本,并大大减少管理人员日常繁琐的工作量。

性能需求二:系统的适应性,本系统对于运行环境的要求并不高,可以被广泛运用在生活中。因为使用者只要在日常使用的计算机,或者是随身携带的笔记本上搭建运行环境都能运行本系统,另外系统提供的基础功能包括添加,修改等都能随时操作。

性能需求三:系统的易操作性,本系统提供的功能跟同类型系统一样,也具备简单的增删改操作,操作流程的逻辑也符合广大使用者的使用需求,使用者使用本系统管理数据会非常顺手。

性能需求四:系统的安全性,本系统在数据保存与管理上安全系数要达标,在设计与编码阶段,通过对用户进行权限分配,把系统的功能依照不同用户的角色进行分配,在首次进入系统时,通过编写安全验证的代码模块,引导不同用户进入不同的操作界面。还可以对用户基础信息包括登录的账号密码等进行加密保存,可以利用当下常用的技术成熟的MD5加密技术实现。

性能需求五:系统的易维护性,本系统在后期运行中,会根据使用者的操作,产生许多数据信息,为了便于维护,就要求这些数据可以通过工具从数据库中导出来,对于一些阶段性数据,可以进行批量删除,以此达到轻负荷处理数据的目标,让本系统可以变得更加轻盈。

第4章 系统设计

市面上设计比较好的系统都有一个共同特征,就是主题鲜明突出。通过对页面简洁清晰的布局,让页面的内容,包括文字语言,或者视频图片等元素可以清晰表达出系统的主题。让来访用户无需花费过多精力和时间找寻需要的内容。

4.1界面设计原则

一般来说,大部分用户使用系统,有些是想从系统中获取需要的信息,有些则是使用系统提供的服务。所以,为了改善用户体验,提高系统的使用率,在对系统界面设计时,需要按照下面的原则进行。

第一点,对用户进行分析,了解用户使用系统的目的,以及使用系统的方式,考虑大部分用户的阅读习惯,设计Z字形或F型结构可以方便用户获取信息。

第二点:设计有效的导航,这个包括每个页面上都有导航条的显示,有时也可以在页面的底部设计导航条,当用户进入具体页面时,要设计相应的位置提示,在页面中比较特殊的位置,需要设计返回链接,可以返回上个页面,也可以返回首页等。

第三点:对整个系统要运用统一的设计方案,包括色彩方案的一致性,页面模板的相似性等,对相同操作和专业术语的描述在整个系统中也应该保持一致。

第四点:设计的界面要保证传达的内容清晰准确。要避免在同一个页面设计非常多的内容,另外可以准确对系统内容进行分类,把页面中用户视觉集中的位置,用来显示重要信息。

作为初学者,并没有那么多的设计经验,但是可以运用上面提到的界面设计原则设计出比较好的系统,可以让用户产生良好的使用体验。

4.2功能结构设计

为了让系统的编码可以顺利进行,特意对本系统功能进行细分设计,设计的系统功能结构见下图。

结构设计图

图4.1 系统功能结构图

4.3数据库设计

一般来说,对用户进行调查,了解其需求,主要还是完成功能上的分析设计,殊不知,设计功能时,也要展示对数据库的设计。数据库服务于程序,它可以按照设定的规则对程序的数据进行保存,因此,也可以说数据库就是程序相关数据的集合。为了保证程序的高质量,数据库提供的数据存储服务也需要快速响应,同时数据信息也要安全合法可靠,所以设计一个数据库这样的任务也需要高度重视,并花时间和精力去努力完成。毕竟这影响到后期程序的开发和使用。试想而知,假设设计一个不好的数据库,遇到的问题将会有:第一,面对信息处理,会有着繁琐的业务逻辑,延长事务处理时间。第二:程序编码期间,将会产生更多的代码去完成数据处理的功能,产生大量的数据冗余,而且也不方便注释代码,还会占用更多的存储空间。综上所述,设计出合理的数据库是多么的重要。

(1)下图是活动实体和其具备的属性。

C:/Users/Administrator/Desktop/temp111\1\____img\活动.jpg 活动实体属性图

(2)下图是教师实体和其具备的属性。

C:/Users/Administrator/Desktop/temp111\1\____img\教师.jpg 教师实体属性图

(3)下图是活动收藏实体和其具备的属性。

C:/Users/Administrator/Desktop/temp111\1\____img\活动收藏.jpg 活动收藏实体属性图

(4)下图是课程留言实体和其具备的属性。

C:/Users/Administrator/Desktop/temp111\1\____img\课程留言.jpg 课程留言实体属性图

(5)下图是论坛实体和其具备的属性。

C:/Users/Administrator/Desktop/temp111\1\____img\论坛.jpg 论坛实体属性图

(6)下图是选课信息实体和其具备的属性。

C:/Users/Administrator/Desktop/temp111\1\____img\选课信息.jpg 选课信息实体属性图

(7)下图是单页数据实体和其具备的属性。

C:/Users/Administrator/Desktop/temp111\1\____img\单页数据.jpg 单页数据实体属性图

(8)下图是活动留言实体和其具备的属性。

C:/Users/Administrator/Desktop/temp111\1\____img\活动留言.jpg 活动留言实体属性图

(9)下图是公告通知实体和其具备的属性。

C:/Users/Administrator/Desktop/temp111\1\____img\公告通知.jpg 公告通知实体属性图

(10)下图是学员实体和其具备的属性。

C:/Users/Administrator/Desktop/temp111\1\____img\学员.jpg 学员实体属性图

(11)下图是咨询信息实体和其具备的属性。

C:/Users/Administrator/Desktop/temp111\1\____img\咨询信息.jpg 咨询信息实体属性图

(12)下图是课程实体和其具备的属性。

C:/Users/Administrator/Desktop/temp111\1\____img\课程.jpg 课程实体属性图

(13)下图是课程收藏实体和其具备的属性。

C:/Users/Administrator/Desktop/temp111\1\____img\课程收藏.jpg 课程收藏实体属性图

根据艺体培训管理系统的功能设计以及数据库要求,展示该系统的数据表结构。

表4.1咨询信息表

序号列名数据类型说明允许空
1IdIntid
2yonghu_idInteger提问学员
3chat_issueString问题
4issue_timeDate问题时间
5chat_replyString回复
6reply_timeDate回复时间
7zhuangtai_typesInteger状态
8chat_typesInteger数据类型
9insert_timeDate创建时间

表4.2字典表

序号列名数据类型说明允许空
1IdIntid
2dic_codeString字段
3dic_nameString字段名
4code_indexInteger编码
5index_nameString编码名字
6super_idInteger父字段id
7beizhuString备注
8create_timeDate创建时间

表4.3论坛表

序号列名数据类型说明允许空
1IdIntid
2forum_nameString帖子标题
3jiaoshi_idInteger教师
4yonghu_idInteger学员
5users_idInteger管理员
6forum_contentString发布内容
7super_idsInteger父id
8forum_state_typesInteger帖子状态
9insert_timeDate发帖时间
10update_timeDate修改时间
11create_timeDate创建时间

表4.4活动表

序号列名数据类型说明允许空
1IdIntid
2huodong_nameString活动标题
3huodong_typesInteger活动类型
4huodong_photoString活动图片
5zan_numberInteger
6cai_numberInteger
7huodong_clicknumInteger点击量
8insert_timeDate添加时间
9huodong_contentString活动详情
10create_timeDate创建时间

表4.5活动收藏表

序号列名数据类型说明允许空
1IdIntid
2huodong_idInteger活动
3yonghu_idInteger学员
4huodong_collection_typesInteger类型
5insert_timeDate收藏时间
6create_timeDate创建时间

表4.6活动留言表

序号列名数据类型说明允许空
1IdIntid
2huodong_idInteger活动
3yonghu_idInteger学员
4huodong_liuyan_textString留言内容
5insert_timeDate留言时间
6reply_textString回复内容
7update_timeDate回复时间
8create_timeDate创建时间

表4.7教师表

序号列名数据类型说明允许空
1IdIntid
2jiaoshi_nameString教师名称
3jiaoshi_phoneString教师手机号
4jiaoshi_id_numberString教师身份证号
5jiaoshi_photoString教师头像
6jiaoshi_emailString教师邮箱
7jiaoshi_deleteInteger逻辑删除
8insert_timeDate添加时间
9create_timeDate创建时间

表4.8课程表

序号列名数据类型说明允许空
1IdIntid
2kecheng_nameString课程标题
3kecheng_photoString展示照片
4kecheng_typesInteger课程类型
5kecheng_daString上课时间
6kecheng_fileString课表信息
7kecheng_clicknumInteger热度
8jiaoshi_idInteger教师
9zan_numberInteger
10cai_numberInteger
11kecheng_contentString课程详情
12kecheng_deleteInteger逻辑删除
13insert_timeDate录入时间
14create_timeDate创建时间 homeMain

表4.9课程收藏表

序号列名数据类型说明允许空
1IdIntid
2kecheng_idInteger课程
3yonghu_idInteger学员
4kecheng_collection_typesInteger类型
5insert_timeDate收藏时间
6create_timeDate创建时间

表4.10课程留言表

序号列名数据类型说明允许空
1IdIntid
2kecheng_idInteger课程
3yonghu_idInteger学员
4kecheng_liuyan_textString留言内容
5insert_timeDate留言时间
6reply_textString回复内容
7update_timeDate回复时间
8create_timeDate创建时间

表4.11选课信息表

序号列名数据类型说明允许空
1IdIntid
2kecheng_yuyue_uuid_numberString选课编号
3kecheng_idInteger课程
4yonghu_idInteger用户
5kecheng_yuyue_textString选课理由
6insert_timeDate添加时间
7kecheng_yuyue_yesno_typesInteger选课状态
8kecheng_yuyue_yesno_textString审核回复
9create_timeDate创建时间

表4.12公告通知表

序号列名数据类型说明允许空
1IdIntid
2news_nameString公告标题
3news_typesInteger活动信息
4news_photoString公告图片
5insert_timeDate添加时间
6news_contentString公告详情
7create_timeDate创建时间

表4.13单页数据表

序号列名数据类型说明允许空
1IdIntid
2single_seach_nameString名字
3single_seach_typesInteger数据类型
4single_seach_photoString图片
5single_seach_contentString内容
6create_timeDate创建时间

表4.14学员表

序号列名数据类型说明允许空
1IdIntid
2yonghu_nameString学员名称
3yonghu_phoneString学员手机号
4yonghu_id_numberString学员身份证号
5yonghu_photoString学员头像
6yonghu_emailString学员邮箱
7yonghu_deleteInteger逻辑删除
8insert_timeDate添加时间
9create_timeDate创建时间

表4.15管理员表

序号列名数据类型说明允许空
1IdIntid
2usernameString医院名
3passwordString密码
4roleString角色
5addtimeDate新增时间

第5章 系统实现

这个环节需要使用前面的设计方案,包括对系统模块的设计,还有对程序后台的数据支持的数据库的设计等。不过这部分内容还是强调系统编码人员的开发能力,要把前面设计的内容通过编码的形式以一个完整的,可以运行的系统呈现出来。

功能模块的实现

5.1学员信息管理

如图5.1显示的就是学员信息管理页面,此页面提供给管理员的功能有:学员信息的查询管理,可以删除学员信息、修改学员信息、新增学员信息,

还进行了对用户名称的模糊查询的条件

图5.1 学员信息管理页面

5.2 课程信息管理

如图5.2显示的就是课程信息管理页面,此页面提供给管理员的功能有:查看已发布的课程信息数据,修改课程信息,课程信息作废,即可删除,还进行了对课程信息名称的模糊查询 课程信息信息的类型查询等等一些条件。

图5.2 课程信息管理页面

5.3活动信息管理

如图5.3显示的就是活动信息管理页面,此页面提供给管理员的功能有:根据活动信息进行条件查询,还可以对活动信息进行新增、修改、查询操作等等。

图5.3 活动信息管理页面

5.1公告信息管理

如图5.4显示的就是公告信息管理页面,此页面提供给管理员的功能有:根据公告信息进行新增、修改、查询操作等等。

图5.4 公告信息管理页面

FileUtil.java
package com.utils;import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;/**
* @author yangliyuan
* @version 创建时间:2020年2月7日 下午8:01:14
* 类说明 : 
*/public class FileUtil {public static byte[] FileToByte(File file) throws IOException {// 将数据转为流@SuppressWarnings("resource")InputStream content = new FileInputStream(file);ByteArrayOutputStream swapStream = new ByteArrayOutputStream();byte[] buff = new byte[100];int rc = 0;while ((rc = content.read(buff, 0, 100)) > 0) {swapStream.write(buff, 0, rc);}// 获得二进制数组return swapStream.toByteArray();}
}
JiaoshiServiceImpl.java
package com.service.impl;import com.utils.StringUtil;
import com.service.DictionaryService;
import com.utils.ClazzDiff;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
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 javax.servlet.http.HttpServletRequest;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import com.dao.JiaoshiDao;
import com.entity.JiaoshiEntity;
import com.service.JiaoshiService;
import com.entity.view.JiaoshiView;/*** 教师 服务实现类*/
@Service("jiaoshiService")
@Transactional
public class JiaoshiServiceImpl extends ServiceImpl<JiaoshiDao, JiaoshiEntity> implements JiaoshiService {@Overridepublic PageUtils queryPage(Map<String,Object> params) {Page<JiaoshiView> page =new Query<JiaoshiView>(params).getPage();page.setRecords(baseMapper.selectListView(page,params));return new PageUtils(page);}}
ChatServiceImpl.java
package com.service.impl;import com.utils.StringUtil;
import com.service.DictionaryService;
import com.utils.ClazzDiff;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
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 javax.servlet.http.HttpServletRequest;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import com.dao.ChatDao;
import com.entity.ChatEntity;
import com.service.ChatService;
import com.entity.view.ChatView;/*** 咨询信息 服务实现类*/
@Service("chatService")
@Transactional
public class ChatServiceImpl extends ServiceImpl<ChatDao, ChatEntity> implements ChatService {@Overridepublic PageUtils queryPage(Map<String,Object> params) {Page<ChatView> page =new Query<ChatView>(params).getPage();page.setRecords(baseMapper.selectListView(page,params));return new PageUtils(page);}}
ExcelFileUpload.vue
<template><div><!-- 上传文件组件 --><el-uploadref="upload":action="getActionUrl"list-type="picture-card"accept=".xls,.xlsx":limit="limit":headers="myHeaders":file-list="fileList":on-exceed="handleExceed":on-preview="handleUploadPreview":on-remove="handleRemove":on-success="handleUploadSuccess":on-error="handleUploadErr":before-upload="handleBeforeUpload"><i class="el-icon-plus"></i><div slot="tip" class="el-upload__tip" style="color:#838fa1;">{{tip}}</div></el-upload><el-dialog :visible.sync="dialogVisible" size="tiny" append-to-body><img width="100%" :src="dialogImageUrl" alt></el-dialog></div>
</template>
<script>
import storage from "@/utils/storage";
import base from "@/utils/base";
export default {data() {return {// 查看大图dialogVisible: false,// 查看大图dialogImageUrl: "",// 组件渲染图片的数组字段,有特殊格式要求fileList: [],fileUrlList: [],myHeaders:{}};},props: ["tip", "action", "limit", "multiple", "fileUrls"],mounted() {this.init();this.myHeaders= {'Token':storage.get("Token")}},watch: {fileUrls: function(val, oldVal) {//   console.log("new: %s, old: %s", val, oldVal);this.init();}},computed: {// 计算属性的 gettergetActionUrl: function() {// return base.url + this.action + "?token=" + storage.get("token");return `/${this.$base.name}/` + this.action;}},methods: {// 初始化init() {//   console.log(this.fileUrls);if (this.fileUrls) {this.fileUrlList = this.fileUrls.split(",");let fileArray = [];this.fileUrlList.forEach(function(item, index) {var url = item;var name = index;var file = {name: name,url: url};fileArray.push(file);});this.setFileList(fileArray);}},handleBeforeUpload(file) {},// 上传文件成功后执行handleUploadSuccess(res, file, fileList) {if (res && res.code === 0) {fileList[fileList.length - 1]["url"] = "upload/" + file.response.file;this.setFileList(fileList);this.$emit("change", this.fileUrlList.join(","));this.$message.success("文件导入成功");} else {this.$message.error(res.msg);}},// 图片上传失败handleUploadErr(err, file, fileList) {this.$message.error("文件导入失败");},// 移除图片handleRemove(file, fileList) {this.setFileList(fileList);this.$emit("change", this.fileUrlList.join(","));},// 查看大图handleUploadPreview(file) {this.dialogImageUrl = file.url;this.dialogVisible = true;},// 限制图片数量handleExceed(files, fileList) {this.$message.warning(`最多上传${this.limit}张图片`);},// 重新对fileList进行赋值setFileList(fileList) {var fileArray = [];var fileUrlArray = [];// 有些图片不是公开的,所以需要携带token信息做权限校验var token = storage.get("token");let _this = this;fileList.forEach(function(item, index) {var url = item.url.split("?")[0];if(!url.startsWith("http")) {url = _this.$base.url+url}var name = item.name;var file = {name: name,url: url + "?token=" + token};fileArray.push(file);fileUrlArray.push(url);});this.fileList = fileArray;this.fileUrlList = fileUrlArray;}}
};
</script>
<style lang="scss" scoped>
</style>

声明

本博客适用于广泛的学术和教育用途,包括但不限于个人学习、开发设计,产品设计。仅供学习参考,旨在为读者提供深入理解和学术研究的材料。


http://www.mrgr.cn/news/390.html

相关文章:

  • BLEU、ROUGE详解-语言模型的常用评价指标-举例附代码实现
  • 【人工智能】Python融合机器学习、深度学习和微服务的创新之路
  • 坐牢第二十七天(聊天室)
  • 改善工作流
  • Binance 如何使用 Quickwit 构建 100PB 日志服务(Quickwit 博客)
  • MySQL数据库备份为sql文件还原到另一个服务器
  • Trying to Insert an input function using Python in OpenAI
  • HTML - 简易版打字练习
  • Leetcode JAVA刷刷站(38)外观数列
  • Vue 3 深入指南:`watch` 属性监控与响应式处理
  • C语言——操作符详解
  • 多媒体技术及应用课程思政网站
  • 【FDA新药】全球首款靶向CXCR4罕见病WHIM综合征的治疗药物Xolremdi获批上市
  • Jedis和SpringDataRedis
  • 【网络】UDP回显服务器和客户端的构造,以及连接流程
  • xssnote
  • 电商平台的推荐算法需要备案吗?
  • 【云原生】Kubernetes中的名称空间和资源配额详细用法与应用实战
  • TinTinLand Web3 + DePIN 共学月|深入探索 DePIN 项目,全景分析去中心化网络未来
  • 跨进程通信使用 Zenoh中间件 进行高效数据传输的测试和分析