基于springboot的专利申请管理系统的设计与实现

目  录

  

Abstract

1  绪  论

1.1 研究背景与意义

1.2 国内外现状研究

1.2.1国内研究现状

1.2.2国外研究现状

1.3  主要研究内容

2 相关技术介绍

2.1  Java语言

2.2  SpringBoot框架

2.3  B/S体系结构

2.4  MySQL数据库

3 系统分析

3.1  可行性分析

3.1.1 非技术可行性

3.1.2经济可行性

3.1.3社会可行性

3.2  系统功能分析

3.2.1  功能性分析

3.2.2  非功能性分析

3.3  系统用例分析

3.4  本章小结

4  系统总体设计

4.1  系统架构设计

4.2  系统功能模块设计

4.3  数据库设计

4.3.1  数据流程分析

4.3.2  数据库概念结构设计

4.3.3  数据库逻辑结构设计

4.4  本章小结

5  系统详细设计与实现

5.1  注册用户功能模块

5.1.1  前台首页

5.1.2  用户注册

5.1.3  用户登录

5.1.4  我的账户

5.1.5  申请专利

5.1.6  新闻资讯

5.1.7  代理信息管理

5.1.8  咨询信息管理

5.2  后台管理功能模块

5.2.1  系统管理

5.2.2  系统用户管理

5.2.3 资源管理

5.2.4 公告通知管理

6  系统测试

6.1  系统测试目的

6.2  功能测试用例

6.3  测试结果

结  论

参考文献

致 谢

  

本文介绍了一种基于Spring Boot框架和Java语言开发的专利申请管理系统的设计与实现。该系统采用MySQL数据库作为数据存储核心,构建了一个功能完备、操作便捷的专利管理平台。系统主要面向三类用户:普通用户、代理用户和管理员。普通用户可以提交专利申请、查询申请进度并查看专利详情;代理用户能够协助用户完善申请材料、跟踪专利申请状态并提供专业建议;管理员则负责系统整体的维护与管理,包括用户权限分配、专利信息审核以及数据统计分析等功能。通过Spring Boot框架的高效开发特性,系统实现了模块化设计与轻量级部署,确保了系统的高可用性和可扩展性。同时,利用MySQL数据库的高效数据处理能力,保障了专利信息存储的安全性和查询的高效性。该系统不仅提高了专利申请的管理效率,还为用户提供了便捷的专利申请与管理体验,具有良好的应用前景。

关键词:专利申请管理系统;Java语言;Spring Boot框架;MySQL数据库

 

Abstract

This article introduces the design and implementation of a patent application management system based on the Spring Boot framework and Java language. The system uses MySQL database as the data storage core and builds a fully functional and easy-to-use patent management platform. The system mainly targets three types of users: regular users, proxy users, and administrators. Ordinary users can submit patent applications, check application progress, and view patent details; Proxy users can assist users in improving application materials, tracking patent application status, and providing professional advice; Administrators are responsible for the overall maintenance and management of the system, including user permission allocation, patent information review, and data statistical analysis. Through the efficient development features of the Spring Boot framework, the system has achieved modular design and lightweight deployment, ensuring high availability and scalability of the system. At the same time, utilizing the efficient data processing capabilities of MySQL database ensures the security of patent information storage and the efficiency of queries. This system not only improves the management efficiency of patent applications, but also provides users with a convenient patent application and management experience, with good application prospects.

Keywords: Patent Application Management System; Java language; Spring Boot framework; mysql database

 

1  绪  论

1.1 研究背景与意义

在当今知识经济快速发展的时代,专利作为技术创新的核心资产,其重要性日益凸显。然而,传统的专利申请管理方式仍面临诸多挑战。例如,专利申请流程复杂,信息传递效率低下,导致申请周期过长;数据管理分散,容易出现信息丢失或错误;用户与代理机构之间缺乏有效的沟通渠道,信息不对称问题严重。这些问题不仅影响了专利申请的效率,也阻碍了知识产权的有效保护和转化。因此,开发一个高效、便捷、安全的专利申请管理系统显得尤为迫切。

本研究提出基于Spring Boot框架、Java语言和MySQL数据库的专利申请管理系统的设计与实现。该系统通过模块化设计,为普通用户、代理用户和管理员提供差异化的功能权限。普通用户可以轻松提交专利申请、查询申请进度并获取反馈信息;代理用户能够协助用户完善申请材料、跟踪申请状态并提供专业建议;管理员则负责系统的整体维护、用户权限管理、数据审核以及统计分析等功能。通过这种分层管理模式,系统能够有效提升专利申请的效率和质量。

该选题的研究意义主要体现在以下几个方面,系统采用Spring Boot框架进行开发,利用其轻量级、高效开发的特点,能够快速实现功能模块的搭建和部署,同时保证系统的高性能和可扩展性。MySQL数据库的引入为系统提供了稳定、高效的数据存储和管理能力,确保专利信息的安全性和完整性。通过优化专利申请流程,系统能够有效缩短申请周期,降低管理成本,提高专利申请的效率和成功率。更重要的是,该系统为用户和代理机构提供了便捷的沟通平台,促进了专利信息的共享与交流,推动了知识产权保护和技术创新的良性发展。

综上所述,本研究不仅符合当前科技发展的趋势,还为专利管理的现代化提供了有力支持。通过数字化手段优化专利申请管理流程,系统能够有效解决传统管理方式中存在的问题,提升专利申请的整体效率和质量。同时,该系统也为知识产权保护和技术创新提供了新的思路和方法,具有重要的应用价值和现实意义。

1.2 国内外现状研究

1.2.1国内研究现状

近年来,随着知识产权保护意识的增强和技术创新的加速,专利申请管理系统的开发与应用逐渐成为研究热点。刘春杰等人在《智慧医疗专利申请态势和发展趋势分析》[1]中指出,全球智慧医疗领域的专利申请呈现快速增长态势,我国在该领域的专利数量上占据优势,但欧美创新主体的研发实力依然强劲。这表明,专利申请管理在智慧医疗领域具有重要价值,同时也对管理系统的功能和效率提出了更高要求。周璐璐在《激光雷达抗干扰技术专利申请概况》[2]中提到,激光雷达抗干扰技术领域的专利申请数量不断增加,但相关管理系统的智能化和精准化仍有待提升。这反映出在高新技术领域,专利申请管理需要更加专业化的系统支持。吴群等人在《建筑幕墙专利申请现状及发展》[3]中强调,建筑幕墙领域的专利申请管理需要更加专业化的系统支持,以提高专利转化效率。这表明,不同行业的专利管理需求具有显著差异,管理系统需要具备高度的灵活性和定制化能力。蒋鸿阳在《知识产权法律环境对高校专利申请与技术转化的影响》[4]中指出,知识产权法律环境对高校专利申请和技术转化具有重要影响,需要通过优化管理系统来提升专利管理效率和转化率。这进一步说明,专利申请管理系统不仅需要满足技术需求,还需适应法律环境的变化。

综上所述,国内在专利申请管理系统的研究中已取得一定进展,但在功能优化、行业适应性以及法律环境适应性方面仍存在不足。基于Spring Boot框架的专利申请管理系统因其高效、灵活的特性,有望为解决这些问题提供新的思路和解决方案。未来的研究需要进一步结合行业需求,优化系统功能,提升用户体验,以更好地服务于专利申请、管理和转化的全过程。

1.2.2国外研究现状

国外针对基于Spring Boot的专利申请管理系统的研究也取得一定进展,Mengsha R. 在《The Analysis of the Temporary Patent Application System in the United States through Specific Cases》[5]中分析了美国临时专利申请系统的法律要求和优先权问题,指出临时专利申请为申请人提供了提前申请专利的机会,但大多数申请人对相关法律要求了解不足。这表明,专利申请管理系统需要提供更清晰的法律指导和申请流程优化,以帮助申请人更好地利用临时专利申请的优势。Yang Z.等人在《Scientific and Technological Innovation and Cooperation in the Greater Bay Area of China: A Case Study of University Patent Applications and Transformation》[6]中探讨了中国大湾区高校专利申请与转化的影响因素,指出高校专利申请和转化过程中存在显著的区域差异和资源配置问题。这表明,专利管理系统需要根据不同地区的法律环境和资源配置进行定制化设计,以提高专利转化效率。James L. N. 在《Content Analysis of Patent Applications for Strength Training Equipment Filed in the United States Before 1980》[7]中分析了1980年前美国力量训练设备专利申请的内容,发现专利申请中对技术细节的描述和目标用户群体的定位存在显著差异。这说明,专利申请管理系统需要提供更精准的技术分析和市场定位功能,以帮助申请人更好地规划专利申请策略。Saurabh M. 在《Determining patent filing targets based on patent cost retrieval from Patent Examination Data System》[8]中研究了基于专利审查数据系统的专利申请成本分析,指出专利申请成本是影响申请人决策的重要因素。这表明,专利管理系统需要集成成本分析功能,帮助申请人优化申请策略,降低申请成本。

综上所述,国外在专利申请管理系统的研究中,重点关注了法律环境、区域差异、技术细节描述以及申请成本等因素对专利申请和转化的影响。这些研究为基于Spring Boot的专利申请管理系统的设计与实现提供了重要参考。未来的研究需要进一步结合不同国家和地区的法律要求、技术发展趋势以及市场需求,开发更加智能化、定制化的专利申请管理系统,以提升专利申请的效率和转化率。

1.3  主要研究内容

本研究的主要内容是开发一个基于Spring Boot框架的专利申请管理系统,采用Java语言进行开发,并利用MySQL数据库进行数据存储与管理。系统的核心目标是为用户提供高效、便捷的专利申请服务,满足用户在专利申请流程、互动交流等方面的需求。为此,系统实现了用户注册与登录模块,提供便捷的身份认证和个性化服务,同时支持多角色管理,包括普通用户、代理用户和管理员,以满足不同用户群体的需求。系统还提供智能搜索功能,允许用户通过关键字进行模糊搜索,并根据专利类型、技术领域、申请状态等进行分类过滤,提升用户的搜索体验。在系统开发过程中,研究运用数据挖掘技术分析用户行为,提取偏好特征,以优化内容推荐和个性化服务。系统构建了全面的专利数据库,确保内容的多样性和丰富性,并通过评论和收藏功能让用户能够表达自己的喜好和需求。通过多种测试方法,包括单元测试、集成测试和系统测试,确保系统的功能完整性和稳定性。同时,根据测试结果和用户反馈,不断优化和改进系统功能,提升用户体验。

综上所述,本研究旨在通过整合上述研究内容,进一步提升专利申请管理系统的使用体验,为用户提供更加优质、个性化的专利申请服务。

2 相关技术介绍

2.1  Java语言 

Java是一种跨平台的编程语言,广泛用于开发各种类型的应用程序,包括Web应用、移动应用和大型软件系统。在服务优化共建平台中,Java通常用于后端开发,提供强大的处理能力和稳定性。同时Java是一种面向对象的编程语言,支持封装、继承和多态等特性,使代码更易于维护和重用。还拥有丰富的标准库和第三方框架,如Spring、Hibernate等,可以大大提高开发效率。

2.2  SpringBoot框架

在本研究中,Spring Boot框架被用于开发专利申请管理系统的后端系统。Spring Boot是基于Spring框架的一款快速开发工具,提供了简化的配置和自动化的设置,极大地提高了开发效率。它通过"约定优于配置"的理念,减少了人员的配置工作,使得项目能够快速启动和运行。Spring Boot内置了嵌入式服务器(如Tomcat),无需进行复杂的服务器配置即可运行项目。此外,Spring Boot还支持微服务架构,方便系统的模块化开发和部署,提高了系统的可扩展性和维护性。通过Spring Boot能够快速构建出一个高效、稳定且具备良好扩展性的后端系统,满足专利申请管理系统的复杂需求。

2.3  B/S体系结构

专利申请管理系统采用B/S体系结构,用户通过浏览器访问前端界面,服务器端负责处理业务逻辑和数据存储,实现跨平台和跨设备的访问。该架构简化了系统部署和更新过程,提高了系统的可访问性和易用性,减少了用户端的资源占用。同时,B/S体系结构具有良好的扩展性和安全性,能够有效管理用户权限和保护数据安全,为专利申请管理系统的稳定运行和用户体验提供了可靠保障。

2.4  MySQL数据库

专利申请管理系统的开发中采用了MySQL数据库作为数据存储平台。MySQL是一种流行的开源关系型数据库管理系统,具有稳定性高、性能优异、易用性强等特点,适合用于存储大量结构化数据。通过使用MySQL数据库,专利申请管理系统可以高效地存储和管理用户信息、系统管理、申请专利管理及统计数据等关键信息,确保数据的安全性和可靠性。通过整合MySQL数据库,专利申请管理系统能够实现数据的高效管理和快速检索,为用户提供个性化的代理信息、新闻资讯查看及评论管理和收藏等服务,同时为专利申请管理系统的管理层提供精准的统计数据分析与决策支持。

3 系统分析

系统分析是对系统开发的可行性进行研究,分析功能需求以确保系统满足用户期望。系统用例设计将明确定义系统与外部用户的交互场景,系统流程规划则细化系统内部功能流程,确保系统各模块协调工作。通过系统分析,可以建立清晰的系统框架,明确系统目标和功能,为系统开发和实施奠定基础。

3.1  可行性分析

3.1.1 非技术可行性

采用Java语言、Spring Boot框架和MySQL数据库构建专利申请管理系统具有较高的可行性。Spring Boot作为流行的编程语言,具有强大的生态系统和丰富的库支持,适合快速开发和易维护。Spring Boot框架提供了快速开发和强大功能,可加快系统搭建速度,而MySQL作为稳定可靠的数据库,能够满足系统的数据存储和管理需求,保证数据安全和稳定性。

3.1.2经济可行性

在经济可行性方面,采用开源技术栈搭建系统有助于降低开发成本,减少了软件许可费用。同时,专利申请管理系统的建设和应用能够提高管理效率、优化资源配置,为企业带来长期效益和投资回报。

3.1.3社会可行性

基于Spring Boot的专利申请管理系统社会可行性高。随着知识产权保护意识增强,专利申请需求增长,该系统可提升申请效率、降低管理成本。其采用的Spring Boot框架和Java语言开发成熟、稳定,易于扩展和维护,能够满足用户、代理用户和管理员的多样化需求,推动知识产权管理数字化转型,具有良好的应用前景。

因此,从技术、经济和社会方面来看,构建专利申请管理系统具有较高的可行性,能够为企业带来多方面的益处。

3.2  系统功能分析

3.2.1  功能性分析

专利申请管理系统通过不同角色的功能模块,实现对申请专利的全面管理。注册用户、代理用户和管理员各自的功能模块互相配合,共同构建了一个高效、透明的专利申请管理系统体系。通过详细分析这些功能模块,可以帮助企业更好地理解和实施专利申请管理系统,提高管理的效率和准确性。具体功能分析如下:

(1)注册用户功能模块:

前台首页:注册用户注册登录系统后,可以在首页查看并使用轮播图、新闻资讯、申请专利快捷导航按钮。

公告通知:用户可以查看管理员发布的所有公告通知,并可对其进行收藏和评论。

新闻资讯:用户能够通过搜索、筛选和排序的方式查找相关的新闻资讯然后点击查看详情,并可进行点赞、收藏和评论。

在线留言:用户可以通过在线留言功能向管理员或其他用户发送消息,反馈问题、提出建议或进行咨询。管理员可以及时回复留言,增强用户与系统之间的互动。

代理信息:系统提供代理信息模块,展示专业代理机构的详细信息,包括代理机构的资质、服务范围、联系方式等。用户可以根据自身需求选择合适的代理机构,并通过系统与代理机构进行联系。

申请专利:用户可以通过申请专利模块快速进入专利申请流程。该模块支持用户填写专利申请信息、上传相关文件,并跟踪申请进度。系统提供清晰的申请指南和流程提示,帮助用户顺利完成专利申请。

我的账户:修改个人信息和账户密码。

个人中心:用户可以查看和管理个人首页、咨询信息、申请信息、专利信息、申请专利、收藏的所有信息。

(2)代理用户功能模块:

后台首页:代理用户登录后进入后台首页,提供系统的核心功能导航,包括代理信息管理、咨询信息管理、申请信息管理和专利信息管理等模块的快速入口。

代理信息管理:代理用户可在此模块更新机构信息,查看业务统计,确保信息准确,提升服务透明度。

咨询信息管理:代理用户可查看并回复用户咨询,分类管理咨询信息,快速响应用户需求,提供专业建议。

申请信息管理:代理用户可审核、完善用户提交的专利申请信息,跟踪申请进度,及时反馈状态,确保申请流程顺畅。

专利信息管理:代理用户可查看、分类和整理已授权专利信息,分析专利布局,为用户提供专业建议,助力专利管理。

(3)管理员功能模块:

后台首页:管理员在后台首页可以查看全局的专利申请管理系统,并对系统进行总体监控和管理。

系统用户:管理员负责管理系统中的所有用户,包括管理员、注册用户和代理用户的账户创建和账户管理。

代理信息管理:管理员审核和管理代理机构信息,包括资质审核、信息更新和业务统计,确保代理机构信息的准确性和合规性。

咨询信息管理:管理员查看、回复和管理用户及代理用户的咨询信息,分类整理咨询内容,提升咨询处理效率。

申请信息管理:管理员审核、处理和跟踪专利申请信息,确保申请流程符合规范,及时反馈申请状态。

专利类型管理:管理员添加、编辑和删除专利类型,维护专利分类体系,便于用户和代理用户快速定位和选择。

专利信息管理:管理员管理已授权专利信息,包括专利详情、技术领域和文件管理,支持分类整理和分析。

申请专利管理:管理员监控专利申请的全流程,从提交到审核、授权或驳回,确保流程高效透明。

系统管理:管理员可对前台首页的轮播图进行管理,进行增删改查等操作。

留言管理:管理员查看、回复和管理用户留言,及时处理用户反馈,增强用户互动。

公告通知管理:管理员可对公告通知进行管理,进行增删改查操作,支持标题搜索,可点击详情进行查阅。

资源管理:管理员可对新闻资讯、资讯分类进行管理,进行增删改查操作,新闻资讯支持标题、标签、分类搜索,可点击详情和查看评论进行查阅;资讯分类支持类型名称搜索。

3.2.2  非功能性分析

非功能性分析旨在评估系统的非功能需求和性能要求。通过对性能、可靠性、安全性、可用性和扩展性等方面进行评估,确保平台能够满足用户和系统运行的要求。具体如下:

表2-1专利申请管理系统非功能需求表

需求类型

描述

性能

系统应具有高性能,能够快速响应用户请求,保持稳定的性能水平,支持高并发访问和大规模数据处理。

可靠性

系统应具有高可靠性,确保系统稳定运行,防止系统故障和数据丢失,提供数据备份和恢复机制。

安全性

系统应具有高安全性,保护用户隐私信息和数据安全,采用加密传输技术、访问控制和身份验证机制。

可用性

系统应具有高可用性,保证系统全天候运行,最大限度减少系统故障和维护时间,提供灾备和故障转移功能。

易用性

系统应具有良好的易用性,用户界面设计友好,操作简单直观,提供清晰的指导和帮助文档。

可维护性

系统应具有良好的可维护性,易于维护和升级,提供模块化和结构化代码,方便开发人员进行维护和修改。

可扩展性

系统应具有良好的可扩展性,支持新增功能和模块的集成,具备良好的架构设计和扩展性能。

3.3  系统用例分析

系统用例分析是对系统中各个功能模块的用户需求和行为进行分析,以识别和描述不同的用户用例。通过系统用例分析,可以深入了解用户在平台上的操作流程和交互方式,为系统设计和开发提供指导,并确保平台能够满足用户的需求和期望。

(1)注册用户角色用例图如下图所示。

图3-1 注册用户角色用例图

(2)代理用户角色用例图如下图所示。

图3-2 代理用户角色用例图

(2)管理员角色用例图如下图所示。

图3-3 管理员角色用例图

3.4  本章小结

本章重点在对系统进行了可行性、功能需求、系统用例以及系统流程分析,旨在明确平台的功能要求。这些分析为系统的开发和测试提供了指导和标准,确保系统设计和实施符合用户需求。通过详细的分析,可以有效规划平台功能的实现方式,提供清晰的指引。同时,这些分析也有助于确保代码实现的质量和系统的稳定性,为系统的顺利上线和运行奠定基础。

4  系统总体设计

系统总体设计包括系统架构、数据库设计、用户界面设计等方面。通过三层架构模式,确保系统的可靠性和可扩展性。设计规范化的数据库结构,以存储和管理用户数据等信息。同时,注重用户界面的友好性和易用性,提供便捷的功能操作和良好的用户体验。总体设计的目标是实现一个稳定、安全、高效的系统,满足用户的需求

4.1  系统架构设计

在系统架构设计中,我将确定系统的整体结构和组件之间的关系。这包括选择适当的架构风格,划分系统的层次结构,并定义各个模块的职责和交互方式。架构图如下图所示。

图4-1系统架构设计图

表示层(Presentation Layer):负责与用户进行交互,将系统的功能和数据以易于理解和操作的方式展示给用户。通常包括用户界面、页面设计和用户输入验证等。

业务逻辑层(Business Logic Layer):处理系统的核心业务逻辑,包括对用户请求的处理、业务规则的执行以及数据的处理和转换。它独立于表现层和数据层,实现了业务逻辑的封装和复用。

数据层(Data Layer):负责数据的存储、访问和管理,包括数据库和持久化机制。数据层提供了对数据的增删改查操作,并与业务逻辑层进行交互,使系统能够有效地存储和检索数据。

这三个层次相互独立,通过明确的接口和协议进行通信,实现了系统的模块化和可扩展性。表现层负责将用户的请求传递给业务逻辑层,业务逻辑层处理请求并返回结果,最后数据层负责与数据库交互并提供数据支持。这种分层架构有助于实现系统的可维护性、灵活性和可测试性。

4.2  系统功能模块设计

通过整体功能模块设计,我将根据需求分析的结果,将系统的功能划分为不同的模块。每个模块负责实现特定的功能,并与其他模块进行协作。我们将详细定义每个模块的输入、输出、处理逻辑和相互依赖关系。具体的功能模块图如图4-2所示。

图4-2 系统功能模块图

4.3  数据库设计

数据库设计是系统开发中至关重要的一环,它涉及到数据的组织、存储和管理。在数据库设计中,我将根据系统的需求设计数据库的概念结构和逻辑结构,包括定义实体、属性、关系和约束等。

4.3.1  数据流程分析

顶层数据流程是指系统与外部实体之间的数据流动,描述了系统的整体数据流。在专利申请管理系统中,顶层数据流程包括管理员导入或添加申请专利、注册用户查看申请专利、发表评论。

系统的顶层数据流程图如下图所示。

图4-3系统数据流程图(顶层)

底层数据流程图是对顶层数据流程图的细化,系统的底层数据流图如下图所示。

图4-4系统数据流程图(底层)

4.3.2  数据库概念结构设计

数据库概念结构设计主要涉及数据库的实体和实体之间的关系。通过实体-关系模型或者其他适当的模型,我将定义系统中涉及的各个实体以及它们之间的联系。下面我将罗列主要的实体属性图和系统E-R图。

  1. 注册用户实体属性如下图所示。

图4-5 注册用户实体属性图

  1. 申请专利实体属性如下图所示。

图4-6申请专利实体属性图

下面是整个专利申请管理系统中主要的数据库表总E-R实体关系图。

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

4.3.3  数据库逻辑结构设计

数据库逻辑结构设计则是在概念结构的基础上,进行具体的数据库表设计。我们将定义每个表的结构、字段和约束,并建立表与表之间的关系。

表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

用户编号:

表application_information (申请信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

application_information_id

int

10

0

N

Y

申请信息ID

2

proxy_user

int

10

0

Y

N

0

代理用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

skilled_in_type

varchar

64

0

Y

N

擅长类型

5

apply_for_user

int

10

0

Y

N

0

申请用户

6

application_time

datetime

19

0

Y

N

申请时间

7

patent_title

varchar

64

0

Y

N

专利标题

8

patent_type

varchar

64

0

Y

N

专利类型

9

patent_attachments

varchar

255

0

Y

N

专利附件

10

patent_details

text

65535

0

Y

N

专利详情

11

fee_amount

double

9

2

Y

N

0.00

收费金额

12

examine_state

varchar

16

0

N

N

未审核

审核状态

13

examine_reply

varchar

16

0

Y

N

审核回复

14

pay_state

varchar

16

0

N

N

未支付

支付状态

15

pay_type

varchar

16

0

Y

N

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

16

patent_information_limit_times

int

10

0

N

N

0

提交专利限制次数

17

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

19

source_table

varchar

255

0

Y

N

来源表

20

source_id

int

10

0

Y

N

来源ID

21

source_user_id

int

10

0

Y

N

来源用户

表apply_for_a_patent (申请专利)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

apply_for_a_patent_id

int

10

0

N

Y

申请专利ID

2

patent_name

varchar

64

0

Y

N

专利名称

3

patent_type

varchar

64

0

Y

N

专利类型

4

apply_for_user

int

10

0

Y

N

0

申请用户

5

patent_attachments

varchar

255

0

Y

N

专利附件

6

application_time

datetime

19

0

Y

N

申请时间

7

application_remarks

text

65535

0

Y

N

申请备注

8

fee_amount

double

9

2

Y

N

0.00

收费金额

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

examine_reply

varchar

16

0

Y

N

审核回复

11

pay_state

varchar

16

0

N

N

未支付

支付状态

12

pay_type

varchar

16

0

Y

N

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

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表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_information (咨询信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

consultation_information_id

int

10

0

N

Y

咨询信息ID

2

proxy_user

int

10

0

Y

N

0

代理用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

skilled_in_type

varchar

64

0

Y

N

擅长类型

5

consulting_users

int

10

0

Y

N

0

咨询用户

6

consultation_time

datetime

19

0

Y

N

咨询时间

7

consultation_questions

text

65535

0

Y

N

咨询问题

8

legal_advice

varchar

64

0

Y

N

法律建议

9

risk_level

varchar

64

0

Y

N

风险等级

10

consultation_reply

text

65535

0

Y

N

咨询回复

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

来源用户

表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:

表message (留言板)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

message_id

int

10

0

N

Y

留言板ID:

2

user_id

int

10

0

N

N

0

用户ID:

3

title

varchar

64

0

Y

N

标题:

4

content

longtext

2147483647

0

N

N

内容:

5

nickname

varchar

32

0

N

N

昵称:

6

avatar

varchar

255

0

Y

N

头像:

7

email

varchar

125

0

Y

N

留言者邮箱

8

phone

varchar

11

0

Y

N

留言者手机号码

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

11

reply

longtext

2147483647

0

Y

N

回复

12

reply_state

tinyint

4

0

Y

N

0

回复状态

表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

更新时间:

表operation_log (操作日志表)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

operation_log_id

int

10

0

N

Y

操作日志ID

2

user_group

varchar

64

0

Y

N

用户角色

3

user_name

varchar

64

0

Y

N

用户账号

4

routes

varchar

64

0

Y

N

模块名称

5

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

patent_information_id

int

10

0

N

Y

专利信息ID

2

proxy_user

int

10

0

Y

N

0

代理用户

3

apply_for_user

int

10

0

Y

N

0

申请用户

4

patent_title

varchar

64

0

Y

N

专利标题

5

patent_type

varchar

64

0

Y

N

专利类型

6

patent_documents

varchar

255

0

Y

N

专利文件

7

patent_fees

double

9

2

Y

N

0.00

专利费用

8

patent_status

varchar

64

0

Y

N

专利状态

9

remarks_details

text

65535

0

Y

N

备注详情

10

examine_state

varchar

16

0

N

N

未审核

审核状态

11

examine_reply

varchar

16

0

Y

N

审核回复

12

pay_state

varchar

16

0

N

N

未支付

支付状态

13

pay_type

varchar

16

0

Y

N

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

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

16

source_table

varchar

255

0

Y

N

来源表

17

source_id

int

10

0

Y

N

来源ID

18

source_user_id

int

10

0

Y

N

来源用户

表patent_information (专利信息)

表patent_type (专利类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

patent_type_id

int

10

0

N

Y

专利类型ID

2

patent_type

varchar

64

0

Y

N

专利类型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表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已取消

表proxy_information (代理信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

proxy_information_id

int

10

0

N

Y

代理信息ID

2

proxy_user

int

10

0

Y

N

0

代理用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

skilled_in_type

varchar

64

0

Y

N

擅长类型

5

qualification_certificate

varchar

255

0

Y

N

资质证书

6

fee_standards

varchar

64

0

Y

N

收费标准

7

agent_details

longtext

2147483647

0

Y

N

代理详情

8

hits

int

10

0

N

N

0

点击数

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

consultation_information_limit_times

int

10

0

N

N

0

咨询问题限制次数

13

application_information_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

更新时间

表proxy_user (代理用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

proxy_user_id

int

10

0

N

Y

代理用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_certificate

varchar

255

0

Y

N

用户证书

4

identification_number

varchar

64

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

更新时间

表registered_user (注册用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

registered_user_id

int

10

0

N

Y

注册用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_gender

varchar

64

0

Y

N

用户性别

4

user_age

varchar

64

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

更新时间

表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:

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表slides (轮播图)

表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

更新时间:

4.4  本章小结

数据库设计是系统开发中的关键步骤,通过识别实体、建立关系、设计表结构、选择主键和索引等方式,确保数据存储和管理的有效性和一致性。同时,考虑安全性和性能优化,采用合适的规范化和反规范化技术,以提高系统的响应速度和用户体验。综合以上因素,数据库设计为系统的稳定运行和高效管理提供了基础支持。

5  系统详细设计与实现

系统关键模块设计与实现是系统开发中的核心任务。通过分析需求,设计和实现关键模块,确保系统功能的完整性和稳定性。在设计过程中,需要考虑模块之间的交互和数据流动,合理选择技术和框架,并进行测试和优化,以确保关键模块的高效运行和用户满意度。

5.1  注册用户功能模块

5.1.1  前台首页

注册用户的前台首页主要提供各项功能导航快捷按钮。主界面展示如下图所示。

图5-1 前台首页界面图

前台首页关键代码如下:

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

@EnableJpaRepositories

@MapperScan("com.project.demo.dao")

public class Application {

    public static void main(String[] args) {

        SpringApplication.run(Application.class,args);

    }

}

5.1.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登录界面图

用户登录的关键代码如下:

 package com.project.demo.interceptor;

@Slf4j

public class LoginInterceptor implements HandlerInterceptor {

    private String tokenName = "x-auth-token";

    @Override

    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

        String token = request.getHeader(this.tokenName);

        setHeader(request, response);

        log.info("[请求接口] - {} , [请求类型] - {}",request.getRequestURL().toString(),request.getMethod());

        if (request.getRequestURL().toString().contains("/api/user/login")){

            return true;

        }

        else if (request.getRequestURL().toString().contains("/api/user/state")){

            return true;

        }

        else if (request.getRequestURL().toString().contains("/api/user/register")){

            return true;

        }

    }

    @Override

    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {

        //更新token

    }

    @Override

    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    }

    private void failure(HttpServletRequest request, HttpServletResponse response) throws IOException {

        response.setHeader("Content-type", "application/json;charset=UTF-8");

        response.setStatus(401);

        response.sendRedirect("https://www.baidu.com");

    }

    private void setHeader(HttpServletRequest request, HttpServletResponse response) {

        //跨域的header设置

        response.setHeader("Access-control-Allow-Origin", request.getHeader("Origin"));

        response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH");

        response.setHeader("Access-Control-Allow-Credentials", "true");

        response.setHeader("Access-Control-Allow-Headers", request.getHeader("Access-Control-Request-Headers"));

        response.setHeader("Access-Control-Max-Age", "1800");

        //防止乱码,适用于传输JSON数据

        response.setHeader("Content-Type", "application/json;charset=UTF-8");

        response.setStatus(HttpStatus.OK.value());

    }

}

               

5.1.4  我的账户

我的账户:可修改个人资料,如昵称、邮箱、联系方式等。其界面如下图所示。

图5-4我的账户-个人资料修改界面图

关键代码如下:

  @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

public Map<String, Object> addMap(Map<String,Object> map){

    service.insert(map);

     return success(1);

 }

5.1.5  申请专利

用户可以通过申请专利模块快速进入专利申请流程。该模块支持用户填写专利申请信息、上传相关文件,并跟踪申请进度。系统提供清晰的申请指南和流程提示,帮助用户顺利完成专利申请。其界面如下图所示。

图5-5申请专利界面图

关键代码如下:

  @PostMapping("/set")

@Transactional

    public Map<String, Object> set(HttpServletRequest request) throws IOException {

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

    }

5.1.6  新闻资讯

注册用户能够通过搜索、筛选和排序的方式查找相关的新闻资讯然后点击查看详情,并可进行点赞、收藏和评论。其界面如下图所示。

图5-6新闻资讯界面图

关键代码如下:

    @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

    }

    public void delete(Map<String,String> query,Map<String,String> config){

        QueryWrapper wrapper = new QueryWrapper<E>();

        toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);

        baseMapper.delete(wrapper);

        log.info("[{}] - 删除操作:{}",wrapper.getSqlSelect());

    }

5.1.7  代理信息管理

代理用户可在此模块更新机构信息,查看业务统计,确保信息准确,提升服务透明度。其界面如下图所示。

图5-7代理信息管理界面图

5.1.8  咨询信息管理

代理用户可查看并回复用户咨询,分类管理咨询信息,快速响应用户需求,提供专业建议。其界面如下图所示。

图5-8咨询信息管理界面图

5.2  后台管理功能模块

5.2.1  系统管理

管理员可对前台首页的轮播图进行管理,进行增删改查等操作,其界面如下图所示。

图5-9系统管理界面图

系统管理的关键代码如下:

   @PostMapping("/upload")

    public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {

        log.info("进入方法");

        if (file.isEmpty()) {

            return error(30000, "没有选择文件");

        }

        try {

            //判断有没路径,没有则创建

            String filePath = System.getProperty("user.dir") + "/src/main/resources/static/";

            File targetDir = new File(filePath);

            if (!targetDir.exists() && !targetDir.isDirectory()) {

                if (targetDir.mkdirs()) {

                    log.info("创建目录成功");

                } else {

                    log.error("创建目录失败");

                }

            }

            String fileName = file.getOriginalFilename();

            File dest = new File(filePath + fileName);

            log.info("文件路径:{}", dest.getPath());

            log.info("文件名:{}", dest.getName());

            file.transferTo(dest);

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("url", "/api/upload/" + fileName);

            return success(jsonObject);

        } catch (IOException e) {

            log.info("上传失败:{}", e.getMessage());

        }

        return error(30000, "上传失败");

    }

5.2.2  系统用户管理

管理员负责管理系统中的所有用户,包括管理员、注册用户和代理用户的账户创建和账户管理。其界面如下图所示。

图5-10系统用户管理界面图

5.2.3 资源管理

管理员可对新闻资讯、资讯分类进行管理,进行增删改查操作,新闻资讯支持标题、标签、分类搜索,可点击详情和查看评论进行查阅;资讯分类支持类型名称搜索。其界面如下图所示。

  

图5-11资源管理界面图

5.2.4 公告通知管理

管理员可对公告通知进行管理,进行增删改查操作,支持标题搜索,可点击详情进行查阅。其界面如下图所示。

图5-12 公告通知管理界面图

6  系统测试

6.1  系统测试目的

专利申请管理系统测试的主要目的是确保系统功能正常、性能稳定、安全可靠。测试旨在验证系统各项功能是否按照需求规格书要求正常工作,检查系统的易用性和用户体验,确保用户能够顺利完成各项操作。此外,系统测试还旨在评估系统的性能指标,包括响应时间、并发能力等,以保证系统在高负载情况下仍能正常运行。另外,安全测试也是重要的一部分,确保系统能够有效防范各类安全威胁和攻击。通过全面的系统测试,可以保障专利申请管理系统的稳定性、可靠性和安全性。

6.2  功能测试用例

系统测试旨在检验系统功能是否正常工作。通过功能测试用例的执行,可以有效评估系统功能的正确性、完整性和稳定性,帮助发现和解决潜在的功能缺陷,确保系统能够按照预期功能正常运行。功能测试用例包括用户注册、用户登录、申请专利添加、申请专利修改等。

测试用例编号

功能模块

测试用例描述

预期结果

TC001

用户注册

输入有效的用户名、密码、邮箱和角色信息

注册成功,用户账户创建并收到验证邮件

TC002

用户注册

输入已有用户名

注册失败,提示用户名已存在

表6-1 注册功能测试用例

测试用例编号

功能模块

测试用例描述

预期结果

TC003

用户登录

输入正确的用户名和密码

登录成功,进入用户台首页

TC004

用户登录

输入错误的用户名或密码

登录失败,提示用户名或密码错误

TC005

用户登录

输入注册邮箱,使用忘记密码功能

提示发送重置密码链接到邮箱

表6-2 登录功能测试用例

测试用例编号

功能模块

测试用例描述

预期结果

TC006

申请专利添加

管理员填写完整的申请专利

添加成功,生成申请专利记录

TC007

申请专利添加

管理员填写申请专利时缺少必要申请专利

添加失败,提示补充申请专利

表6-3 申请专利添加功能测试用例

测试用例编号

功能模块

测试用例描述

预期结果

TC08

申请专利修改

管理员选定其中一条申请专利进行修改

修改成功,更新申请专利

TC09

申请专利修改

管理员选定其中一条申请专利未进行修改

修改失败,申请专利未更新

表6-4 申请专利修改功能测试用例

6.3  测试结果

在本次测试中,我们对用户注册、用户登录、申请专利添加、申请专利修改等功能进行了详细测试。测试结果显示,用户注册功能在输入有效信息时能够成功创建账户并发送验证邮件,而在输入已有用户名时则提示用户名已存在。用户登录功能在输入正确凭据时能成功登录,在输入错误凭据时会提示错误信息。申请专利添加功能在填写完整信息时能够成功添加申请专利,而在缺少必要信息时则提示补充信息。申请专利修改功能能正确更新申请专利,确保申请专利管理流程的正常运作。总体而言,所有测试用例均达到预期效果,系统功能表现稳定。

 

结  论

在本研究中,我成功开发了一个基于Spring Boot框架的专利申请管理系统,实现了申请专利管理、系统管理、资源管理等核心功能。系统充分利用了Java语言的灵活性、Spring Boot框架的高效开发特性以及MySQL数据库的稳定性,为专利申请和管理提供了强大的技术支持。通过系统的设计与实现,不仅提高了专利管理的效率,还显著提升了用户体验,为企业运营和数据管理提供了便捷、高效的解决方案。

在系统开发过程中,我深刻认识到用户体验和界面设计的重要性。未来,我将重点优化界面设计,提升系统的易用性和美观性,以增强用户对系统的吸引力和满意度。同时,完善异常处理和错误提示机制也是提升系统稳定性和安全性的关键。在未来的研究中,我计划引入更多数据分析和报告功能,帮助管理员更好地了解平台运营情况,为决策提供科学依据。我还将加强系统的扩展性和可维护性,以适应知识产权管理领域的发展和功能拓展需求。

综上所述,本研究成功搭建了一套基于Spring Boot框架的专利申请管理系统,实现了预期功能并取得了一定成果。在未来的发展中,我将继续优化系统功能和用户体验,不断提升系统的性能和稳定性,为专利申请管理系统的长期发展和用户需求提供更优质的服务和支持。

参考文献

  1. 刘春杰,梁艳.智慧医疗专利申请态势和发展趋势分析[J].中国医疗设备,2024,39(12):112-118.
  2. 周璐璐.激光雷达抗干扰技术专利申请概况[J].中国科技信息,2024,(23):9-12.
  3. 吴群,王占良.建筑幕墙专利申请现状及发展[J].中国科技信息,2024,(20):90-92.
  4. 蒋鸿阳.知识产权法律环境对高校专利申请与技术转化的影响[J].法制博览,2024,(28):49-51.
  5. Mengsha R .The Analysis of the Temporary Patent Application System in the United States through Specific Cases[J].Information and Knowledge Management,2024,5(1):55-57.
  6. Yang Z ,Shen C ,Lam I F .Scientific and Technological Innovation and Cooperation in the Greater Bay Area of China: A Case Study of University Patent Applications and Transformation[J].Sustainability,2024,16(2):66-68.
  7. James L N .Content Analysis of Patent Applications for Strength Training Equipment Filed in the United States Before 1980[J].Journal of Strength and Conditioning Research,2021,(11):33-35.
  8. Saurabh M .Determining patent filing targets based on patent cost retrieval from Patent Examination Data System[J].World Patent Information,2021,(11):63-65
  9. 蔡放,吴冲.磁珠法核酸提取设备的专利申请现状[J].中国科技信息,2024,(18):9-11.
  10. 胡冰舟,刁春帆,董春阳.卫星互联网专利申请现状[J].中国科技信息,2024,(18):84-86.
  11. 王爽.专利申请中共识算法的分类与分析[J].天津科技,2024,51(08):34-36+44.
  12. 焦杨,颜建周,李树祥.我国儿童药物专利申请现状分析[J].医学与社会,2024,37(08):129-135.
  13. 周伟.知识产权专利申请快速预审服务应用解析——以西安市知识产权保护中心为例[J].河南科技,2024,51(13):117-121.
  14. 吴洪波,杨文.关于新能源汽车产业专利申请策略的研究[J].中国品牌与防伪,2024,(07):58-61.
  15. 专利申请预评估评价系统[J].中国发明与专利,2024,21(06):2.
  16. 王爽,谭碧云,周建佳.区块链共识机制专利申请分析[J].中国科技信息,2024,(09):24-26.
  17. 陈瑞雪,赵卫康,谢祎,等.基于协同办公系统的全流程专利管理系统设计与实现[J].医疗装备,2023,36(02):20-23+31.
  18. 段东霞,徐凤麒,张晓雯,等.船舶压载水管理系统中国专利申请分析[J].中国水运,2021,(15):32-34.
  19. 单娜,任继鸿.吉林省特色高水平大学专利技术转化问题探究[J].吉林省教育学院学报,2021,37(08):106-109.
  20. Shuyu B ,Guohua S ,Zhiqiu H , et al.PABC: A Patent Application System Based on Blockchain[J].IEEE ACCESS,2021,(19): 42-44.

致 谢

首先,我要感谢我的论文指导老师。在论文完成的整个过程中,指导老师始终给予我无微不至的关爱与指导。在论文写作的过程中,导师那耐心细致的指导,以及提出的具有建设性的意见,都给予了我极大的帮助,让我受益匪浅。导师严谨的治学态度、敬业精神以及高水平的教学能力,都给我树立了追求卓越的典范,这对我以后的人生道路和学业成就都产生了极大的积极影响。

我还要感谢我班的同学们,他们既是我的同窗好友,又是我的良师益友。正是由于你们的支持和关怀,使得我在大学期间的学习和生活都变得异常充实。感谢那些在大学期间给予我帮助的所有老师和同学们,是你们给予了我在学业道路上的前进动力。

当然,我也不能忘记我的父母,是他们用无私的爱抚养我成人。你们的养育之恩我将永生难忘,将来我一定会用我的成绩回报你们。在成长的道路上,我会不断努力,不负众望,用实际行动来回报你们对我的期望。

总之,在这篇论文中,我要感谢所有给予我帮助的人,包括指导老师、同学们、家人和朋友们。是你们的支持与关爱,让我在学术和个人生活中取得了优异的成绩。我会珍惜这份感恩之情,将这份力量用于学习和未来的生活中,不断追求卓越,成为一个更加优秀的人。

 点赞+收藏+关注 → 私信领取本源代码、数据库

更多推荐