1. 项目概述:当专利管理遇上SpringBoot
去年帮某科技企业做技术咨询时,发现他们还在用Excel表格管理上千件专利申请,版本混乱、状态更新滞后是常态。这促使我开发了这套基于SpringBoot的专利申请管理系统,核心解决三个痛点:流程标准化、状态可视化、文档版本化。系统上线后,该企业专利管理效率提升60%以上,特别适合拥有50-500件专利的中小型科技企业。
系统采用经典的三层架构设计:
- 前端:Thymeleaf + Bootstrap实现响应式布局
- 后端:SpringBoot 2.7 + MyBatis-Plus 3.5
- 数据库:MySQL 8.0(支持JSON字段存储专利附件元数据)
提示:源码包中的docker-compose.yml已包含MySQL和Redis的容器化配置,开箱即用
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心功能模块拆解
2.1 智能表单引擎设计
专利申请书提交模块采用动态表单设计,通过JSON Schema定义字段校验规则。核心类PatentFormConfig实现了表单配置的热加载:
java复制@PostMapping("/dynamic-form")
public ResponseEntity<String> handleFormSubmit(
@RequestBody PatentFormData formData,
@RequestParam String formVersion) {
// 通过版本号获取对应校验规则
FormValidator validator = formVersionService.getValidator(formVersion);
ValidationResult result = validator.validate(formData);
if (!result.isValid()) {
throw new InvalidPatentFormException(result.getErrors());
}
// ...后续处理
}
表单特性包括:
- 条件字段显示(根据专利类型自动隐藏无关字段)
- 复合验证规则(如国际专利申请必须包含优先权声明)
- 历史版本比对(使用DiffMatchPatch算法高亮修改内容)
2.2 全链路状态追踪
状态机设计是专利管理的核心,我们采用Spring StateMachine实现:
plantuml复制[*] --> DRAFT : 创建草稿
DRAFT --> UNDER_REVIEW : 提交审核
UNDER_REVIEW --> REJECTED : 审核驳回
UNDER_REVIEW --> APPROVED : 审核通过
APPROVED --> FILED : 已提交专利局
FILED --> GRANTED : 授权
FILED --> REJECTED : 驳回
状态变更时会自动触发以下动作:
- 邮件通知相关责任人
- 生成操作日志(审计用)
- 更新仪表盘统计数据
2.3 文档版本控制系统
专利文档采用类似Git的版本管理机制:
- 每次修改生成新的版本号(SHA-1摘要前8位)
