springboot面向法律咨询的系统-计算机毕业设计源码55037

     摘要

本文旨在探讨基于Spring Boot框架构建的法律咨询系统的设计与实现。该系统针对当前法律服务领域存在的信息不对称、咨询效率低等问题,利用现代信息技术手段,为用户提供便捷、高效的法律咨询服务。系统采用Spring Boot作为后端开发框架,结合前端技术实现用户界面的友好交互。通过整合法律知识库、智能问答、律师预约等功能模块,系统能够提供个性化的法律解答和专业的律师咨询服务。研究过程中,本文首先分析了当前法律服务行业的现状和需求,明确了系统的设计目标和功能要求。然后,详细阐述了系统的架构设计、数据库设计以及关键功能模块的实现方法。基于Spring Boot的法律咨询系统不仅有助于提升法律服务的整体效率和质量,还能够为相关领域的学术研究和行业实践提供有益的参考和借鉴。

关键词 SpringBoot面向法律咨询的系统;MySQL

Abstract

This article aims to explore the design and implementation of a legal consultation system based on the Spring Boot framework. This system addresses the issues of information asymmetry and low consultation efficiency in the current legal service field, utilizing modern information technology to provide users with convenient and efficient legal consultation services. The system adopts Spring Boot as the backend development framework, combined with frontend technology to achieve user-friendly interaction. By integrating legal knowledge base, intelligent Q&A, lawyer appointment and other functional modules, the system can provide personalized legal answers and professional lawyer consultation services. During the research process, this article first analyzed the current situation and needs of the legal service industry, and clarified the design goals and functional requirements of the system. Then, the architecture design, database design, and implementation methods of key functional modules of the system were elaborated in detail. A legal consulting system based on Spring Boot not only helps improve the overall efficiency and quality of legal services, but also provides useful references and inspirations for academic research and industry practice in related fields.

key word: SpringBoot; A system for legal consultation; MySQL

目录

1 绪论

1.1 研究背景

1.2研究意义

1.3国内外研究现状

2 面向法律咨询的系统技术分析

2.1 MySQL描述

2.2 B/S结构

2.3 spring boot框架介绍

2.4 Java描述

3 面向法律咨询的系统需求分析

3.1 可行性分析

3.1.1 技术可行性分析

3.1.2 经济可行性分析

3.1.3 操作可行性分析

3.2需求分析

3.3 功能需求分析

3.4功能模块设计

3.4.1系统前端界面

3.4.2系统后端界面

3.5 系统流程分析

3.5.1系统开发流程

3.5.2 用户登录流程

3.5.3 系统操作流程

3.5.4 添加信息流程

3.5.5 修改信息流程

3.5.6 删除信息流程

4 面向法律咨询的系统概要设计

4.1系统功能结构设计

4.2系统数据库设计

4.2.1数据库概念结构设计

4.2.2数据库逻辑结构设计

5 面向法律咨询的系统详细设计与实现

5.1普通用户功能模块

5.1.1 前台首页界面

5.1.2注册界面

5.1.3登录界面

5.1.4 律师信息界面

5.1.5 个人中心界面

5.2律师用户功能模块

5.2.1 预约记录管理界面

5.2.2 咨询记录管理界面

5.3管理员功能模块

5.3.1系统管理界面

5.3.2律师信息管理界面

5.3.3支付账单管理界面

5.3.4法律知识管理界面

5.3.5资源管理界面

6系统的测试

6.1测试的目的

6.2 系统测试用例

6.3 系统测试结果

7 结论

参考文献

致谢

1 绪论

    1. 研究背景

在当今社会,随着法治建设的不断推进和人们法律意识的日益增强,法律咨询服务的需求呈现出快速增长的趋势。然而,传统的法律咨询服务模式往往受到地域、时间、资源等多重因素的限制,难以满足广大民众对于便捷、高效、个性化法律服务的需求。因此,如何利用现代信息技术手段,打破传统法律服务的壁垒,成为当前法律服务行业亟待解决的问题。在此背景下,基于Spring Boot框架构建的法律咨询系统应运而生。Spring Boot作为一种轻量级的Java开发框架,以其简洁、高效、易于集成的特点,在软件开发领域得到了广泛应用。将Spring Boot应用于法律咨询系统的开发,不仅能够实现系统的快速搭建和灵活部署,还能够提供丰富的功能和强大的性能支持,满足用户对法律咨询服务的多样化需求。

本文旨在通过研究和实现基于Spring Boot的法律咨询系统,探索现代信息技术在法律服务领域的应用前景,为推动法律服务行业的数字化转型和提升法律服务的整体水平提供有益的参考和借鉴。

1.2研究意义

1.提升法律服务的可及性和便捷性

传统的法律咨询方式往往受限于地域、时间成本及信息不对称等问题,难以满足广大人民群众便捷、高效获取法律知识的需求。而基于Spring Boot的法律咨询系统能够通过互联网平台,打破传统咨询模式的界限,实现法律知识的普及和法律服务的高效对接。用户只需通过互联网即可轻松获取法律解答、预约律师咨询、查看法律知识信息,极大地提升了法律服务的可及性和便捷性。

2.推动法律服务行业的数字化转型

随着信息技术的不断发展,数字化转型已成为各行各业的发展趋势。法律服务行业也不例外。基于Spring Boot的法律咨询系统能够将传统的法律服务与现代信息技术相结合,实现法律服务的数字化、智能化和个性化。这不仅有助于提升律师行业整体的服务质量和客户满意度,还能够通过数据分析为政府和法律机构提供有价值的法律信息参考,助力法治社会的科学决策和精细化管理[1]

3.促进法律知识的普及与传播

法律知识是维护社会公平正义、保障人民权益的重要基础。然而,由于法律条文复杂、专业性强,许多人在面对法律问题时往往感到无所适从。基于Spring Boot的法律咨询系统通过提供丰富的法律常识、案例分析和普法信息等功能,能够帮助用户更好地理解和运用法律知识,增强公众的法律素养和自我保护能力。同时,系统内置的智能问答功能还能够根据用户的问题提供个性化的法律建议,有效避免法律风险,维护个人或企业的合法权益。

4.为相关领域的学术研究和行业实践提供有益参考

基于Spring Boot的法律咨询系统的研究与应用,不仅具有重要的实践意义,还能够为相关领域的学术研究和行业实践提供有益的参考和借鉴。通过深入研究系统的设计与实现过程,可以探索出更多适用于法律服务行业的信息化、智能化解决方案,为未来的智慧法律服务模式探索提供有力支持。

1.3国内外研究现状

在国内,关于面向法律咨询的系统设计与实现的研究呈现出多样化的发展趋势。随着互联网技术的进步和公众对法律服务需求的增加,如何通过信息技术提供更便捷、高效的法律咨询服务成为了学术界和业界共同关注的问题。

1.微信小程序作为法律援助平台的应用

刘旭等人在其论文《基于微信小程序的法律援助平台的设计与实现》中指出,利用微信小程序构建法律援助平台可以有效地降低用户获取法律服务的门槛,同时提高法律咨询的效率和覆盖面。该平台不仅提供了在线法律咨询的功能,还结合了案件管理、预约律师等功能模块,使得用户能够一站式解决自己的法律问题[2]

2.人工智能在法律咨询中的应用

汪灏在其研究中探讨了人工智能技术在法律咨询领域的应用,特别是自然语言处理技术如何辅助进行法律文书分析、案例检索以及自动化的法律咨询回答。汪灏认为,AI技术的应用有助于提升法律咨询服务的专业性和准确性,同时也为法律工作者提供了有力的支持工具[3]

3.公共法律服务平台的制度完善与创新

俞佳在其硕士论文《政府公共法律服务平台制度完善和创新的研究》中深入分析了国内外公共法律服务平台的发展现状,并提出了针对中国国情的改进措施。她指出,建设一个高效、透明且易于访问的公共法律服务平台对于促进法治社会建设至关重要。俞佳的研究不仅为政策制定者提供了理论依据,也为实际操作层面的改革指明了方向[4]

(三)国外研究现状

在国外,法律咨询系统的开发与优化同样受到了高度重视,特别是在技术创新和服务模式方面有着丰富的研究成果。

1.综合性的法律服务重新定义

Mid-Michigan Legal & Consulting在其发布的文章《Redefining Legal Services with a Holistic Approach》中提出了一种全新的法律服务理念,即通过整合多种法律资源和技术手段,提供更加个性化和全面的法律解决方案。这种方法强调客户体验和需求导向,旨在打破传统法律服务的局限性,使更多的人群受益于高质量的法律帮助(Mid-Michigan Legal & Consulting, 2024)[5]

2.Christoph E. 和 Keren W. 在其发表于《Annual Review of Law and Social Science》的文章《Diffusion of Legal Innovations》中,详细探讨了法律创新在全球范围内的传播机制。他们指出,法律创新不仅仅是技术或方法上的革新,还包括法律制度、政策和实践的改变。这些创新往往从发达国家或特定行业开始,然后逐渐扩散到其他地区和领域。Christoph 和 Keren 强调,了解这些扩散过程对于促进全球法律体系的现代化和适应性至关重要[6]

以上文献反映了国内外在面向法律咨询的系统设计与实现方面的研究进展,既体现了技术发展的前沿成果,也包含了对法律服务模式创新的深刻思考。特别是,通过理解法律创新的扩散机制,可以帮助各国更好地吸收和借鉴国际先进经验,推动本国法律服务体系的持续改进和发展。此外,Mid-Michigan Legal & Consulting提出的综合性法律服务理念,强调了以客户需求为导向的服务模式,这对于提升法律咨询系统的用户体验和效果具有重要启示

2 面向法律咨询的系统技术分析

2.1 MySQL描述

现在MySQL数据库在网络上它可以支撑许多个用户,而且也可以适应客服机和服务器的部署或者配置等,我们这里的服务器和客户机其实就是一种软件上的概念,并且我们使用的计算机硬件也与他们不存在一一对应的关系。

MySQL是一款非常流行的关系型数据库管理系统,它的出现一直都是佼佼者,它不仅功能非常强大,而且使用起来非常方便,并且MySQL的跨平台能力也很好,软件开发人员非常喜欢它的这些强大的优点[7]。不同于其他关系型数据库,对于数据库的管理它有着自己的一套方案,通过对用户设定相应的权限和角色来达到对数据库的管理。由此可见,MySQL是一个能够适用于吞吐量高,可靠性高,效率高的一款数据库管理软件。

优点一:MySQL中对于不同身份的用户都设定其不同的权限来完成不同的业务逻辑,这使得MySQL在安全和完整性远远超出了其他关系型数据库。

优点二:对于那些动画、图形和声音的数据类型MySQL也可以支持,这说明多数据类型MySQL也是可以支持的。

优点三:MySQL还可以做到多个平台的开发,软件开发的多种编程语言都可以实现对MySQL数据库的操作。

2.2 B/S结构

在系统的开发上采用了B/S结构,在B/S结构中,统一采用浏览器,而不需要去开发任何的用户界面,Web浏览器向处理它的Web服务器发送请求,并一步一步地将处理结果返回给客户端。B/S结构主要采用了各种脚本语言和ActiveX技术,降低了系统的开发难度并简化了系统维护以及使用[8]。

B/S结构有如下特点:B/S结构建立在广域网上,不需要专门为其配置硬件环境,比C/S结构的适应范围更强;由于其基于广域网,所以其对安全的控制能力相对较弱;B/S的多种结构要求构造相对独立的函数,这样才能可以更好地重用;B/S结构组成简单,便于对个别构件进行更换,降低了系统的维护成本B/S信息流向与C/S不同,B/S信息流向可变化。

2.3 spring boot框架介绍

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等[9]。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。

2.4 Java描述

Java是一种平台性计算机语言技术,主要包括两部分:Java虚拟机(Java Virtual Machine,JVM)和Java API(Application Program Interface,应用接口编程) 。

个人对两种语言深入理解:C语言更多的是创造工具,而Java更多的是使用工具。我们知道Java很多的底层实现其实是通过C语言来实现的,所以更能看出这一点。在使用Java的过程中,我们需要会使用API文档,可以将其看做是Java的使用说明。Java面向对象的特性,使其有很多封装好的对象,在使用时,我们只要知道对象的行为(也是对象封装的方法),在这里要注意方法是静态方法还是常规方法,因为调用时,差距很大。未来肯定会有比Java更加人性化,更加容易开发的编程语言,但是肯定不可能完全迥异于Java语言,俗话说“他山之石,可以攻玉”,学好Java也可以方便我们更好的学习其它语言。

3 面向法律咨询的系统需求分析

系统需求分析是系统开发的一个关键环节,它在系统的设计和实现上起到了一个承上启下的位置。系统需求分析是对所需要做的系统进行一个需求的挖掘,如果分析的准确可以精准的解决现实中碰到的问题。如果分析不到位会影响后期系统的实现。一个系统的优秀程度需求分析也是占据了非常大的比例,如果需求分析不到位,后面的系统设计要实现就是一个偏离导航的设计。

3.1 可行性分析

系统可行行分析是对系统对系统可行性进行一个探讨。在探讨系统的可行性上我们主要从技术上的可行性和经济上的可行性以及操作层面的可行性上进行分析,如果三个层面度通过,我们则认为系统是比较可行的。

3.1.1 技术可行性分析

从技术角度来看,面向法律咨询的系统的设计与实现是完全可行的。现代软件开发技术,特别是SpringBoot框架,提供了强大的后端支持,能够高效地处理复杂的咨询逻辑和数据处理需求。前端技术如Vue.js等,则能为用户提供直观、易用的界面体验。此外,数据库技术如MySQL,可以安全、高效地存储和管理大量的律师信息、法律知识数据。因此,从技术层面来看,实现一个功能完善、性能稳定的面向法律咨询的系统是完全可行的。

3.1.2 经济可行性分析

经济可行性方面,面向法律咨询的系统的开发成本相对较低,但潜在的经济效益和社会效益却非常显著。一方面,系统的自动化和智能化可以大大提高咨询效率,减少人力成本;另一方面,系统提供的法律知识、律师信息等功能可以极大地提升用户体验,增强服务能力和竞争力。此外,系统的长期运行和维护成本也相对较低,因为一旦系统开发完成,后续的更新和维护工作可以通过模块化设计进行,大大降低了维护成本。因此,从经济角度来看,面向法律咨询的系统的设计与实现是可行的。

3.1.3 操作可行性分析

操作可行性方面,面向法律咨询的系统的设计应充分考虑到用户的操作习惯和实际需求。系统界面应简洁明了,操作流程应直观易懂,确保用户能够轻松上手并快速完成咨询、预约等操作。此外,系统还应提供完善的帮助文档和在线支持服务,以便用户在使用过程中遇到问题时能够及时获得帮助。因此,从操作角度来看,面向法律咨询的系统的设计应充分考虑用户体验和操作便捷性,确保系统在实际应用中具有高度的可操作性。

3.2需求分析

本面向法律咨询的系统的设计主要是针对三种用户进行使用,包括律师用户、普通用户和管理员,角色功能如下:

用户:
(1)注册登录:用户通过注册登录系统,可通过点击头像中我的账户,对个人信息进行增删改查。比如个人资料、头像和密码修改。

  1. 通知公告:点击可查看通知公告、关于我们、联系方式、网站介绍。 
    (3)律师信息:用户点击可查看律师信息列表。同时可对信息进行点赞、收藏、咨询、选课和评论操作。
  2. 法律知识:用户点击可查看法律知识列表。同时可对法律知识进行点赞、收藏和评论操作。
  3. 新闻资讯:用户点击可查看新闻资讯列表。同时可对新闻资讯进行点赞、收藏和评论操作。
  4. 个人中心:用户点击头像可查看“个人中心”,包括个人首页、预约记录、咨询记录、支付账单、评论管理和收藏。
    律师用户:
    (1)注册登录:用户通过注册登录系统,可通过点击头像中我的账户,对个人信息进行增删改查。比如个人资料、头像和密码修改。
    (2)律师信息管理:用户点击可查看律师信息列表,也可以添加新的律师信息。
  1. 预约记录管理:用户可以查看预约记录列表详情,对预约记录进行确认预约状态。
  2. 咨询记录管理:用户可以查看咨询记录列表详情。
  3. 支付账单管理:用户可以查看支付账单列表详情。
    管理员:
    (1)登录:管理员的账号是在数据列表中直接设置生成的,不需要进行注册,可直接输入账号密码登录,同时可对管理员资料进行增删改查。
    (2)系统用户:管理员点击可查看管理员、律师用户和普通用户;同时可对系统用户进行增删改查。

(3)法律知识管理:管理员点击可查看法律知识列表,同时可对法律知识进行增删改查。

(4)律师信息管理:管理员点击可查看律师信息列表,同时可对律师信息进行增删改查。

(5)预约记录管理:用户可以查看预约记录列表详情.

(6)咨询记录管理:用户可以查看咨询记录列表详情。

(7)支付账单管理:用户可以查看支付账单列表详情。

(8)系统管理:当管理员点击“系统管理”时,可查看轮播图; 如需添加新的轮播图,点击右侧“添加”按钮,上传图片,输入标题,点击“确认”按钮进行添加;同时可对轮播图进行增删改查。
(9)资源管理:管理员可以对新闻资讯和分类列表进行增删改查。

(10)通知公告管理:管理员可以对通知公告列表进行编辑。

3.3 功能需求分析

系统的功能需求方面主要是从系统的安全性、存储性、可靠性、易学性、稳定性等方面进行分析:

(1)安全性:系统的安全问题是开发者首先要考虑的,如果系统存在安全隐患,可能使得用户个人信息被泄露,给用户带来困扰,造成损失。

(2)储存性:因为用户使用的关于电子产品在线销售的网站,会员用户多,而且登录后要查询各种电子产品信息,那就需要一个强大的数据库来进行数据的存储,对数据库的要求是非常严格的,本系统选用的是MYSQL数据库,MYSQL的运行速度很快,执行命令的速度也非常快,而且体积小。

(3)可靠性:可靠性指的是用户在进行咨询的时候,能够按照用户的指示进行显示信息,如果用户点击查询法律知识详细信息,显示出来的是不可购买的信息,那就违背用户的初衷。

(4)易学性:系统的开发面向对象学历不尽相同,所有在开发的时候要考虑系统操作应该简单,不需要进行任何学习、培训,只能上网的用户就可以操作。

(5)稳定性:系统在运行方面要很稳定,系统的界面、字体要清楚,没有失真现象,给用户以良好的体验。

(6)可拓展性:本面向法律咨询的系统的功能还有待完善,因此系统要有很好的拓展性,方便后期功能更新维护。

3.4功能模块设计

3.4.1系统前端界面

普通用户用例图如图3-1所示

3-1 面向法律咨询的系统普通用户用例图

律师用户用例图如图3-2所示

    3-2 面向法律咨询的系统律师用户用例图

3.4.2系统后端界面

后台是管理员才能操作的,后台管理员用例图如图3-3所示。

3-3面向法律咨询的系统后台管理员用户用例图

3.5 系统流程分析

3.5.1系统开发流程

面向法律咨询的系统的设计与实现开发时,首先进行需求分析,进而对系统进行总体的设计规划,设计系统功能模块,数据库的选择等,本系统的开发流程如图3-4所示。

3-4系统开发流程图

3.5.2 用户登录流程

为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。如图3-5所示。

3-5 登录流程图

3.5.3 系统操作流程

用户打开并进入系统后,会先显示登录界面,输入正确的用户名和密码,系统自动检测信息,若信息无误,则用户会进入系统功能界面,进行操作,否则会提示错误无法登录,操作流程如图3-6所示。

3-6 系统操作流程图

3.5.4 添加信息流程

管理员可以对通知公告等进行信息的添加,用户可以对自己权限内的信息进行添加,输入信息后,系统会自行验证输入的信息和数据,若信息正确,会将其添加到数据库内,若信息有误,则会提示重新输入信息,添加信息流程如图3-7所示。

3-7 添加信息流程图

3.5.5 修改信息流程

管理员可以对通知公告等进行的修改,用户可以对自己权限内的信息进行修改,首先进入修改信息界面,输入修改信息数据,系统进行数据的判断验证,修改信息合法则修改成功,信息更新至数据库,信息不合法则修改失败,重新输入。修改信息流程图如图3-8所示。

3-8 修改信息流程图

3.5.6 删除信息流程

管理员可以对通知公告、申报信息等进行信息的删除,对要删除的信息进行选中后,点击删除按钮,系统会询问是否确定,若点击确定,则系统会删除掉选中的信息,并在数据库内对信息进行删除,删除信息流程图如图3-9所示。

3-9 删除信息流程图

4 面向法律咨询的系统概要设计

4.1系统功能结构设计

系统在结构上的设计至关重要,要考虑周全,设计全面,一个完善的结构体系,能够满足用户在使用时的各种需求,这样会让提高程序的使用率,保证程序被长久的利用。在设计面向法律咨询的系统的结构时,也列入重点,采用模块化的方法来进行设计,即首先将大模块确定下来,再慢慢的将大模块进行补充完善,向下分支出小模块,一起共同组成的系统的结构体系,下图是该面向法律咨询的系统的结构设计图,直观明了的可以看出本项目程序的功能。

面向法律咨询的系统功能结构图如图4-1所示。

4-1 面向法律咨询的系统功能结构图

4.2系统数据库设计

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

4.2.1数据库概念结构设计

在数据库概念模型设计的时候,一般都采用E-R实体图进行展示,在实体图中可以展示出数据库表中的所有字段名称。下面是整个springboot面向法律咨询的系统中主要的数据库表总E-R实体关系图。

4-2 系统总E-R关系图

4.2.2数据库逻辑结构设计

在数据库表中我们会看到系统的表名、主键、外键等信息,我们通过数据库表的主键、外键把每个表关联起来,然后在界面中展示,本面向法律咨询的系统的主要的数据库表如下:

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表appointment_record (预约记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

appointment_record_id

int

10

0

N

Y

预约记录ID

2

lawyer_users

int

10

0

Y

N

0

律师用户

3

lawyers_name

varchar

64

0

Y

N

律师姓名

4

appointment_user

int

10

0

Y

N

0

预约用户

5

reservation_deposit

double

9

2

Y

N

0.00

预约定金

6

time_of_appointment

date

10

0

Y

N

预约时间

7

appointment_status

varchar

64

0

Y

N

预约状态

8

appointment_remarks

text

65535

0

Y

N

预约备注

9

case_submission

varchar

255

0

Y

N

案件提交

10

pay_bills_limit_times

int

10

0

N

N

1

支付定金限制次数

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

13

source_table

varchar

255

0

Y

N

来源表

14

source_id

int

10

0

Y

N

来源ID

15

source_user_id

int

10

0

Y

N

来源用户

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

parent

varchar

64

0

Y

N

父级菜单

8

parent_sort

int

10

0

N

N

0

父级菜单排序

9

position

varchar

32

0

Y

N

位置:

10

mode

varchar

32

0

N

N

_blank

跳转方式:

11

add

tinyint

3

0

N

N

1

是否可增加:

12

del

tinyint

3

0

N

N

1

是否可删除:

13

set

tinyint

3

0

N

N

1

是否可修改:

14

get

tinyint

3

0

N

N

1

是否可查看:

15

field_add

text

65535

0

Y

N

添加字段:

16

field_set

text

65535

0

Y

N

修改字段:

17

field_get

text

65535

0

Y

N

查询字段:

18

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

19

table_nav

varchar

500

0

Y

N

跨表导航:

20

option

text

65535

0

Y

N

配置:

21

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

22

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表code_token

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

code_token_id

int

10

0

N

Y

2

token

varchar

255

0

Y

N

3

code

varchar

255

0

Y

N

验证码

4

expire_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

失效时间

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表consultation_records (咨询记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

consultation_records_id

int

10

0

N

Y

咨询记录ID

2

lawyer_users

int

10

0

Y

N

0

律师用户

3

lawyers_name

varchar

64

0

Y

N

律师姓名

4

consulting_users

int

10

0

Y

N

0

咨询用户

5

consultation_time

datetime

19

0

Y

N

咨询时间

6

consultation_questions

varchar

64

0

Y

N

咨询问题

7

problem_details

text

65535

0

Y

N

问题详情

8

lawyers_reply

text

65535

0

Y

N

律师回复

9

material_attachments

varchar

255

0

Y

N

材料附件

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

12

source_table

varchar

255

0

Y

N

来源表

13

source_id

int

10

0

Y

N

来源ID

14

source_user_id

int

10

0

Y

N

来源用户

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表lawyer_information (律师信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

lawyer_information_id

int

10

0

N

Y

律师信息ID

2

lawyer_users

int

10

0

Y

N

0

律师用户

3

lawyers_name

varchar

64

0

Y

N

律师姓名

4

specializes_in_specific_fields

varchar

64

0

Y

N

擅长领域

5

reservation_deposit

double

9

2

Y

N

0.00

预约定金

6

success_cases

text

65535

0

Y

N

成功案例

7

lawyers_photo

varchar

255

0

Y

N

律师照片

8

lawyer_introduction

longtext

2147483647

0

Y

N

律师简介

9

praise_len

int

10

0

N

N

0

点赞数

10

collect_len

int

10

0

N

N

0

收藏数

11

comment_len

int

10

0

N

N

0

评论数

12

appointment_record_limit_times

int

10

0

N

N

0

预约限制次数

13

consultation_records_limit_times

int

10

0

N

N

0

咨询限制次数

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表lawyer_users (律师用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

lawyer_users_id

int

10

0

N

Y

律师用户ID

2

lawyers_name

varchar

64

0

Y

N

律师姓名

3

lawyer_gender

varchar

64

0

Y

N

律师性别

4

contact_number

varchar

16

0

Y

N

联系电话

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表legal_knowledge (法律知识)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

legal_knowledge_id

int

10

0

N

Y

法律知识ID

2

knowledge_title

varchar

64

0

Y

N

知识标题

3

release_time

date

10

0

Y

N

发布时间

4

cover_photo

varchar

255

0

Y

N

封面图片

5

refer_to_the_attachment

varchar

255

0

Y

N

参考附件

6

knowledge_details

longtext

2147483647

0

Y

N

知识详情

7

praise_len

int

10

0

N

N

0

点赞数

8

collect_len

int

10

0

N

N

0

收藏数

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表ordinary_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

ordinary_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_gender

varchar

64

0

Y

N

用户性别

4

contact_number

varchar

16

0

Y

N

联系电话

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表pay_bills (支付账单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pay_bills_id

int

10

0

N

Y

支付账单ID

2

lawyer_users

int

10

0

Y

N

0

律师用户

3

lawyers_name

varchar

64

0

Y

N

律师姓名

4

appointment_user

int

10

0

Y

N

0

预约用户

5

time_of_appointment

date

10

0

Y

N

预约时间

6

reservation_deposit

double

9

2

Y

N

0.00

预约定金

7

pay_state

varchar

16

0

N

N

未支付

支付状态

8

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

11

source_table

varchar

255

0

Y

N

来源表

12

source_id

int

10

0

Y

N

来源ID

13

source_user_id

int

10

0

Y

N

来源用户

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表schedule (日程管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

schedule_id

smallint

5

0

N

Y

日程ID:[0,32767]

2

content

varchar

255

0

Y

N

日程内容

3

scheduled_time

datetime

19

0

Y

N

计划时间

4

user_id

int

10

0

N

N

用户id

5

create_time

datetime

19

0

Y

N

创建时间

6

update_time

datetime

19

0

Y

N

更新时间

表score (评分)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

score_id

int

10

0

N

Y

评分ID:

2

user_id

int

10

0

N

N

0

评分人:

3

nickname

varchar

64

0

Y

N

昵称:

4

score_num

double

5

2

N

N

0.00

评分:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

source_table

varchar

255

0

Y

N

来源表:

8

source_field

varchar

255

0

Y

N

来源字段:

9

source_id

int

10

0

N

N

0

来源ID:

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

int

10

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5 面向法律咨询的系统详细设计与实现

5.1普通用户功能模块

5.1.1 前台首页界面

游客或者用户进入系统后可以查看系统的信息,包含了程序的标题、导航栏、轮播图、通知公告、律师信息、法律知识等,其主界面展示如下图5-1所示。

5-1 前台首页界面图

5.1.2注册界面

游客可以查看系统信息,也有注册成为用户的权限。其用注册界面展示如下图4-2所示。

5-2 用户注册界面图

注册代码如下:

  /**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}     

5.1.3登录界面

游客注册成功以后就成为了注册用户,注册用户可以通过前台的登录页面登录到系统当中,用登录界面如下图5-3所示。

5-3用户登录界面图

登录代码如下:

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            Duration duration = Duration.ofSeconds(7200L);

            redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

5.1.4 律师信息界面

律师信息:用户点击可查看律师信息列表。同时可对律师信息进行点赞、收藏、预约和评论操作。其界面如下图。

5-4 律师信息界面图

5.1.5 个人中心界面

个人中心:用户点击头像可查看“个人中心”,包括个人首页、预约记录、咨询记录、法律知识和收藏。界面如下图所示。

5-5 个人中心界面图

5.2律师用户功能模块

5.2.1 预约记录管理界面

预约记录管理:用户可以查看预约记录列表详情,对预约记录进行确认预约状态。详情展示页面如图所示。

5-6预约记录管理界面图

5.2.2 咨询记录管理界面

咨询记录管理:用户可以查看咨询记录列表详情。界面如下图所示

5-7 咨询记录管理界面

5.3管理员功能模块

5.3.1系统管理界面

系统管理:当管理员点击“系统管理”时,可查看轮播图; 如需添加新的轮播图,点击右侧“添加”按钮,上传图片,输入标题,点击“确认”按钮进行添加;同时可对轮播图进行增删改查。界面如下图所示。

5-8  系统管理界面图

5.3.2律师信息管理界面

律师信息管理:管理员点击可查看律师信息列表,同时可对律师信息进行增删改查。界面如下图所示。

5-9律师信息管理界面图

5.3.3支付账单管理界面

支付账单管理:用户可以查看支付账单列表详情。面如下图所示。

5-10支付账单管理界面图

5.3.4法律知识管理界面

法律知识管理:管理员点击可查看法律知识列表,同时可对法律知识进行增删改查。界面如下图所示。

5-11法律知识管理界面图

5.3.5资源管理界面

资源管理:管理员可以对新闻资讯和分类列表进行增删改查。界面如下图所示。

5-12资源管理界面图

6系统的测试

6.1测试的目的

一个系统测试的目的就是检验系统在真正的工作环境、条件下是不是能够正常运行,各种功能能不能符合设计的要求,通过测试发现系统当中存在的一些潜在的错误,然后对系统进行改进,使得系统最终以完美的形式展现给用户,提高用户使用过程中的体验度,真正达到项目的实际使用目的。

6.2 系统测试用例

系统测试包括:管理员登录功能测试通知公告查看功能测试、律师信息添加功能测试、密码修改功能测试,如表6-1、6-2、6-3、6-4所示:

管理员登录功能测试:

6-1 管理员登录功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

登录模块测试

登录成功的情况

管理员可以通过浏览器进入到面向法律咨询的系统后台登录界面,输入用户名:admin和密码admin后,点击“登录”按钮。

成功登录到管理员管理的界面

正确

登录模块测试

登录失败的情况

管理员可以通过浏览器进入到面向法律咨询的系统后台登录界面,输入用户名:admin和密码111后,点击“登录”按钮。

系统提示“用户名和密码不匹配”

正确

通知公告查看功能测试:

6-2 通知公告查看功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

查询通知公告功能测试

查询成功的情况

用户在导航栏中点击“通知公告”,输入关键词查询,输入的通知公告在系统中存在,显示查询通知公告信息 

查询成功

正确

律师信息添加添加界面测试:

6-3 律师信息添加界面测试表

测试名称

测试功能

操作过程

预期结果

测试结果

律师信息添加模块测试

律师信息添加成功的情况

在“个人中心”菜单中点击“律师信息”会显示出所有的律师信息信息,点击“添加”,输入律师信息,输入正确的信息后,点击“提交”按钮。

提示添加成功

正确

律师信息添加模块测试

律师信息添加失败的情况

在“个人中心”菜单中点击“律师信息”会显示出所有的在律师信息,点击“添加”,不输入课程名称,其他信息正常填写后,点击“提交”按钮。

提示“添加失败,名称不能为空”

正确

密码修改功能测试:

表6-4 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

6.3 系统测试结果

本次开发的系统是一个面向法律咨询的系统,主要功能就是实现用户的在线咨询和查看相关信息,通过对管理员登录功能测试、通知公告查看功能测试、律师信息添加功能测试、密码修改功能测试可以看出系统的基本可以实现用户对律师信息查看的功能,而且在测试的过程中也对界面的展示进行了查看,发现界面并没有出现扭曲、混乱等情况,能够满足用户的需求,系统运行良好,是可以进行投入使用的。

7 结论

经过了几个月的努力,面向法律咨询的系统终于完成了,虽然在校期间也开发过一些小型的系统,但是都是在老师的讲解以及辅助下完成的,没有经历过开发之前的需求分析、系统分析,都是直接从系统设计开始的,因此本次开发的面向法律咨询的系统对我意义重大。

在开发系统最初,首先对用户法律方面的需求进行调研,了解对于用户来说,开发的系统需要实现哪些功能才能满足使用者的需求,对需求进行分析;其次选择自己比较熟悉的JAVA语言,MYSQL数据库,使用SpringBoot框架来设计开发,通过知网库、学校图书馆等地方查阅、学习这些技术,掌握编程的思想和方法,然后就是对系统进行分析,从系统开发的可行性、系统实现的功能、系统应该具备的性能以及系统的操作流程方面,对系统进行全方位的分析,确定系统的最终功能,从而对系统的功能和数据库进行设计,最后就是系统的实现以及对实现的功能的测试,确保系统能够稳定的运行。

在开发的过程中暴露出了自己的很多问题,比如前期的准备还是不够充分,不能完全掌握其操作流程;在开发过程中对JAVA的编程掌握的还不够熟练以及对系统的环境配置上还存在很多问题,经常会导致项目在运行的时候出现错误。学无止境,通过一边查阅资料一边向导师请教,慢慢的解决了这些问题,在以后的学习、工作者我会更加严谨,通过本项目的开发,我将会受益终生!

参考文献

  1. 吴永大.浅议法律咨询系统功能需求分析[J].法制博览,2019,(24):66-68.
  2. 刘旭,田新志,师林涛,等.基于微信小程序的法律援助平台的设计与实现[J].办公自动化,2024,29(20):49-51.
  3. 汪灏,基于人工智能的法律咨询关键技术研究[Z].四川省,成都高德唯斯科技股份有限公司,2022-03-31.
  4. 俞佳.政府公共法律服务平台制度完善和创新的研究[D].上海市,华东政法大学,2022.
  5. Mid-Michigan Legal & Consulting: Redefining Legal Services with a Holistic Approach[J].M2 Presswire,2024,(00):251-259
  6. Christoph E ,Keren W .Diffusion of Legal Innovations[J].Annual Review of Law and Social Science,2022,18139-153.
  7. 孙立平,吕云峰.基于Android平台的法律咨询系统的设计研究[J].电子测试,2017,(18):54+51.
  8. 谢甜.诉源治理导向下乡村纠纷化解的路径优化[J].领导科学论坛,2024,(06):111-114.
  9. 李国.数智法律服务助力劳动者维权[N].工人日报,2024-01-25(007).
  10. 刘爱萍.基层公共法律服务体系建设之路径优化[J].法律社会学评论,2021,(00):59-98.
  11. 张佳慧.A在线法律咨询公司服务质量提升研究[D].华东师范大学,2022.
  12. 汪汇.基于法律知识图谱的自动问答系统[D].南京市,南京大学,2021.
  13. From Estate Planning to Litigation: Mid-Michigan Legal & Consulting Provides a Full Spectrum of Legal Services[J].M2 Presswire,2024,
  14. Key Legal Promotes Access to Justice with a Low Cost Platform for Online Legal Consultations[J].M2 Presswire,2020,
  15. 孙威.HJ法律咨询公司服务营销策略研究[D].吉林大学,2022.
  16. 张佳慧.A在线法律咨询公司服务质量提升研究[D].华东师范大学,2022.
  17. 钦迪.大数据统计下高校法律咨询快速答复系统设计[J].科学咨询(科技·管理),2021,(08):58-59.
  18. 杜帅.法律咨询智能问答的研究与实现[D].华中师范大学,2021.
  19. 杨灿,胡家栋.利用数据库提升高校法律援助服务质量[J].太原城市职业技术学院学报,2018,(09):94-95.
  20. 万美秀,伦浩云,诸葛竑.关于在高校设立劳动保护法律咨询平台的探究——以上饶师范学院为例[J].改革与开放,2018,(11):56-58+70.

致谢

“致谢”意味着论文的结束,也意味着自己的毕业设计顺利完成,同时也代表了自己的大学生涯即将结束,我即将要离开自己敬爱的老师和亲爱的同学们,在这里我首先要感谢的就是所有的老师,“春满江山绿满园,桃李争春露笑颜,东西南北春常在,唯有师恩留心间”,他们无论在我的学业还是在我的生活上付出了所有,对我谆谆教诲;其次我要感谢我的指导老师,他在我的整个毕业设计当中起着引导作用,每当我有困难的时候,他总会第一时间帮助我,引导我进行解决问题,而不是直接告诉我答案,“授人以鱼不如授人以渔”,指导老师的这种做法让我受益终生,同时我也从指导老师身上学习到了许多的开发技巧以及检验,这对我今后的开发起着十分重要的作用;再次,我需要感谢我的同学、室友,他们不仅仅在毕业设计上给我许多帮助意见,在大学同窗四年,他们给过我的帮助太多了,我对他们有太多的不舍,无法用言语表示,我相信在以后的人生道路上只要想到他们,我心里就会很温暖,这种友情是任何感情替代不了的;最后我还要感谢家人,感谢自己,感谢家人对我的支持,感谢自己在学业上的坚持,我相信我以后的道路会越来越好。

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值