White's Studio.

Java项目设计思路

2019/02/18 Share

签章 Java 项目设计

1 总体架构模块图

1.1 抽象架构模块图

2 业务流程

  1. CA申请实名过程

  2. 合同签署过程

3 业务逻辑

根据 Model 划分业务

划分 Order, Contract, Ca, Transaction 和 Log 模块

Bussiness 作为业务模块, 业务逻辑 组合调用 Order, Contract, Ca, Transaction 和 Log 模块内容

技术选型

  • 后端框架: Spring Boot
  • 业务数据库: Mongo
  • 缓存: Redis
  • 持久层: MongoRepository
  • 消息队列:RabbitMq
  • 文档生成工具:Swagger2
  • 日志组件:slf4j
  • Java 实用工具: Lombok
  • 测试框架:JUnit5, MockMvc
  • 其他:
    • 日志记录:Spring AOP

初步目录结构:

signature
├─
├── Ca
├── ├── Ca.java
├── ├── CaRepository.java
├── ├── CaService.java —- 单独注册 Ca 证书接口 1. 注册接口, 2. 个人实名接口, 3. 企业实名接口 4. 实名认证接口 5. 盖章上传接口
├── ├── CaServiceImp.java —- 单独注册 Ca 证书接口实现
├── Contract
├── ├── Contract.java
├── ├── ContractRepository.java
├── ├── ContractService.java —- 1. 合同模板上传接口 2. 合同模板 id 查询接口
├── ├── ContractServiceImp.java —- 1. 合同模板上传接口实现
├── Log
├── ├── Log.java
├── ├── LogInterceptor.java —- AOP插入Controller
├── ├── LogRepository.java
├── Order
├── ├── Order.java
├── ├── OrderRepository.java
├── ├── OrderService.java —- 订单记录接口 1. 创建接口 2. 订单完成接口 3. 订单失败接口 4.订单查询接口
├── ├── OrderServiceImp.java —- 订单记录接口实现
├── Transaction
├── ├── Transaction.java
├── ├── TransactionRepository.java
├── ├── TransactionService.java —- 合同单次签署接口 1. 发起签署接口 2. 接收回调处理接口
├── ├── TransactionServiceImp.java —- 合同单次签署接口实现

├── config
├── ├── MyWebAppConfigurer.java

├── Signature —- 具体业务层
├── ├── SignController.java —- 1. 个人注册暴露接口

2. 企业注册暴露接口 
3. 合同模板建立接口  
4. 获取合同模板id接口  
5. 模板生产填充内容合同接口  
6. 合同签署接口 
7. 接收合同签署结果接口

├── Proxy —- 第三方请求通信层
├── ├── FDDProxyService.java —- 法大大通信层
├── ├── InfoProxyService.java —- 对外异步通知通信层

├── utils
├── ├── GetRequestJsonUtils.java
├── ├── MyHttpServletRequestWrapper.java

├── SignatureApplication.java

CATALOG
  1. 1. 签章 Java 项目设计
  2. 2. 1 总体架构模块图
    1. 2.0.1. 1.1 抽象架构模块图
  • 3. 2 业务流程
  • 4. 3 业务逻辑