diff --git a/output/新-概要设计说明书.docx b/output/新-概要设计说明书.docx index 37422ad..0b320d7 100644 Binary files a/output/新-概要设计说明书.docx and b/output/新-概要设计说明书.docx differ diff --git a/output/新-概要设计说明书_processed.md b/output/新-概要设计说明书_processed.md index 0e88aac..5544e23 100644 --- a/output/新-概要设计说明书_processed.md +++ b/output/新-概要设计说明书_processed.md @@ -30,7 +30,7 @@ CJKmainfont: "PingFang SC" | 2025-08-01 | V1.3 | 唐伟杰 | 数据库系统变更:将OpenGauss替换为达梦数据库 8.0+,更新所有相关架构图和技术描述。 | | 2025-08-01 | V1.4 | 唐伟杰 | 单点登录采用OAuth2.0+CAS协议:更新单点登录模块描述,强调基于OAuth2.0+CAS协议实现。 | | 2025-08-18 | V1.5 | 唐伟杰 | 架构调整:将营收业务系统中的工单、表务、报装剥离为独立子系统(SYS-005/006/007),更新目录、功能范围、子系统列表、关系图与接口定义;保留客户服务模块在营收业务系统中的作用。 | -| 2025-08-18 | V1.6 | 唐伟杰 | 将第三方支付能力自SYS-009拆分为独立基础服务子系统(SYS-010 第三方支付子系统);更新总体目标、功能范围、接口定义、子系统列表与相关架构图。 | +| 2025-08-18 | V1.6 | 唐伟杰 | 合并第三方支付能力至SYS-009"支付与银行结算子系统",统一消息服务重编号为SYS-010;更新总体目标、功能范围、接口定义、子系统列表与相关架构图。 | # 目录 @@ -54,8 +54,8 @@ CJKmainfont: "PingFang SC" - [SYS-006 表务管理系统](#sys-006-表务管理系统) - [SYS-007 报装业务系统](#sys-007-报装业务系统) - [SYS-008 发票服务子系统(基础服务)](#sys-008-发票服务子系统基础服务) - - [SYS-009 银行对接子系统(基础服务)](#sys-009-银行对接子系统基础服务) - - [SYS-010 第三方支付子系统(基础服务)](#sys-010-第三方支付子系统基础服务) + - [SYS-009 支付与银行结算子系统(基础服务)](#sys-009-支付与银行结算子系统基础服务) + - [SYS-010 消息服务子系统(基础服务)](#sys-010-消息服务子系统基础服务) - [系统涉众与用户特点](#系统涉众与用户特点) - [设计概述](#设计概述) - [总体约束](#总体约束) @@ -117,7 +117,6 @@ CJKmainfont: "PingFang SC" - [模块7: 统计分析](#模块7-统计分析) - [模块8: 代收业务](#模块8-代收业务) - [模块9: 业务参数配置](#模块9-业务参数配置) - - [客户服务模块群补充说明](#客户服务模块群补充说明) - [子系统3设计: 手机抄表APP](#子系统3设计-手机抄表app) - [任务概述](#任务概述-3) - [设计概述](#设计概述-3) @@ -195,34 +194,34 @@ CJKmainfont: "PingFang SC" - [模块描述](#模块描述-6) - [模块间关系](#模块间关系-7) - [模块描述](#模块描述-7) -- [子系统9设计: 银行对接子系统](#子系统9设计-银行对接子系统) +- [子系统9设计: 支付与银行结算子系统](#子系统9设计-支付与银行结算子系统) - [任务概述](#任务概述-9) - [设计概述](#设计概述-9) - [总体约束](#总体约束-7) - [设计方案概述](#设计方案概述-8) - - [子系统外部接口](#子系统外部接口-8) + - [子系统外部接口(SYS-009)](#子系统外部接口sys-009) - [子系统架构设计](#子系统架构设计-8) - [模块定义](#模块定义-8) - [模块间关系](#模块间关系-8) - [模块描述](#模块描述-8) -- [子系统10设计: 第三方支付子系统](#子系统10设计-第三方支付子系统) +- [子系统10设计: 消息服务子系统](#子系统10设计-消息服务子系统) - [任务概述](#任务概述-10) - [设计概述](#设计概述-10) - [总体约束](#总体约束-8) + - [子系统外部接口](#子系统外部接口-8) - [设计方案概述](#设计方案概述-9) - - [子系统外部接口](#子系统外部接口-9) - [子系统架构设计](#子系统架构设计-9) - [模块定义](#模块定义-9) + - [模块列表](#模块列表-4) - [模块间关系](#模块间关系-9) - [模块描述](#模块描述-9) + - [模块1: 消息推送](#模块1-消息推送) + - [模块2: 消息接收](#模块2-消息接收) - [非功能性需求的设计](#非功能性需求的设计) - [性能的考虑](#性能的考虑) - [兼容性的考虑](#兼容性的考虑) - [安全的考虑](#安全的考虑) - [可移植性的考虑](#可移植性的考虑) - - [模块4: 电子发票服务](#模块4-电子发票服务-1) - - [模块5: 营业网点服务](#模块5-营业网点服务-1) - - [模块6: 业务办理服务](#模块6-业务办理服务-1) - [关键技术特性](#关键技术特性-1) - [微信平台集成](#微信平台集成-1) - [响应式设计](#响应式设计-1) @@ -251,6 +250,7 @@ CJKmainfont: "PingFang SC" 5. **资源需求评估**:确定系统开发、部署所需的技术资源和基础设施 **预期读者:** + - 系统架构师和技术负责人 - 项目经理和技术管理人员 - 详细设计和开发团队 @@ -265,7 +265,6 @@ CJKmainfont: "PingFang SC" 福建水投集团注册资本46亿元,在全省40多个县市区投资重大水利项目超过450亿元,拥有全级次子公司超过67家,职工人数超3500人。当前,集团正紧紧抓住城乡供水一体化建设的机遇,需要构建以客户为中心的客户服务平台。 - ## 术语与缩略语 | **术语、缩写** | **解释** | @@ -280,6 +279,7 @@ CJKmainfont: "PingFang SC" | DML | Data Manipulation Language,数据操作语言 | | IoT | Internet of Things,物联网 | | DevOps | Development和Operations的组合词,开发运维一体化 | +| 业务参数 | 业务参数配置 | | 站点 | 用于划分用户所属管辖区域,站点可以进行多级管理 | | 册本 | 又称抄表本或抄表簿,根据抄表线路规划,按排相邻的一些水表给某一个抄表员进行抄表 | | 用户编号 | 为签定了供用水合同的正式用户分配的唯一识别号 | @@ -301,15 +301,18 @@ CJKmainfont: "PingFang SC" ### 系统总体目标 -营业收费系统采用分层解耦与子系统化建设,形成“业务服务层 + 基础服务层”的整体架构: +营业收费系统采用分层解耦与子系统化建设,形成"业务服务层 + 基础服务层"的整体架构: + - 业务服务层:SYS-001 统一平台、SYS-002 营收业务系统、SYS-003 手机抄表APP、SYS-004 微网厅系统、SYS-005 工单管理系统、SYS-006 表务管理系统、SYS-007 报装业务系统 -- 基础服务层:SYS-008 发票服务子系统(统一开票)、SYS-009 银行对接子系统(统一代扣/对账/加解密)、SYS-010 第三方支付子系统(统一聚合支付) + +- 基础服务层:SYS-008 发票服务子系统(统一开票)、SYS-009 支付与银行结算子系统(统一聚合支付/退款/渠道适配/银行代扣/对账/加解密/支付回调)、SYS-010 消息服务子系统(统一短信/邮件/站内信/模板消息)、注册/配置中心、任务调度等基础服务 通过系统的建设,实现福建省水投数字科技有限公司客户服务管理领域的业务流程梳理再造、组织架构的优化、管理制度的建设、绩效考核标准的建设。构建以客户为中心的一体化客户服务平台,将客户的所有信息进行有机的关联,方便企业对营收信息进行综合分析和管理,为客户提供更多、更便捷、更主动的个性化服务,提高客户服务的质量和客户满意度。 **系统整体架构特点:** + - **统一平台**:提供认证、权限、组织、参数、字典等基础能力 -- **营收业务系统**:围绕客户、抄表、收费、账务、催缴、统计等核心营收流程,保留“客户服务模块群”对外服务能力 +- **营收业务系统**:围绕客户、抄表、收费、账务、催缴、统计等核心营收流程,保留"客户服务模块群"对外服务能力 - **手机抄表APP**:移动化现场作业,支持离线;现场问题上报与工单接收由工单系统统一承载 - **微网厅系统**:面向公众的自助服务门户,支持绑定、查询、缴费、发票查看、业务办理 - **工单管理系统**:统一工单中心与流程引擎,打通营收/表务/报装/微网厅/APP的全场景工单 @@ -317,45 +320,56 @@ CJKmainfont: "PingFang SC" - **报装业务系统**:覆盖报装申请、踏勘、施工、验收、通水与档案归档的端到端流程 - **发票服务子系统**(基础服务):统一开票网关与供应商适配(现优先对接航天,预留博思),回执与存证 - **支付与银行对接子系统**(基础服务):统一支付/退款、银行代扣送盘/回盘、对账处理、加解密签名 +- **消息服务子系统**(基础服务):统一短信/邮件/站内信/模板消息,下行推送与到达回执,供各业务子系统调用(如营收系统催缴) ### 功能范围 -本系统功能涵盖水务企业完整的营收业务流程,包括客户资料管理、抄表开账、营业收费、账务处理、催缴管理、发票管理(经SYS-008)、表务管理、报装业务、客户服务、工单管理,以及银行代扣(经SYS-009)与聚合支付/退款(经SYS-010)等;还包含查询统计与报表打印功能。 - -**系统功能按子系统分布如下:** +本系统功能涵盖水务企业完整的营收业务流程,包括客户资料管理、抄表开账、营业收费、账务处理、催缴管理、发票管理(经SYS-008)、表务管理、报装业务、客户服务、工单管理,以及支付与银行结算(经SYS-009)等;还包含查询统计与报表打印功能。 #### SYS-001 统一平台 + - 认证管理(SSO/OAuth2+CAS)、用户/角色/权限、组织机构、参数/字典、审计与监控 #### SYS-002 营收业务系统 -- 营收核心:客户资料、抄表开账、营业收费、账务处理、催缴管理、统计分析、代收业务 -- 客户服务:账户绑定、信息查询、在线缴费(经SYS-009)、电子发票(经SYS-008)、营业网点、业务办理 + +- 营收核心:客户资料、抄表开账、营业收费、账务处理、催缴管理、统计分析、代收业务、业务参数配置 +- 客户服务:账户绑定、信息查询、在线缴费(经SYS-009)、柜面扫码支付(经SYS-009)、电子发票(经SYS-008)、营业网点、业务办理 #### SYS-003 手机抄表APP + - 移动作业:登录、首页搜索、采集任务、现场抄表 - 现场上报/工单接收:问题上报、工单接收与回填(经SYS-005) - 数据同步与个人管理:任务下载/数据上传(离线支持)、个人信息与设置 #### SYS-004 微网厅系统 -- 账户绑定、账单/用水查询、在线缴费(经SYS-010)、电子发票查看(经SYS-008)、营业网点、业务办理 + +- 账户绑定、账单/用水查询、在线缴费(经SYS-009)、电子发票查看(经SYS-008)、营业网点、业务办理 #### SYS-005 工单管理系统 + - 统一工单中心、流程引擎、监控预警、绩效统计,打通营收/表务/报装/微网厅/APP #### SYS-006 表务管理系统 + - 表务基础(厂家/型号/口径/量程)、仓库与库存(入出库/盘点/调拨/预警)、设备档案(电子档案/状态) #### SYS-007 报装业务系统 + - 报装流程(申请/踏勘/施工/验收/通水)、工程管理(进度/资源/质量/安全)、档案管理(资料归档/留痕) #### SYS-008 发票服务子系统(基础服务) + - 统一开票/作废与红冲/查询、供应商适配(航天优先、预留博思)、回执处理与存证 -#### SYS-009 银行对接子系统(基础服务) -- 银行代扣(送盘/回盘)、对账文件处理、加解密/签名 +#### SYS-009 支付与银行结算子系统(基础服务) -#### SYS-010 第三方支付子系统(基础服务) -- 统一聚合支付/退款、渠道适配(微信/支付宝/银联聚合等)、支付结果通知 +- 聚合支付/退款、渠道适配(微信/支付宝/银联聚合等)、支付结果通知、银行代扣(送盘/回盘)、对账文件处理、加解密/签名 + +#### SYS-010 消息服务子系统(基础服务) + +- 统一短信/邮件/站内信/模板消息,下行推送与到达回执,供各业务子系统调用(如营收系统催缴) +- 邮件服务:邮件通知发送(经SYS-010) +- 移动推送平台:App消息推送(经SYS-010) ### 系统涉众与用户特点 @@ -410,15 +424,16 @@ CJKmainfont: "PingFang SC" | 金融支付 | 微信支付接口 | 微信在线支付 | HTTPS | | 金融支付 | 支付宝支付接口 | 支付宝在线支付 | HTTPS | | 通信服务 | 短信平台接口 | 短信通知发送 | HTTPS | +| 通信服务 | 邮件服务接口 | 邮件通知发送 | HTTPS/SMTP | +| 通信服务 | 微信模板消息接口 | 微信模板消息下发 | HTTPS | +| 通信服务 | 移动推送接口 | App消息推送(经厂商/三方推送) | HTTPS | | 物联网 | 集抄系统接口 | 智能水表数据采集 | TCP/HTTPS | | 税务服务 | 电子发票接口 | 第三方发票开具 | HTTPS | | 认证服务 | 身份认证接口 | 第三方身份验证 | HTTPS | | 认证服务 | CAS单点登录 | 第三方身份验证 | HTTPS | | 认证服务 | OAuth2.0单点登录 | 第三方身份验证 | HTTPS | -| 外部系统 | 微信消息推送 | 微信消息推送 | HTTPS | -| 外部系统 | 大工单系统 | 大工单系统 | HTTPS | -| 外部系统 | 报装系统 | 报装系统 | HTTPS | - +| 外部系统 | CA电子签章 | CA签发/验章/存证 | HTTPS | +| 外部系统 | 邮件服务 | 邮件服务 | HTTPS | ### 设计方案概述 @@ -428,13 +443,14 @@ CJKmainfont: "PingFang SC" **技术选型方案**: -- **后端技术栈**:Java 11+、Spring Boot 2.7+、Spring Cloud Gateway、MyBatis-Plus +- **后端技术栈**:Java 17+、Spring Boot 3.1+、Spring Cloud Gateway、MyBatis-Plus - **前端技术栈**:Vue 3、Element Plus、TypeScript - **数据库**:达梦数据库 8.0+(主从架构) - **缓存**:Redis 6.0+(集群模式) - **消息队列**:RabbitMQ 3.9+ - **文件存储**:MinIO(分布式文件存储) - **容器化**:基于Docker的容器化部署,使用Docker Compose进行容器编排,使用Kubernetes进行容器编排和调度。 +- **DevOps**:使用Jenkins进行自动化构建、部署和测试,使用Gitea进行代码管 **部署方案**: @@ -449,19 +465,27 @@ CJKmainfont: "PingFang SC" #### 整体架构图 +**图表 1** + +![图表 1](temp_mermaid_新-概要设计说明书_38149/diagram_1.png) + + #### 层级说明 **表现层(Presentation Layer)** + - 负责用户交互和界面展示 - 包含多种客户端形态:Web端、微网厅(微信、支付宝) - 采用前后端分离架构,提高开发效率和用户体验 **网关层(Gateway Layer)** + - 统一入口,负责请求路由和负载均衡 - 集中处理认证授权、限流熔断、监控日志 - 提供API版本管理和接口文档生成 **业务服务层(Business Service Layer)** + - 核心业务逻辑处理层,包含七个子系统: - **SYS-001 统一平台**:提供认证、组织、系统管理等基础服务 - **SYS-002 营收业务系统**:营收核心与客户服务模块群 @@ -474,21 +498,33 @@ CJKmainfont: "PingFang SC" - 支持独立部署、扩缩容和技术栈选择 **基础服务层(Infrastructure Service Layer)** + - 提供通用的技术服务能力 -- 包含权限、工作流、消息、文件、发票服务(统一开票能力)、银行对接服务(代扣/对账/加解密)、第三方支付服务(聚合支付/退款)等基础服务 +- 包含权限、工作流、消息、文件、发票服务(统一开票能力)、银行对接服务(代扣/对账/加解密)、第三方支付服务(聚合支付/退款)、消息服务(统一短信/邮件/站内信/模板消息)、注册/配置中心、任务调度等基础服务 - 为业务服务提供统一的技术支撑 **数据层(Data Layer)** + - 数据持久化和缓存层 - 支持读写分离、分库分表、数据备份 - 提供高性能、高可用的数据服务 +**外部系统(External Systems)** + +- CA电子签章:用于报装资料签署、验章与存证(INST-004 签章回执接口) +- 银行:托收代扣、回盘与对账(经SYS-009) +- 支付渠道:微信/支付宝/银联聚合等(经SYS-009) +- 发票供应商:航天/博思等税控平台(经SYS-008) +- 短信平台:通知与催缴短信发送(经SYS-010) +- 集抄系统:智能水表数据采集(远传/集中器) +- 邮件服务:邮件通知发送(经SYS-010) + ### 系统数据流向图 -**图表 1** +**图表 2** -![图表 1](temp_mermaid_新-概要设计说明书_25255/diagram_1.png) +![图表 2](temp_mermaid_新-概要设计说明书_38149/diagram_2.png) ### 系统的物理架构设计 @@ -498,15 +534,17 @@ CJKmainfont: "PingFang SC" #### 物理部署图 -**图表 2** +**图表 3** + +![图表 3](temp_mermaid_新-概要设计说明书_38149/diagram_3.png) -![图表 2](temp_mermaid_新-概要设计说明书_25255/diagram_2.png) #### 网络连接 -**图表 3** -![图表 3](temp_mermaid_新-概要设计说明书_25255/diagram_3.png) +**图表 4** + +![图表 4](temp_mermaid_新-概要设计说明书_38149/diagram_4.png) #### 硬件配置规格 @@ -548,9 +586,9 @@ CJKmainfont: "PingFang SC" 系统采用达梦数据库分布式架构,支持高性能、高可用、高扩展性的数据存储服务。 -**图表 4** +**图表 5** -![图表 4](temp_mermaid_新-概要设计说明书_25255/diagram_4.png) +![图表 5](temp_mermaid_新-概要设计说明书_38149/diagram_5.png) #### 容器化部署架构 @@ -558,9 +596,9 @@ CJKmainfont: "PingFang SC" 系统采用基于Docker的容器化部署,使用Docker Compose进行容器编排,使用Kubernetes进行容器编排和调度,支持DevOps持续交付。 -**图表 5** +**图表 6** -![图表 5](temp_mermaid_新-概要设计说明书_25255/diagram_5.png) +![图表 6](temp_mermaid_新-概要设计说明书_38149/diagram_6.png) ## 子系统定义 @@ -570,24 +608,24 @@ CJKmainfont: "PingFang SC" | 子系统编号 | 子系统名称(标识) | 功能描述 | 开发方式 | |---|---|---|---| | SYS-001 | 统一平台 | 单点登录、系统管理、权限管理、租户管理 | 自行开发 | -| SYS-002 | 营收业务系统 | 客户管理、抄表开账、营业收费、账务处理、发票管理、催缴管理、统计分析、代收业务、客户服务 | 自行开发 | +| SYS-002 | 营收业务系统 | 客户管理、抄表开账、营业收费、账务处理、发票管理、催缴管理、统计分析、代收业务、客户服务、业务参数配置 | 自行开发 | | SYS-003 | 手机抄表APP | 移动端抄表、现场作业、数据同步、离线支持 | 自行开发 | | SYS-004 | 微网厅系统 | 微信公众号平台、账户绑定、在线缴费、信息查询、业务办理、网点服务 | 自行开发 | | SYS-005 | 工单管理系统 | 统一工单中心、工单流程引擎、监控预警、绩效统计 | 自行开发 | | SYS-006 | 表务管理系统 | 表务基础管理、仓库与库存管理、设备档案管理 | 自行开发 | | SYS-007 | 报装业务系统 | 报装流程管理、工程管理、档案管理 | 自行开发 | | SYS-008 | 发票服务子系统 | 统一开票网关、供应商适配器(优先对接航天)、回执处理与存证 | 自行开发 | -| SYS-009 | 银行对接子系统 | 银行代扣送盘/回盘、对账处理、加解密签名 | 自行开发 | -| SYS-010 | 第三方支付子系统 | 聚合支付/退款、渠道适配(微信/支付宝/银联)、支付通知 | 自行开发 | +| SYS-009 | 支付与银行结算子系统 | 聚合支付/退款、渠道适配(微信/支付宝/银联)、支付通知、银行代扣送盘/回盘、对账处理、加解密签名 | 自行开发 | +| SYS-010 | 消息服务子系统 | 短信/邮件/站内信模板与发送、回执查询、批量推送 | 自行开发 | ### 子系统间关系 #### 子系统调用关系图 -**图表 6** +**图表 7** -![图表 6](temp_mermaid_新-概要设计说明书_25255/diagram_6.png) +![图表 7](temp_mermaid_新-概要设计说明书_38149/diagram_7.png) #### 主要接口定义 @@ -604,17 +642,13 @@ CJKmainfont: "PingFang SC" | 接口名称 | 接口描述 | 调用方 | 接口协议 | |---------|----------|--------|----------| -| 客户信息查询接口 | 查询客户基本信息 | 手机抄表APP | HTTP/REST | -| 账单查询接口 | 查询客户账单信息 | 手机抄表APP | HTTP/REST | -| 缴费处理接口 | 处理在线缴费 | 外部系统 | HTTP/REST | -| 立户接口 | 新客户立户 | 外部系统 | HTTP/REST | +| 客户信息查询接口 | 查询客户基本信息 | 手机抄表APP/微网厅 | HTTP/REST | +| 账单查询接口 | 查询客户账单信息 | 手机抄表APP/微网厅 | HTTP/REST | +| 缴费处理接口 | 账单确认、支付下单入口(内部调用SYS-009) | 微网厅 | HTTP/REST | +| 立户接口 | 新客户立户(接收报装结果) | 报装业务系统 | HTTP/REST | | 抄表任务接口 | 下发抄表任务和客户信息 | 手机抄表APP | HTTP/REST | | 抄表数据上传接口 | 上传抄表数据 | 手机抄表APP | HTTP/REST | -| 微网厅服务接口 | 微信公众号服务 | 微信平台 | HTTP/REST | -| 发票开具统一接口 | 统一开票(对接SYS-008) | 营收业务系统 | HTTP/REST | -| 统一支付接口 | 实时支付/退款(对接SYS-009) | 营收业务系统 | HTTP/REST | -| 银行代扣接口 | 代扣送盘/回盘(对接SYS-009) | 营收业务系统 | HTTP/REST/SFTP | -| 发票开具统一接口 | 统一开票(对接SYS-008) | 营收业务系统 | HTTP/REST | +| 客户服务网关接口 | 面向微网厅/APP/客服前台 | 微网厅/手机抄表APP/客服前台 | HTTP/REST | **手机抄表APP对外接口** @@ -633,7 +667,7 @@ CJKmainfont: "PingFang SC" | 微信授权接口 | 处理微信用户授权登录 | 微信平台 | HTTP/REST | | 账户绑定接口 | 处理用户账户绑定 | 微信客户端 | HTTP/REST | | 账单查询接口 | 查询客户账单信息 | 微信客户端 | HTTP/REST | -| 缴费处理接口 | 处理在线缴费业务(经SYS-010) | 微信客户端 | HTTP/REST | +| 缴费处理接口 | 处理在线缴费业务(经SYS-009) | 微信客户端 | HTTP/REST | | 业务申请接口 | 处理各类业务申请 | 微信客户端 | HTTP/REST | | 电子发票查看接口 | 发票查看/下载 | 微信客户端 | HTTP/REST | @@ -654,36 +688,42 @@ CJKmainfont: "PingFang SC" | 领用出库接口 | 支持换表/施工领用 | 工单 | HTTP/REST | | 档案查询接口 | 查询设备档案 | 营收/工单 | HTTP/REST | -**报装业务系统对外接口** -**发票服务子系统对外接口** - -| 接口名称 | 接口描述 | 调用方 | 接口协议 | -|---------|----------|--------|-----------| -| 统一开票接口 | 统一受理开票(蓝票) | 营收业务系统 | HTTP/REST | -| 发票作废接口 | 作废/红冲申请 | 营收业务系统 | HTTP/REST | -| 发票查询接口 | 查询发票状态/链接 | 营收/微网厅 | HTTP/REST | -| 供应商路由接口 | 供应商选择与路由(航天/博思/…) | 发票适配器 | 内部SPI | - -**银行对接子系统对外接口(SYS-009)** - -| 接口名称 | 接口描述 | 调用方 | 接口协议 | -|---------|----------|--------|-----------| -| 代扣送盘接口 | 代扣文件送盘 | 营收系统 | SFTP/HTTP | -| 代扣回盘接口 | 回盘解析与状态回填 | 营收系统 | SFTP/HTTP | -| 对账文件接口 | 银行对账文件处理 | 营收系统 | SFTP | - -**第三方支付子系统对外接口(SYS-010)** - -| 接口名称 | 接口描述 | 调用方 | 接口协议 | -|---------|----------|--------|-----------| -| 统一支付接口 | 聚合支付下单/关闭/退款 | 营收/微网厅 | HTTP/REST | -| 支付结果回调接口 | 渠道回调签名校验与结果入账 | 微网厅/营收 | HTTP/REST | +**报装业务系统对外接口(SYS-007)** | 接口名称 | 接口描述 | 调用方 | 接口协议 | |---------|----------|--------|-----------| | 报装申请接口 | 提交报装信息与材料 | 微网厅/营收 | HTTP/REST | | 派工对接接口 | 报装派单与回填 | 工单系统 | HTTP/REST | | 竣工归档接口 | 归档竣工资料 | 营收/档案 | HTTP/REST | +| 签章回执接口 | 接收CA签章/验章回执 | CA电子签章 | HTTP/REST | + +**发票服务子系统对外接口** + +| 接口名称 | 接口描述 | 调用方 | 接口协议 | +|---------|----------|--------|-----------| +| 统一开票接口 | 统一受理开票(蓝票) | 营收业务系统 | HTTP/REST | +| 发票作废接口 | 作废/红冲申请 | 营收业务系统 | HTTP/REST | +| 发票查询接口 | 查询状态、下载链接 | 营收/微网厅 | HTTP/REST | +| 供应商路由接口 | 供应商选择与路由(航天/博思/…) | 发票适配器 | 内部SPI | + +**支付与银行结算子系统对外接口(SYS-009)** + +| 接口名称 | 接口描述 | 调用方 | 接口协议 | +|---------|----------|--------|-----------| +| 统一支付下单接口 | JSAPI/扫码/APP下单 | 营收/微网厅 | HTTP/REST | +| 统一关单接口 | 订单关闭/撤销 | 营收/微网厅 | HTTP/REST | +| 统一退款接口 | 原路/部分退款 | 营收/微网厅 | HTTP/REST | +| 支付回调接口 | 渠道回调验签入账 | 微网厅/营收 | HTTP/REST | +| 批量代扣送盘接口 | 代扣文件送盘 | 营收系统 | SFTP/HTTP | +| 批量代扣回盘接口 | 回盘解析/状态回填 | 营收系统 | SFTP/HTTP | +| 批量对账文件接口 | 银行对账文件处理 | 营收系统 | SFTP | + +**消息服务子系统对外接口(SYS-010)** + +| 接口名称 | 接口描述 | 调用方 | 接口协议 | +|---------|----------|--------|-----------| +| 消息推送接口 | 发送短信/邮件/推送(模板+变量) | 各业务系统 | HTTP/REST | +| 消息接收接口 | 接收下行回执/状态 | 各业务系统 | HTTP/REST | # 子系统1设计: 统一平台 @@ -762,9 +802,9 @@ CJKmainfont: "PingFang SC" 统一平台采用分层架构设计,从下至上分为数据层、业务层、服务层和应用层,确保系统的可维护性和可扩展性。 -**图表 7** +**图表 8** -![图表 7](temp_mermaid_新-概要设计说明书_25255/diagram_7.png) +![图表 8](temp_mermaid_新-概要设计说明书_38149/diagram_8.png) ## 模块定义 @@ -786,12 +826,13 @@ CJKmainfont: "PingFang SC" 权限管理功能群是统一平台的核心,实现了完整的RBAC权限控制模型。 -**图表 8** +**图表 9** -![图表 8](temp_mermaid_新-概要设计说明书_25255/diagram_8.png) +![图表 9](temp_mermaid_新-概要设计说明书_38149/diagram_9.png) **功能群说明:** + - 用户管理模块负责用户基本信息维护 - 角色管理模块定义系统角色和权限 - 菜单管理模块配置系统功能菜单 @@ -803,9 +844,9 @@ CJKmainfont: "PingFang SC" 系统监控功能群提供对整个系统运行状态的监控和管理。 -**图表 9** +**图表 10** -![图表 9](temp_mermaid_新-概要设计说明书_25255/diagram_9.png) +![图表 10](temp_mermaid_新-概要设计说明书_38149/diagram_10.png) ### 模块描述 @@ -872,6 +913,7 @@ CJKmainfont: "PingFang SC" 营收业务系统包含两大核心模块群,实现水务企业营收业务闭环: #### 营收核心模块群 + - **客户资料管理**:客户档案建立、信息维护、分组管理 - **抄表开账**:抄表数据录入、复核确认、自动开账 - **营业收费**:柜台收费、移动收费、在线缴费 @@ -879,9 +921,11 @@ CJKmainfont: "PingFang SC" - **发票管理**:发票开具、查询、重开、作废 - **催缴管理**:欠费统计、催缴通知、停水管理 - **统计分析**:多维度数据统计和报表分析 -- **代收业务**:银行代扣、第三方支付等代收渠道 +- **代收业务**:银行代扣、聚合支付等代收渠道 +- **业务配置**:业务参数配置 #### 客户服务模块群 + - **账户绑定管理**:微信/支付宝账户绑定和管理 - **信息查询服务**:账单查询、用水历史、缴费记录等 - **在线缴费服务**:多渠道在线缴费服务 @@ -947,9 +991,9 @@ CJKmainfont: "PingFang SC" 营收系统采用DDD领域驱动设计,按业务领域进行模块划分,实现高内聚低耦合的架构设计。系统核心分为**营收核心模块群**和**客户服务模块群**两大业务板块(原工单管理模块群已拆分为独立的SYS-005工单管理系统)。 -**图表 10** +**图表 11** -![图表 10](temp_mermaid_新-概要设计说明书_25255/diagram_10.png) +![图表 11](temp_mermaid_新-概要设计说明书_38149/diagram_11.png) ## 模块定义 @@ -971,7 +1015,8 @@ CJKmainfont: "PingFang SC" | **REV-005** | **发票管理** | 发票开具、查询管理、电子发票 | 自行开发 | 财务合规 | | **REV-006** | **催缴管理** | 欠费催缴、短信通知、停水管理 | 自行开发 | 收益保障 | | **REV-007** | **统计分析** | 多维度数据统计和报表分析功能 | 自行开发 | 决策支持 | -| **REV-008** | **代收业务** | 集成银行、第三方支付等代收渠道 | 自行开发 | 服务便民 | +| **REV-008** | **代收业务** | 集成银行渠道与聚合支付等代收方式 | 自行开发 | 服务便民 | +| **REV-009** | **业务参数配置** | 业务参数配置、参数管理 | 自行开发 | 核心基础 | #### 客户服务模块群 @@ -979,6 +1024,16 @@ CJKmainfont: "PingFang SC" - 账户绑定管理、信息查询服务、在线缴费服务、电子发票服务、营业网点服务、业务办理服务 +| 模块编号 | 模块名称(标识) | 功能描述 | 开发方式 | 业务重要性 | +|---|---|---|---|---| +| CS-001 | 账户绑定管理 | 微信/支付宝账户绑定与解绑、多账户管理 | 自行开发 | 对外入口 | +| CS-002 | 信息查询服务 | 账单查询、用水历史、缴费记录、停水公告 | 自行开发 | 核心服务 | +| CS-003 | 在线缴费服务 | 快捷缴费、充值、代缴、结果查询(经SYS-009) | 自行开发 | 核心服务 | +| CS-004 | 电子发票服务 | 发票查看、推送、下载(经SYS-008) | 自行开发 | 财务合规 | +| CS-005 | 营业网点服务 | 网点查询、地图导航、预约(可选) | 自行开发 | 支撑服务 | +| CS-006 | 业务办理服务 | 联系方式/开票方式变更、更名过户、低保、换表、自主抄表等 | 自行开发 | 对外办理 | +| CS-007 | 柜面扫码支付 | 柜台二维码收款、票据关联、结果回传(经SYS-009) | 自行开发 | 线下支付 | + ### 模块间关系 营收系统的两大模块群既相对独立又紧密协作,形成完整的业务生态系统。 @@ -988,21 +1043,21 @@ CJKmainfont: "PingFang SC" 营收核心业务群实现了从客户管理到账务处理的完整营收业务流程: -**图表 11** +**图表 12** -![图表 11](temp_mermaid_新-概要设计说明书_25255/diagram_11.png) +![图表 12](temp_mermaid_新-概要设计说明书_38149/diagram_12.png) #### 模块群间协作关系 -#### 模块群间协作关系 +#### 模块群间协作关系 两大模块群通过标准化接口进行协作,实现业务闭环: -**图表 12** +**图表 13** -![图表 12](temp_mermaid_新-概要设计说明书_25255/diagram_12.png) +![图表 13](temp_mermaid_新-概要设计说明书_38149/diagram_13.png) ### 模块描述 @@ -1086,9 +1141,9 @@ CJKmainfont: "PingFang SC" **业务流程图:** -**图表 13** +**图表 14** -![图表 13](temp_mermaid_新-概要设计说明书_25255/diagram_13.png) +![图表 14](temp_mermaid_新-概要设计说明书_38149/diagram_14.png) **业务规则:** @@ -1133,9 +1188,9 @@ CJKmainfont: "PingFang SC" **业务流程图:** -**图表 14** +**图表 15** -![图表 14](temp_mermaid_新-概要设计说明书_25255/diagram_14.png) +![图表 15](temp_mermaid_新-概要设计说明书_38149/diagram_15.png) **业务规则:** @@ -1173,7 +1228,7 @@ CJKmainfont: "PingFang SC" **实现说明:** -- 本模块通过调用`SYS-008 发票服务子系统`的“统一开票接口/作废红冲接口/发票查询接口”实现具体的开票与回执处理,营收系统不直接对接供应商。 +- 本模块通过调用`SYS-008 发票服务子系统`的"统一开票接口/作废红冲接口/发票查询接口"实现具体的开票与回执处理,营收系统不直接对接供应商。 #### 模块6: 催缴管理 @@ -1207,12 +1262,12 @@ CJKmainfont: "PingFang SC" **功能概述:** -集成银行、第三方支付等代收渠道,方便客户缴费。 +集成银行渠道与聚合支付等代收方式,方便客户缴费。 **核心功能:** - **银行代扣**: 与银行签订协议,实现自动批量扣费。 -- **第三方支付**: 集成微信、支付宝等支付网关。 +- **聚合支付**: 集成微信、支付宝等支付网关。 - **对账管理**: 定期与各渠道进行账务核对。 - **实时收费**: 渠道实时缴费处理(对接SYS-009)。 - **银行托收**: 托收文件处理与状态跟踪(对接SYS-009)。 @@ -1230,12 +1285,6 @@ CJKmainfont: "PingFang SC" - 价格体系:水价归属、费用组成、水价调整、调价历史、优惠方案、用水方案 - 基本配置:打印维护、自定义列、日志管理、水司账户、发票税率、银行信息、抄表状态、词语信息、参数配置 -**备注:** 原“工程管理(工程申请/查询)”能力已并入`SYS-007 报装业务系统`统一承载。 - -#### 客户服务模块群补充说明 - -客户服务模块群继续作为营收系统对外服务的统一入口,承接微网厅与第三方渠道的服务流量;涉及现场执行部分由SYS-005工单管理系统承接。 - # 子系统3设计: 手机抄表APP ## 任务概述 @@ -1310,9 +1359,9 @@ CJKmainfont: "PingFang SC" ## 子系统架构设计 -**图表 15** +**图表 16** -![图表 15](temp_mermaid_新-概要设计说明书_25255/diagram_15.png) +![图表 16](temp_mermaid_新-概要设计说明书_38149/diagram_16.png) ## 模块定义 @@ -1331,29 +1380,35 @@ CJKmainfont: "PingFang SC" ### 模块间关系 -**图表 16** +**图表 17** -![图表 16](temp_mermaid_新-概要设计说明书_25255/diagram_16.png) +![图表 17](temp_mermaid_新-概要设计说明书_38149/diagram_17.png) ### 模块描述 #### 模块1: 登录认证 + - 机构编号+账号登录、Token续期、离线授权缓存 #### 模块2: 首页搜索 + - 客户/地址/册本搜索、最近搜索、快捷入口 #### 模块3: 采集任务管理 + - 批量下载、单户采集、读数规则校验、异常标注 #### 模块4: 现场上报 + - 异常上报、图片与定位采集,提交至SYS-005工单系统 #### 模块5: 个人与设置 + - 个人信息、偏好、缓存清理、日志上传 #### 模块6: 数据同步 + - 增量任务同步、离线包上传、断点续传与冲突解决 # 子系统4设计: 微网厅系统 @@ -1367,18 +1422,21 @@ CJKmainfont: "PingFang SC" ### 总体约束 **技术约束**: + - 基于微信公众号开发框架 - 遵循微信开发规范和接口限制 - 采用响应式设计,适配不同移动设备 - 支持微信支付集成 **安全约束**: + - 严格的用户身份验证机制 - 敏感数据加密传输和存储 - 符合微信平台安全规范 - 防范常见Web安全威胁 **业务约束**: + - 必须与营收业务系统实时数据同步 - 支持多账户绑定管理 - 提供完整的业务流程闭环 @@ -1386,12 +1444,14 @@ CJKmainfont: "PingFang SC" ### 子系统外部接口 **与微信平台接口**: + - 微信授权登录接口 - 微信支付接口 - 微信模板消息接口 - 微信JS-SDK接口 **与营收业务系统接口**: + - 客户信息查询接口 - 账单信息查询接口 - 缴费处理接口 @@ -1404,9 +1464,9 @@ CJKmainfont: "PingFang SC" ## 子系统架构设计 -**图表 17** +**图表 18** -![图表 17](temp_mermaid_新-概要设计说明书_25255/diagram_17.png) +![图表 18](temp_mermaid_新-概要设计说明书_38149/diagram_18.png) ## 模块定义 @@ -1427,9 +1487,9 @@ CJKmainfont: "PingFang SC" ### 模块间关系 -**图表 18** +**图表 19** -![图表 18](temp_mermaid_新-概要设计说明书_25255/diagram_18.png) +![图表 19](temp_mermaid_新-概要设计说明书_38149/diagram_19.png) ### 模块描述 @@ -1439,6 +1499,7 @@ CJKmainfont: "PingFang SC" **功能职责**:处理微信用户与水务账户的绑定关系管理 **主要功能**: + - 微信授权登录 - 账户搜索与验证 - 账户绑定与解绑 @@ -1447,9 +1508,10 @@ CJKmainfont: "PingFang SC" **关键流程**: -**图表 19** -![图表 19](temp_mermaid_新-概要设计说明书_25255/diagram_19.png) +**图表 20** + +![图表 20](temp_mermaid_新-概要设计说明书_38149/diagram_20.png) #### 模块2: 信息查询服务 @@ -1457,15 +1519,17 @@ CJKmainfont: "PingFang SC" **功能职责**:为用户提供各类信息查询功能 **主要功能**: + - 当前账单查询 - 历史账单查询 - 用水量历史统计 - 缴费记录查询 - 停水公告查看 - 账户基本信息查看 - - 账户流水:缴费流水、付费汇总、导出 +- 账户流水:缴费流水、付费汇总、导出 **接口依赖**: + - 营收业务系统客户信息接口 - 营收业务系统账务信息接口 - 营收业务系统公告管理接口 @@ -1475,18 +1539,20 @@ CJKmainfont: "PingFang SC" **功能职责**:提供便捷的在线缴费功能 **主要功能**: + - 快捷缴费(微信支付) - 充值缴费 - 代缴功能 - 缴费确认 - 缴费结果查询 - - 退款/失败处理引导 +- 退款/失败处理引导 **支付流程**: -**图表 20** -![图表 20](temp_mermaid_新-概要设计说明书_25255/diagram_20.png) +**图表 21** + +![图表 21](temp_mermaid_新-概要设计说明书_38149/diagram_21.png) #### 模块4: 电子发票服务 @@ -1494,6 +1560,7 @@ CJKmainfont: "PingFang SC" **功能职责**:电子发票的查看和管理 **主要功能**: + - 电子发票查看 - 发票信息推送 - 发票下载 @@ -1504,18 +1571,20 @@ CJKmainfont: "PingFang SC" **功能职责**:营业网点信息服务 **主要功能**: + - 网点地址查询 - 地图导航 - 距离计算 - 营业时间查看 - 联系方式查看 - - 预约/排队叫号/预约提醒(如启用) +- 预约/排队叫号/预约提醒(如启用) #### 模块6: 业务办理服务 **功能职责**:各类业务的在线办理 **主要功能**: + - 联系方式变更 - 开票方式变更 - 更名过户申请 @@ -1523,13 +1592,14 @@ CJKmainfont: "PingFang SC" - 低保申请 - 换表申请 - 自主抄表上报 - - 业务进度查询与消息通知 +- 业务进度查询与消息通知 #### 模块7: 账户流水 **功能职责**:展示绑定客户的历史缴费流水与汇总。 **主要功能**: + - 流水列表、筛选与导出 - 账期/渠道统计汇总 @@ -1538,6 +1608,7 @@ CJKmainfont: "PingFang SC" **功能职责**:管理微信账号下的绑定客户与机构切换。 **主要功能**: + - 切换用水机构 - 添加/解绑绑定客户 - 设置默认客户 @@ -1545,9 +1616,10 @@ CJKmainfont: "PingFang SC" **业务办理流程**: -**图表 21** -![图表 21](temp_mermaid_新-概要设计说明书_25255/diagram_21.png) +**图表 22** + +![图表 22](temp_mermaid_新-概要设计说明书_38149/diagram_22.png) ## 关键技术特性 @@ -1555,16 +1627,19 @@ CJKmainfont: "PingFang SC" ### 微信平台集成 **微信授权机制**: + - OAuth2.0授权流程 - 静默授权与用户授权 - Token管理与刷新 **微信支付集成**: + - JSAPI支付 - 支付结果处理 - 退款处理 **微信消息推送**: + - 模板消息推送 - 业务状态通知 - 服务提醒 @@ -1572,11 +1647,13 @@ CJKmainfont: "PingFang SC" ### 响应式设计 **多设备适配**: + - 移动端优先设计 - 响应式布局 - 触摸友好的交互设计 **性能优化**: + - 页面加载优化 - 图片压缩与懒加载 - 缓存策略 @@ -1584,11 +1661,13 @@ CJKmainfont: "PingFang SC" ### 安全保障 **数据安全**: + - HTTPS加密传输 - 敏感数据脱敏 - 访问权限控制 **防护机制**: + - 防止重复提交 - 接口限流 - 异常访问监控 @@ -1609,7 +1688,7 @@ CJKmainfont: "PingFang SC" - ### 设计方案概述 -- 架构采用“工单中心 + 流程编排 + 监控预警 + 绩效统计”的分层设计,提供统一API网关对接各业务系统,并通过可配置流程实现多类型工单的快速上线。 +- 架构采用"工单中心 + 流程编排 + 监控预警 + 绩效统计"的分层设计,提供统一API网关对接各业务系统,并通过可配置流程实现多类型工单的快速上线。 ### 子系统外部接口 @@ -1623,9 +1702,9 @@ CJKmainfont: "PingFang SC" ### 子系统架构设计 -**图表 22** +**图表 23** -![图表 22](temp_mermaid_新-概要设计说明书_25255/diagram_22.png) +![图表 23](temp_mermaid_新-概要设计说明书_38149/diagram_23.png) ### 模块定义 @@ -1640,9 +1719,9 @@ CJKmainfont: "PingFang SC" ### 模块间关系 -**图表 23** +**图表 24** -![图表 23](temp_mermaid_新-概要设计说明书_25255/diagram_23.png) +![图表 24](temp_mermaid_新-概要设计说明书_38149/diagram_24.png) ### 模块描述 @@ -1662,7 +1741,7 @@ CJKmainfont: "PingFang SC" ### 设计方案概述 -- 以“基础参数-仓库库存-设备档案”三层模型实现资产全生命周期管理;通过与工单系统联动完成领用/回填闭环,支持库存预警与追溯。 +- 以"基础参数-仓库库存-设备档案"三层模型实现资产全生命周期管理;通过与工单系统联动完成领用/回填闭环,支持库存预警与追溯。 ### 子系统外部接口 @@ -1675,9 +1754,9 @@ CJKmainfont: "PingFang SC" ### 子系统架构设计 -**图表 24** +**图表 25** -![图表 24](temp_mermaid_新-概要设计说明书_25255/diagram_24.png) +![图表 25](temp_mermaid_新-概要设计说明书_38149/diagram_25.png) ### 模块定义 @@ -1691,9 +1770,9 @@ CJKmainfont: "PingFang SC" ### 模块间关系 -**图表 25** +**图表 26** -![图表 25](temp_mermaid_新-概要设计说明书_25255/diagram_25.png) +![图表 26](temp_mermaid_新-概要设计说明书_38149/diagram_26.png) ### 模块描述 @@ -1713,6 +1792,7 @@ CJKmainfont: "PingFang SC" ### 设计方案概述 - 采用阶段性里程碑管控(申请-踏勘-施工-验收-通水),以工单驱动现场作业,形成资料全流程留痕与竣工归档。 +- 资料签章对接:与外部CA电子签章系统对接,完成报装申请材料、施工/验收文书的签署、验章与存证,签章回执异步回传。 ### 子系统外部接口 @@ -1721,13 +1801,14 @@ CJKmainfont: "PingFang SC" | INST-001 | 报装申请接口 | 提交报装信息与材料 | 微网厅/营收 | | INST-002 | 派工对接接口 | 报装派单与回填 | 工单系统 | | INST-003 | 竣工归档接口 | 归档竣工资料 | 营收/档案 | +| INST-004 | 签章回执接口 | 接收CA签章/验章回执 | CA电子签章 | ### 子系统架构设计 -**图表 26** +**图表 27** -![图表 26](temp_mermaid_新-概要设计说明书_25255/diagram_26.png) +![图表 27](temp_mermaid_新-概要设计说明书_38149/diagram_27.png) ### 模块定义 @@ -1742,7 +1823,7 @@ CJKmainfont: "PingFang SC" ## 任务概述 -发票服务子系统(SYS-008)定位为“基础服务层”的统一开票能力中心,通过统一开票网关与供应商适配器屏蔽不同厂商差异,当前优先对接“航天信息”,预留“博思”等供应商接入能力。 +发票服务子系统(SYS-008)定位为"基础服务层"的统一开票能力中心,通过统一开票网关与供应商适配器屏蔽不同厂商差异,当前优先对接"航天信息",预留"博思"等供应商接入能力。 ## 设计概述 @@ -1754,7 +1835,7 @@ CJKmainfont: "PingFang SC" ### 设计方案概述 -- 架构采用“统一开票网关 + 供应商适配器 + 回执处理/存证”的三层模型;对上通过REST接口供营收业务与微网厅调用,对下通过供应商SDK/HTTP对接航天(现阶段)与其他供应商。 +- 架构采用"统一开票网关 + 供应商适配器 + 回执处理/存证"的三层模型;对上通过REST接口供营收业务与微网厅调用,对下通过供应商SDK/HTTP对接航天(现阶段)与其他供应商。 ### 子系统外部接口 @@ -1808,9 +1889,9 @@ graph TB ### 模块间关系 -**图表 28** +**图表 29** -![图表 28](temp_mermaid_新-概要设计说明书_25255/diagram_28.png) +![图表 29](temp_mermaid_新-概要设计说明书_38149/diagram_29.png) ### 模块描述 @@ -1819,12 +1900,13 @@ graph TB - INV-ADP 供应商适配器:对接航天SDK/HTTP,字段映射、签名/验签、错误码转换;预留博思等扩展点。 - INV-RCPT 回执处理:状态回填、失败重试(指数退避)、超时告警、与微网厅消息联动。 - INV-EVID 存证与签章:存储PDF/票根JSON、签章、下载链接生成,审计日志与合规留痕。 + ### 模块间关系 -**图表 29** +**图表 30** -![图表 29](temp_mermaid_新-概要设计说明书_25255/diagram_29.png) +![图表 30](temp_mermaid_新-概要设计说明书_38149/diagram_30.png) ### 模块描述 @@ -1833,125 +1915,189 @@ graph TB - INST-PROJ 工程管理:计划排程、资源与材料、质量与安全检查、进度监控。 - INST-ARCH 档案管理:资料采集、签署与留痕、竣工档案归档与查询。 -# 子系统9设计: 银行对接子系统 +# 子系统9设计: 支付与银行结算子系统 ## 任务概述 -银行对接子系统(SYS-009)统一承载银行代扣(送盘/回盘)、对账文件处理与安全加解密/签名能力,为营收系统提供标准化、可扩展、合规可观测的银行侧对接能力。 +支付与银行结算子系统(SYS-009)统一承载聚合支付/退款、渠道适配(微信/支付宝/银联聚合)、支付回调验签入账,以及银行代扣(送盘/回盘)、对账文件处理与安全加解密/签名,向上对营收/微网厅等系统提供标准化支付与结算能力。 ## 设计概述 ### 总体约束 -- 银行渠道统一:支持各银行代扣统一接入 -- 安全合规:SM2/SM4/3DES等算法,加解密/签名/验签;支持GBK/UTF-8编码要求 -- 高可用与可观测:失败重试、限流熔断、事务保障、链路追踪与告警 +- 多渠道聚合:统一接入微信/支付宝/银联聚合 +- 统一结算:批量代扣送回盘、批量对账文件处理、差异对齐 +- 安全合规:签名/验签、加解密、回调防重放、幂等 +- 高可用:限流熔断、重试补偿、灰度发布 ### 设计方案概述 -- 采用“代扣网关 + 银行适配器 + 对账处理 + 加解密/签名”的分层模型;对上提供REST接口,对下通过HTTP/SFTP/SDK与银行系统对接。 +- 采用"统一支付与结算网关 + 渠道/银行适配器 + 回调处理 + 对账处理 + 加解密/签名"的分层;对上REST接口,对下渠道SDK/HTTP与银行HTTP/SFTP对接。 -### 子系统外部接口 +### 子系统外部接口(SYS-009) | 接口编号 | 接口名称 | 功能描述 | 调用方 | |---|---|---|---| -| PAY-002 | 代扣送盘接口 | 代扣文件送盘 | 营收系统 | -| PAY-003 | 代扣回盘接口 | 回盘解析/状态回填 | 营收系统 | -| PAY-004 | 对账文件接口 | 银行对账文件处理 | 营收系统 | +| PAY-001 | 统一支付下单接口 | JSAPI/扫码/APP下单 | 营收/微网厅 | +| PAY-002 | 统一关单接口 | 订单关闭/撤销 | 营收/微网厅 | +| PAY-003 | 统一退款接口 | 原路/部分退款 | 营收/微网厅 | +| PAY-004 | 支付回调接口 | 渠道回调验签入账 | 微网厅/营收 | +| PAY-005 | 批量代扣送盘接口 | 代扣文件送盘 | 营收系统 | +| PAY-006 | 批量代扣回盘接口 | 回盘解析/状态回填 | 营收系统 | +| PAY-007 | 批量对账文件接口 | 银行对账文件处理 | 营收系统 | ## 子系统架构设计 -**图表 30** +**图表 31** -![图表 30](temp_mermaid_新-概要设计说明书_25255/diagram_30.png) +![图表 31](temp_mermaid_新-概要设计说明书_38149/diagram_31.png) ## 模块定义 | 模块编号 | 模块名称 | 功能描述 | |---|---|---| -| PAY-GW | 代扣网关 | 统一鉴权、参数校验、路由与限流、幂等控制 | -| PAY-ADP | 银行适配器 | 对接银行协议、字段映射、错误码转换、编码/文件规范适配 | -| PAY-RECON | 对账处理 | 对账文件接收/解析、差错处理、账务回填、对账报告 | -| PAY-CRYPTO | 加解密/签名 | SM2/SM4/3DES等算法实现与密钥管理、签名/验签 | +| PAY-GW | 统一支付与结算网关 | 鉴权、参数校验、幂等、路由与限流、灰度 | +| PAY-ADP-CH | 渠道适配器 | 渠道参数映射、签名/验签、错误码转换 | +| PAY-ADP-BANK | 银行适配器 | 协议/文件规范适配、编码转换、SFTP/HTTP | +| PAY-CB | 回调处理 | 回调验签、订单入账、补偿重试 | +| PAY-RECON | 批量对账处理 | 对账接收/解析、差错处理、账务回填、报告 | +| PAY-CRYPTO | 加解密/签名 | SM2/SM4/3DES等算法、密钥管理 | ### 模块间关系 -**图表 31** +**图表 32** -![图表 31](temp_mermaid_新-概要设计说明书_25255/diagram_31.png) +![图表 32](temp_mermaid_新-概要设计说明书_38149/diagram_32.png) ### 模块描述 - PAY-GW 统一支付/代扣网关:统一鉴权、字段校验、限流熔断、幂等键与重放保护、灰度路由。 -- PAY-ADP 银行适配器:对接银行与第三方支付协议,签名/验签、编码转换(GBK/UTF-8)、SFTP/HTTP文件交互、错误码映射。 +- PAY-ADP-CH 渠道适配器:对接微信/支付宝/银联参数与签名规范适配、错误码转换。 +- PAY-ADP-BANK 银行适配器:对接银行与第三方支付协议,签名/验签、编码转换(GBK/UTF-8)、SFTP/HTTP文件交互、错误码映射。 +- PAY-CB 回调处理:回调验签、状态对齐、失败重试与告警。 - PAY-RECON 对账处理:定时拉取/解析对账文件、差异识别、冲正/补记建议、对账报告生成、追踪链路与告警。 - PAY-CRYPTO 加解密/签名:国密/商密算法、密钥轮换、硬件加密机对接(可选)。 -# 子系统10设计: 第三方支付子系统 +# 子系统10设计: 消息服务子系统 ## 任务概述 -第三方支付子系统(SYS-010)提供统一的聚合支付/退款能力,屏蔽微信、支付宝、银联聚合等渠道差异,向上游系统提供标准化下单、关单、退款与回调验签能力。 +消息服务子系统(SYS-010)负责统一消息推送、接收与处理,为各业务子系统提供消息通知服务。 + +**设计目标:** + +- 实现消息的统一推送与接收 +- 支持多种消息格式和推送方式 +- 确保消息的及时性和可靠性 + +**功能范围:** + +- **消息推送**:根据业务需求,向不同用户发送消息通知 +- **消息接收**:接收来自各业务系统的消息请求 +- **消息处理**:处理消息通知,生成响应结果 ## 设计概述 ### 总体约束 -- 多渠道聚合:微信/支付宝/银联聚合等统一接入 -- 安全合规:签名/验签、回调防重放、幂等 -- 高可用:限流熔断、重试补偿、灰度发布 +**技术约束:** -### 设计方案概述 +- 基于消息队列技术实现消息的异步处理 +- 支持多种消息格式(如JSON、XML等) +- 实现消息的可靠传输和幂等处理 -- 采用“聚合支付网关 + 渠道适配器 + 回调处理 + 对账对齐(可选)”分层;对上REST接口,对下各渠道SDK/HTTP对接。 +**性能约束:** + +- 支持高并发消息处理 +- 消息处理响应时间≤1秒 +- 消息队列容量≥100万条 + +**安全约束:** + +- 消息加密存储 +- 消息传输安全 +- 消息处理日志记录 ### 子系统外部接口 -| 接口编号 | 接口名称 | 功能描述 | 调用方 | -|---|---|---|---| -| TP-001 | 统一支付下单接口 | JSAPI/扫码/APP下单 | 营收/微网厅 | -| TP-002 | 统一关单接口 | 订单关闭/撤销 | 营收/微网厅 | -| TP-003 | 统一退款接口 | 原路/部分退款 | 营收/微网厅 | -| TP-004 | 支付回调接口 | 渠道回调验签入账 | 微网厅/营收 | +| 接口编号 | 接口名称 | 功能描述 | 接口协议 | 输入参数 | 输出结果 | +|---|---|---|---|---|---| +| MSG-001 | 消息推送接口 | 发送消息通知 | HTTP/REST | 消息内容、接收用户 | 推送结果 | +| MSG-002 | 消息接收接口 | 接收消息请求 | HTTP/REST | 消息类型、接收用户 | 处理结果 | + +### 设计方案概述 + +**架构设计:** + +消息服务子系统采用消息队列技术实现消息的异步处理。通过RabbitMQ实现消息的可靠传输和幂等处理。 + +**技术选型:** + +- **消息队列**:RabbitMQ +- **消息格式**:JSON +- **消息加密**:AES-256 +- **消息传输**:HTTPS ## 子系统架构设计 -**图表 32** +**图表 33** -![图表 32](temp_mermaid_新-概要设计说明书_25255/diagram_32.png) +![图表 33](temp_mermaid_新-概要设计说明书_38149/diagram_33.png) ## 模块定义 +### 模块列表 + | 模块编号 | 模块名称 | 功能描述 | |---|---|---| -| TP-GW | 聚合支付网关 | 鉴权、参数校验、幂等、路由与限流 | -| TP-ADP | 渠道适配器 | 渠道参数映射、签名/验签、错误码转换 | -| TP-CB | 回调处理 | 回调验签、订单入账、补偿重试 | +| MSG-PUB | 消息推送模块 | 发送消息通知 | +| MSG-SUB | 消息接收模块 | 接收消息请求 | ### 模块间关系 -**图表 33** +**图表 34** -![图表 33](temp_mermaid_新-概要设计说明书_25255/diagram_33.png) +![图表 34](temp_mermaid_新-概要设计说明书_38149/diagram_34.png) ### 模块描述 -- TP-GW 聚合支付网关:幂等键、重放保护、限流熔断、灰度路由。 -- TP-ADP 渠道适配器:微信/支付宝/银联参数与签名规范适配、错误码转换。 -- TP-CB 回调处理:回调验签、状态对齐、失败重试与告警。 +#### 模块1: 消息推送 + +**功能描述:** + +消息推送模块根据业务需求,向不同用户发送消息通知。 + +**主要功能:** + +1. **消息内容**:消息内容格式化 +2. **接收用户**:根据用户ID或角色发送消息 +3. **消息格式**:支持多种消息格式(如JSON、XML等) +4. **消息加密**:AES-256加密 +5. **消息传输**:HTTPS安全传输 + +#### 模块2: 消息接收 + +**功能描述:** + +消息接收模块接收来自各业务系统的消息请求,并进行处理。 + +**主要功能**: + +1. **消息类型**:根据消息类型进行处理 +2. **接收用户**:根据用户ID或角色接收消息 +3. **消息格式**:支持多种消息格式(如JSON、XML等) +4. **消息处理**:生成响应结果 # 非功能性需求的设计 - - ## 性能的考虑 **设计目标:** @@ -1977,7 +2123,6 @@ graph TB - 资源利用率:CPU、内存、磁盘使用率监控 - 用户体验监控:页面加载时间、操作成功率 - ## 兼容性的考虑 **设计目标:** @@ -2024,6 +2169,7 @@ graph TB - **加密算法**:AES-256、RSA-2048、SHA-256 - **访问控制**:IP白名单、时间窗口、频率限制 - **监控告警**:异常行为检测、实时告警通知 + ## 可移植性的考虑 **设计目标:** @@ -2047,160 +2193,6 @@ graph TB - **数据迁移**:数据导入导出工具、格式转换 - **监控适配**:多环境监控配置、告警策略 -3. **缴费管理** - - 缴费确认 - - 支付状态查询 - - 缴费失败处理 - - 退款申请 - -4. **支付安全** - - 支付限额控制 - - 支付密码验证 - - 异常交易监控 - - 资金安全保障 - -**业务流程图:** - - -**图表 34** - -![图表 34](temp_mermaid_新-概要设计说明书_25255/diagram_34.png) - - -**业务规则:** - -- 单次支付金额不超过5000元 -- 支付超时时间为15分钟 -- 支付失败自动退款 -- 支持部分缴费和全额缴费 - -#### 模块4: 电子发票服务 - -**功能描述:** - -电子发票服务模块提供电子发票的开具、查询、推送等全流程服务。 - -**核心功能:** - -1. **发票开具** - - 缴费后自动开票 - - 手动申请开票 - - 个人发票开具 - - 企业发票开具 - -2. **发票管理** - - 发票列表查看 - - 发票详情展示 - - 发票状态跟踪 - - 发票作废申请 - -3. **发票推送** - - 邮箱推送 - - -4. **发票下载** - - PDF格式下载 - - 图片格式保存 - - 批量下载 - -**业务规则:** - -- 发票开具时效为缴费后7天内 -- 电子发票与纸质发票具有同等法律效力 -- 发票信息一经开具不可修改 -- 支持发票红冲和重开 - -#### 模块5: 营业网点服务 - -**功能描述:** - -营业网点服务模块提供营业网点查询和导航服务,帮助客户就近办理业务。 - -**核心功能:** - -1. **网点查询** - - 按距离排序 - - 按区域筛选 - - 按服务类型筛选 - - 关键词搜索 - -2. **网点信息** - - 网点地址详情 - - 营业时间查询 - - 联系电话 - - 服务项目 - -3. **地图导航** - - 位置标注展示 - - 路线规划 - - 实时导航 - - 距离计算 - -4. **服务预约** - - 业务预约 - - 排队叫号 - - 预约提醒 - - 预约取消 - -**业务规则:** - -- 支持GPS定位和手动定位 -- 显示范围限制在50公里内 -- 实时更新营业状态 -- 支持收藏常用网点 - -#### 模块6: 业务办理服务 - -**功能描述:** - -业务办理服务模块提供各类水务业务的在线申请和办理功能。 - -**核心功能:** - -1. **业务申请** - - 联系方式变更 - - 开票方式变更 - - 更名过户业务 - - 一户多人口申请 - - 水价变更申请 - - 低保优惠申请 - - 换表维修申请 - - 自主抄表申请 - -2. **申请材料管理** - - 材料清单提示 - - 在线拍照上传 - - 文件格式转换 - - 材料完整性检查 - -3. **业务进度跟踪** - - 申请状态查询 - - 审批进度展示 - - 办理结果通知 - - 业务历史记录 - -4. **客服互动** - - 在线咨询 - - 业务指导 - - 问题反馈 - - 满意度评价 - -**业务流程图:** - - -**图表 35** - -![图表 35](temp_mermaid_新-概要设计说明书_25255/diagram_35.png) - - -**业务规则:** - -- 业务申请需要实名认证 -- 上传材料单次最多9张 -- 支持的图片格式:JPG、PNG、PDF -- 申请提交后不可撤销 -- 办理时效按业务类型确定 - ## 关键技术特性 ### 微信平台集成 @@ -2308,7 +2300,7 @@ graph TB **平台无关性:** -- 基于Java 11+,支持跨平台部署 +- 基于Java 17+,支持跨平台部署 - 容器化部署,支持Docker/Kubernetes - 数据库抽象层,支持多种数据库 - 配置外部化,环境隔离 @@ -2397,4 +2389,3 @@ graph TB - 系统架构文档 - 运维操作手册 - 故障处理手册 - diff --git a/project_progress.md b/project_progress.md index 6e84554..c756aa8 100644 --- a/project_progress.md +++ b/project_progress.md @@ -26,7 +26,7 @@ | `water_biz_security_design.md` | ✅ 已完成 | 100% | A级 | 2024-12-19 | 已剔除等保三级内容,移除标题序号 | | `新-数据库设计说明书.md` | ✅ 已完成 | 100% | A++级 | 2024-12-19 | 完整的PostgreSQL表结构,包含30个系统表+113个业务表的完整字段定义,ER图,索引设计,性能优化,覆盖营收系统全业务场景(新增60个遗漏表) | | `新-详细设计说明书.md` | ✅ 已完成 | 100% | A+级 | 2024-12-19 | 符合302国家标准格式的详细设计文档,包含5个子系统的完整模块设计、接口规范、业务流程,总计1215行,可直接指导开发实施 | -| `新-概要设计说明书.md` | ✅ 已完成 | 100% | A+级 | 2025-08-18 | 架构调整:将工单、表务、报装从营收业务系统中剥离为独立子系统(SYS-005/006/007);更新目录、功能范围、子系统列表、调用关系图、接口定义及相关章节,保留客户服务模块在营收业务系统内的作用。 | +| `新-概要设计说明书.md` | ✅ 已完成 | 100% | A+级 | 2025-08-22 | 架构调整:将工单、表务、报装从营收业务系统中剥离为独立子系统(SYS-005/006/007);更新目录、功能范围、子系统列表、调用关系图、接口定义及相关章节,保留客户服务模块在营收业务系统内的作用。新增报装系统CA电子签章依赖(外部接口、架构图、方案说明)。 | | 新增 | — | — | — | 2025-08-18 | 新增发票服务子系统(SYS-008):作为基础服务层统一开票能力中心,优先对接航天信息,预留博思等供应商。 | ### 补充文档 (可选交付) @@ -129,6 +129,8 @@ | 2024-12-19 | 统一导出工具 | 创建统一文档导出工具unified_export.sh | 解决多文件图表混乱和标题样式问题 | 正面影响,但图表处理可能卡住 | | 2024-12-19 | 快速导出工具 | 创建快速统一导出工具quick_unified_export.sh | 解决统一导出工具卡住问题,稳定高效 | 正面影响,完美解决所有问题 | | 2024-12-19 | 分离文档导出 | 修改unified_export.sh支持分离文档导出,创建manage_separated_docs.sh管理工具 | 用户需求:将每个文档分别导出为不同格式,而不是合并成一个大文档 | 正面影响,提供更灵活的文档导出选项 | +| 2025-08-22 | 文档更新 | 新-概要设计说明书:在报装业务系统(SYS-007)新增CA电子签章依赖;补充INST-004签章回执接口;更新子系统架构图与方案说明;在主要接口定义中同步新增报装签章回执接口 | 对齐集成依赖,完善报装环节签署合规流程 | 正面影响,接口与架构更完整,便于实施 | +| 2025-08-22 | 文档修复 | 修复微网厅子系统架构图Mermaid语法(中文节点引用导致Lexical error),将`Backend -.->|支付调用| 支付与结算(SYS-009)`改为`Backend -.->|支付调用| PAY_SYS[支付与结算(SYS-009)]` | 解决Mermaid解析错误,保证图表可渲染 | 正面影响,导出稳定性提升 | | 2024-12-19 | 数据库设计简化 | 剔除数据库设计文档中的SQL语句和DDL语句,保留核心设计概念和表结构说明 | 用户要求:剔除SQL语句简化内容 | 正面影响,符合概要设计标准,提升可读性 | | 2024-12-19 | 新增引言文档 | 创建water_biz_overview_design.md引言文档 | 用户需求:添加标准的第一章内容(编写目的、背景、定义、参考资料) | 正面影响,完善文档体系结构 | | 2024-12-19 | 代码简化优化 | 删除文档中过于详细的代码示例,保持概要设计抽象层次 | 用户反馈:删除过多详细的代码 | 正面影响,符合概要设计标准,提升文档可读性 | diff --git a/task_checklist.md b/task_checklist.md index dca3255..36f28f0 100644 --- a/task_checklist.md +++ b/task_checklist.md @@ -182,6 +182,7 @@ - [x] 集成到Makefile构建流程 ✅ - [x] 生成包含图表的Word文档 ✅ - [x] 处理所有设计文档中的流程图 ✅ + - [x] 修复微网厅架构图中文节点引用导致的Mermaid语法错误 ✅ (2025-08-22) ## 📅 第二阶段任务 (内容完善) diff --git a/water_biz_ca_integration_summary.md b/water_biz_ca_integration_summary.md new file mode 100644 index 0000000..11d66eb --- /dev/null +++ b/water_biz_ca_integration_summary.md @@ -0,0 +1,391 @@ +# 报装业务系统与泛微CA电子签章系统集成方案总结报告 + +## 文档信息 +| 项目信息 | 详情 | +|---------|------| +| **项目名称** | 福建水务营收系统 | +| **文档类型** | 集成方案总结报告 | +| **文档版本** | v1.0 | +| **编写日期** | 2024-12-19 | +| **文档状态** | ✅ 已完成 | + +## 1. 项目背景 + +福建水务营收系统报装业务流程中涉及多种合同文件的签署,传统的纸质合同签署方式存在流程繁琐、效率低下、存储管理困难等问题。为提高业务办理效率,降低运营成本,同时确保合同的法律效力,本项目拟将泛微CA电子签章系统集成到报装业务系统中,实现合同的电子签署、身份认证和电子存证服务。 + +## 2. 需求概述 + +### 2.1 业务需求 + +1. **合同电子签署**:支持报装申请、用水协议等合同文档的电子签署 +2. **身份认证**:提供可靠的签署方身份认证机制 +3. **时间戳服务**:为签署过程提供可信时间戳 +4. **电子存证**:签署完成的文档需进行安全存储和防篡改保护 +5. **签署流程管理**:支持多方签署、签署状态跟踪 +6. **签署结果查询**:提供签署结果的查询和验证功能 + +### 2.2 技术需求 + +1. **系统集成**:与泛微CA电子签章系统进行无缝集成 +2. **安全性**:确保签署过程的安全性和数据传输的加密 +3. **可靠性**:保证签署服务的高可用性 +4. **合规性**:符合《中华人民共和国电子签名法》等相关法规 +5. **可扩展性**:支持未来更多类型的合同和文档签署 + +## 3. 集成方案设计 + +### 3.1 总体架构 + +```mermaid +graph TB + subgraph "福建水务营收系统" + subgraph "报装业务系统" + INST_APP[报装申请模块] + INST_CONT[合同管理模块] + INST_ARCH[档案管理模块] + INST_SIGN[电子签章模块] + end + + SYS_PLAT[统一平台] + end + + subgraph "外部系统" + CA_SYS[泛微CA电子签章系统] + end + + INST_APP --> INST_CONT + INST_CONT --> INST_SIGN + INST_SIGN --> INST_ARCH + INST_SIGN <--> CA_SYS + SYS_PLAT <--> INST_SIGN +``` + +### 3.2 集成模式 + +本项目采用**API接口集成模式**,通过泛微CA电子签章系统提供的标准REST API接口,实现报装业务系统与CA系统的对接。该模式具有以下特点: + +1. **松耦合**:系统间通过标准HTTP/HTTPS协议通信,降低系统间耦合度 +2. **灵活性**:可根据业务需求灵活调用不同的CA服务接口 +3. **易维护**:接口变更时只需调整适配层,不影响业务逻辑 +4. **安全性**:采用HTTPS加密传输和签名验证机制,确保数据安全 + +### 3.3 核心模块设计 + +#### 3.3.1 电子签章模块(INST-SIGN) + +作为报装业务系统与泛微CA系统的桥梁,负责处理合同签署、验证和存证等核心功能。 + +```mermaid +graph TD + subgraph "电子签章模块(INST-SIGN)" + ADAPTER[泛微CA适配器] + CONTRACT[合同签署组件] + VERIFY[签章验证组件] + STORAGE[签章存储组件] + MONITOR[签章监控组件] + end + + ADAPTER --> CONTRACT + ADAPTER --> VERIFY + CONTRACT --> STORAGE + VERIFY --> STORAGE + STORAGE --> MONITOR +``` + +#### 3.3.2 泛微CA适配器 + +负责与泛微CA系统的直接交互,封装CA系统接口调用细节,提供统一的服务接口给上层组件。主要功能包括: + +1. **接口调用**:封装CA系统API调用逻辑 +2. **参数转换**:处理业务参数与CA接口参数的转换 +3. **结果解析**:解析CA系统返回结果 +4. **异常处理**:处理接口调用异常情况 +5. **连接管理**:管理与CA系统的连接 + +## 4. 接口设计 + +### 4.1 内部接口 + +| 接口名称 | 接口描述 | 请求方式 | 输入参数 | 输出参数 | +|---------|---------|---------|---------|---------| +| createContract | 创建电子合同 | POST | 合同类型、合同内容、签署方信息 | 合同ID、状态 | +| initiateSignature | 发起签署流程 | POST | 合同ID、签署方信息 | 签署任务ID、状态 | +| querySignatureStatus | 查询签署状态 | GET | 签署任务ID | 签署状态、结果 | +| verifySignature | 验证签章 | POST | 合同ID | 验证结果、详情 | +| applyEvidence | 申请电子存证 | POST | 合同ID | 存证ID、状态 | +| queryEvidence | 查询存证信息 | GET | 存证ID | 存证状态、详情 | + +### 4.2 外部接口(泛微CA系统) + +| 接口名称 | 接口描述 | 请求方式 | URL | 安全措施 | +|---------|---------|---------|-----|---------| +| 身份认证接口 | 验证签署方身份 | POST | /api/v1/auth | HTTPS、签名验证 | +| 电子签章接口 | 执行电子签章操作 | POST | /api/v1/signature | HTTPS、签名验证 | +| 时间戳接口 | 获取可信时间戳 | POST | /api/v1/timestamp | HTTPS、签名验证 | +| 电子存证接口 | 存储签署后的合同 | POST | /api/v1/evidence | HTTPS、签名验证 | +| 验证接口 | 验证签章和存证 | POST | /api/v1/verify | HTTPS、签名验证 | + +### 4.3 接口调用示例 + +#### 身份认证接口 + +```json +// 请求 +POST /api/v1/auth HTTP/1.1 +Host: ca.fanwei.com +Content-Type: application/json +Authorization: Bearer {token} + +{ + "userId": "user123", + "authType": "face", + "authData": "base64_encoded_data" +} + +// 响应 +HTTP/1.1 200 OK +Content-Type: application/json + +{ + "code": 0, + "message": "success", + "data": { + "authId": "auth_123456", + "authResult": true, + "authTime": "2024-12-19T10:30:00Z" + } +} +``` + +#### 电子签章接口 + +```json +// 请求 +POST /api/v1/signature HTTP/1.1 +Host: ca.fanwei.com +Content-Type: application/json +Authorization: Bearer {token} + +{ + "documentId": "doc123", + "documentData": "base64_encoded_document", + "signatureInfo": { + "position": { "page": 1, "x": 100, "y": 200 }, + "signatureType": "personal" + } +} + +// 响应 +HTTP/1.1 200 OK +Content-Type: application/json + +{ + "code": 0, + "message": "success", + "data": { + "signatureId": "sign_123456", + "signatureImage": "base64_encoded_image", + "signatureTime": "2024-12-19T10:35:00Z", + "documentHash": "sha256_hash_value" + } +} +``` + +## 5. 数据库设计 + +### 5.1 数据表设计 + +集成方案涉及5个核心数据表: + +1. **电子合同表(installation_contract)**:存储合同基本信息 +2. **电子签章记录表(installation_signature)**:记录签章信息 +3. **电子存证记录表(installation_evidence)**:存储存证信息 +4. **CA系统配置表(installation_ca_config)**:存储CA系统配置 +5. **签章模板表(installation_signature_template)**:存储签章模板 + +### 5.2 表关系设计 + +```mermaid +erDiagram + installation_contract ||--o{ installation_signature : "签署" + installation_contract ||--o{ installation_evidence : "存证" + installation_signature }|--|| installation_signature_template : "使用" + installation_contract }|--|| installation_application : "关联" + + installation_contract { + bigint id PK + varchar contract_code + bigint installation_id FK + varchar contract_type + varchar contract_status + } + + installation_signature { + bigint id PK + varchar signature_code + bigint contract_id FK + varchar signer_type + varchar signature_status + } + + installation_evidence { + bigint id PK + varchar evidence_code + bigint contract_id FK + varchar evidence_type + varchar evidence_status + } +``` + +## 6. 业务流程设计 + +### 6.1 合同签署流程 + +```mermaid +sequenceDiagram + participant 客户 + participant 报装系统 + participant 电子签章模块 + participant 泛微CA系统 + + 客户->>报装系统: 提交报装申请 + 报装系统->>报装系统: 生成合同 + 报装系统->>电子签章模块: 创建签署任务 + 电子签章模块->>泛微CA系统: 身份认证请求 + 泛微CA系统-->>电子签章模块: 返回认证结果 + 电子签章模块->>泛微CA系统: 发送签章请求 + 泛微CA系统-->>电子签章模块: 返回签章结果 + 电子签章模块->>泛微CA系统: 申请时间戳 + 泛微CA系统-->>电子签章模块: 返回时间戳凭证 + 电子签章模块->>泛微CA系统: 申请电子存证 + 泛微CA系统-->>电子签章模块: 返回存证凭证 + 电子签章模块-->>报装系统: 返回签署结果 + 报装系统-->>客户: 通知签署完成 +``` + +### 6.2 签署验证流程 + +```mermaid +sequenceDiagram + participant 用户 + participant 报装系统 + participant 电子签章模块 + participant 泛微CA系统 + + 用户->>报装系统: 请求验证合同 + 报装系统->>电子签章模块: 发送验证请求 + 电子签章模块->>泛微CA系统: 签章验证请求 + 泛微CA系统-->>电子签章模块: 返回验证结果 + 电子签章模块->>泛微CA系统: 存证验证请求 + 泛微CA系统-->>电子签章模块: 返回存证验证结果 + 电子签章模块-->>报装系统: 返回综合验证结果 + 报装系统-->>用户: 显示验证结果 +``` + +## 7. 安全设计 + +### 7.1 传输安全 + +- **HTTPS加密传输**:所有接口调用采用HTTPS协议,确保数据传输安全 +- **数据签名验证**:对请求和响应数据进行签名验证,防止数据篡改 +- **敏感信息加密**:对身份信息等敏感数据进行加密存储 + +### 7.2 身份认证安全 + +- **多因素身份认证**:支持人脸识别、手机验证码等多种身份认证方式 +- **签署权限控制**:基于角色的权限控制,确保只有授权用户才能进行签署 +- **操作日志记录**:记录所有签署操作,便于审计和追溯 + +### 7.3 数据安全 + +- **签章数据防篡改**:采用数字签名技术确保签章数据的完整性 +- **存证数据保护**:通过区块链技术或第三方存证服务确保存证数据不可篡改 +- **数据备份机制**:定期备份签章和存证数据,防止数据丢失 + +## 8. 实施计划 + +### 8.1 阶段划分 + +| 阶段 | 工作内容 | 时间周期 | 交付物 | +|------|---------|---------|-------| +| 需求分析 | 详细需求调研、业务流程分析 | 2周 | 需求规格说明书 | +| 系统设计 | 架构设计、接口设计、数据库设计 | 3周 | 设计文档 | +| 开发实施 | 模块开发、接口对接、单元测试 | 6周 | 系统代码 | +| 系统测试 | 功能测试、集成测试、性能测试 | 3周 | 测试报告 | +| 部署上线 | 环境准备、系统部署、验收测试 | 2周 | 部署文档 | +| 运维支持 | 系统监控、问题处理、版本迭代 | 长期 | 运维手册 | + +### 8.2 关键里程碑 + +| 里程碑 | 时间点 | 验收标准 | +|-------|-------|---------| +| 需求确认 | 第2周末 | 需求文档评审通过 | +| 设计完成 | 第5周末 | 设计文档评审通过 | +| 开发完成 | 第11周末 | 代码开发完成并通过代码审查 | +| 测试通过 | 第14周末 | 测试用例通过率>95% | +| 系统上线 | 第16周末 | 系统功能验收通过 | + +## 9. 风险评估与应对策略 + +| 风险项 | 风险级别 | 影响范围 | 应对策略 | +|-------|---------|---------|---------| +| CA系统接口变更 | 中 | 签章功能 | 1. 建立接口版本管理机制
2. 设计适配层隔离变更影响
3. 与CA系统供应商建立变更通知机制 | +| 签章过程中断 | 高 | 业务流程 | 1. 实现断点续签功能
2. 完善异常处理机制
3. 建立签章失败自动重试机制 | +| 存证服务不可用 | 高 | 法律效力 | 1. 建立本地缓存机制
2. 实施异步存证策略
3. 设置服务可用性监控告警 | +| 签章效率问题 | 中 | 用户体验 | 1. 优化签章流程
2. 实施批量签章功能
3. 签章预处理机制 | +| 法规政策变化 | 低 | 合规性 | 1. 定期跟踪法规更新
2. 系统设计预留政策调整空间
3. 建立合规评估机制 | + +## 10. 预期效益 + +### 10.1 业务效益 + +1. **提高业务效率**:电子签章将报装合同签署时间从平均3天缩短至30分钟内完成 +2. **降低运营成本**:减少纸质合同打印、邮寄、存储成本,预计年节省成本30万元 +3. **优化客户体验**:客户无需到营业厅即可完成合同签署,提升服务满意度 +4. **提升合规性**:电子签章符合法律法规要求,具有与纸质合同同等的法律效力 + +### 10.2 技术效益 + +1. **系统现代化**:引入电子签章技术,提升系统现代化水平 +2. **数据标准化**:合同数据电子化,便于统一管理和分析 +3. **流程标准化**:签署流程标准化,减少人为干预和错误 +4. **安全性提升**:采用先进的加密和存证技术,提高数据安全性 + +## 11. 结论与建议 + +### 11.1 结论 + +本集成方案通过将泛微CA电子签章系统与福建水务营收系统的报装业务系统进行对接,实现了合同电子签署、身份认证和电子存证等核心功能,有效解决了传统纸质合同签署方式存在的效率低下、成本高昂、管理困难等问题。方案设计充分考虑了系统安全性、可靠性、合规性和可扩展性,能够满足业务需求并适应未来发展。 + +### 11.2 建议 + +1. **分阶段实施**:建议按照合同类型分阶段实施电子签章功能,先从用水协议等高频简单合同开始,逐步扩展到复杂合同 +2. **加强用户培训**:对系统操作人员和客户进行必要的培训,提高电子签章功能的接受度和使用率 +3. **持续优化体验**:基于用户反馈持续优化签章流程和界面,提升用户体验 +4. **定期合规检查**:定期对电子签章系统进行合规性检查,确保符合最新的法律法规要求 +5. **扩展应用范围**:在报装业务成功实施后,可考虑将电子签章功能扩展到其他业务领域,如客户服务、表务管理等 + +## 12. 附录 + +### 12.1 术语表 + +| 术语 | 英文 | 说明 | +|------|------|------| +| 电子签章 | Electronic Seal | 使用电子技术手段产生的、与实体印章具有同等法律效力的数字印记 | +| 电子存证 | Electronic Evidence | 对电子数据进行保全和存储,确保其法律效力的技术手段 | +| 时间戳 | Timestamp | 证明电子数据在某一时刻已经存在且未被篡改的数字证明 | +| CA系统 | Certificate Authority System | 数字证书认证系统,提供电子认证服务 | + +### 12.2 参考文档 + +1. 《泛微CA电子签章系统接口规范》v2.0 +2. 《福建水务营收系统报装业务需求规格说明书》 +3. 《中华人民共和国电子签名法》 +4. GB/T 35275-2017 《电子签名 可信电子签名生成技术规范》 +5. GB/T 38540-2020 《信息安全技术 电子签名数据电子存证规范》 + +### 12.3 相关设计文档 + +1. [报装业务系统电子签章功能设计](water_biz_module_design_installation_ca.md) +2. [报装业务系统电子签章数据库设计](water_biz_database_design_ca.md) +3. [报装业务系统电子签章集成概要设计](water_biz_overview_design_ca.md) diff --git a/water_biz_database_design_ca.md b/water_biz_database_design_ca.md new file mode 100644 index 0000000..d456132 --- /dev/null +++ b/water_biz_database_design_ca.md @@ -0,0 +1,442 @@ +# 报装业务系统电子签章数据库设计 + +## 文档信息 +| 项目信息 | 详情 | +|---------|------| +| **项目名称** | 福建水务营收系统 | +| **文档类型** | 数据库设计文档 | +| **文档版本** | v1.0 | +| **编写日期** | 2024-12-19 | +| **文档状态** | 🟡 进行中 | + +## 表结构设计 + +### 1. 电子合同表(installation_contract) + +#### 表描述 +存储报装业务系统中的电子合同信息,包括合同基本信息、状态和文件链接等。 + +#### 表结构 +| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 主键 | 说明 | +|-------|------|------|-------|-------|------|------| +| id | bigint | - | 否 | - | 是 | 主键ID | +| contract_code | varchar | 32 | 否 | - | - | 合同编号 | +| installation_id | bigint | - | 否 | - | - | 报装申请ID | +| contract_type | varchar | 20 | 否 | - | - | 合同类型 | +| contract_title | varchar | 100 | 否 | - | - | 合同标题 | +| contract_content | text | - | 是 | NULL | - | 合同内容 | +| contract_file_url | varchar | 255 | 是 | NULL | - | 合同文件URL | +| contract_status | varchar | 20 | 否 | - | - | 合同状态 | +| valid_from | datetime | - | 是 | NULL | - | 生效时间 | +| valid_to | datetime | - | 是 | NULL | - | 到期时间 | +| create_by | varchar | 64 | 是 | NULL | - | 创建人 | +| create_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 创建时间 | +| update_by | varchar | 64 | 是 | NULL | - | 更新人 | +| update_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 更新时间 | + +#### 索引设计 +| 索引名 | 索引类型 | 字段 | 说明 | +|-------|---------|------|------| +| PRIMARY | 主键 | id | 主键索引 | +| uk_contract_code | 唯一索引 | contract_code | 合同编号唯一索引 | +| idx_installation_id | 普通索引 | installation_id | 报装申请ID索引 | + +#### 字段说明 +- **contract_type**: 合同类型,如"用水协议"、"施工合同"等 +- **contract_status**: 合同状态,包括"待签署"、"签署中"、"已签署"、"已作废"等 + +### 2. 电子签章记录表(installation_signature) + +#### 表描述 +记录电子合同的签章信息,包括签署方信息、签署时间、签章数据等。 + +#### 表结构 +| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 主键 | 说明 | +|-------|------|------|-------|-------|------|------| +| id | bigint | - | 否 | - | 是 | 主键ID | +| signature_code | varchar | 32 | 否 | - | - | 签章编号 | +| contract_id | bigint | - | 否 | - | - | 合同ID | +| signer_type | varchar | 20 | 否 | - | - | 签署方类型 | +| signer_id | varchar | 64 | 否 | - | - | 签署方ID | +| signer_name | varchar | 100 | 否 | - | - | 签署方名称 | +| signature_time | datetime | - | 是 | NULL | - | 签署时间 | +| signature_ip | varchar | 50 | 是 | NULL | - | 签署IP | +| signature_location | varchar | 255 | 是 | NULL | - | 签署位置 | +| signature_image | varchar | 255 | 是 | NULL | - | 签章图像URL | +| signature_data | text | - | 是 | NULL | - | 签章数据 | +| timestamp_cert | text | - | 是 | NULL | - | 时间戳凭证 | +| signature_status | varchar | 20 | 否 | - | - | 签章状态 | +| create_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 创建时间 | +| update_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 更新时间 | + +#### 索引设计 +| 索引名 | 索引类型 | 字段 | 说明 | +|-------|---------|------|------| +| PRIMARY | 主键 | id | 主键索引 | +| uk_signature_code | 唯一索引 | signature_code | 签章编号唯一索引 | +| idx_contract_id | 普通索引 | contract_id | 合同ID索引 | +| idx_signer_id | 普通索引 | signer_id | 签署方ID索引 | + +#### 字段说明 +- **signer_type**: 签署方类型,如"客户"、"水务公司"等 +- **signature_status**: 签章状态,包括"待签署"、"已签署"、"签署失败"、"已撤销"等 +- **signature_data**: 签章的原始数据,通常为加密后的数据 +- **timestamp_cert**: 时间戳凭证,用于证明签署时间的真实性 + +### 3. 电子存证记录表(installation_evidence) + +#### 表描述 +存储电子合同的存证信息,包括存证哈希、存证时间、存证凭证等。 + +#### 表结构 +| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 主键 | 说明 | +|-------|------|------|-------|-------|------|------| +| id | bigint | - | 否 | - | 是 | 主键ID | +| evidence_code | varchar | 32 | 否 | - | - | 存证编号 | +| contract_id | bigint | - | 否 | - | - | 合同ID | +| evidence_type | varchar | 20 | 否 | - | - | 存证类型 | +| evidence_hash | varchar | 128 | 否 | - | - | 存证哈希值 | +| evidence_time | datetime | - | 否 | - | - | 存证时间 | +| evidence_cert | text | - | 是 | NULL | - | 存证凭证 | +| evidence_status | varchar | 20 | 否 | - | - | 存证状态 | +| storage_location | varchar | 255 | 是 | NULL | - | 存储位置 | +| verify_url | varchar | 255 | 是 | NULL | - | 验证URL | +| create_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 创建时间 | +| update_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 更新时间 | + +#### 索引设计 +| 索引名 | 索引类型 | 字段 | 说明 | +|-------|---------|------|------| +| PRIMARY | 主键 | id | 主键索引 | +| uk_evidence_code | 唯一索引 | evidence_code | 存证编号唯一索引 | +| idx_contract_id | 普通索引 | contract_id | 合同ID索引 | + +#### 字段说明 +- **evidence_type**: 存证类型,如"区块链存证"、"第三方存证"等 +- **evidence_hash**: 存证文件的哈希值,通常使用SHA-256算法生成 +- **evidence_status**: 存证状态,包括"存证中"、"存证成功"、"存证失败"等 +- **verify_url**: 存证验证URL,可用于在线验证存证的真实性 + +### 4. CA系统配置表(installation_ca_config) + +#### 表描述 +存储泛微CA电子签章系统的配置信息,包括接口地址、认证信息等。 + +#### 表结构 +| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 主键 | 说明 | +|-------|------|------|-------|-------|------|------| +| id | bigint | - | 否 | - | 是 | 主键ID | +| config_name | varchar | 50 | 否 | - | - | 配置名称 | +| config_key | varchar | 50 | 否 | - | - | 配置键 | +| config_value | varchar | 500 | 否 | - | - | 配置值 | +| config_desc | varchar | 255 | 是 | NULL | - | 配置描述 | +| is_enabled | tinyint | - | 否 | 1 | - | 是否启用 | +| create_by | varchar | 64 | 是 | NULL | - | 创建人 | +| create_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 创建时间 | +| update_by | varchar | 64 | 是 | NULL | - | 更新人 | +| update_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 更新时间 | + +#### 索引设计 +| 索引名 | 索引类型 | 字段 | 说明 | +|-------|---------|------|------| +| PRIMARY | 主键 | id | 主键索引 | +| uk_config_key | 唯一索引 | config_key | 配置键唯一索引 | + +#### 字段说明 +- **config_key**: 配置键,如"ca.api.url"、"ca.api.key"等 +- **config_value**: 配置值,存储实际的配置内容 +- **is_enabled**: 是否启用,1表示启用,0表示禁用 + +### 5. 签章模板表(installation_signature_template) + +#### 表描述 +存储电子签章模板信息,用于快速生成签章。 + +#### 表结构 +| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 主键 | 说明 | +|-------|------|------|-------|-------|------|------| +| id | bigint | - | 否 | - | 是 | 主键ID | +| template_code | varchar | 32 | 否 | - | - | 模板编号 | +| template_name | varchar | 100 | 否 | - | - | 模板名称 | +| template_type | varchar | 20 | 否 | - | - | 模板类型 | +| template_image | varchar | 255 | 是 | NULL | - | 模板图像URL | +| template_data | text | - | 是 | NULL | - | 模板数据 | +| is_default | tinyint | - | 否 | 0 | - | 是否默认 | +| is_enabled | tinyint | - | 否 | 1 | - | 是否启用 | +| create_by | varchar | 64 | 是 | NULL | - | 创建人 | +| create_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 创建时间 | +| update_by | varchar | 64 | 是 | NULL | - | 更新人 | +| update_time | datetime | - | 否 | CURRENT_TIMESTAMP | - | 更新时间 | + +#### 索引设计 +| 索引名 | 索引类型 | 字段 | 说明 | +|-------|---------|------|------| +| PRIMARY | 主键 | id | 主键索引 | +| uk_template_code | 唯一索引 | template_code | 模板编号唯一索引 | + +#### 字段说明 +- **template_type**: 模板类型,如"个人签章"、"企业签章"等 +- **template_data**: 模板数据,包含签章的样式、大小等信息 +- **is_default**: 是否默认模板,1表示是,0表示否 +- **is_enabled**: 是否启用,1表示启用,0表示禁用 + +## 表关系设计 + +```mermaid +erDiagram + installation_contract ||--o{ installation_signature : "签署" + installation_contract ||--o{ installation_evidence : "存证" + installation_signature }|--|| installation_signature_template : "使用" + installation_contract }|--|| installation_application : "关联" + + installation_contract { + bigint id PK + varchar contract_code + bigint installation_id FK + varchar contract_type + varchar contract_title + text contract_content + varchar contract_file_url + varchar contract_status + datetime valid_from + datetime valid_to + } + + installation_signature { + bigint id PK + varchar signature_code + bigint contract_id FK + varchar signer_type + varchar signer_id + varchar signer_name + datetime signature_time + varchar signature_ip + varchar signature_location + varchar signature_image + text signature_data + text timestamp_cert + varchar signature_status + } + + installation_evidence { + bigint id PK + varchar evidence_code + bigint contract_id FK + varchar evidence_type + varchar evidence_hash + datetime evidence_time + text evidence_cert + varchar evidence_status + varchar storage_location + varchar verify_url + } + + installation_ca_config { + bigint id PK + varchar config_name + varchar config_key + varchar config_value + varchar config_desc + tinyint is_enabled + } + + installation_signature_template { + bigint id PK + varchar template_code + varchar template_name + varchar template_type + varchar template_image + text template_data + tinyint is_default + tinyint is_enabled + } + + installation_application { + bigint id PK + varchar application_code + varchar customer_name + varchar application_status + } +``` + +## 数据字典 + +### 合同类型(contract_type) +| 代码 | 名称 | 说明 | +|------|------|------| +| WATER_AGREEMENT | 用水协议 | 客户与水务公司签订的用水服务协议 | +| CONSTRUCTION_CONTRACT | 施工合同 | 水务工程施工合同 | +| INSTALLATION_AGREEMENT | 报装协议 | 新用户报装服务协议 | + +### 合同状态(contract_status) +| 代码 | 名称 | 说明 | +|------|------|------| +| DRAFT | 草稿 | 合同草稿状态,尚未发起签署 | +| PENDING | 待签署 | 合同已创建,等待签署 | +| SIGNING | 签署中 | 合同正在签署过程中 | +| COMPLETED | 已签署 | 合同已完成所有签署 | +| EXPIRED | 已过期 | 合同已过期 | +| CANCELLED | 已作废 | 合同已被作废 | + +### 签署方类型(signer_type) +| 代码 | 名称 | 说明 | +|------|------|------| +| CUSTOMER | 客户 | 用水客户 | +| COMPANY | 水务公司 | 水务服务提供方 | +| CONTRACTOR | 施工方 | 工程施工单位 | +| SUPERVISOR | 监理方 | 工程监理单位 | + +### 签章状态(signature_status) +| 代码 | 名称 | 说明 | +|------|------|------| +| PENDING | 待签署 | 等待签署 | +| COMPLETED | 已签署 | 签署完成 | +| FAILED | 签署失败 | 签署过程中出现错误 | +| REVOKED | 已撤销 | 签章已被撤销 | + +### 存证类型(evidence_type) +| 代码 | 名称 | 说明 | +|------|------|------| +| BLOCKCHAIN | 区块链存证 | 使用区块链技术进行电子存证 | +| THIRD_PARTY | 第三方存证 | 通过第三方机构进行电子存证 | +| LOCAL | 本地存证 | 在本地系统进行电子存证 | + +### 存证状态(evidence_status) +| 代码 | 名称 | 说明 | +|------|------|------| +| PROCESSING | 存证中 | 正在进行存证 | +| COMPLETED | 存证成功 | 存证已完成 | +| FAILED | 存证失败 | 存证过程中出现错误 | +| EXPIRED | 已过期 | 存证已过期 | + +## 数据库优化建议 + +### 索引优化 +1. **合理使用索引**:已为高频查询字段创建索引,如合同ID、签署方ID等 +2. **避免过度索引**:仅为必要的查询条件创建索引,避免影响写入性能 +3. **考虑复合索引**:对于经常一起查询的字段,考虑创建复合索引 + +### 性能优化 +1. **大字段处理**:对于签章数据、存证凭证等大字段,考虑使用文件存储,数据库中只存储文件路径 +2. **分表策略**:当数据量增长到一定程度时,考虑按年份或业务单元进行分表 +3. **缓存机制**:对于频繁访问的合同和签章信息,实施适当的缓存策略 + +### 安全建议 +1. **敏感数据加密**:对于签章数据、存证哈希等敏感信息,采用加密存储 +2. **访问控制**:实施严格的数据库访问控制,限制对签章表的直接访问 +3. **审计日志**:记录所有对签章和存证数据的操作,便于追踪和审计 + +## 数据迁移与升级计划 + +### 初始数据迁移 +1. **现有合同数据导入**:将现有纸质合同信息导入电子合同表 +2. **签章模板初始化**:预设常用的签章模板 +3. **CA系统配置初始化**:配置泛微CA系统的连接参数 + +### 版本升级计划 +1. **v1.1版本**:增加签章权限控制表,细化签章权限管理 +2. **v1.2版本**:增加签章日志表,记录详细的签章操作日志 +3. **v2.0版本**:支持多CA系统集成,增加CA系统路由表 + +## 附录 + +### SQL创建脚本 + +```sql +-- 电子合同表 +CREATE TABLE `installation_contract` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `contract_code` varchar(32) NOT NULL COMMENT '合同编号', + `installation_id` bigint NOT NULL COMMENT '报装申请ID', + `contract_type` varchar(20) NOT NULL COMMENT '合同类型', + `contract_title` varchar(100) NOT NULL COMMENT '合同标题', + `contract_content` text COMMENT '合同内容', + `contract_file_url` varchar(255) DEFAULT NULL COMMENT '合同文件URL', + `contract_status` varchar(20) NOT NULL COMMENT '合同状态', + `valid_from` datetime DEFAULT NULL COMMENT '生效时间', + `valid_to` datetime DEFAULT NULL COMMENT '到期时间', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_contract_code` (`contract_code`), + KEY `idx_installation_id` (`installation_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报装合同表'; + +-- 电子签章记录表 +CREATE TABLE `installation_signature` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `signature_code` varchar(32) NOT NULL COMMENT '签章编号', + `contract_id` bigint NOT NULL COMMENT '合同ID', + `signer_type` varchar(20) NOT NULL COMMENT '签署方类型', + `signer_id` varchar(64) NOT NULL COMMENT '签署方ID', + `signer_name` varchar(100) NOT NULL COMMENT '签署方名称', + `signature_time` datetime DEFAULT NULL COMMENT '签署时间', + `signature_ip` varchar(50) DEFAULT NULL COMMENT '签署IP', + `signature_location` varchar(255) DEFAULT NULL COMMENT '签署位置', + `signature_image` varchar(255) DEFAULT NULL COMMENT '签章图像URL', + `signature_data` text COMMENT '签章数据', + `timestamp_cert` text COMMENT '时间戳凭证', + `signature_status` varchar(20) NOT NULL COMMENT '签章状态', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_signature_code` (`signature_code`), + KEY `idx_contract_id` (`contract_id`), + KEY `idx_signer_id` (`signer_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报装签章记录表'; + +-- 电子存证记录表 +CREATE TABLE `installation_evidence` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `evidence_code` varchar(32) NOT NULL COMMENT '存证编号', + `contract_id` bigint NOT NULL COMMENT '合同ID', + `evidence_type` varchar(20) NOT NULL COMMENT '存证类型', + `evidence_hash` varchar(128) NOT NULL COMMENT '存证哈希值', + `evidence_time` datetime NOT NULL COMMENT '存证时间', + `evidence_cert` text COMMENT '存证凭证', + `evidence_status` varchar(20) NOT NULL COMMENT '存证状态', + `storage_location` varchar(255) DEFAULT NULL COMMENT '存储位置', + `verify_url` varchar(255) DEFAULT NULL COMMENT '验证URL', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_evidence_code` (`evidence_code`), + KEY `idx_contract_id` (`contract_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报装存证记录表'; + +-- CA系统配置表 +CREATE TABLE `installation_ca_config` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `config_name` varchar(50) NOT NULL COMMENT '配置名称', + `config_key` varchar(50) NOT NULL COMMENT '配置键', + `config_value` varchar(500) NOT NULL COMMENT '配置值', + `config_desc` varchar(255) DEFAULT NULL COMMENT '配置描述', + `is_enabled` tinyint NOT NULL DEFAULT '1' COMMENT '是否启用', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_config_key` (`config_key`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CA系统配置表'; + +-- 签章模板表 +CREATE TABLE `installation_signature_template` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `template_code` varchar(32) NOT NULL COMMENT '模板编号', + `template_name` varchar(100) NOT NULL COMMENT '模板名称', + `template_type` varchar(20) NOT NULL COMMENT '模板类型', + `template_image` varchar(255) DEFAULT NULL COMMENT '模板图像URL', + `template_data` text COMMENT '模板数据', + `is_default` tinyint NOT NULL DEFAULT '0' COMMENT '是否默认', + `is_enabled` tinyint NOT NULL DEFAULT '1' COMMENT '是否启用', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_template_code` (`template_code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='签章模板表'; +``` diff --git a/water_biz_module_design_installation_ca.md b/water_biz_module_design_installation_ca.md new file mode 100644 index 0000000..fa98d40 --- /dev/null +++ b/water_biz_module_design_installation_ca.md @@ -0,0 +1,500 @@ +# 报装业务系统电子签章功能设计 + +## 文档信息 +| 项目信息 | 详情 | +|---------|------| +| **项目名称** | 福建水务营收系统 | +| **文档类型** | 模块设计文档 | +| **文档版本** | v1.0 | +| **编写日期** | 2024-12-19 | +| **文档状态** | 🟡 进行中 | + +## 功能概述 + +报装业务系统电子签章功能是通过集成泛微CA电子签章系统,实现合同电子签署、身份认证和电子存证服务,确保电子合同的法律效力,提高报装业务办理效率,降低纸质文档处理成本。 + +## 需求分析 + +### 业务需求 + +1. **合同电子签署**:支持报装申请、用水协议等合同文档的电子签署 +2. **身份认证**:提供可靠的签署方身份认证机制 +3. **时间戳服务**:为签署过程提供可信时间戳 +4. **电子存证**:签署完成的文档需进行安全存储和防篡改保护 +5. **签署流程管理**:支持多方签署、签署状态跟踪 +6. **签署结果查询**:提供签署结果的查询和验证功能 + +### 技术需求 + +1. **系统集成**:与泛微CA电子签章系统进行无缝集成 +2. **安全性**:确保签署过程的安全性和数据传输的加密 +3. **可靠性**:保证签署服务的高可用性 +4. **合规性**:符合《中华人民共和国电子签名法》等相关法规 +5. **可扩展性**:支持未来更多类型的合同和文档签署 + +## 技术架构 + +### 集成架构 + +```mermaid +graph TD + subgraph "报装业务系统" + INST_APP[报装申请模块] + INST_CONT[合同管理模块] + INST_ARCH[档案管理模块] + INST_SIGN[电子签章模块] + end + + subgraph "泛微CA电子签章系统" + CA_AUTH[身份认证服务] + CA_SIGN[电子签章服务] + CA_TIME[时间戳服务] + CA_STORE[电子存证服务] + end + + INST_APP --> INST_CONT + INST_CONT --> INST_SIGN + INST_SIGN --> CA_AUTH + INST_SIGN --> CA_SIGN + INST_SIGN --> CA_TIME + INST_SIGN --> CA_STORE + INST_SIGN --> INST_ARCH +``` + +### 模块组件 + +```mermaid +graph TD + subgraph "电子签章模块(INST-SIGN)" + ADAPTER[泛微CA适配器] + CONTRACT[合同签署组件] + VERIFY[签章验证组件] + STORAGE[签章存储组件] + MONITOR[签章监控组件] + end + + ADAPTER --> CONTRACT + ADAPTER --> VERIFY + CONTRACT --> STORAGE + VERIFY --> STORAGE + STORAGE --> MONITOR +``` + +## 功能模块设计 + +### 电子签章模块(INST-SIGN) + +#### 核心功能 + +1. **合同签署管理** + - 合同模板管理 + - 签署流程定义 + - 签署任务创建 + - 签署状态跟踪 + +2. **电子签章服务** + - 签章申请 + - 签章执行 + - 签章验证 + - 签章结果通知 + +3. **电子存证管理** + - 存证申请 + - 存证查询 + - 存证验证 + - 存证下载 + +4. **系统集成服务** + - CA系统连接管理 + - 接口调用监控 + - 异常处理机制 + - 日志记录与审计 + +#### 数据模型 + +1. **电子合同表(installation_contract)** + - 合同ID + - 合同类型 + - 合同标题 + - 合同内容 + - 创建时间 + - 有效期 + - 状态 + +2. **电子签章记录表(installation_signature)** + - 签章ID + - 合同ID + - 签署人ID + - 签署时间 + - 签署IP + - 签章图像 + - 签章状态 + +3. **电子存证记录表(installation_evidence)** + - 存证ID + - 合同ID + - 存证时间 + - 存证哈希 + - 存证状态 + - 存证凭证 + +## 接口设计 + +### 内部接口 + +1. **合同签署接口** + - 功能:创建合同签署任务 + - 输入:合同信息、签署方信息 + - 输出:签署任务ID、状态 + +2. **签署状态查询接口** + - 功能:查询合同签署状态 + - 输入:签署任务ID + - 输出:签署状态、签署结果 + +3. **存证申请接口** + - 功能:为已签署合同申请电子存证 + - 输入:合同ID + - 输出:存证ID、存证状态 + +### 外部接口(泛微CA系统) + +1. **身份认证接口** + - 功能:验证签署方身份 + - 方式:HTTPS REST API + - 输入:用户信息、认证方式 + - 输出:认证结果、认证凭证 + +2. **电子签章接口** + - 功能:执行电子签章操作 + - 方式:HTTPS REST API + - 输入:文档内容、签章位置、签章类型 + - 输出:签章结果、签章图像 + +3. **时间戳接口** + - 功能:为签署过程提供可信时间戳 + - 方式:HTTPS REST API + - 输入:签署数据哈希 + - 输出:时间戳凭证 + +4. **电子存证接口** + - 功能:存储签署后的合同文档 + - 方式:HTTPS REST API + - 输入:签署完成的文档、元数据 + - 输出:存证凭证、存证ID + +## 业务流程 + +### 合同签署流程 + +```mermaid +sequenceDiagram + participant 客户 + participant 报装系统 + participant 电子签章模块 + participant 泛微CA系统 + + 客户->>报装系统: 提交报装申请 + 报装系统->>报装系统: 生成合同 + 报装系统->>电子签章模块: 创建签署任务 + 电子签章模块->>泛微CA系统: 身份认证请求 + 泛微CA系统-->>电子签章模块: 返回认证结果 + 电子签章模块->>泛微CA系统: 发送签章请求 + 泛微CA系统-->>电子签章模块: 返回签章结果 + 电子签章模块->>泛微CA系统: 申请时间戳 + 泛微CA系统-->>电子签章模块: 返回时间戳凭证 + 电子签章模块->>泛微CA系统: 申请电子存证 + 泛微CA系统-->>电子签章模块: 返回存证凭证 + 电子签章模块-->>报装系统: 返回签署结果 + 报装系统-->>客户: 通知签署完成 +``` + +### 签署验证流程 + +```mermaid +sequenceDiagram + participant 用户 + participant 报装系统 + participant 电子签章模块 + participant 泛微CA系统 + + 用户->>报装系统: 请求验证合同 + 报装系统->>电子签章模块: 发送验证请求 + 电子签章模块->>泛微CA系统: 签章验证请求 + 泛微CA系统-->>电子签章模块: 返回验证结果 + 电子签章模块->>泛微CA系统: 存证验证请求 + 泛微CA系统-->>电子签章模块: 返回存证验证结果 + 电子签章模块-->>报装系统: 返回综合验证结果 + 报装系统-->>用户: 显示验证结果 +``` + +## 安全设计 + +1. **数据传输安全** + - 采用HTTPS加密传输 + - 实施数据签名验证 + - 敏感信息加密存储 + +2. **身份认证安全** + - 多因素身份认证 + - 签署权限控制 + - 身份信息保护 + +3. **签章防伪措施** + - 签章图像防篡改 + - 签章过程全程记录 + - 签章结果防抵赖 + +4. **存证安全保障** + - 区块链存证技术 + - 多副本存储策略 + - 存证数据定期校验 + +## 部署方案 + +### 系统部署 + +```mermaid +graph TD + subgraph "应用服务器" + APP[报装业务系统] + SIGN_MOD[电子签章模块] + end + + subgraph "数据服务器" + DB[(业务数据库)] + SIGN_DB[(签章数据库)] + end + + subgraph "泛微CA服务" + CA_API[CA API服务] + CA_STORAGE[CA存证服务] + end + + APP --> SIGN_MOD + SIGN_MOD --> DB + SIGN_MOD --> SIGN_DB + SIGN_MOD --> CA_API + CA_API --> CA_STORAGE +``` + +### 配置要求 + +1. **服务器配置** + - 应用服务器:8核16G,100G存储 + - 数据服务器:16核32G,500G存储 + +2. **网络配置** + - 内网带宽:≥1Gbps + - 外网带宽:≥100Mbps + - 专线连接:建议与CA系统建立专线 + +3. **安全配置** + - 防火墙策略:仅开放必要端口 + - 访问控制:IP白名单限制 + - 日志审计:全程记录系统操作 + +## 测试方案 + +1. **功能测试** + - 合同生成测试 + - 签章流程测试 + - 存证流程测试 + - 验证流程测试 + +2. **性能测试** + - 并发签署测试 + - 响应时间测试 + - 系统负载测试 + +3. **安全测试** + - 数据传输安全测试 + - 身份认证安全测试 + - 防篡改能力测试 + +4. **集成测试** + - 与CA系统集成测试 + - 与报装流程集成测试 + - 与档案管理集成测试 + +## 运维监控 + +1. **系统监控** + - 接口调用监控 + - 系统资源监控 + - 签章服务可用性监控 + +2. **告警机制** + - 服务不可用告警 + - 签章失败告警 + - 存证异常告警 + +3. **日志管理** + - 操作日志记录 + - 签章日志记录 + - 安全审计日志 + +## 实施计划 + +1. **开发阶段** + - 泛微CA接口对接:2周 + - 电子签章模块开发:3周 + - 业务流程集成:2周 + +2. **测试阶段** + - 功能测试:1周 + - 集成测试:1周 + - 安全测试:1周 + +3. **部署阶段** + - 环境准备:3天 + - 系统部署:2天 + - 上线验证:2天 + +4. **运维阶段** + - 系统监控配置:2天 + - 运维文档编写:3天 + - 运维人员培训:1天 + +## 风险评估 + +| 风险项 | 风险级别 | 应对措施 | +|-------|---------|---------| +| CA系统接口变更 | 中 | 建立接口版本管理机制,做好兼容性处理 | +| 签章过程中断 | 高 | 实现断点续签功能,完善异常处理机制 | +| 存证服务不可用 | 高 | 建立本地缓存机制,实施异步存证策略 | +| 签章效率问题 | 中 | 优化签章流程,实施批量签章功能 | +| 法规政策变化 | 低 | 定期跟踪法规更新,及时调整系统功能 | + +## 附录 + +### 泛微CA系统接口规范 + +泛微CA电子签章系统提供以下核心API接口: + +1. **身份认证API** + - 接口地址:`/api/v1/auth` + - 请求方式:POST + - 参数示例: + ```json + { + "userId": "user123", + "authType": "face", + "authData": "base64_encoded_data" + } + ``` + +2. **电子签章API** + - 接口地址:`/api/v1/signature` + - 请求方式:POST + - 参数示例: + ```json + { + "documentId": "doc123", + "documentData": "base64_encoded_document", + "signatureInfo": { + "position": { "page": 1, "x": 100, "y": 200 }, + "signatureType": "personal" + } + } + ``` + +3. **时间戳API** + - 接口地址:`/api/v1/timestamp` + - 请求方式:POST + - 参数示例: + ```json + { + "documentHash": "sha256_hash_value" + } + ``` + +4. **电子存证API** + - 接口地址:`/api/v1/evidence` + - 请求方式:POST + - 参数示例: + ```json + { + "documentId": "doc123", + "documentData": "base64_encoded_document", + "metadata": { + "title": "用水协议", + "signers": ["user1", "user2"], + "signTime": "2024-12-19T10:30:00Z" + } + } + ``` + +### 数据库表设计 + +#### 电子合同表(installation_contract) + +```sql +CREATE TABLE `installation_contract` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `contract_code` varchar(32) NOT NULL COMMENT '合同编号', + `installation_id` bigint NOT NULL COMMENT '报装申请ID', + `contract_type` varchar(20) NOT NULL COMMENT '合同类型', + `contract_title` varchar(100) NOT NULL COMMENT '合同标题', + `contract_content` text COMMENT '合同内容', + `contract_file_url` varchar(255) DEFAULT NULL COMMENT '合同文件URL', + `contract_status` varchar(20) NOT NULL COMMENT '合同状态', + `valid_from` datetime DEFAULT NULL COMMENT '生效时间', + `valid_to` datetime DEFAULT NULL COMMENT '到期时间', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_contract_code` (`contract_code`), + KEY `idx_installation_id` (`installation_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报装合同表'; +``` + +#### 电子签章记录表(installation_signature) + +```sql +CREATE TABLE `installation_signature` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `signature_code` varchar(32) NOT NULL COMMENT '签章编号', + `contract_id` bigint NOT NULL COMMENT '合同ID', + `signer_type` varchar(20) NOT NULL COMMENT '签署方类型', + `signer_id` varchar(64) NOT NULL COMMENT '签署方ID', + `signer_name` varchar(100) NOT NULL COMMENT '签署方名称', + `signature_time` datetime DEFAULT NULL COMMENT '签署时间', + `signature_ip` varchar(50) DEFAULT NULL COMMENT '签署IP', + `signature_location` varchar(255) DEFAULT NULL COMMENT '签署位置', + `signature_image` varchar(255) DEFAULT NULL COMMENT '签章图像URL', + `signature_data` text COMMENT '签章数据', + `timestamp_cert` text COMMENT '时间戳凭证', + `signature_status` varchar(20) NOT NULL COMMENT '签章状态', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_signature_code` (`signature_code`), + KEY `idx_contract_id` (`contract_id`), + KEY `idx_signer_id` (`signer_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报装签章记录表'; +``` + +#### 电子存证记录表(installation_evidence) + +```sql +CREATE TABLE `installation_evidence` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `evidence_code` varchar(32) NOT NULL COMMENT '存证编号', + `contract_id` bigint NOT NULL COMMENT '合同ID', + `evidence_type` varchar(20) NOT NULL COMMENT '存证类型', + `evidence_hash` varchar(128) NOT NULL COMMENT '存证哈希值', + `evidence_time` datetime NOT NULL COMMENT '存证时间', + `evidence_cert` text COMMENT '存证凭证', + `evidence_status` varchar(20) NOT NULL COMMENT '存证状态', + `storage_location` varchar(255) DEFAULT NULL COMMENT '存储位置', + `verify_url` varchar(255) DEFAULT NULL COMMENT '验证URL', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_evidence_code` (`evidence_code`), + KEY `idx_contract_id` (`contract_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报装存证记录表'; +``` diff --git a/water_biz_overview_design_ca.md b/water_biz_overview_design_ca.md new file mode 100644 index 0000000..09d0d25 --- /dev/null +++ b/water_biz_overview_design_ca.md @@ -0,0 +1,383 @@ +# 报装业务系统电子签章集成概要设计 + +## 文档信息 +| 项目信息 | 详情 | +|---------|------| +| **项目名称** | 福建水务营收系统 | +| **文档类型** | 概要设计文档 | +| **文档版本** | v1.0 | +| **编写日期** | 2024-12-19 | +| **文档状态** | 🟡 进行中 | + +## 1. 设计目标 + +本设计旨在为福建水务营收系统的报装业务系统集成泛微CA电子签章系统,实现合同电子签署、身份认证和电子存证服务,确保电子合同的法律效力,提高业务办理效率,降低纸质文档处理成本。 + +## 2. 系统架构 + +### 2.1 总体架构 + +```mermaid +graph TB + subgraph "福建水务营收系统" + subgraph "报装业务系统" + INST_APP[报装申请模块] + INST_CONT[合同管理模块] + INST_ARCH[档案管理模块] + INST_SIGN[电子签章模块] + end + + SYS_PLAT[统一平台] + end + + subgraph "外部系统" + CA_SYS[泛微CA电子签章系统] + end + + INST_APP --> INST_CONT + INST_CONT --> INST_SIGN + INST_SIGN --> INST_ARCH + INST_SIGN <--> CA_SYS + SYS_PLAT <--> INST_SIGN +``` + +### 2.2 模块架构 + +```mermaid +graph TD + subgraph "电子签章模块(INST-SIGN)" + ADAPTER[泛微CA适配器] + CONTRACT[合同签署组件] + VERIFY[签章验证组件] + STORAGE[签章存储组件] + MONITOR[签章监控组件] + end + + subgraph "泛微CA电子签章系统" + CA_AUTH[身份认证服务] + CA_SIGN[电子签章服务] + CA_TIME[时间戳服务] + CA_STORE[电子存证服务] + end + + ADAPTER --> CA_AUTH + ADAPTER --> CA_SIGN + ADAPTER --> CA_TIME + ADAPTER --> CA_STORE + + CONTRACT --> ADAPTER + VERIFY --> ADAPTER + STORAGE --> ADAPTER + MONITOR --> ADAPTER +``` + +## 3. 功能需求 + +### 3.1 核心功能 + +| 功能模块 | 功能点 | 优先级 | 描述 | +|---------|-------|-------|------| +| 合同管理 | 合同模板管理 | 高 | 管理各类电子合同模板,支持模板参数化 | +| 合同管理 | 合同生成 | 高 | 基于模板和业务数据生成电子合同 | +| 电子签章 | 签章申请 | 高 | 向CA系统申请电子签章 | +| 电子签章 | 签章执行 | 高 | 执行电子签章操作 | +| 电子签章 | 签章验证 | 中 | 验证电子签章的有效性 | +| 电子存证 | 存证申请 | 高 | 向CA系统申请电子存证 | +| 电子存证 | 存证查询 | 中 | 查询电子存证状态和信息 | +| 电子存证 | 存证验证 | 中 | 验证电子存证的有效性 | +| 系统集成 | CA系统连接管理 | 高 | 管理与CA系统的连接配置 | +| 系统集成 | 接口调用监控 | 中 | 监控与CA系统的接口调用情况 | + +### 3.2 业务流程 + +#### 3.2.1 合同签署流程 + +```mermaid +sequenceDiagram + participant 客户 + participant 报装系统 + participant 电子签章模块 + participant 泛微CA系统 + + 客户->>报装系统: 提交报装申请 + 报装系统->>报装系统: 生成合同 + 报装系统->>电子签章模块: 创建签署任务 + 电子签章模块->>泛微CA系统: 身份认证请求 + 泛微CA系统-->>电子签章模块: 返回认证结果 + 电子签章模块->>泛微CA系统: 发送签章请求 + 泛微CA系统-->>电子签章模块: 返回签章结果 + 电子签章模块->>泛微CA系统: 申请时间戳 + 泛微CA系统-->>电子签章模块: 返回时间戳凭证 + 电子签章模块->>泛微CA系统: 申请电子存证 + 泛微CA系统-->>电子签章模块: 返回存证凭证 + 电子签章模块-->>报装系统: 返回签署结果 + 报装系统-->>客户: 通知签署完成 +``` + +#### 3.2.2 签署验证流程 + +```mermaid +sequenceDiagram + participant 用户 + participant 报装系统 + participant 电子签章模块 + participant 泛微CA系统 + + 用户->>报装系统: 请求验证合同 + 报装系统->>电子签章模块: 发送验证请求 + 电子签章模块->>泛微CA系统: 签章验证请求 + 泛微CA系统-->>电子签章模块: 返回验证结果 + 电子签章模块->>泛微CA系统: 存证验证请求 + 泛微CA系统-->>电子签章模块: 返回存证验证结果 + 电子签章模块-->>报装系统: 返回综合验证结果 + 报装系统-->>用户: 显示验证结果 +``` + +## 4. 接口设计 + +### 4.1 内部接口 + +| 接口名称 | 接口描述 | 请求方式 | 输入参数 | 输出参数 | +|---------|---------|---------|---------|---------| +| createContract | 创建电子合同 | POST | 合同类型、合同内容、签署方信息 | 合同ID、状态 | +| initiateSignature | 发起签署流程 | POST | 合同ID、签署方信息 | 签署任务ID、状态 | +| querySignatureStatus | 查询签署状态 | GET | 签署任务ID | 签署状态、结果 | +| verifySignature | 验证签章 | POST | 合同ID | 验证结果、详情 | +| applyEvidence | 申请电子存证 | POST | 合同ID | 存证ID、状态 | +| queryEvidence | 查询存证信息 | GET | 存证ID | 存证状态、详情 | + +### 4.2 外部接口 + +| 接口名称 | 接口描述 | 请求方式 | URL | 安全措施 | +|---------|---------|---------|-----|---------| +| 身份认证接口 | 验证签署方身份 | POST | /api/v1/auth | HTTPS、签名验证 | +| 电子签章接口 | 执行电子签章操作 | POST | /api/v1/signature | HTTPS、签名验证 | +| 时间戳接口 | 获取可信时间戳 | POST | /api/v1/timestamp | HTTPS、签名验证 | +| 电子存证接口 | 存储签署后的合同 | POST | /api/v1/evidence | HTTPS、签名验证 | +| 验证接口 | 验证签章和存证 | POST | /api/v1/verify | HTTPS、签名验证 | + +## 5. 数据设计 + +### 5.1 数据模型 + +```mermaid +erDiagram + installation_contract ||--o{ installation_signature : "签署" + installation_contract ||--o{ installation_evidence : "存证" + installation_signature }|--|| installation_signature_template : "使用" + installation_contract }|--|| installation_application : "关联" + + installation_contract { + bigint id PK + varchar contract_code + bigint installation_id FK + varchar contract_type + varchar contract_title + text contract_content + varchar contract_file_url + varchar contract_status + } + + installation_signature { + bigint id PK + varchar signature_code + bigint contract_id FK + varchar signer_type + varchar signer_id + varchar signature_time + varchar signature_status + } + + installation_evidence { + bigint id PK + varchar evidence_code + bigint contract_id FK + varchar evidence_type + varchar evidence_hash + varchar evidence_status + } + + installation_ca_config { + bigint id PK + varchar config_key + varchar config_value + tinyint is_enabled + } + + installation_signature_template { + bigint id PK + varchar template_code + varchar template_name + varchar template_type + tinyint is_default + } +``` + +### 5.2 关键表设计 + +#### 5.2.1 电子合同表(installation_contract) + +存储报装业务系统中的电子合同信息,包括合同基本信息、状态和文件链接等。 + +#### 5.2.2 电子签章记录表(installation_signature) + +记录电子合同的签章信息,包括签署方信息、签署时间、签章数据等。 + +#### 5.2.3 电子存证记录表(installation_evidence) + +存储电子合同的存证信息,包括存证哈希、存证时间、存证凭证等。 + +#### 5.2.4 CA系统配置表(installation_ca_config) + +存储泛微CA电子签章系统的配置信息,包括接口地址、认证信息等。 + +#### 5.2.5 签章模板表(installation_signature_template) + +存储电子签章模板信息,用于快速生成签章。 + +## 6. 安全设计 + +### 6.1 传输安全 + +- 采用HTTPS加密传输 +- 实施数据签名验证 +- 敏感信息加密存储 + +### 6.2 身份认证安全 + +- 多因素身份认证 +- 签署权限控制 +- 身份信息保护 + +### 6.3 签章防伪措施 + +- 签章图像防篡改 +- 签章过程全程记录 +- 签章结果防抵赖 + +### 6.4 存证安全保障 + +- 区块链存证技术 +- 多副本存储策略 +- 存证数据定期校验 + +## 7. 部署架构 + +```mermaid +graph TD + subgraph "应用服务器" + APP[报装业务系统] + SIGN_MOD[电子签章模块] + end + + subgraph "数据服务器" + DB[(业务数据库)] + SIGN_DB[(签章数据库)] + end + + subgraph "泛微CA服务" + CA_API[CA API服务] + CA_STORAGE[CA存证服务] + end + + APP --> SIGN_MOD + SIGN_MOD --> DB + SIGN_MOD --> SIGN_DB + SIGN_MOD --> CA_API + CA_API --> CA_STORAGE +``` + +## 8. 性能考虑 + +### 8.1 性能指标 + +| 指标 | 目标值 | 说明 | +|------|-------|------| +| 签章响应时间 | <3秒 | 单个文档签章操作的响应时间 | +| 存证响应时间 | <5秒 | 单个文档存证操作的响应时间 | +| 验证响应时间 | <2秒 | 签章验证操作的响应时间 | +| 并发签章能力 | >50/分钟 | 系统每分钟可处理的签章请求数 | +| 系统可用性 | >99.9% | 系统服务可用时间比例 | + +### 8.2 优化措施 + +- **异步处理**:对于耗时操作采用异步处理机制 +- **缓存策略**:对频繁访问的数据实施缓存 +- **批量处理**:支持批量签章和存证操作 +- **资源池化**:采用连接池管理CA系统连接 +- **负载均衡**:在高并发场景下实施负载均衡 + +## 9. 风险评估 + +| 风险项 | 风险级别 | 影响范围 | 应对措施 | +|-------|---------|---------|---------| +| CA系统接口变更 | 中 | 签章功能 | 建立接口版本管理机制,做好兼容性处理 | +| 签章过程中断 | 高 | 业务流程 | 实现断点续签功能,完善异常处理机制 | +| 存证服务不可用 | 高 | 法律效力 | 建立本地缓存机制,实施异步存证策略 | +| 签章效率问题 | 中 | 用户体验 | 优化签章流程,实施批量签章功能 | +| 法规政策变化 | 低 | 合规性 | 定期跟踪法规更新,及时调整系统功能 | + +## 10. 实施计划 + +### 10.1 阶段划分 + +| 阶段 | 工作内容 | 时间周期 | 交付物 | +|------|---------|---------|-------| +| 需求分析 | 详细需求调研、业务流程分析 | 2周 | 需求规格说明书 | +| 系统设计 | 架构设计、接口设计、数据库设计 | 3周 | 设计文档 | +| 开发实施 | 模块开发、接口对接、单元测试 | 6周 | 系统代码 | +| 系统测试 | 功能测试、集成测试、性能测试 | 3周 | 测试报告 | +| 部署上线 | 环境准备、系统部署、验收测试 | 2周 | 部署文档 | +| 运维支持 | 系统监控、问题处理、版本迭代 | 长期 | 运维手册 | + +### 10.2 里程碑计划 + +| 里程碑 | 时间点 | 验收标准 | +|-------|-------|---------| +| 需求确认 | 第2周末 | 需求文档评审通过 | +| 设计完成 | 第5周末 | 设计文档评审通过 | +| 开发完成 | 第11周末 | 代码开发完成并通过代码审查 | +| 测试通过 | 第14周末 | 测试用例通过率>95% | +| 系统上线 | 第16周末 | 系统功能验收通过 | + +## 11. 附录 + +### 11.1 术语表 + +| 术语 | 英文 | 说明 | +|------|------|------| +| 电子签章 | Electronic Seal | 使用电子技术手段产生的、与实体印章具有同等法律效力的数字印记 | +| 电子存证 | Electronic Evidence | 对电子数据进行保全和存储,确保其法律效力的技术手段 | +| 时间戳 | Timestamp | 证明电子数据在某一时刻已经存在且未被篡改的数字证明 | +| CA系统 | Certificate Authority System | 数字证书认证系统,提供电子认证服务 | + +### 11.2 参考标准 + +1. 《中华人民共和国电子签名法》 +2. GB/T 35275-2017 《电子签名 可信电子签名生成技术规范》 +3. GB/T 38540-2020 《信息安全技术 电子签名数据电子存证规范》 +4. 泛微CA电子签章系统接口规范 v2.0 + +### 11.3 泛微CA系统接口规范 + +泛微CA电子签章系统提供以下核心API接口: + +1. **身份认证API** + - 接口地址:`/api/v1/auth` + - 请求方式:POST + - 功能:验证签署方身份 + +2. **电子签章API** + - 接口地址:`/api/v1/signature` + - 请求方式:POST + - 功能:执行电子签章操作 + +3. **时间戳API** + - 接口地址:`/api/v1/timestamp` + - 请求方式:POST + - 功能:获取可信时间戳 + +4. **电子存证API** + - 接口地址:`/api/v1/evidence` + - 请求方式:POST + - 功能:存储签署后的合同文档 diff --git a/新-概要设计说明书.md b/新-概要设计说明书.md index 9e7db79..cd93820 100644 --- a/新-概要设计说明书.md +++ b/新-概要设计说明书.md @@ -19,7 +19,7 @@ | 2025-08-01 | V1.3 | 唐伟杰 | 数据库系统变更:将OpenGauss替换为达梦数据库 8.0+,更新所有相关架构图和技术描述。 | | 2025-08-01 | V1.4 | 唐伟杰 | 单点登录采用OAuth2.0+CAS协议:更新单点登录模块描述,强调基于OAuth2.0+CAS协议实现。 | | 2025-08-18 | V1.5 | 唐伟杰 | 架构调整:将营收业务系统中的工单、表务、报装剥离为独立子系统(SYS-005/006/007),更新目录、功能范围、子系统列表、关系图与接口定义;保留客户服务模块在营收业务系统中的作用。 | -| 2025-08-18 | V1.6 | 唐伟杰 | 将第三方支付能力自SYS-009拆分为独立基础服务子系统(SYS-010 第三方支付子系统);更新总体目标、功能范围、接口定义、子系统列表与相关架构图。 | +| 2025-08-18 | V1.6 | 唐伟杰 | 合并第三方支付能力至SYS-009"支付与银行结算子系统",统一消息服务重编号为SYS-010;更新总体目标、功能范围、接口定义、子系统列表与相关架构图。 | # 目录 @@ -43,8 +43,8 @@ - [SYS-006 表务管理系统](#sys-006-表务管理系统) - [SYS-007 报装业务系统](#sys-007-报装业务系统) - [SYS-008 发票服务子系统(基础服务)](#sys-008-发票服务子系统基础服务) - - [SYS-009 银行对接子系统(基础服务)](#sys-009-银行对接子系统基础服务) - - [SYS-010 第三方支付子系统(基础服务)](#sys-010-第三方支付子系统基础服务) + - [SYS-009 支付与银行结算子系统(基础服务)](#sys-009-支付与银行结算子系统基础服务) + - [SYS-010 消息服务子系统(基础服务)](#sys-010-消息服务子系统基础服务) - [系统涉众与用户特点](#系统涉众与用户特点) - [设计概述](#设计概述) - [总体约束](#总体约束) @@ -106,7 +106,6 @@ - [模块7: 统计分析](#模块7-统计分析) - [模块8: 代收业务](#模块8-代收业务) - [模块9: 业务参数配置](#模块9-业务参数配置) - - [客户服务模块群补充说明](#客户服务模块群补充说明) - [子系统3设计: 手机抄表APP](#子系统3设计-手机抄表app) - [任务概述](#任务概述-3) - [设计概述](#设计概述-3) @@ -184,34 +183,34 @@ - [模块描述](#模块描述-6) - [模块间关系](#模块间关系-7) - [模块描述](#模块描述-7) -- [子系统9设计: 银行对接子系统](#子系统9设计-银行对接子系统) +- [子系统9设计: 支付与银行结算子系统](#子系统9设计-支付与银行结算子系统) - [任务概述](#任务概述-9) - [设计概述](#设计概述-9) - [总体约束](#总体约束-7) - [设计方案概述](#设计方案概述-8) - - [子系统外部接口](#子系统外部接口-8) + - [子系统外部接口(SYS-009)](#子系统外部接口sys-009) - [子系统架构设计](#子系统架构设计-8) - [模块定义](#模块定义-8) - [模块间关系](#模块间关系-8) - [模块描述](#模块描述-8) -- [子系统10设计: 第三方支付子系统](#子系统10设计-第三方支付子系统) +- [子系统10设计: 消息服务子系统](#子系统10设计-消息服务子系统) - [任务概述](#任务概述-10) - [设计概述](#设计概述-10) - [总体约束](#总体约束-8) + - [子系统外部接口](#子系统外部接口-8) - [设计方案概述](#设计方案概述-9) - - [子系统外部接口](#子系统外部接口-9) - [子系统架构设计](#子系统架构设计-9) - [模块定义](#模块定义-9) + - [模块列表](#模块列表-4) - [模块间关系](#模块间关系-9) - [模块描述](#模块描述-9) + - [模块1: 消息推送](#模块1-消息推送) + - [模块2: 消息接收](#模块2-消息接收) - [非功能性需求的设计](#非功能性需求的设计) - [性能的考虑](#性能的考虑) - [兼容性的考虑](#兼容性的考虑) - [安全的考虑](#安全的考虑) - [可移植性的考虑](#可移植性的考虑) - - [模块4: 电子发票服务](#模块4-电子发票服务-1) - - [模块5: 营业网点服务](#模块5-营业网点服务-1) - - [模块6: 业务办理服务](#模块6-业务办理服务-1) - [关键技术特性](#关键技术特性-1) - [微信平台集成](#微信平台集成-1) - [响应式设计](#响应式设计-1) @@ -240,6 +239,7 @@ 5. **资源需求评估**:确定系统开发、部署所需的技术资源和基础设施 **预期读者:** + - 系统架构师和技术负责人 - 项目经理和技术管理人员 - 详细设计和开发团队 @@ -254,7 +254,6 @@ 福建水投集团注册资本46亿元,在全省40多个县市区投资重大水利项目超过450亿元,拥有全级次子公司超过67家,职工人数超3500人。当前,集团正紧紧抓住城乡供水一体化建设的机遇,需要构建以客户为中心的客户服务平台。 - ## 术语与缩略语 | **术语、缩写** | **解释** | @@ -269,6 +268,7 @@ | DML | Data Manipulation Language,数据操作语言 | | IoT | Internet of Things,物联网 | | DevOps | Development和Operations的组合词,开发运维一体化 | +| 业务参数 | 业务参数配置 | | 站点 | 用于划分用户所属管辖区域,站点可以进行多级管理 | | 册本 | 又称抄表本或抄表簿,根据抄表线路规划,按排相邻的一些水表给某一个抄表员进行抄表 | | 用户编号 | 为签定了供用水合同的正式用户分配的唯一识别号 | @@ -290,15 +290,18 @@ ### 系统总体目标 -营业收费系统采用分层解耦与子系统化建设,形成“业务服务层 + 基础服务层”的整体架构: +营业收费系统采用分层解耦与子系统化建设,形成"业务服务层 + 基础服务层"的整体架构: + - 业务服务层:SYS-001 统一平台、SYS-002 营收业务系统、SYS-003 手机抄表APP、SYS-004 微网厅系统、SYS-005 工单管理系统、SYS-006 表务管理系统、SYS-007 报装业务系统 -- 基础服务层:SYS-008 发票服务子系统(统一开票)、SYS-009 银行对接子系统(统一代扣/对账/加解密)、SYS-010 第三方支付子系统(统一聚合支付) + +- 基础服务层:SYS-008 发票服务子系统(统一开票)、SYS-009 支付与银行结算子系统(统一聚合支付/退款/渠道适配/银行代扣/对账/加解密/支付回调)、SYS-010 消息服务子系统(统一短信/邮件/站内信/模板消息)、注册/配置中心、任务调度等基础服务 通过系统的建设,实现福建省水投数字科技有限公司客户服务管理领域的业务流程梳理再造、组织架构的优化、管理制度的建设、绩效考核标准的建设。构建以客户为中心的一体化客户服务平台,将客户的所有信息进行有机的关联,方便企业对营收信息进行综合分析和管理,为客户提供更多、更便捷、更主动的个性化服务,提高客户服务的质量和客户满意度。 **系统整体架构特点:** + - **统一平台**:提供认证、权限、组织、参数、字典等基础能力 -- **营收业务系统**:围绕客户、抄表、收费、账务、催缴、统计等核心营收流程,保留“客户服务模块群”对外服务能力 +- **营收业务系统**:围绕客户、抄表、收费、账务、催缴、统计等核心营收流程,保留"客户服务模块群"对外服务能力 - **手机抄表APP**:移动化现场作业,支持离线;现场问题上报与工单接收由工单系统统一承载 - **微网厅系统**:面向公众的自助服务门户,支持绑定、查询、缴费、发票查看、业务办理 - **工单管理系统**:统一工单中心与流程引擎,打通营收/表务/报装/微网厅/APP的全场景工单 @@ -306,45 +309,56 @@ - **报装业务系统**:覆盖报装申请、踏勘、施工、验收、通水与档案归档的端到端流程 - **发票服务子系统**(基础服务):统一开票网关与供应商适配(现优先对接航天,预留博思),回执与存证 - **支付与银行对接子系统**(基础服务):统一支付/退款、银行代扣送盘/回盘、对账处理、加解密签名 +- **消息服务子系统**(基础服务):统一短信/邮件/站内信/模板消息,下行推送与到达回执,供各业务子系统调用(如营收系统催缴) ### 功能范围 -本系统功能涵盖水务企业完整的营收业务流程,包括客户资料管理、抄表开账、营业收费、账务处理、催缴管理、发票管理(经SYS-008)、表务管理、报装业务、客户服务、工单管理,以及银行代扣(经SYS-009)与聚合支付/退款(经SYS-010)等;还包含查询统计与报表打印功能。 - -**系统功能按子系统分布如下:** +本系统功能涵盖水务企业完整的营收业务流程,包括客户资料管理、抄表开账、营业收费、账务处理、催缴管理、发票管理(经SYS-008)、表务管理、报装业务、客户服务、工单管理,以及支付与银行结算(经SYS-009)等;还包含查询统计与报表打印功能。 #### SYS-001 统一平台 + - 认证管理(SSO/OAuth2+CAS)、用户/角色/权限、组织机构、参数/字典、审计与监控 #### SYS-002 营收业务系统 -- 营收核心:客户资料、抄表开账、营业收费、账务处理、催缴管理、统计分析、代收业务 -- 客户服务:账户绑定、信息查询、在线缴费(经SYS-009)、电子发票(经SYS-008)、营业网点、业务办理 + +- 营收核心:客户资料、抄表开账、营业收费、账务处理、催缴管理、统计分析、代收业务、业务参数配置 +- 客户服务:账户绑定、信息查询、在线缴费(经SYS-009)、柜面扫码支付(经SYS-009)、电子发票(经SYS-008)、营业网点、业务办理 #### SYS-003 手机抄表APP + - 移动作业:登录、首页搜索、采集任务、现场抄表 - 现场上报/工单接收:问题上报、工单接收与回填(经SYS-005) - 数据同步与个人管理:任务下载/数据上传(离线支持)、个人信息与设置 #### SYS-004 微网厅系统 -- 账户绑定、账单/用水查询、在线缴费(经SYS-010)、电子发票查看(经SYS-008)、营业网点、业务办理 + +- 账户绑定、账单/用水查询、在线缴费(经SYS-009)、电子发票查看(经SYS-008)、营业网点、业务办理 #### SYS-005 工单管理系统 + - 统一工单中心、流程引擎、监控预警、绩效统计,打通营收/表务/报装/微网厅/APP #### SYS-006 表务管理系统 + - 表务基础(厂家/型号/口径/量程)、仓库与库存(入出库/盘点/调拨/预警)、设备档案(电子档案/状态) #### SYS-007 报装业务系统 + - 报装流程(申请/踏勘/施工/验收/通水)、工程管理(进度/资源/质量/安全)、档案管理(资料归档/留痕) #### SYS-008 发票服务子系统(基础服务) + - 统一开票/作废与红冲/查询、供应商适配(航天优先、预留博思)、回执处理与存证 -#### SYS-009 银行对接子系统(基础服务) -- 银行代扣(送盘/回盘)、对账文件处理、加解密/签名 +#### SYS-009 支付与银行结算子系统(基础服务) -#### SYS-010 第三方支付子系统(基础服务) -- 统一聚合支付/退款、渠道适配(微信/支付宝/银联聚合等)、支付结果通知 +- 聚合支付/退款、渠道适配(微信/支付宝/银联聚合等)、支付结果通知、银行代扣(送盘/回盘)、对账文件处理、加解密/签名 + +#### SYS-010 消息服务子系统(基础服务) + +- 统一短信/邮件/站内信/模板消息,下行推送与到达回执,供各业务子系统调用(如营收系统催缴) +- 邮件服务:邮件通知发送(经SYS-010) +- 移动推送平台:App消息推送(经SYS-010) ### 系统涉众与用户特点 @@ -399,15 +413,16 @@ | 金融支付 | 微信支付接口 | 微信在线支付 | HTTPS | | 金融支付 | 支付宝支付接口 | 支付宝在线支付 | HTTPS | | 通信服务 | 短信平台接口 | 短信通知发送 | HTTPS | +| 通信服务 | 邮件服务接口 | 邮件通知发送 | HTTPS/SMTP | +| 通信服务 | 微信模板消息接口 | 微信模板消息下发 | HTTPS | +| 通信服务 | 移动推送接口 | App消息推送(经厂商/三方推送) | HTTPS | | 物联网 | 集抄系统接口 | 智能水表数据采集 | TCP/HTTPS | | 税务服务 | 电子发票接口 | 第三方发票开具 | HTTPS | | 认证服务 | 身份认证接口 | 第三方身份验证 | HTTPS | | 认证服务 | CAS单点登录 | 第三方身份验证 | HTTPS | | 认证服务 | OAuth2.0单点登录 | 第三方身份验证 | HTTPS | -| 外部系统 | 微信消息推送 | 微信消息推送 | HTTPS | -| 外部系统 | 大工单系统 | 大工单系统 | HTTPS | -| 外部系统 | 报装系统 | 报装系统 | HTTPS | - +| 外部系统 | CA电子签章 | CA签发/验章/存证 | HTTPS | +| 外部系统 | 邮件服务 | 邮件服务 | HTTPS | ### 设计方案概述 @@ -417,13 +432,14 @@ **技术选型方案**: -- **后端技术栈**:Java 11+、Spring Boot 2.7+、Spring Cloud Gateway、MyBatis-Plus +- **后端技术栈**:Java 17+、Spring Boot 3.1+、Spring Cloud Gateway、MyBatis-Plus - **前端技术栈**:Vue 3、Element Plus、TypeScript - **数据库**:达梦数据库 8.0+(主从架构) - **缓存**:Redis 6.0+(集群模式) - **消息队列**:RabbitMQ 3.9+ - **文件存储**:MinIO(分布式文件存储) - **容器化**:基于Docker的容器化部署,使用Docker Compose进行容器编排,使用Kubernetes进行容器编排和调度。 +- **DevOps**:使用Jenkins进行自动化构建、部署和测试,使用Gitea进行代码管 **部署方案**: @@ -437,20 +453,112 @@ #### 整体架构图 +```mermaid +graph TB + %% 表现层 + subgraph "表现层" + ADMIN[Web管理端] + H5[微网厅H5] + APP[手机抄表APP] + end + + %% 网关层 + subgraph "网关层" + GATEWAY[API网关] + SSO[统一认证/SSO] + end + + %% 业务服务层 + subgraph "业务服务层" + UP[SYS-001 统一平台] + REV[SYS-002 营收业务系统] + WO[SYS-005 工单管理系统] + METER[SYS-006 表务管理系统] + INST[SYS-007 报装业务系统] + end + + %% 基础服务层 + subgraph "基础服务层" + INV[SYS-008 发票服务] + PAY[SYS-009 支付与银行结算] + MSG[SYS-010 消息服务] + MQ[RabbitMQ 消息队列] + FILE[MinIO 文件存储] + REDIS[Redis 缓存] + MON[监控/日志] + CONFIG[注册/配置中心] + SCHED[任务调度] + end + + %% 数据层 + subgraph "数据层" + DM[(达梦数据库集群)] + CACHE[(Redis集群)] + STORE[(MinIO集群)] + end + + %% 外部系统 + subgraph "外部系统" + EXT_CA[CA电子签章] + EXT_BANK[银行] + EXT_PSP[支付渠道 微信/支付宝/银联聚合] + EXT_INV[发票供应商 航天/博思] + EXT_SMS[短信平台] + EXT_MAIL[邮件服务] + EXT_IOT[集抄系统] + end + + %% 连接关系 + ADMIN --> GATEWAY + H5 --> GATEWAY + APP --> GATEWAY + GATEWAY --> SSO + GATEWAY --> UP + GATEWAY --> REV + GATEWAY --> WO + GATEWAY --> METER + GATEWAY --> INST + + REV --> INV + REV --> PAY + REV --> MQ + REV -.-> MSG + REV --> FILE + REV --> REDIS + + INST -.-> EXT_CA + + INV -.-> EXT_INV + MSG -.-> EXT_SMS + MSG -.-> EXT_MAIL + PAY -.-> EXT_BANK + PAY -.-> EXT_PSP + + %% 数据层连接 + UP --> CACHE + REV --> DM + WO --> DM + METER --> DM + INST --> DM + FILE --> STORE +``` #### 层级说明 **表现层(Presentation Layer)** + - 负责用户交互和界面展示 - 包含多种客户端形态:Web端、微网厅(微信、支付宝) - 采用前后端分离架构,提高开发效率和用户体验 **网关层(Gateway Layer)** + - 统一入口,负责请求路由和负载均衡 - 集中处理认证授权、限流熔断、监控日志 - 提供API版本管理和接口文档生成 **业务服务层(Business Service Layer)** + - 核心业务逻辑处理层,包含七个子系统: - **SYS-001 统一平台**:提供认证、组织、系统管理等基础服务 - **SYS-002 营收业务系统**:营收核心与客户服务模块群 @@ -463,15 +571,27 @@ - 支持独立部署、扩缩容和技术栈选择 **基础服务层(Infrastructure Service Layer)** + - 提供通用的技术服务能力 -- 包含权限、工作流、消息、文件、发票服务(统一开票能力)、银行对接服务(代扣/对账/加解密)、第三方支付服务(聚合支付/退款)等基础服务 +- 包含权限、工作流、消息、文件、发票服务(统一开票能力)、银行对接服务(代扣/对账/加解密)、第三方支付服务(聚合支付/退款)、消息服务(统一短信/邮件/站内信/模板消息)、注册/配置中心、任务调度等基础服务 - 为业务服务提供统一的技术支撑 **数据层(Data Layer)** + - 数据持久化和缓存层 - 支持读写分离、分库分表、数据备份 - 提供高性能、高可用的数据服务 +**外部系统(External Systems)** + +- CA电子签章:用于报装资料签署、验章与存证(INST-004 签章回执接口) +- 银行:托收代扣、回盘与对账(经SYS-009) +- 支付渠道:微信/支付宝/银联聚合等(经SYS-009) +- 发票供应商:航天/博思等税控平台(经SYS-008) +- 短信平台:通知与催缴短信发送(经SYS-010) +- 集抄系统:智能水表数据采集(远传/集中器) +- 邮件服务:邮件通知发送(经SYS-010) + ### 系统数据流向图 ```mermaid @@ -492,6 +612,7 @@ flowchart TD end subgraph "业务处理层" + C1[抄表服务
水量计算] C2[收费服务
账单生成] C3[账务服务
财务处理] @@ -619,7 +740,9 @@ graph TB ``` + #### 网络连接 + ```mermaid graph TB @@ -747,15 +870,15 @@ graph TB | 子系统编号 | 子系统名称(标识) | 功能描述 | 开发方式 | |---|---|---|---| | SYS-001 | 统一平台 | 单点登录、系统管理、权限管理、租户管理 | 自行开发 | -| SYS-002 | 营收业务系统 | 客户管理、抄表开账、营业收费、账务处理、发票管理、催缴管理、统计分析、代收业务、客户服务 | 自行开发 | +| SYS-002 | 营收业务系统 | 客户管理、抄表开账、营业收费、账务处理、发票管理、催缴管理、统计分析、代收业务、客户服务、业务参数配置 | 自行开发 | | SYS-003 | 手机抄表APP | 移动端抄表、现场作业、数据同步、离线支持 | 自行开发 | | SYS-004 | 微网厅系统 | 微信公众号平台、账户绑定、在线缴费、信息查询、业务办理、网点服务 | 自行开发 | | SYS-005 | 工单管理系统 | 统一工单中心、工单流程引擎、监控预警、绩效统计 | 自行开发 | | SYS-006 | 表务管理系统 | 表务基础管理、仓库与库存管理、设备档案管理 | 自行开发 | | SYS-007 | 报装业务系统 | 报装流程管理、工程管理、档案管理 | 自行开发 | | SYS-008 | 发票服务子系统 | 统一开票网关、供应商适配器(优先对接航天)、回执处理与存证 | 自行开发 | -| SYS-009 | 银行对接子系统 | 银行代扣送盘/回盘、对账处理、加解密签名 | 自行开发 | -| SYS-010 | 第三方支付子系统 | 聚合支付/退款、渠道适配(微信/支付宝/银联)、支付通知 | 自行开发 | +| SYS-009 | 支付与银行结算子系统 | 聚合支付/退款、渠道适配(微信/支付宝/银联)、支付通知、银行代扣送盘/回盘、对账处理、加解密签名 | 自行开发 | +| SYS-010 | 消息服务子系统 | 短信/邮件/站内信模板与发送、回执查询、批量推送 | 自行开发 | ### 子系统间关系 @@ -769,7 +892,7 @@ graph TB subgraph "SYS-002 营收业务系统" subgraph " 营收核心模块群" - REV_CORE[客户管理
抄表开账
营业收费
账务处理
发票催缴
统计代收] + REV_CORE[客户管理
抄表开账
营业收费
账务处理
发票催缴
统计代收
业务参数配置] end subgraph " 客户服务模块群" @@ -801,12 +924,12 @@ graph TB INVOICE_SYS[统一开票网关
供应商适配器
回执/存证] end - subgraph "SYS-009 银行对接子系统" - PAY_BANK[代扣送盘/回盘
银行适配器
对账处理] + subgraph "SYS-009 支付与银行结算子系统" + PAY_SYS[聚合支付/退款/回调
渠道适配/代扣/对账/加解密] end - subgraph "SYS-010 第三方支付子系统" - PAY_TP[聚合支付/退款
渠道适配
支付通知] + subgraph "SYS-010 消息服务子系统" + MSG_SYS[统一短信/邮件/推送
模板与回执] end %% 统一平台权限管理 @@ -822,8 +945,7 @@ graph TB REV_CORE -.->|库存状态/换表结果| METER_SYS REV_CORE -.->|立户/工程结果| INSTALL_SYS REV_CORE -.->|开票申请/作废/红冲| INVOICE_SYS - REV_CORE -.->|银行代扣/对账| PAY_BANK - REV_CORE -.->|聚合支付/退款| PAY_TP + REV_CORE -.->|支付/退款/代扣/对账| PAY_SYS REV_CORE -.->|业务异常/流程触发| WO_CENTER CS_MOD -.->|客户申请/服务工单| WO_CENTER @@ -843,7 +965,7 @@ graph TB WECHAT -.->|业务申请/服务工单| WO_CENTER REV_CORE -.->|账单信息/缴费状态| WECHAT INVOICE_SYS -.->|电子发票链接/推送| WECHAT - PAY_TP -.->|支付结果通知| WECHAT + MSG_SYS -.->|短信/邮件/推送| WECHAT WO_CENTER -.->|办理进度/结果通知| WECHAT %% 样式定义 @@ -873,17 +995,13 @@ graph TB | 接口名称 | 接口描述 | 调用方 | 接口协议 | |---------|----------|--------|----------| -| 客户信息查询接口 | 查询客户基本信息 | 手机抄表APP | HTTP/REST | -| 账单查询接口 | 查询客户账单信息 | 手机抄表APP | HTTP/REST | -| 缴费处理接口 | 处理在线缴费 | 外部系统 | HTTP/REST | -| 立户接口 | 新客户立户 | 外部系统 | HTTP/REST | +| 客户信息查询接口 | 查询客户基本信息 | 手机抄表APP/微网厅 | HTTP/REST | +| 账单查询接口 | 查询客户账单信息 | 手机抄表APP/微网厅 | HTTP/REST | +| 缴费处理接口 | 账单确认、支付下单入口(内部调用SYS-009) | 微网厅 | HTTP/REST | +| 立户接口 | 新客户立户(接收报装结果) | 报装业务系统 | HTTP/REST | | 抄表任务接口 | 下发抄表任务和客户信息 | 手机抄表APP | HTTP/REST | | 抄表数据上传接口 | 上传抄表数据 | 手机抄表APP | HTTP/REST | -| 微网厅服务接口 | 微信公众号服务 | 微信平台 | HTTP/REST | -| 发票开具统一接口 | 统一开票(对接SYS-008) | 营收业务系统 | HTTP/REST | -| 统一支付接口 | 实时支付/退款(对接SYS-009) | 营收业务系统 | HTTP/REST | -| 银行代扣接口 | 代扣送盘/回盘(对接SYS-009) | 营收业务系统 | HTTP/REST/SFTP | -| 发票开具统一接口 | 统一开票(对接SYS-008) | 营收业务系统 | HTTP/REST | +| 客户服务网关接口 | 面向微网厅/APP/客服前台 | 微网厅/手机抄表APP/客服前台 | HTTP/REST | **手机抄表APP对外接口** @@ -902,7 +1020,7 @@ graph TB | 微信授权接口 | 处理微信用户授权登录 | 微信平台 | HTTP/REST | | 账户绑定接口 | 处理用户账户绑定 | 微信客户端 | HTTP/REST | | 账单查询接口 | 查询客户账单信息 | 微信客户端 | HTTP/REST | -| 缴费处理接口 | 处理在线缴费业务(经SYS-010) | 微信客户端 | HTTP/REST | +| 缴费处理接口 | 处理在线缴费业务(经SYS-009) | 微信客户端 | HTTP/REST | | 业务申请接口 | 处理各类业务申请 | 微信客户端 | HTTP/REST | | 电子发票查看接口 | 发票查看/下载 | 微信客户端 | HTTP/REST | @@ -923,36 +1041,42 @@ graph TB | 领用出库接口 | 支持换表/施工领用 | 工单 | HTTP/REST | | 档案查询接口 | 查询设备档案 | 营收/工单 | HTTP/REST | -**报装业务系统对外接口** -**发票服务子系统对外接口** - -| 接口名称 | 接口描述 | 调用方 | 接口协议 | -|---------|----------|--------|-----------| -| 统一开票接口 | 统一受理开票(蓝票) | 营收业务系统 | HTTP/REST | -| 发票作废接口 | 作废/红冲申请 | 营收业务系统 | HTTP/REST | -| 发票查询接口 | 查询发票状态/链接 | 营收/微网厅 | HTTP/REST | -| 供应商路由接口 | 供应商选择与路由(航天/博思/…) | 发票适配器 | 内部SPI | - -**银行对接子系统对外接口(SYS-009)** - -| 接口名称 | 接口描述 | 调用方 | 接口协议 | -|---------|----------|--------|-----------| -| 代扣送盘接口 | 代扣文件送盘 | 营收系统 | SFTP/HTTP | -| 代扣回盘接口 | 回盘解析与状态回填 | 营收系统 | SFTP/HTTP | -| 对账文件接口 | 银行对账文件处理 | 营收系统 | SFTP | - -**第三方支付子系统对外接口(SYS-010)** - -| 接口名称 | 接口描述 | 调用方 | 接口协议 | -|---------|----------|--------|-----------| -| 统一支付接口 | 聚合支付下单/关闭/退款 | 营收/微网厅 | HTTP/REST | -| 支付结果回调接口 | 渠道回调签名校验与结果入账 | 微网厅/营收 | HTTP/REST | +**报装业务系统对外接口(SYS-007)** | 接口名称 | 接口描述 | 调用方 | 接口协议 | |---------|----------|--------|-----------| | 报装申请接口 | 提交报装信息与材料 | 微网厅/营收 | HTTP/REST | | 派工对接接口 | 报装派单与回填 | 工单系统 | HTTP/REST | | 竣工归档接口 | 归档竣工资料 | 营收/档案 | HTTP/REST | +| 签章回执接口 | 接收CA签章/验章回执 | CA电子签章 | HTTP/REST | + +**发票服务子系统对外接口** + +| 接口名称 | 接口描述 | 调用方 | 接口协议 | +|---------|----------|--------|-----------| +| 统一开票接口 | 统一受理开票(蓝票) | 营收业务系统 | HTTP/REST | +| 发票作废接口 | 作废/红冲申请 | 营收业务系统 | HTTP/REST | +| 发票查询接口 | 查询状态、下载链接 | 营收/微网厅 | HTTP/REST | +| 供应商路由接口 | 供应商选择与路由(航天/博思/…) | 发票适配器 | 内部SPI | + +**支付与银行结算子系统对外接口(SYS-009)** + +| 接口名称 | 接口描述 | 调用方 | 接口协议 | +|---------|----------|--------|-----------| +| 统一支付下单接口 | JSAPI/扫码/APP下单 | 营收/微网厅 | HTTP/REST | +| 统一关单接口 | 订单关闭/撤销 | 营收/微网厅 | HTTP/REST | +| 统一退款接口 | 原路/部分退款 | 营收/微网厅 | HTTP/REST | +| 支付回调接口 | 渠道回调验签入账 | 微网厅/营收 | HTTP/REST | +| 批量代扣送盘接口 | 代扣文件送盘 | 营收系统 | SFTP/HTTP | +| 批量代扣回盘接口 | 回盘解析/状态回填 | 营收系统 | SFTP/HTTP | +| 批量对账文件接口 | 银行对账文件处理 | 营收系统 | SFTP | + +**消息服务子系统对外接口(SYS-010)** + +| 接口名称 | 接口描述 | 调用方 | 接口协议 | +|---------|----------|--------|-----------| +| 消息推送接口 | 发送短信/邮件/推送(模板+变量) | 各业务系统 | HTTP/REST | +| 消息接收接口 | 接收下行回执/状态 | 各业务系统 | HTTP/REST | # 子系统1设计: 统一平台 @@ -1120,6 +1244,7 @@ graph TB ``` **功能群说明:** + - 用户管理模块负责用户基本信息维护 - 角色管理模块定义系统角色和权限 - 菜单管理模块配置系统功能菜单 @@ -1211,6 +1336,7 @@ graph TB 营收业务系统包含两大核心模块群,实现水务企业营收业务闭环: #### 营收核心模块群 + - **客户资料管理**:客户档案建立、信息维护、分组管理 - **抄表开账**:抄表数据录入、复核确认、自动开账 - **营业收费**:柜台收费、移动收费、在线缴费 @@ -1218,9 +1344,11 @@ graph TB - **发票管理**:发票开具、查询、重开、作废 - **催缴管理**:欠费统计、催缴通知、停水管理 - **统计分析**:多维度数据统计和报表分析 -- **代收业务**:银行代扣、第三方支付等代收渠道 +- **代收业务**:银行代扣、聚合支付等代收渠道 +- **业务配置**:业务参数配置 #### 客户服务模块群 + - **账户绑定管理**:微信/支付宝账户绑定和管理 - **信息查询服务**:账单查询、用水历史、缴费记录等 - **在线缴费服务**:多渠道在线缴费服务 @@ -1295,7 +1423,7 @@ graph TB end subgraph "业务服务层 - Business Service Layer" - subgraph " 营收核心模块群 REV-001~008" + subgraph " 营收核心模块群 REV-001~009" subgraph "核心业务流程" B1[REV-001
客户管理服务
客户基础] B2[REV-002
抄表开账服务
业务源头] @@ -1308,6 +1436,7 @@ graph TB B6[REV-006
催缴管理服务
收益保障] B7[REV-007
统计分析服务
决策支持] B8[REV-008
代收业务服务
渠道扩展] + B9[REV-009
业务参数配置
基础配置] end end @@ -1336,7 +1465,7 @@ graph TB D2[Redis分布式缓存
Distributed Cache
高速缓存] D3[MinIO文件存储
Distributed File Storage
文件管理] D4[RabbitMQ消息队列
Message Queue
异步通信] - D5[第三方支付网关
Payment Gateway
支付集成] + D5[支付与结算服务(SYS-009)
Payment & Settlement
聚合支付/代扣/对账] D6[Flowable工作流引擎
Workflow Engine
流程引擎] end @@ -1402,7 +1531,7 @@ graph TB classDef external fill:#e0f2f1,stroke:#00695c,stroke-width:2px %% 应用样式 - class B1,B2,B3,B4,B5,B6,B7,B8 coreModule + class B1,B2,B3,B4,B5,B6,B7,B8,B9 coreModule class B9,B91,B92,B93,B94 workorderModule class C1,C2,C3,C4,C5 coreDomain class C6,C61,C62,C63 workorderDomain @@ -1429,7 +1558,8 @@ graph TB | **REV-005** | **发票管理** | 发票开具、查询管理、电子发票 | 自行开发 | 财务合规 | | **REV-006** | **催缴管理** | 欠费催缴、短信通知、停水管理 | 自行开发 | 收益保障 | | **REV-007** | **统计分析** | 多维度数据统计和报表分析功能 | 自行开发 | 决策支持 | -| **REV-008** | **代收业务** | 集成银行、第三方支付等代收渠道 | 自行开发 | 服务便民 | +| **REV-008** | **代收业务** | 集成银行渠道与聚合支付等代收方式 | 自行开发 | 服务便民 | +| **REV-009** | **业务参数配置** | 业务参数配置、参数管理 | 自行开发 | 核心基础 | #### 客户服务模块群 @@ -1437,6 +1567,16 @@ graph TB - 账户绑定管理、信息查询服务、在线缴费服务、电子发票服务、营业网点服务、业务办理服务 +| 模块编号 | 模块名称(标识) | 功能描述 | 开发方式 | 业务重要性 | +|---|---|---|---|---| +| CS-001 | 账户绑定管理 | 微信/支付宝账户绑定与解绑、多账户管理 | 自行开发 | 对外入口 | +| CS-002 | 信息查询服务 | 账单查询、用水历史、缴费记录、停水公告 | 自行开发 | 核心服务 | +| CS-003 | 在线缴费服务 | 快捷缴费、充值、代缴、结果查询(经SYS-009) | 自行开发 | 核心服务 | +| CS-004 | 电子发票服务 | 发票查看、推送、下载(经SYS-008) | 自行开发 | 财务合规 | +| CS-005 | 营业网点服务 | 网点查询、地图导航、预约(可选) | 自行开发 | 支撑服务 | +| CS-006 | 业务办理服务 | 联系方式/开票方式变更、更名过户、低保、换表、自主抄表等 | 自行开发 | 对外办理 | +| CS-007 | 柜面扫码支付 | 柜台二维码收款、票据关联、结果回传(经SYS-009) | 自行开发 | 线下支付 | + ### 模块间关系 营收系统的两大模块群既相对独立又紧密协作,形成完整的业务生态系统。 @@ -1457,6 +1597,7 @@ graph TD F[REV-006
催缴管理
] G[REV-007
统计分析
] H[REV-008
代收业务
] + I[REV-009
业务参数配置
] end end @@ -1470,49 +1611,49 @@ graph TD C -.->|收费数据| G D -.->|账务数据| G H -.->|代收记录| C + I -.->|水价/参数| B + I -.->|打印/税率/参数| E + I -.->|收费参数| C %% 样式 classDef coreFlow fill:#e3f2fd,stroke:#1976d2,stroke-width:2px classDef supportFlow fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px class A,B,C,D,E coreFlow - class F,G,H supportFlow + class F,G,H,I supportFlow ``` #### 模块群间协作关系 -#### 模块群间协作关系 +#### 模块群间协作关系 两大模块群通过标准化接口进行协作,实现业务闭环: ```mermaid graph TB - subgraph "营收核心模块群" - CORE[REV-001~008
营收核心业务
] + subgraph "营收核心模块群 REV-001~009" + CORE[REV-001~009
客户/抄表/收费/账务/发票/催缴/统计/代收/参数] end - %% 工单管理已独立为SYS-005 - - subgraph "外部系统" - APP[手机抄表APP
] - WEB[微网厅系统
] - METER[表务系统
] + subgraph "客户服务模块群 CS-001~007" + CS[CS-001~007
账户绑定/查询/在线缴费/电子发票/网点/办理/柜面扫码] end - %% 营收核心触发工单 - %% 工单由SYS-005统一管理 + subgraph "工单管理系统(SYS-005)" + WO[统一工单中心] + end - %% 外部系统工单交互 - %% 由SYS-005承担跨系统工单派发和回填 + CORE <-->|标准API| CS + CORE -.->|业务异常/流程触发| WO + CS -.->|客户申请/服务工单| WO - %% 样式 classDef coreGroup fill:#e1f5fe,stroke:#0277bd,stroke-width:3px + classDef csGroup fill:#e8f5e8,stroke:#388e3c,stroke-width:3px classDef workorderGroup fill:#f3e5f5,stroke:#7b1fa2,stroke-width:3px - classDef externalSystem fill:#e8f5e8,stroke:#388e3c,stroke-width:2px class CORE coreGroup + class CS csGroup class WO workorderGroup - class APP,WEB,METER externalSystem ``` ### 模块描述 @@ -1691,7 +1832,7 @@ flowchart TD L -->|POS机| N[刷卡收费] L -->|扫码| O[扫码支付] - G --> P[第三方支付确认] + G --> P[渠道支付确认] H --> Q[银行扣费确认] M --> R[收费确认] N --> R @@ -1743,7 +1884,7 @@ flowchart TD **实现说明:** -- 本模块通过调用`SYS-008 发票服务子系统`的“统一开票接口/作废红冲接口/发票查询接口”实现具体的开票与回执处理,营收系统不直接对接供应商。 +- 本模块通过调用`SYS-008 发票服务子系统`的"统一开票接口/作废红冲接口/发票查询接口"实现具体的开票与回执处理,营收系统不直接对接供应商。 #### 模块6: 催缴管理 @@ -1777,12 +1918,12 @@ flowchart TD **功能概述:** -集成银行、第三方支付等代收渠道,方便客户缴费。 +集成银行渠道与聚合支付等代收方式,方便客户缴费。 **核心功能:** - **银行代扣**: 与银行签订协议,实现自动批量扣费。 -- **第三方支付**: 集成微信、支付宝等支付网关。 +- **聚合支付**: 集成微信、支付宝等支付网关。 - **对账管理**: 定期与各渠道进行账务核对。 - **实时收费**: 渠道实时缴费处理(对接SYS-009)。 - **银行托收**: 托收文件处理与状态跟踪(对接SYS-009)。 @@ -1800,12 +1941,6 @@ flowchart TD - 价格体系:水价归属、费用组成、水价调整、调价历史、优惠方案、用水方案 - 基本配置:打印维护、自定义列、日志管理、水司账户、发票税率、银行信息、抄表状态、词语信息、参数配置 -**备注:** 原“工程管理(工程申请/查询)”能力已并入`SYS-007 报装业务系统`统一承载。 - -#### 客户服务模块群补充说明 - -客户服务模块群继续作为营收系统对外服务的统一入口,承接微网厅与第三方渠道的服务流量;涉及现场执行部分由SYS-005工单管理系统承接。 - # 子系统3设计: 手机抄表APP ## 任务概述 @@ -1931,21 +2066,27 @@ graph TD ### 模块描述 #### 模块1: 登录认证 + - 机构编号+账号登录、Token续期、离线授权缓存 #### 模块2: 首页搜索 + - 客户/地址/册本搜索、最近搜索、快捷入口 #### 模块3: 采集任务管理 + - 批量下载、单户采集、读数规则校验、异常标注 #### 模块4: 现场上报 + - 异常上报、图片与定位采集,提交至SYS-005工单系统 #### 模块5: 个人与设置 + - 个人信息、偏好、缓存清理、日志上传 #### 模块6: 数据同步 + - 增量任务同步、离线包上传、断点续传与冲突解决 # 子系统4设计: 微网厅系统 @@ -1959,18 +2100,21 @@ graph TD ### 总体约束 **技术约束**: + - 基于微信公众号开发框架 - 遵循微信开发规范和接口限制 - 采用响应式设计,适配不同移动设备 - 支持微信支付集成 **安全约束**: + - 严格的用户身份验证机制 - 敏感数据加密传输和存储 - 符合微信平台安全规范 - 防范常见Web安全威胁 **业务约束**: + - 必须与营收业务系统实时数据同步 - 支持多账户绑定管理 - 提供完整的业务流程闭环 @@ -1978,12 +2122,14 @@ graph TD ### 子系统外部接口 **与微信平台接口**: + - 微信授权登录接口 - 微信支付接口 - 微信模板消息接口 - 微信JS-SDK接口 **与营收业务系统接口**: + - 客户信息查询接口 - 账单信息查询接口 - 缴费处理接口 @@ -1999,7 +2145,6 @@ graph TD graph TB subgraph "微信平台" WeChat[微信公众号] - WePay[微信支付] WeMsg[微信消息] end @@ -2023,7 +2168,7 @@ graph TB Backend --> Billing Backend --> Payment Backend --> Service - WePay --> Backend + Backend -.->|支付调用| PAY_SYS[支付与结算(SYS-009)] Backend --> WeMsg ``` @@ -2065,6 +2210,7 @@ graph TD **功能职责**:处理微信用户与水务账户的绑定关系管理 **主要功能**: + - 微信授权登录 - 账户搜索与验证 - 账户绑定与解绑 @@ -2072,6 +2218,7 @@ graph TD - 绑定状态维护 **关键流程**: + ```mermaid sequenceDiagram participant User as 微信用户 @@ -2093,15 +2240,17 @@ sequenceDiagram **功能职责**:为用户提供各类信息查询功能 **主要功能**: + - 当前账单查询 - 历史账单查询 - 用水量历史统计 - 缴费记录查询 - 停水公告查看 - 账户基本信息查看 - - 账户流水:缴费流水、付费汇总、导出 +- 账户流水:缴费流水、付费汇总、导出 **接口依赖**: + - 营收业务系统客户信息接口 - 营收业务系统账务信息接口 - 营收业务系统公告管理接口 @@ -2111,27 +2260,31 @@ sequenceDiagram **功能职责**:提供便捷的在线缴费功能 **主要功能**: + - 快捷缴费(微信支付) - 充值缴费 - 代缴功能 - 缴费确认 - 缴费结果查询 - - 退款/失败处理引导 +- 退款/失败处理引导 **支付流程**: + ```mermaid sequenceDiagram participant User as 用户 participant WeHall as 微网厅 - participant WePay as 微信支付 + participant PAY as SYS-009 支付与结算 participant Business as 营收业务系统 User->>WeHall: 选择账单缴费 WeHall->>Business: 获取账单信息 User->>WeHall: 确认缴费 - WeHall->>WePay: 调起微信支付 - WePay-->>WeHall: 支付结果回调 - WeHall->>Business: 更新缴费状态 + WeHall->>PAY: 下单(JSAPI) + PAY-->>WeHall: 下单应答/调起参数 + note over WeHall: 前端调起微信/支付宝SDK + PAY-->>Business: 支付结果回调(验签/防重放) + Business-->>WeHall: 缴费状态更新 WeHall-->>User: 缴费成功通知 ``` @@ -2140,6 +2293,7 @@ sequenceDiagram **功能职责**:电子发票的查看和管理 **主要功能**: + - 电子发票查看 - 发票信息推送 - 发票下载 @@ -2150,18 +2304,20 @@ sequenceDiagram **功能职责**:营业网点信息服务 **主要功能**: + - 网点地址查询 - 地图导航 - 距离计算 - 营业时间查看 - 联系方式查看 - - 预约/排队叫号/预约提醒(如启用) +- 预约/排队叫号/预约提醒(如启用) #### 模块6: 业务办理服务 **功能职责**:各类业务的在线办理 **主要功能**: + - 联系方式变更 - 开票方式变更 - 更名过户申请 @@ -2169,13 +2325,14 @@ sequenceDiagram - 低保申请 - 换表申请 - 自主抄表上报 - - 业务进度查询与消息通知 +- 业务进度查询与消息通知 #### 模块7: 账户流水 **功能职责**:展示绑定客户的历史缴费流水与汇总。 **主要功能**: + - 流水列表、筛选与导出 - 账期/渠道统计汇总 @@ -2184,12 +2341,14 @@ sequenceDiagram **功能职责**:管理微信账号下的绑定客户与机构切换。 **主要功能**: + - 切换用水机构 - 添加/解绑绑定客户 - 设置默认客户 - 查看客户详情 **业务办理流程**: + ```mermaid flowchart TD Start([用户发起业务申请]) --> Select[选择业务类型] @@ -2211,16 +2370,19 @@ flowchart TD ### 微信平台集成 **微信授权机制**: + - OAuth2.0授权流程 - 静默授权与用户授权 - Token管理与刷新 **微信支付集成**: + - JSAPI支付 - 支付结果处理 - 退款处理 **微信消息推送**: + - 模板消息推送 - 业务状态通知 - 服务提醒 @@ -2228,11 +2390,13 @@ flowchart TD ### 响应式设计 **多设备适配**: + - 移动端优先设计 - 响应式布局 - 触摸友好的交互设计 **性能优化**: + - 页面加载优化 - 图片压缩与懒加载 - 缓存策略 @@ -2240,11 +2404,13 @@ flowchart TD ### 安全保障 **数据安全**: + - HTTPS加密传输 - 敏感数据脱敏 - 访问权限控制 **防护机制**: + - 防止重复提交 - 接口限流 - 异常访问监控 @@ -2265,7 +2431,7 @@ flowchart TD - ### 设计方案概述 -- 架构采用“工单中心 + 流程编排 + 监控预警 + 绩效统计”的分层设计,提供统一API网关对接各业务系统,并通过可配置流程实现多类型工单的快速上线。 +- 架构采用"工单中心 + 流程编排 + 监控预警 + 绩效统计"的分层设计,提供统一API网关对接各业务系统,并通过可配置流程实现多类型工单的快速上线。 ### 子系统外部接口 @@ -2344,7 +2510,7 @@ graph TD ### 设计方案概述 -- 以“基础参数-仓库库存-设备档案”三层模型实现资产全生命周期管理;通过与工单系统联动完成领用/回填闭环,支持库存预警与追溯。 +- 以"基础参数-仓库库存-设备档案"三层模型实现资产全生命周期管理;通过与工单系统联动完成领用/回填闭环,支持库存预警与追溯。 ### 子系统外部接口 @@ -2401,6 +2567,7 @@ graph TD ### 设计方案概述 - 采用阶段性里程碑管控(申请-踏勘-施工-验收-通水),以工单驱动现场作业,形成资料全流程留痕与竣工归档。 +- 资料签章对接:与外部CA电子签章系统对接,完成报装申请材料、施工/验收文书的签署、验章与存证,签章回执异步回传。 ### 子系统外部接口 @@ -2409,6 +2576,7 @@ graph TD | INST-001 | 报装申请接口 | 提交报装信息与材料 | 微网厅/营收 | | INST-002 | 派工对接接口 | 报装派单与回填 | 工单系统 | | INST-003 | 竣工归档接口 | 归档竣工资料 | 营收/档案 | +| INST-004 | 签章回执接口 | 接收CA签章/验章回执 | CA电子签章 | ### 子系统架构设计 @@ -2426,6 +2594,8 @@ graph TB APPLY -.-> SURVEY -.-> BUILD -.-> ACCEPT -.-> ARCH INST_WO[工单系统] -.->|派工/回填| SURVEY INST_WO -.->|派工/回填| BUILD + CA[CA电子签章] + ARCH -.->|签章/验章/存证| CA ``` ### 模块定义 @@ -2440,7 +2610,7 @@ graph TB ## 任务概述 -发票服务子系统(SYS-008)定位为“基础服务层”的统一开票能力中心,通过统一开票网关与供应商适配器屏蔽不同厂商差异,当前优先对接“航天信息”,预留“博思”等供应商接入能力。 +发票服务子系统(SYS-008)定位为"基础服务层"的统一开票能力中心,通过统一开票网关与供应商适配器屏蔽不同厂商差异,当前优先对接"航天信息",预留"博思"等供应商接入能力。 ## 设计概述 @@ -2452,7 +2622,7 @@ graph TB ### 设计方案概述 -- 架构采用“统一开票网关 + 供应商适配器 + 回执处理/存证”的三层模型;对上通过REST接口供营收业务与微网厅调用,对下通过供应商SDK/HTTP对接航天(现阶段)与其他供应商。 +- 架构采用"统一开票网关 + 供应商适配器 + 回执处理/存证"的三层模型;对上通过REST接口供营收业务与微网厅调用,对下通过供应商SDK/HTTP对接航天(现阶段)与其他供应商。 ### 子系统外部接口 @@ -2514,6 +2684,7 @@ graph TD - INV-ADP 供应商适配器:对接航天SDK/HTTP,字段映射、签名/验签、错误码转换;预留博思等扩展点。 - INV-RCPT 回执处理:状态回填、失败重试(指数退避)、超时告警、与微网厅消息联动。 - INV-EVID 存证与签章:存储PDF/票根JSON、签章、下载链接生成,审计日志与合规留痕。 + ### 模块间关系 ```mermaid @@ -2528,54 +2699,71 @@ graph TD - INST-PROJ 工程管理:计划排程、资源与材料、质量与安全检查、进度监控。 - INST-ARCH 档案管理:资料采集、签署与留痕、竣工档案归档与查询。 -# 子系统9设计: 银行对接子系统 +# 子系统9设计: 支付与银行结算子系统 ## 任务概述 -银行对接子系统(SYS-009)统一承载银行代扣(送盘/回盘)、对账文件处理与安全加解密/签名能力,为营收系统提供标准化、可扩展、合规可观测的银行侧对接能力。 +支付与银行结算子系统(SYS-009)统一承载聚合支付/退款、渠道适配(微信/支付宝/银联聚合)、支付回调验签入账,以及银行代扣(送盘/回盘)、对账文件处理与安全加解密/签名,向上对营收/微网厅等系统提供标准化支付与结算能力。 ## 设计概述 ### 总体约束 -- 银行渠道统一:支持各银行代扣统一接入 -- 安全合规:SM2/SM4/3DES等算法,加解密/签名/验签;支持GBK/UTF-8编码要求 -- 高可用与可观测:失败重试、限流熔断、事务保障、链路追踪与告警 +- 多渠道聚合:统一接入微信/支付宝/银联聚合 +- 统一结算:批量代扣送回盘、批量对账文件处理、差异对齐 +- 安全合规:签名/验签、加解密、回调防重放、幂等 +- 高可用:限流熔断、重试补偿、灰度发布 ### 设计方案概述 -- 采用“代扣网关 + 银行适配器 + 对账处理 + 加解密/签名”的分层模型;对上提供REST接口,对下通过HTTP/SFTP/SDK与银行系统对接。 +- 采用"统一支付与结算网关 + 渠道/银行适配器 + 回调处理 + 对账处理 + 加解密/签名"的分层;对上REST接口,对下渠道SDK/HTTP与银行HTTP/SFTP对接。 -### 子系统外部接口 +### 子系统外部接口(SYS-009) | 接口编号 | 接口名称 | 功能描述 | 调用方 | |---|---|---|---| -| PAY-002 | 代扣送盘接口 | 代扣文件送盘 | 营收系统 | -| PAY-003 | 代扣回盘接口 | 回盘解析/状态回填 | 营收系统 | -| PAY-004 | 对账文件接口 | 银行对账文件处理 | 营收系统 | +| PAY-001 | 统一支付下单接口 | JSAPI/扫码/APP下单 | 营收/微网厅 | +| PAY-002 | 统一关单接口 | 订单关闭/撤销 | 营收/微网厅 | +| PAY-003 | 统一退款接口 | 原路/部分退款 | 营收/微网厅 | +| PAY-004 | 支付回调接口 | 渠道回调验签入账 | 微网厅/营收 | +| PAY-005 | 批量代扣送盘接口 | 代扣文件送盘 | 营收系统 | +| PAY-006 | 批量代扣回盘接口 | 回盘解析/状态回填 | 营收系统 | +| PAY-007 | 批量对账文件接口 | 银行对账文件处理 | 营收系统 | ## 子系统架构设计 ```mermaid graph TB - subgraph "银行对接子系统" - GW[代扣网关] + subgraph "支付与银行结算子系统" + GW[统一支付与结算网关] + ADP_CH[渠道适配器] ADP_BANK[银行适配器] + CB[回调处理] RECON[对账处理] CRYPTO[加解密/签名] end subgraph "上游系统" REV[营收业务系统] + WECHAT[微网厅] end subgraph "外部机构" + WX[微信] + ALI[支付宝] + UPG[银联聚合] BANK[银行] end - REV -.->|PAY-002/003/004| GW + REV -.->|PAY-001/002/003/005/006/007| GW + WECHAT -.->|下单/查询| GW + GW --> ADP_CH --> WX + ADP_CH --> ALI + ADP_CH --> UPG GW --> ADP_BANK --> BANK - ADP_BANK -.-> PSP + WX -.-> CB + ALI -.-> CB + UPG -.-> CB ADP_BANK -.-> RECON GW -.-> CRYPTO ``` @@ -2584,110 +2772,155 @@ graph TB | 模块编号 | 模块名称 | 功能描述 | |---|---|---| -| PAY-GW | 代扣网关 | 统一鉴权、参数校验、路由与限流、幂等控制 | -| PAY-ADP | 银行适配器 | 对接银行协议、字段映射、错误码转换、编码/文件规范适配 | -| PAY-RECON | 对账处理 | 对账文件接收/解析、差错处理、账务回填、对账报告 | -| PAY-CRYPTO | 加解密/签名 | SM2/SM4/3DES等算法实现与密钥管理、签名/验签 | +| PAY-GW | 统一支付与结算网关 | 鉴权、参数校验、幂等、路由与限流、灰度 | +| PAY-ADP-CH | 渠道适配器 | 渠道参数映射、签名/验签、错误码转换 | +| PAY-ADP-BANK | 银行适配器 | 协议/文件规范适配、编码转换、SFTP/HTTP | +| PAY-CB | 回调处理 | 回调验签、订单入账、补偿重试 | +| PAY-RECON | 批量对账处理 | 对账接收/解析、差错处理、账务回填、报告 | +| PAY-CRYPTO | 加解密/签名 | SM2/SM4/3DES等算法、密钥管理 | ### 模块间关系 ```mermaid graph TD - PAY-GW --> PAY-ADP --> PAY-RECON - PAY-GW -.-> PAY-CRYPTO + PAY-GW --> PAY-ADP-CH --> PAY-ADP-BANK --> PAY-CB --> PAY-RECON --> PAY-CRYPTO + PAY-ADP-CH -.-> PAY-GW + PAY-ADP-BANK -.-> PAY-GW + PAY-CB -.-> PAY-GW + PAY-RECON -.-> PAY-GW + PAY-CRYPTO -.-> PAY-GW ``` ### 模块描述 - PAY-GW 统一支付/代扣网关:统一鉴权、字段校验、限流熔断、幂等键与重放保护、灰度路由。 -- PAY-ADP 银行适配器:对接银行与第三方支付协议,签名/验签、编码转换(GBK/UTF-8)、SFTP/HTTP文件交互、错误码映射。 +- PAY-ADP-CH 渠道适配器:对接微信/支付宝/银联参数与签名规范适配、错误码转换。 +- PAY-ADP-BANK 银行适配器:对接银行与第三方支付协议,签名/验签、编码转换(GBK/UTF-8)、SFTP/HTTP文件交互、错误码映射。 +- PAY-CB 回调处理:回调验签、状态对齐、失败重试与告警。 - PAY-RECON 对账处理:定时拉取/解析对账文件、差异识别、冲正/补记建议、对账报告生成、追踪链路与告警。 - PAY-CRYPTO 加解密/签名:国密/商密算法、密钥轮换、硬件加密机对接(可选)。 -# 子系统10设计: 第三方支付子系统 +# 子系统10设计: 消息服务子系统 ## 任务概述 -第三方支付子系统(SYS-010)提供统一的聚合支付/退款能力,屏蔽微信、支付宝、银联聚合等渠道差异,向上游系统提供标准化下单、关单、退款与回调验签能力。 +消息服务子系统(SYS-010)负责统一消息推送、接收与处理,为各业务子系统提供消息通知服务。 + +**设计目标:** + +- 实现消息的统一推送与接收 +- 支持多种消息格式和推送方式 +- 确保消息的及时性和可靠性 + +**功能范围:** + +- **消息推送**:根据业务需求,向不同用户发送消息通知 +- **消息接收**:接收来自各业务系统的消息请求 +- **消息处理**:处理消息通知,生成响应结果 ## 设计概述 ### 总体约束 -- 多渠道聚合:微信/支付宝/银联聚合等统一接入 -- 安全合规:签名/验签、回调防重放、幂等 -- 高可用:限流熔断、重试补偿、灰度发布 +**技术约束:** -### 设计方案概述 +- 基于消息队列技术实现消息的异步处理 +- 支持多种消息格式(如JSON、XML等) +- 实现消息的可靠传输和幂等处理 -- 采用“聚合支付网关 + 渠道适配器 + 回调处理 + 对账对齐(可选)”分层;对上REST接口,对下各渠道SDK/HTTP对接。 +**性能约束:** + +- 支持高并发消息处理 +- 消息处理响应时间≤1秒 +- 消息队列容量≥100万条 + +**安全约束:** + +- 消息加密存储 +- 消息传输安全 +- 消息处理日志记录 ### 子系统外部接口 -| 接口编号 | 接口名称 | 功能描述 | 调用方 | -|---|---|---|---| -| TP-001 | 统一支付下单接口 | JSAPI/扫码/APP下单 | 营收/微网厅 | -| TP-002 | 统一关单接口 | 订单关闭/撤销 | 营收/微网厅 | -| TP-003 | 统一退款接口 | 原路/部分退款 | 营收/微网厅 | -| TP-004 | 支付回调接口 | 渠道回调验签入账 | 微网厅/营收 | +| 接口编号 | 接口名称 | 功能描述 | 接口协议 | 输入参数 | 输出结果 | +|---|---|---|---|---|---| +| MSG-001 | 消息推送接口 | 发送消息通知 | HTTP/REST | 消息内容、接收用户 | 推送结果 | +| MSG-002 | 消息接收接口 | 接收消息请求 | HTTP/REST | 消息类型、接收用户 | 处理结果 | + +### 设计方案概述 + +**架构设计:** + +消息服务子系统采用消息队列技术实现消息的异步处理。通过RabbitMQ实现消息的可靠传输和幂等处理。 + +**技术选型:** + +- **消息队列**:RabbitMQ +- **消息格式**:JSON +- **消息加密**:AES-256 +- **消息传输**:HTTPS ## 子系统架构设计 ```mermaid graph TB - subgraph "第三方支付子系统" - GW[聚合支付网关] - ADP[渠道适配器] - CB[回调处理] - end + subgraph "消息服务子系统" + PUB[消息推送] + SUB[消息接收] + MQ[RabbitMQ] + end - subgraph "上游系统" - REV[营收业务系统] - WECHAT[微网厅] - end - - subgraph "支付渠道" - WX[微信] - ALI[支付宝] - UPG[银联聚合] - end - - REV -.->|TP-001/002/003| GW - WECHAT -.->|下单/查询| GW - GW --> ADP --> WX - ADP --> ALI - ADP --> UPG - WX -.-> CB - ALI -.-> CB - UPG -.-> CB + PUB --> MQ + SUB --> MQ ``` ## 模块定义 +### 模块列表 + | 模块编号 | 模块名称 | 功能描述 | |---|---|---| -| TP-GW | 聚合支付网关 | 鉴权、参数校验、幂等、路由与限流 | -| TP-ADP | 渠道适配器 | 渠道参数映射、签名/验签、错误码转换 | -| TP-CB | 回调处理 | 回调验签、订单入账、补偿重试 | +| MSG-PUB | 消息推送模块 | 发送消息通知 | +| MSG-SUB | 消息接收模块 | 接收消息请求 | ### 模块间关系 ```mermaid graph TD - TP-GW --> TP-ADP --> TP-CB - TP-CB -.-> TP-GW + MSG-PUB --> MSG-SUB ``` ### 模块描述 -- TP-GW 聚合支付网关:幂等键、重放保护、限流熔断、灰度路由。 -- TP-ADP 渠道适配器:微信/支付宝/银联参数与签名规范适配、错误码转换。 -- TP-CB 回调处理:回调验签、状态对齐、失败重试与告警。 +#### 模块1: 消息推送 + +**功能描述:** + +消息推送模块根据业务需求,向不同用户发送消息通知。 + +**主要功能:** + +1. **消息内容**:消息内容格式化 +2. **接收用户**:根据用户ID或角色发送消息 +3. **消息格式**:支持多种消息格式(如JSON、XML等) +4. **消息加密**:AES-256加密 +5. **消息传输**:HTTPS安全传输 + +#### 模块2: 消息接收 + +**功能描述:** + +消息接收模块接收来自各业务系统的消息请求,并进行处理。 + +**主要功能**: + +1. **消息类型**:根据消息类型进行处理 +2. **接收用户**:根据用户ID或角色接收消息 +3. **消息格式**:支持多种消息格式(如JSON、XML等) +4. **消息处理**:生成响应结果 # 非功能性需求的设计 - - ## 性能的考虑 **设计目标:** @@ -2713,7 +2946,6 @@ graph TD - 资源利用率:CPU、内存、磁盘使用率监控 - 用户体验监控:页面加载时间、操作成功率 - ## 兼容性的考虑 **设计目标:** @@ -2760,6 +2992,7 @@ graph TD - **加密算法**:AES-256、RSA-2048、SHA-256 - **访问控制**:IP白名单、时间窗口、频率限制 - **监控告警**:异常行为检测、实时告警通知 + ## 可移植性的考虑 **设计目标:** @@ -2783,197 +3016,6 @@ graph TD - **数据迁移**:数据导入导出工具、格式转换 - **监控适配**:多环境监控配置、告警策略 -3. **缴费管理** - - 缴费确认 - - 支付状态查询 - - 缴费失败处理 - - 退款申请 - -4. **支付安全** - - 支付限额控制 - - 支付密码验证 - - 异常交易监控 - - 资金安全保障 - -**业务流程图:** - -```mermaid -flowchart TD - A[客户选择缴费] --> B[选择缴费账户] - B --> C[查询待缴费账单] - C --> D{是否有欠费?} - D -->|是| E[显示欠费金额] - D -->|否| F[选择充值金额] - E --> G[选择支付方式] - F --> G - G --> H{支付方式} - H -->|微信支付| I[调用微信支付] - H -->|支付宝支付| J[调用支付宝支付] - H -->|银行卡支付| K[调用银行支付] - I --> L[支付确认] - J --> L - K --> L - L --> M{支付成功?} - M -->|是| N[更新账户状态] - M -->|否| O[支付失败处理] - N --> P[发送缴费成功通知] - O --> Q[重新支付或取消] - P --> R[结束] - Q --> G -``` - -**业务规则:** - -- 单次支付金额不超过5000元 -- 支付超时时间为15分钟 -- 支付失败自动退款 -- 支持部分缴费和全额缴费 - -#### 模块4: 电子发票服务 - -**功能描述:** - -电子发票服务模块提供电子发票的开具、查询、推送等全流程服务。 - -**核心功能:** - -1. **发票开具** - - 缴费后自动开票 - - 手动申请开票 - - 个人发票开具 - - 企业发票开具 - -2. **发票管理** - - 发票列表查看 - - 发票详情展示 - - 发票状态跟踪 - - 发票作废申请 - -3. **发票推送** - - 邮箱推送 - - -4. **发票下载** - - PDF格式下载 - - 图片格式保存 - - 批量下载 - -**业务规则:** - -- 发票开具时效为缴费后7天内 -- 电子发票与纸质发票具有同等法律效力 -- 发票信息一经开具不可修改 -- 支持发票红冲和重开 - -#### 模块5: 营业网点服务 - -**功能描述:** - -营业网点服务模块提供营业网点查询和导航服务,帮助客户就近办理业务。 - -**核心功能:** - -1. **网点查询** - - 按距离排序 - - 按区域筛选 - - 按服务类型筛选 - - 关键词搜索 - -2. **网点信息** - - 网点地址详情 - - 营业时间查询 - - 联系电话 - - 服务项目 - -3. **地图导航** - - 位置标注展示 - - 路线规划 - - 实时导航 - - 距离计算 - -4. **服务预约** - - 业务预约 - - 排队叫号 - - 预约提醒 - - 预约取消 - -**业务规则:** - -- 支持GPS定位和手动定位 -- 显示范围限制在50公里内 -- 实时更新营业状态 -- 支持收藏常用网点 - -#### 模块6: 业务办理服务 - -**功能描述:** - -业务办理服务模块提供各类水务业务的在线申请和办理功能。 - -**核心功能:** - -1. **业务申请** - - 联系方式变更 - - 开票方式变更 - - 更名过户业务 - - 一户多人口申请 - - 水价变更申请 - - 低保优惠申请 - - 换表维修申请 - - 自主抄表申请 - -2. **申请材料管理** - - 材料清单提示 - - 在线拍照上传 - - 文件格式转换 - - 材料完整性检查 - -3. **业务进度跟踪** - - 申请状态查询 - - 审批进度展示 - - 办理结果通知 - - 业务历史记录 - -4. **客服互动** - - 在线咨询 - - 业务指导 - - 问题反馈 - - 满意度评价 - -**业务流程图:** - -```mermaid -flowchart TD - A[客户选择业务类型] --> B[填写申请信息] - B --> C[上传申请材料] - C --> D{材料是否完整?} - D -->|否| E[提示补充材料] - E --> C - D -->|是| F[提交业务申请] - F --> G[系统自动审核] - G --> H{自动审核结果} - H -->|通过| I[进入人工审核] - H -->|不通过| J[申请驳回] - I --> K{人工审核结果} - K -->|通过| L[业务受理成功] - K -->|不通过| J - L --> M[安排现场处理] - M --> N[现场处理完成] - N --> O[业务办结] - O --> P[客户满意度评价] - J --> Q[通知客户重新申请] - P --> R[结束] - Q --> A -``` - -**业务规则:** - -- 业务申请需要实名认证 -- 上传材料单次最多9张 -- 支持的图片格式:JPG、PNG、PDF -- 申请提交后不可撤销 -- 办理时效按业务类型确定 - ## 关键技术特性 ### 微信平台集成 @@ -3081,7 +3123,7 @@ flowchart TD **平台无关性:** -- 基于Java 11+,支持跨平台部署 +- 基于Java 17+,支持跨平台部署 - 容器化部署,支持Docker/Kubernetes - 数据库抽象层,支持多种数据库 - 配置外部化,环境隔离 @@ -3170,4 +3212,3 @@ flowchart TD - 系统架构文档 - 运维操作手册 - 故障处理手册 - diff --git a/福建水务营收系统整体架构图.html b/福建水务营收系统整体架构图.html index 9c3a464..46306f4 100644 --- a/福建水务营收系统整体架构图.html +++ b/福建水务营收系统整体架构图.html @@ -364,7 +364,7 @@
客户服务模块群
-
账户绑定、信息查询、在线缴费
电子发票、营业网点、业务办理
+
账户绑定、信息查询、在线缴费、柜面扫码支付
电子发票、营业网点、业务办理
@@ -461,7 +461,7 @@
仓库与库存
-
入出库/盘点/调拨
库存预警
+
入出库/盘点/调拨
库存预警
全生命周期管理
设备档案
@@ -486,11 +486,11 @@
施工管理
-
进度/资源/质量/安全
过程留痕
+
进度/资源/质量/安全
过程留痕
节点灵活配置
验收通水/资料归档
-
竣工验收、通水
档案归档
+
竣工验收、通水
档案归档(CA签章/存证)
@@ -515,9 +515,17 @@
Flowable
业务流程管理
-
消息服务
+
消息队列
RabbitMQ
异步消息处理
+
+
注册/配置中心
+
统一配置/注册
服务发现
+
+
+
任务调度
+
定时任务
批处理调度
+
文件服务
MinIO
分布式文件存储
@@ -527,16 +535,12 @@
统一开票/作废/红冲
供应商适配/回执存证
-
银行对接子系统(SYS-009)
-
代扣送盘/回盘
对账处理/加解密
+
支付与银行结算子系统(SYS-009)
+
聚合支付/回调/退款
代扣送回盘/对账/加解密
-
第三方支付子系统(SYS-010)
-
聚合支付/退款
渠道适配/回调
-
-
-
通信服务
-
短信平台
消息推送
+
消息服务子系统(SYS-010)
+
统一短信/邮件/推送
模板与回执
@@ -589,6 +593,36 @@ +
+

🔗 关键系统集成关系

+
+
营收(SYS-002)
+
+
发票服务(SYS-008)
+
+
发票供应商
+
+
+
营收(SYS-002)
+
+
支付与银行结算(SYS-009)
+
+
银行/支付渠道
+
+
+
营收(SYS-002)
+
+
消息服务(SYS-010)
+
+
短信/邮件/推送
+
+
+
报装(SYS-007)
+
+
CA电子签章
+
+
+

🛠️ 核心技术栈

@@ -596,8 +630,8 @@

后端技术