基于小程序的网络报修系统的设计与实现
连接不上网络
摘要 在生活和工作中,当基础设施和设备出现故障后需要及时报修,传统Web 端报修和移动客户端报修系统开发周期长,耦合性高。基于小程序的网络报修系统,采用SSH架构开发服务器端,在移动端使用当前流行的微型小程序设计。系统既能方便用户操作,同时又方便维修部门及时了解情况、安排任务。
关键词 网络报修;springMVC;小程序;SSH框架
引言
随着信息技术和互联网技术的快速发展,以及计算机和智能手机的普及,信息技术的应用已经深入人民生活的各个角落。许多单位的基础设施和设备维修都实行了网络报修。但目前的相关报修系统还停留在B/S架构基础上,需要通过浏览器访问服务或在手机上安装应用程序实现。此类系统,存在通用性不强、耦合度高、使用不方便和开发周期长等缺点。
近几年,腾讯公司推出了触手可及、用完即走的小程序。使用小程序,可以在不增加手机存储空间的情况下,让用户通过网络报修系统随时随地使用小程序进行报修并查
看维修申请进度等。
基于此,本文使用小程序开发了网络报修系统,用户注册后,可以方便地进行故障报修,把维修需要及时告知维修人员,并得到及时维修,把故障对生活和工作的影响降到最低[1]。
1 小程序功能
小程序是腾讯公司推出的一种全新的连接用户与服务的方式,它可以在内被便捷地获取和传播,同时具有出的用户使用体验。用户不需要下载或安装就可以便捷地获取服务。小程序功能丰富,用户体验出,并提供了一系列开放的组件和接口,方便程序员进行二次开发。
基于小程序设计的网络报修系统,使用 Browse/Server(浏览器 / 服务器)模式,可运行在iOS、Android或者是 Windows 等不同平台上运行。小程序的用户操作及使用界面与相似,用户容易上手。另外,小程序不用下载安装,用户扫一扫或者搜一下即可打開应用,即开即用,用完即走,关闭后系统无残余,节省手机存储空间。
2 系统设计
基于小程序设计的网络报修系统,是在调查单位报修现状的基础上,结合移动通信的发展,顺应用户的要求开发的报修系统。
2.1 需求分析
在生活或工作中,经常会出现设施或设备故障,这时就需要及时告知维修人员以进行维修。维修部门的管理人员也想及时掌握维修申请情况,统计维修工作量和工作强度,以便动态减少或增加人手,提高服务质量。
通过网络报修系统,用户可以使用电脑或手机完成维修任务上报,查看报修任务的进度,并给出维修评价。维修部门管理员可以通过报修系统了解报修的内容、类型和数量,了解维修人员的工作状态和任务量,了解每个时期工作量的统计信息。通过本系统可以统计维修人员一年的工作业绩、维修热点和难点等,做好大数据统计,以供单位领导决策[2]。
2.2 功能设计
网络报修系统可以实现电脑和手机报修功能,同时系统实现对各种资源的管理,系统功能结构图如下图所示。
(1)登录
使用报修系统的用户有三类,用户、部门管理员,超级管理员。通过浏览器或小程序登录系统后,系统根据用户角为其分配权限,不同角具有不同的权限。
(2)用户报修
用户登录成功后,具有故障报修、查看维修进度以及发表评论的权限。执行报修操作时,根据故障情况,从报修类型列表中选择报修类型,提交报修申请。报修任务提交后,可以通过系统查看维修进度,发表评论等。
(3)报修任务管理
部门管理员登录成功后,具有管理本部门员工、管理维修项目、安排维修任务、查看和回复评论的权利。可以对本部门的报修项目列表管理,进行增加、删除、修改等操作。能随时查
看用户提交的维修申请,安排维修人员,查看维修进度。另外,通过查看和回复用户发表的评论,了解工作情况。
(4)系统管理
超级管理员登录系统后,具有所有用户的权限。可以实现对部门的管理、用户的管理和角管理等。
本系统针对报修用户、部门管理员和系统管理员三种角进行设计。普通用户可以自己注册,但部门管理员只能由超级管理员进行分配。用户注册后,由系统管理员进行角分配,并进行用户增加、删除等管理。
3 系统开发环境
网络报修系统采用MyEclipse开发,使用开源的SSH框架实现,使用Mysql作为数据存储系统。
MyEclipse 是一个十分优秀的用于开发Java,J2EE的 Eclipse 插件集合,MyEclipse的功能
非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。利用它可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率[3]。
SSH是 springMVC+spring boot+hibernate的一个集成框架,是目前比较流行的一种Web应用程序开源框架。由于Struts漏洞太多,为了安全,在项目中使用SpringMVC来代替Struts的功能。所以我们系统的所使用的SSH框架是SpringMVC,Spring boot和Hibernate组成的。
系统采用MVC模式,实现了业务和视图相分离。前端UI界面使用bootstrap,开发的界面快捷美观。前端视图模板使用thymeleaf,它提供一个优雅和高度可维护的创建模板页方式,实现快速的前端界面设计。
4 实现技术
4.1 数据库和实体类的实现
网络报修系统的后台数据库采用MySql数据库系统。数据库中设计了7个基础数据表和3个映射数据表。
基础数据表用来保存基础数据,包括用户信息表、部门信息表、维修人员信息表、报修类型信息表、报修内容表、报修评论表、维修耗材库存表等。系统运行过程中还需要维修人员与报修用户映射表,用来存储某个用户的报修申请所安排的维修人员,以及维修时间、完成情况等信息;报修人员与评论应射表用来存储某个用户对某个报修申请所发表的评论、回复的评论等信息。维修耗材使用记录表存储某个维修耗材使用时间、使用人、对应的维修申请等信息。
网络报修系统的后台数据库采用MySql数据库系统。开发中,首先编写生成数据表的sql语句,然后使用hibernate提供的逆向工程插件,生成java实体类。采用这种设计技术,大大降低了开发人员的工作量,并提高了程序的准确性。
4.2 系统框架的实现
系统采用MVC框架实现持久层,业务层,控制层和视图层。在持久层直接对JpaRepository接口扩展,从而实现不用编写实现代码就可继承JpaRepository接口提供的对数据表增、删、改、查方法,实现对数据的持久操作。
报修内容持久层的dao接口关键代码:
package pair.dao;
public interface ContentDao extends JpaRepository,
JpaSpecificationExecutor {
}
4.3业务层的实现
业务层根据业务需要编写各业务的实现代码,业务层要对数据存取时调用持久层来完成。控制层根据URL请求,调用业务层的功能来实现用户的请求。然后在视图层把用户请求结果返回给用户。
分页查看报修项目列表的关键代码如下。
@Service
public class TypeService implements ITypeService {
@Autowired
TypeDao typeDao;
@Override
public Page findTypeNoCriteria(Integer page,Integer size) {
Pageable pageable = PageRequest.of(page,size,Sort.Direction.DESC,“id”);
Page contents=typeDao.findAll(pageable);
for(TType content:contents) {
TUser().getUname();
}
5 结束语
随着互联网和移动通信技术的发展,智能移动终端的性能获得了巨大提升,越来越多应用被移植到智能移动终端,加速了各行各业发展。网络报修管理系统采用扩展性和耦合性都很好的SSH开源框架开发。系统中的移动端小程序为用户提供了另一个报修途径,通过,用户不但可以报修,还可以在中聊天交流,从而提高报修服务质量和用户的满意度。
参考文献
[1] 吴亚峰,于复兴.Android应用开发完全自学手册[M].北京:人民邮电出版社,2012:22-23.
[2] 张小龙.小程序入口在哪?有什么用?[J].计算机与网络,2017, 548(4):50.
[3] 张雪,云牟艳,张九博.基于小程序的电源监测管理系统设计[J].计算机与现代化,2017,(12):98-102,107.
张学诚(1971-),男,山东微山人;毕业院校:曲阜师范大学,學历:硕士,副教授;现就职单位:曲阜师范大学网络信息中心,研究方向:信息安全技术。