From 694866eea0c9578d74c060333d78cafcac96804c Mon Sep 17 00:00:00 2001 From: tangweijie <877588133@qq.com> Date: Mon, 18 Aug 2025 16:53:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=A6=8F=E5=BB=BA=E6=B0=B4?= =?UTF-8?q?=E5=8A=A1=E8=90=A5=E6=94=B6=E7=B3=BB=E7=BB=9F=E6=A6=82=E8=A6=81?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E6=96=87=E6=A1=A3=EF=BC=8C=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E6=9E=B6=E6=9E=84=E8=B0=83=E6=95=B4=EF=BC=8C=E5=B0=86=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E3=80=81=E8=A1=A8=E5=8A=A1=E3=80=81=E6=8A=A5=E8=A3=85?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=89=A5=E7=A6=BB=E4=B8=BA=E7=8B=AC=E7=AB=8B?= =?UTF-8?q?=E5=AD=90=E7=B3=BB=E7=BB=9F=EF=BC=88SYS-005/006/007=EF=BC=89?= =?UTF-8?q?=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=8F=91=E7=A5=A8=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=AD=90=E7=B3=BB=E7=BB=9F=EF=BC=88SYS-008=EF=BC=89=E5=92=8C?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E4=B8=8E=E9=93=B6=E8=A1=8C=E5=AF=B9=E6=8E=A5?= =?UTF-8?q?=E5=AD=90=E7=B3=BB=E7=BB=9F=EF=BC=88SYS-009=EF=BC=89=EF=BC=8C?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=9B=AE=E5=BD=95=E3=80=81=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E8=8C=83=E5=9B=B4=E3=80=81=E5=AD=90=E7=B3=BB=E7=BB=9F=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=8F=8A=E6=8E=A5=E5=8F=A3=E5=AE=9A=E4=B9=89=EF=BC=8C?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=9B=B8=E5=85=B3=E7=AB=A0=E8=8A=82=E5=86=85?= =?UTF-8?q?=E5=AE=B9=EF=BC=8C=E6=8F=90=E5=8D=87=E6=96=87=E6=A1=A3=E7=9A=84?= =?UTF-8?q?=E5=AE=8C=E6=95=B4=E6=80=A7=E5=92=8C=E5=8F=AF=E8=AF=BB=E6=80=A7?= =?UTF-8?q?=EF=BC=8C=E7=AC=A6=E5=90=88=E7=94=B2=E6=96=B9A=E7=BA=A7?= =?UTF-8?q?=E4=BA=A4=E4=BB=98=E6=A0=87=E5=87=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../营收系统银行接口规范设计文档.md | 573 +++++++++ project_progress.md | 3 +- task_checklist.md | 19 +- 新-概要设计说明书.md | 1036 +++++++++++------ 4 files changed, 1240 insertions(+), 391 deletions(-) create mode 100644 parsed_docs_new/营收系统银行接口规范设计文档.md diff --git a/parsed_docs_new/营收系统银行接口规范设计文档.md b/parsed_docs_new/营收系统银行接口规范设计文档.md new file mode 100644 index 0000000..c76a243 --- /dev/null +++ b/parsed_docs_new/营收系统银行接口规范设计文档.md @@ -0,0 +1,573 @@ +# 营收系统接口规范设计文档 + +## 1. 文档概述 + +### 1.1 文档信息 +- **文档名称**:营收系统接口规范设计文档 +- **版本**:1.0 +- **编写日期**:2024年12月 +- **基于原始文档**:营收系统缴费接口 v1.5 + +### 1.2 设计目标 +本文档旨在为营收系统与银行/第三方支付机构之间的接口交互提供标准化、规范化的设计指导,确保系统的高可用性、安全性和可扩展性。 + +### 1.3 适用范围 +- 公用事业单位(水司、电力等) +- 银行机构 +- 第三方支付平台 +- 系统集成商 + +## 2. 系统架构设计 + +### 2.1 整体架构 + +``` +┌─────────────────┐ HTTP/HTTPS ┌─────────────────┐ +│ │<──────────────────>│ │ +│ 银行/支付平台 │ │ 营收系统 │ +│ │ │ │ +└─────────────────┘ └─────────────────┘ + │ │ + │ │ + v v +┌─────────────────┐ ┌─────────────────┐ +│ 对账文件处理 │ │ 业务数据库 │ +└─────────────────┘ └─────────────────┘ +``` + +### 2.2 接口分层设计 + +``` +┌─────────────────────────────────────────────────────────┐ +│ 表示层 (Presentation Layer) │ +│ HTTP/HTTPS + XML/JSON │ +├─────────────────────────────────────────────────────────┤ +│ 业务层 (Business Layer) │ +│ 查询服务 | 缴费服务 | 代扣服务 | 对账服务 │ +├─────────────────────────────────────────────────────────┤ +│ 数据层 (Data Layer) │ +│ 用户数据 | 账单数据 | 交易数据 │ +└─────────────────────────────────────────────────────────┘ +``` + +## 3. 接口设计规范 + +### 3.1 RESTful设计原则 + +虽然原系统使用XML格式,但建议遵循RESTful设计原则: + +| 功能模块 | HTTP方法 | 资源路径 | 描述 | +|----------|----------|----------|------| +| 账单查询 | POST | `/api/app/billQuery/query` | 查询用户账单 | +| 账单缴费 | POST | `/api/app/billPay/pay` | 执行缴费操作 | +| 账单红冲 | POST | `/api/app/payInvalid/payInvalid` | 红冲已缴费账单 | +| 代扣签约 | POST | `/api/app/bankWithholding/signing` | 代扣签约 | +| 代扣解约 | POST | `/api/app/bankWithholding/termination` | 代扣解约 | +| 代扣送盘 | POST | `/api/app/bankWithholding/sendDisc` | 代扣送盘 | +| 代扣回盘 | POST | `/api/app/bankWithholding/backDisc` | 代扣回盘 | + +### 3.2 数据格式规范 + +#### 3.2.1 请求格式 +- **内容类型**:`application/xml` 或 `application/json` +- **字符编码**:GBK(XML)或 UTF-8(JSON) +- **请求方法**:POST + +#### 3.2.2 响应格式 +- **状态码**:200 OK(业务成功/失败通过返回码区分) +- **内容类型**:与请求格式保持一致 +- **响应结构**:统一的响应格式 + +### 3.3 安全设计规范 + +#### 3.3.1 加密策略 + +``` +┌─────────────────┐ 加密传输 ┌─────────────────┐ +│ 客户端 │ ──────────────> │ 服务端 │ +│ │ │ │ +│ 1. 数据加密 │ │ 1. 数据解密 │ +│ 2. Base64编码 │ │ 2. Base64解码 │ +│ 3. HTTP传输 │ │ 3. 业务处理 │ +└─────────────────┘ └─────────────────┘ +``` + +#### 3.3.2 支持的加密算法 + +| 加密类型 | 加密模式 | 填充方式 | 安全等级 | +|----------|----------|----------|----------| +| 3DES | ECB | PKCS7 | 中等 | +| SM2 | C1C3C2/C1C2C3 | - | 高 | +| SM4 | ECB/CBC | PKCS7 | 高 | + +#### 3.3.3 请求头设计 + +```http +Content-Type: application/xml; charset=GBK +EncryptType: 3DES +EncryptMode: ECB +DataType: XML +``` + +### 3.4 错误处理规范 + +#### 3.4.1 统一错误码设计 + +``` +AAAAAAA: 成功 +DEF0xxx: 业务错误 (0001-0999) +SYS1xxx: 系统错误 (1000-1999) +SEC2xxx: 安全错误 (2000-2999) +NET3xxx: 网络错误 (3000-3999) +``` + +#### 3.4.2 错误响应格式 + +```xml + + 1.0.1 + 00001 + QueryRes + 20240101 + 123456789012 + DEF0001 + 无相应记录 + + DEF0001 + 用户编号123456不存在 + 2024-01-01 12:00:00 + + +``` + +## 4. 数据模型设计 + +### 4.1 核心实体模型 + +#### 4.1.1 用户实体 (Customer) + +```sql +CREATE TABLE customer ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + bill_key VARCHAR(35) NOT NULL UNIQUE COMMENT '客户编号', + customer_name VARCHAR(150) NOT NULL COMMENT '客户姓名', + contract_no VARCHAR(30) COMMENT '合同号', + company_id VARCHAR(30) NOT NULL COMMENT '机构编码', + created_time DATETIME DEFAULT CURRENT_TIMESTAMP, + updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + INDEX idx_bill_key (bill_key), + INDEX idx_company_id (company_id) +); +``` + +#### 4.1.2 账单实体 (Bill) + +```sql +CREATE TABLE bill ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + bill_key VARCHAR(35) NOT NULL COMMENT '客户编号', + company_id VARCHAR(30) NOT NULL COMMENT '机构编码', + pay_amount DECIMAL(16,2) NOT NULL COMMENT '缴费金额', + balance DECIMAL(16,2) DEFAULT 0.00 COMMENT '余额', + begin_date DATE COMMENT '账单开始日期', + end_date DATE COMMENT '账单结束日期', + bill_status TINYINT DEFAULT 0 COMMENT '账单状态 0:未缴费 1:已缴费', + created_time DATETIME DEFAULT CURRENT_TIMESTAMP, + updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + INDEX idx_bill_key (bill_key), + INDEX idx_company_id (company_id), + INDEX idx_status (bill_status) +); +``` + +#### 4.1.3 交易记录 (Transaction) + +```sql +CREATE TABLE transaction ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + tran_seq VARCHAR(40) NOT NULL UNIQUE COMMENT '交易流水号', + bill_key VARCHAR(35) NOT NULL COMMENT '客户编号', + company_id VARCHAR(30) NOT NULL COMMENT '机构编码', + tran_code VARCHAR(20) NOT NULL COMMENT '交易码', + pay_amount DECIMAL(16,2) NOT NULL COMMENT '交易金额', + pay_date DATETIME NOT NULL COMMENT '交易时间', + sub_channel TINYINT COMMENT '二级渠道 1:支付宝 2:微信 6:其它', + tran_status TINYINT DEFAULT 0 COMMENT '交易状态 0:处理中 1:成功 2:失败', + resp_code VARCHAR(7) COMMENT '返回码', + resp_message VARCHAR(60) COMMENT '返回消息', + created_time DATETIME DEFAULT CURRENT_TIMESTAMP, + updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + INDEX idx_tran_seq (tran_seq), + INDEX idx_bill_key (bill_key), + INDEX idx_pay_date (pay_date), + INDEX idx_status (tran_status) +); +``` + +### 4.2 代扣相关实体 + +#### 4.2.1 代扣协议 (WithholdingAgreement) + +```sql +CREATE TABLE withholding_agreement ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + bill_key VARCHAR(35) NOT NULL COMMENT '客户编号', + company_id VARCHAR(30) NOT NULL COMMENT '机构编码', + account_name VARCHAR(150) NOT NULL COMMENT '开户名', + account_no VARCHAR(30) NOT NULL COMMENT '开户账号', + bank_name VARCHAR(150) COMMENT '银行名称', + contract_no VARCHAR(150) COMMENT '合同号', + agreement_no VARCHAR(150) COMMENT '协议号', + bank_type TINYINT COMMENT '银行类型 0:本行 1:他行', + agreement_status TINYINT DEFAULT 0 COMMENT '协议状态 0:未签约 1:已签约 2:已解约', + signing_date DATE COMMENT '签约日期', + termination_date DATE COMMENT '解约日期', + created_time DATETIME DEFAULT CURRENT_TIMESTAMP, + updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + INDEX idx_bill_key (bill_key), + INDEX idx_account_no (account_no), + INDEX idx_status (agreement_status) +); +``` + +## 5. 接口实现规范 + +### 5.1 查询接口实现 + +#### 5.1.1 业务流程 + +``` +Client Request → Parameter Validation → Business Logic → Data Query → Response Format → Client Response +``` + +#### 5.1.2 核心逻辑 + +```java +@Service +public class BillQueryService { + + public QueryResponse queryBill(QueryRequest request) { + // 1. 参数校验 + validateRequest(request); + + // 2. 业务逻辑处理 + List bills = billRepository.findByBillKeyAndCompanyId( + request.getBillKey(), + request.getCompanyId() + ); + + // 3. 构造响应 + return buildQueryResponse(bills); + } + + private void validateRequest(QueryRequest request) { + if (StringUtils.isEmpty(request.getBillKey())) { + throw new BusinessException("DEF0001", "客户编号不能为空"); + } + // 其他校验逻辑... + } +} +``` + +### 5.2 缴费接口实现 + +#### 5.2.1 业务流程 + +``` +Client Request → Parameter Validation → Balance Check → Payment Processing → Transaction Record → Response +``` + +#### 5.2.2 事务处理 + +```java +@Service +@Transactional +public class BillPayService { + + public PayResponse payBill(PayRequest request) { + // 1. 参数校验 + validatePayRequest(request); + + // 2. 账单查询 + Bill bill = billRepository.findByBillKeyAndCompanyId( + request.getBillKey(), + request.getCompanyId() + ); + + // 3. 金额校验 + if (bill.getPayAmount().compareTo(request.getPayAmount()) != 0) { + throw new BusinessException("DEF0002", "缴费金额不匹配"); + } + + // 4. 更新账单状态 + bill.setBillStatus(1); + billRepository.save(bill); + + // 5. 记录交易 + Transaction transaction = createTransaction(request); + transactionRepository.save(transaction); + + // 6. 构造响应 + return buildPayResponse(request); + } +} +``` + +## 6. 性能设计规范 + +### 6.1 性能指标 + +| 指标类型 | 要求 | 说明 | +|----------|------|------| +| 响应时间 | < 3秒 | 95%的请求在3秒内响应 | +| 并发量 | 1000 TPS | 支持1000笔/秒的交易处理 | +| 可用性 | 99.9% | 年度可用性不低于99.9% | +| 错误率 | < 0.1% | 系统错误率控制在0.1%以内 | + +### 6.2 缓存策略 + +```java +@Service +public class BillQueryService { + + @Cacheable(value = "billCache", key = "#billKey + '_' + #companyId") + public List queryBillWithCache(String billKey, String companyId) { + return billRepository.findByBillKeyAndCompanyId(billKey, companyId); + } +} +``` + +### 6.3 数据库优化 + +#### 6.3.1 索引设计 +- 主要查询字段建立索引 +- 复合索引优化多条件查询 +- 定期分析索引使用情况 + +#### 6.3.2 分表策略 +- 按时间分表:每月一张交易表 +- 按机构分库:不同机构使用不同数据库 + +## 7. 监控与日志规范 + +### 7.1 日志规范 + +#### 7.1.1 日志级别 +- ERROR: 系统错误,需要立即处理 +- WARN: 业务警告,需要关注 +- INFO: 关键业务流程记录 +- DEBUG: 调试信息 + +#### 7.1.2 日志格式 + +``` +[时间戳] [日志级别] [线程名] [类名] [方法名] - [交易流水号] [业务描述] [详细信息] +``` + +示例: +``` +2024-01-01 12:00:00.123 [INFO] [http-thread-1] [BillQueryService] [queryBill] - [TXN123456789012] 查询账单开始 {"billKey":"123456","companyId":"654321"} +``` + +### 7.2 监控指标 + +#### 7.2.1 业务监控 +- 交易成功率 +- 平均响应时间 +- 接口调用量 +- 错误码分布 + +#### 7.2.2 系统监控 +- CPU使用率 +- 内存使用率 +- 数据库连接数 +- 网络IO + +## 8. 部署架构规范 + +### 8.1 生产环境架构 + +``` +┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ +│ 负载均衡器 │────>│ Web服务器1 │ │ 数据库主库 │ +│ (Nginx/F5) │ │ (Tomcat) │────>│ (MySQL) │ +│ │ └─────────────────┘ │ │ +│ │ ┌─────────────────┐ └─────────────────┘ +│ │────>│ Web服务器2 │ ┌─────────────────┐ +└─────────────────┘ │ (Tomcat) │────>│ 数据库从库 │ + └─────────────────┘ │ (MySQL) │ + └─────────────────┘ +``` + +### 8.2 容器化部署 + +#### 8.2.1 Docker配置 + +```dockerfile +FROM openjdk:8-jre-alpine +VOLUME /tmp +ADD app.jar app.jar +EXPOSE 8080 +ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] +``` + +#### 8.2.2 Kubernetes配置 + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: billing-api +spec: + replicas: 3 + selector: + matchLabels: + app: billing-api + template: + metadata: + labels: + app: billing-api + spec: + containers: + - name: billing-api + image: billing-api:latest + ports: + - containerPort: 8080 + resources: + requests: + memory: "512Mi" + cpu: "500m" + limits: + memory: "1Gi" + cpu: "1" +``` + +## 9. 测试规范 + +### 9.1 测试策略 + +#### 9.1.1 单元测试 +- 覆盖率 >= 80% +- 核心业务逻辑 100% 覆盖 +- Mock 外部依赖 + +#### 9.1.2 集成测试 +- 接口层面的集成测试 +- 数据库集成测试 +- 第三方服务集成测试 + +#### 9.1.3 性能测试 +- 压力测试:测试系统极限 +- 负载测试:测试正常负载下的性能 +- 稳定性测试:长时间运行测试 + +### 9.2 测试用例设计 + +#### 9.2.1 查询接口测试用例 + +```java +@Test +public void testQueryBill_Success() { + // Given + QueryRequest request = new QueryRequest(); + request.setBillKey("123456"); + request.setCompanyId("654321"); + + // When + QueryResponse response = billQueryService.queryBill(request); + + // Then + assertEquals("AAAAAAA", response.getRespCode()); + assertNotNull(response.getData()); +} + +@Test +public void testQueryBill_NotFound() { + // Given + QueryRequest request = new QueryRequest(); + request.setBillKey("999999"); + request.setCompanyId("654321"); + + // When & Then + BusinessException exception = assertThrows( + BusinessException.class, + () -> billQueryService.queryBill(request) + ); + assertEquals("DEF0001", exception.getCode()); +} +``` + +## 10. 安全审计规范 + +### 10.1 安全审计要求 + +#### 10.1.1 审计内容 +- 所有接口调用记录 +- 敏感操作日志 +- 异常访问记录 +- 系统配置变更 + +#### 10.1.2 审计日志格式 + +```json +{ + "timestamp": "2024-01-01T12:00:00.123Z", + "event_type": "API_CALL", + "user_id": "bank_001", + "ip_address": "192.168.1.100", + "endpoint": "/api/app/billQuery/query", + "request_id": "TXN123456789012", + "response_code": "AAAAAAA", + "execution_time": 1500, + "data_accessed": { + "bill_key": "123456", + "company_id": "654321" + } +} +``` + +### 10.2 安全控制措施 + +#### 10.2.1 访问控制 +- IP白名单机制 +- API密钥认证 +- 请求频率限制 + +#### 10.2.2 数据保护 +- 敏感数据加密存储 +- 传输过程加密 +- 数据脱敏处理 + +## 11. 运维规范 + +### 11.1 发布流程 + +``` +开发环境 → 测试环境 → 预生产环境 → 生产环境 + ↓ ↓ ↓ ↓ + 单元测试 集成测试 性能测试 灰度发布 +``` + +### 11.2 回滚策略 + +#### 11.2.1 快速回滚 +- 保留前一版本的部署包 +- 数据库版本管理 +- 配置文件版本控制 + +#### 11.2.2 回滚触发条件 +- 系统错误率超过阈值 +- 响应时间超过预期 +- 业务功能异常 + +## 12. 总结 + +本规范设计文档为营收系统接口的设计、开发、测试、部署和运维提供了全面的指导。通过遵循这些规范,可以确保系统的: + +1. **可靠性**:通过完善的错误处理和事务管理 +2. **安全性**:通过多层次的安全控制措施 +3. **性能**:通过合理的架构设计和优化策略 +4. **可维护性**:通过标准化的代码和文档规范 +5. **可扩展性**:通过模块化和微服务架构设计 + +建议在实际项目中根据具体需求对本规范进行适当调整和完善。 \ No newline at end of file diff --git a/project_progress.md b/project_progress.md index bf24527..01de3bb 100644 --- a/project_progress.md +++ b/project_progress.md @@ -26,7 +26,8 @@ | `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+级 | 2024-12-19 | 符合301国家标准格式的概要设计文档,已完整整合微网厅子系统设计,现包含4个完整子系统(统一平台、营收业务系统、手机抄表APP、微网厅系统)的概要设计、非功能性需求等章节,形成完整的设计文档体系 | +| `新-概要设计说明书.md` | ✅ 已完成 | 100% | A+级 | 2025-08-18 | 架构调整:将工单、表务、报装从营收业务系统中剥离为独立子系统(SYS-005/006/007);更新目录、功能范围、子系统列表、调用关系图、接口定义及相关章节,保留客户服务模块在营收业务系统内的作用。 | +| 新增 | — | — | — | 2025-08-18 | 新增发票服务子系统(SYS-008):作为基础服务层统一开票能力中心,优先对接航天信息,预留博思等供应商。 | ### 补充文档 (可选交付) diff --git a/task_checklist.md b/task_checklist.md index 16290a1..ab0c2d2 100644 --- a/task_checklist.md +++ b/task_checklist.md @@ -197,11 +197,10 @@ - [ ] 阶梯水价计算流程 - [ ] 欠费催缴流程 -- [x] **业务工单管理流程** ✅ (2024-12-19) - - [x] 业务工单统一管理设计 ✅ - - [x] 表务工单整合到业务工单模块 ✅ - - [x] 工单全生命周期管理流程 ✅ - - [x] 四类工单管理:业务清单、上报清单、稽查工单、换表工单 ✅ +- [x] **工单管理子系统化** ✅ (2025-08-18) + - [x] 将工单从营收系统中剥离为SYS-005 ✅ + - [x] 更新子系统列表与关系图 ✅ + - [x] 新增工单系统接口与架构图 ✅ ### 📋 安全设计完善 @@ -314,11 +313,11 @@ - [x] **架构图设计** - 整体架构图、物理部署图、子系统调用关系图 ✅ ### 子系统概要设计 -- [x] **统一平台设计** - 功能界面、工程目录、模块列表、模块关系、中间件设计 ✅ -- [x] **营收系统设计** - 核心业务流程、模块设计、业务规则、接口定义 ✅ -- [x] **表务系统设计** - 工单管理、仓库管理、设备档案管理 ✅ -- [x] **报装系统设计** - 报装流程、现场踏勘、施工验收管理 ✅ -- [x] **客户服务设计** - 多渠道服务、在线缴费、移动端服务 ✅ +- [x] **统一平台设计** - 功能界面、模块列表、模块关系、中间件设计 ✅ +- [x] **营收系统设计** - 保留客户服务模块,移除工单/表务/报装(独立子系统) ✅ +- [x] **表务管理系统设计(SYS-006)** - 基础、仓库、档案 ✅ +- [x] **报装业务系统设计(SYS-007)** - 流程、工程、档案 ✅ +- [x] **工单管理系统设计(SYS-005)** - 工单中心、流程引擎、监控、统计 ✅ ### 技术规范设计 - [x] **硬件配置规格** - DMZ区域、应用服务区、数据服务区、管理服务区配置 ✅ diff --git a/新-概要设计说明书.md b/新-概要设计说明书.md index 1001367..fed21cb 100644 --- a/新-概要设计说明书.md +++ b/新-概要设计说明书.md @@ -18,6 +18,7 @@ | 2025-08-01 | V1.2 | 唐伟杰 | 完善 APP相关的模块设计 | | 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),更新目录、功能范围、子系统列表、关系图与接口定义;保留客户服务模块在营收业务系统中的作用。 | # 目录 @@ -37,6 +38,11 @@ - [SYS-002 营收业务系统](#sys-002-营收业务系统) - [SYS-003 手机抄表APP](#sys-003-手机抄表app) - [SYS-004 微网厅系统](#sys-004-微网厅系统) + - [SYS-005 工单管理系统](#sys-005-工单管理系统) + - [SYS-006 表务管理系统](#sys-006-表务管理系统) + - [SYS-007 报装业务系统](#sys-007-报装业务系统) + - [SYS-008 发票服务子系统(基础服务)](#sys-008-发票服务子系统基础服务) + - [SYS-009 支付与银行对接子系统(基础服务)](#sys-009-支付与银行对接子系统基础服务) - [系统涉众与用户特点](#系统涉众与用户特点) - [设计概述](#设计概述) - [总体约束](#总体约束) @@ -74,10 +80,7 @@ - [子系统2设计: 营收业务系统](#子系统2设计-营收业务系统) - [任务概述](#任务概述-2) - [营收核心模块群](#营收核心模块群) - - [表务管理模块群](#表务管理模块群) - - [报装业务模块群](#报装业务模块群) - [客户服务模块群](#客户服务模块群) - - [工单管理模块群](#工单管理模块群) - [设计概述](#设计概述-2) - [总体约束](#总体约束-2) - [子系统外部接口](#子系统外部接口-1) @@ -86,11 +89,11 @@ - [模块定义](#模块定义-1) - [模块列表](#模块列表-1) - [营收核心模块群](#营收核心模块群-1) - - [工单管理模块群](#工单管理模块群-1) + - [客户服务模块群](#客户服务模块群-1) - [模块间关系](#模块间关系-1) - [营收核心模块群关系](#营收核心模块群关系) - - [工单管理模块群关系](#工单管理模块群关系) - [模块群间协作关系](#模块群间协作关系) + - [模块群间协作关系](#模块群间协作关系-1) - [模块描述](#模块描述-1) - [模块1: 客户资料管理](#模块1-客户资料管理) - [模块2: 抄表开账](#模块2-抄表开账) @@ -100,7 +103,7 @@ - [模块6: 催缴管理](#模块6-催缴管理) - [模块7: 统计分析](#模块7-统计分析) - [模块8: 代收业务](#模块8-代收业务) - - [模块9: 业务工单(工单管理模块群核心)](#模块9-业务工单工单管理模块群核心) + - [客户服务模块群补充说明](#客户服务模块群补充说明) - [子系统3设计: 手机抄表APP](#子系统3设计-手机抄表app) - [任务概述](#任务概述-3) - [设计概述](#设计概述-3) @@ -112,9 +115,12 @@ - [模块列表](#模块列表-2) - [模块间关系](#模块间关系-2) - [模块描述](#模块描述-2) - - [模块1: 表务基础管理](#模块1-表务基础管理) - - [模块2: 仓库与库存管理](#模块2-仓库与库存管理) - - [模块3: 设备档案管理](#模块3-设备档案管理) + - [模块1: 登录认证](#模块1-登录认证) + - [模块2: 首页搜索](#模块2-首页搜索) + - [模块3: 采集任务管理](#模块3-采集任务管理) + - [模块4: 现场上报](#模块4-现场上报) + - [模块5: 个人与设置](#模块5-个人与设置) + - [模块6: 数据同步](#模块6-数据同步) - [子系统4设计: 微网厅系统](#子系统4设计-微网厅系统) - [任务概述](#任务概述-4) - [设计概述](#设计概述-4) @@ -136,6 +142,53 @@ - [微信平台集成](#微信平台集成) - [响应式设计](#响应式设计) - [安全保障](#安全保障) +- [子系统5设计: 工单管理系统](#子系统5设计-工单管理系统) + - [任务概述](#任务概述-5) + - [设计概述](#设计概述-5) + - [总体约束](#总体约束-5) + - [子系统外部接口](#子系统外部接口-4) + - [子系统架构设计](#子系统架构设计-4) + - [模块定义](#模块定义-4) + - [模块间关系](#模块间关系-4) + - [模块描述](#模块描述-4) +- [子系统6设计: 表务管理系统](#子系统6设计-表务管理系统) + - [任务概述](#任务概述-6) + - [设计概述](#设计概述-6) + - [设计方案概述](#设计方案概述-5) + - [子系统外部接口](#子系统外部接口-5) + - [子系统架构设计](#子系统架构设计-5) + - [模块定义](#模块定义-5) + - [模块间关系](#模块间关系-5) + - [模块描述](#模块描述-5) +- [子系统7设计: 报装业务系统](#子系统7设计-报装业务系统) + - [任务概述](#任务概述-7) + - [设计概述](#设计概述-7) + - [设计方案概述](#设计方案概述-6) + - [子系统外部接口](#子系统外部接口-6) + - [子系统架构设计](#子系统架构设计-6) + - [模块定义](#模块定义-6) +- [子系统8设计: 发票服务子系统](#子系统8设计-发票服务子系统) + - [任务概述](#任务概述-8) + - [设计概述](#设计概述-8) + - [总体约束](#总体约束-6) + - [设计方案概述](#设计方案概述-7) + - [子系统外部接口](#子系统外部接口-7) + - [子系统架构设计](#子系统架构设计-7) + - [模块定义](#模块定义-7) + - [模块间关系](#模块间关系-6) + - [模块描述](#模块描述-6) + - [模块间关系](#模块间关系-7) + - [模块描述](#模块描述-7) +- [子系统9设计: 支付与银行对接子系统](#子系统9设计-支付与银行对接子系统) + - [任务概述](#任务概述-9) + - [设计概述](#设计概述-9) + - [总体约束](#总体约束-7) + - [设计方案概述](#设计方案概述-8) + - [子系统外部接口](#子系统外部接口-8) + - [子系统架构设计](#子系统架构设计-8) + - [模块定义](#模块定义-8) + - [模块间关系](#模块间关系-8) + - [模块描述](#模块描述-8) - [非功能性需求的设计](#非功能性需求的设计) - [性能的考虑](#性能的考虑) - [兼容性的考虑](#兼容性的考虑) @@ -222,59 +275,58 @@ ### 系统总体目标 -营业收费系统主要包含**统一平台、营收业务系统、手机抄表APP、微网厅系统**等四大子系统,以及相关外部接口集成。 +营业收费系统采用分层解耦与子系统化建设,形成“业务服务层 + 基础服务层”的整体架构: +- 业务服务层:SYS-001 统一平台、SYS-002 营收业务系统、SYS-003 手机抄表APP、SYS-004 微网厅系统、SYS-005 工单管理系统、SYS-006 表务管理系统、SYS-007 报装业务系统 +- 基础服务层:SYS-008 发票服务子系统(统一开票)、SYS-009 支付与银行对接子系统(统一支付/代扣) 通过系统的建设,实现福建省水投数字科技有限公司客户服务管理领域的业务流程梳理再造、组织架构的优化、管理制度的建设、绩效考核标准的建设。构建以客户为中心的一体化客户服务平台,将客户的所有信息进行有机的关联,方便企业对营收信息进行综合分析和管理,为客户提供更多、更便捷、更主动的个性化服务,提高客户服务的质量和客户满意度。 **系统整体架构特点:** -- **统一平台**:提供基础的认证、权限、组织管理等基础服务 -- **营收业务系统**:集成所有营收相关业务功能,包含营收核心、表务管理、报装业务、客户服务、工单管理五大模块群 -- **手机抄表APP**:提供移动化现场作业工具,支持离线操作 -- **微网厅系统**:基于微信公众号的客户自助服务平台,提供线上便民服务 +- **统一平台**:提供认证、权限、组织、参数、字典等基础能力 +- **营收业务系统**:围绕客户、抄表、收费、账务、催缴、统计等核心营收流程,保留“客户服务模块群”对外服务能力 +- **手机抄表APP**:移动化现场作业,支持离线;现场问题上报与工单接收由工单系统统一承载 +- **微网厅系统**:面向公众的自助服务门户,支持绑定、查询、缴费、发票查看、业务办理 +- **工单管理系统**:统一工单中心与流程引擎,打通营收/表务/报装/微网厅/APP的全场景工单 +- **表务管理系统**:水表基础、仓库与库存、设备档案的全生命周期管理 +- **报装业务系统**:覆盖报装申请、踏勘、施工、验收、通水与档案归档的端到端流程 +- **发票服务子系统**(基础服务):统一开票网关与供应商适配(现优先对接航天,预留博思),回执与存证 +- **支付与银行对接子系统**(基础服务):统一支付/退款、银行代扣送盘/回盘、对账处理、加解密签名 ### 功能范围 -本系统功能涵盖水务企业完整的营收业务流程,包括客户资料管理、抄表开账、营业收费、账务处理、催缴管理、发票管理、表务管理、报装业务、客户服务、工单管理、银行代扣代缴、第三方支付等;还包含系统业务必要的查询统计及报表打印功能。 +本系统功能涵盖水务企业完整的营收业务流程,包括客户资料管理、抄表开账、营业收费、账务处理、催缴管理、发票管理(经SYS-008)、表务管理、报装业务、客户服务、工单管理,以及统一支付/退款、银行代扣(经SYS-009)等;还包含查询统计与报表打印功能。 **系统功能按子系统分布如下:** #### SYS-001 统一平台 -- **认证管理**:单点登录、OAuth2.0认证、用户认证 -- **用户管理**:用户管理、角色管理、权限管理 -- **组织管理**:组织机构、部门管理、岗位管理 -- **系统管理**:系统配置、数据字典管理、参数配置 +- 认证管理(SSO/OAuth2+CAS)、用户/角色/权限、组织机构、参数/字典、审计与监控 #### SYS-002 营收业务系统 -包含五大核心模块群,实现完整的营收业务流程: - -**营收核心模块群**: -- 客户资料管理、抄表开账、营业收费、账务处理、发票管理、催缴管理、统计分析、代收业务 - -**表务管理模块群**: -- 表务基础管理、仓库与库存管理、设备档案管理 - -**报装业务模块群**: -- 报装流程管理、工程管理、档案管理 - -**客户服务模块群**: -- 账户绑定管理、信息查询服务、在线缴费服务、电子发票服务、营业网点服务、业务办理服务 - -**工单管理模块群**: -- 统一工单管理、业务工单管理、表务工单管理、报装工单管理、服务工单管理、工单流程引擎 +- 营收核心:客户资料、抄表开账、营业收费、账务处理、催缴管理、统计分析、代收业务 +- 客户服务:账户绑定、信息查询、在线缴费(经SYS-009)、电子发票(经SYS-008)、营业网点、业务办理 #### SYS-003 手机抄表APP -- **移动作业**:登录模块、首页搜索、采集任务管理、现场抄表 -- **工单处理**:换表工单、复水工单、稽查工单、问题上报 -- **数据同步**:离线作业、数据上传、任务下载 -- **个人管理**:个人信息与系统设置 +- 移动作业:登录、首页搜索、采集任务、现场抄表 +- 现场上报/工单接收:问题上报、工单接收与回填(经SYS-005) +- 数据同步与个人管理:任务下载/数据上传(离线支持)、个人信息与设置 #### SYS-004 微网厅系统 -- **账户绑定管理**:微信授权、账户绑定与解绑、多账户管理 -- **信息查询服务**:账单查询、用水历史、缴费记录、停水公告 -- **在线缴费服务**:快捷缴费、充值服务、多种支付方式 -- **电子发票服务**:发票查看、发票推送、电子发票管理 -- **营业网点服务**:网点查询、地图导航、距离计算 -- **业务办理服务**:联系方式变更、开票方式变更、更名过户、水价变更、低保申请、换表申请、自主抄表 +- 账户绑定、账单/用水查询、在线缴费(经SYS-009)、电子发票查看(经SYS-008)、营业网点、业务办理 + +#### SYS-005 工单管理系统 +- 统一工单中心、流程引擎、监控预警、绩效统计,打通营收/表务/报装/微网厅/APP + +#### SYS-006 表务管理系统 +- 表务基础(厂家/型号/口径/量程)、仓库与库存(入出库/盘点/调拨/预警)、设备档案(电子档案/状态) + +#### SYS-007 报装业务系统 +- 报装流程(申请/踏勘/施工/验收/通水)、工程管理(进度/资源/质量/安全)、档案管理(资料归档/留痕) + +#### SYS-008 发票服务子系统(基础服务) +- 统一开票/作废与红冲/查询、供应商适配(航天优先、预留博思)、回执处理与存证 + +#### SYS-009 支付与银行对接子系统(基础服务) +- 统一支付/退款、银行代扣(送盘/回盘)、对账文件处理、加解密/签名,统一接入微信/支付宝/银联/银行 ### 系统涉众与用户特点 @@ -381,16 +433,20 @@ - 提供API版本管理和接口文档生成 **业务服务层(Business Service Layer)** -- 核心业务逻辑处理层,包含三大子系统: +- 核心业务逻辑处理层,包含七个子系统: - **SYS-001 统一平台**:提供认证、组织、系统管理等基础服务 - - **SYS-002 营收业务系统**:包含五大模块群的完整营收业务平台 - - **SYS-003 手机抄表APP**:移动端现场作业和工单处理 + - **SYS-002 营收业务系统**:营收核心与客户服务模块群 + - **SYS-003 手机抄表APP**:移动端现场作业与数据同步 + - **SYS-004 微网厅系统**:面向客户的线上服务门户 + - **SYS-005 工单管理系统**:统一工单中心与流程引擎 + - **SYS-006 表务管理系统**:水表基础、库存与档案管理 + - **SYS-007 报装业务系统**:报装全流程与工程管理 - 按业务域划分微服务,实现高内聚低耦合 - 支持独立部署、扩缩容和技术栈选择 **基础服务层(Infrastructure Service Layer)** - 提供通用的技术服务能力 -- 包含权限、工作流、消息、文件等基础服务 +- 包含权限、工作流、消息、文件、发票服务(统一开票能力)、支付与银行对接服务(统一支付/代扣能力)等基础服务 - 为业务服务提供统一的技术支撑 **数据层(Data Layer)** @@ -673,9 +729,14 @@ graph TB | 子系统编号 | 子系统名称(标识) | 功能描述 | 开发方式 | |---|---|---|---| | SYS-001 | 统一平台 | 单点登录、系统管理、权限管理、租户管理 | 自行开发 | -| SYS-002 | 营收业务系统 | 客户管理、抄表开账、营业收费、账务处理、发票管理、催缴管理、报装流程、表务管理、客户服务、工单管理 | 自行开发 | +| SYS-002 | 营收业务系统 | 客户管理、抄表开账、营业收费、账务处理、发票管理、催缴管理、统计分析、代收业务、客户服务 | 自行开发 | | SYS-003 | 手机抄表APP | 移动端抄表、现场作业、数据同步、离线支持 | 自行开发 | | SYS-004 | 微网厅系统 | 微信公众号平台、账户绑定、在线缴费、信息查询、业务办理、网点服务 | 自行开发 | +| SYS-005 | 工单管理系统 | 统一工单中心、工单流程引擎、监控预警、绩效统计 | 自行开发 | +| SYS-006 | 表务管理系统 | 表务基础管理、仓库与库存管理、设备档案管理 | 自行开发 | +| SYS-007 | 报装业务系统 | 报装流程管理、工程管理、档案管理 | 自行开发 | +| SYS-008 | 发票服务子系统 | 统一开票网关、供应商适配器(优先对接航天)、回执处理与存证 | 自行开发 | +| SYS-009 | 支付与银行对接子系统 | 统一支付/代扣网关、银行适配器、对账处理、加解密签名 | 自行开发 | ### 子系统间关系 @@ -689,23 +750,11 @@ graph TB subgraph "SYS-002 营收业务系统" subgraph " 营收核心模块群" - REV_CORE[客户管理
抄表开账
营业收费
账务处理
发票催缴
统计代收
] - end - - subgraph " 表务管理模块群" - METER_MOD[表务基础管理
仓库库存管理
设备档案管理
] - end - - subgraph " 报装业务模块群" - INSTALL_MOD[报装流程管理
工程管理
档案管理
] + REV_CORE[客户管理
抄表开账
营业收费
账务处理
发票催缴
统计代收] end subgraph " 客户服务模块群" - CS_MOD[账户绑定管理
信息查询服务
在线缴费服务
微网厅服务
] - end - - subgraph " 工单管理模块群" - WO_MOD[统一工单中心
业务工单管理
表务工单管理
报装工单管理
服务工单管理
工单流程引擎] + CS_MOD[账户绑定管理
信息查询服务
在线缴费服务
业务办理服务] end end @@ -716,46 +765,62 @@ graph TB subgraph "SYS-004 微网厅系统" WECHAT[账户绑定管理
信息查询服务
在线缴费服务
业务办理服务] end + + subgraph "SYS-005 工单管理系统" + WO_CENTER[统一工单中心
创建/派发/处理/验收
监控预警] + end + + subgraph "SYS-006 表务管理系统" + METER_SYS[表务基础
库存管理
设备档案] + end + + subgraph "SYS-007 报装业务系统" + INSTALL_SYS[报装流程
工程管理
档案管理] + end + + subgraph "SYS-008 发票服务子系统" + INVOICE_SYS[统一开票网关
供应商适配器
回执/存证] + end + + subgraph "SYS-009 支付与银行对接子系统" + PAY_SYS[统一支付/代扣网关
银行适配器
对账处理] + end %% 统一平台权限管理 - UP -.->|用户认证
权限验证| REV_CORE - UP -.->|用户认证
权限验证| METER_MOD - UP -.->|用户认证
权限验证| INSTALL_MOD - UP -.->|用户认证
权限验证| CS_MOD - UP -.->|用户认证
权限验证| WO_MOD - UP -.->|用户认证
权限验证| APP - UP -.->|用户认证
权限验证| WECHAT + UP -.->|用户认证/权限| REV_CORE + UP -.->|用户认证/权限| CS_MOD + UP -.->|用户认证/权限| APP + UP -.->|用户认证/权限| WECHAT + UP -.->|用户认证/权限| WO_CENTER + UP -.->|用户认证/权限| METER_SYS + UP -.->|用户认证/权限| INSTALL_SYS + + %% 系统间协作 + REV_CORE -.->|库存状态/换表结果| METER_SYS + REV_CORE -.->|立户/工程结果| INSTALL_SYS + REV_CORE -.->|开票申请/作废/红冲| INVOICE_SYS + REV_CORE -.->|账单支付/代扣/对账| PAY_SYS + REV_CORE -.->|业务异常/流程触发| WO_CENTER + CS_MOD -.->|客户申请/服务工单| WO_CENTER + + WO_CENTER -.->|换表派发| METER_SYS + WO_CENTER -.->|报装派发| INSTALL_SYS + WO_CENTER -.->|处理结果回填| REV_CORE + WO_CENTER -.->|结果通知| CS_MOD - %% 营收业务系统内部协作 - REV_CORE -.->|客户信息
水表信息| METER_MOD - REV_CORE -.->|新用户立户| INSTALL_MOD - REV_CORE -.->|账单信息
缴费接口| CS_MOD - METER_MOD -.->|库存状态| REV_CORE - INSTALL_MOD -.->|立户完成| REV_CORE - CS_MOD -.->|缴费记录| REV_CORE - - %% 营收业务系统内部工单协作关系 - REV_CORE -.->|业务异常
流程工单| WO_MOD - METER_MOD -.->|换表申请
设备工单| WO_MOD - INSTALL_MOD -.->|报装工单
工程工单| WO_MOD - CS_MOD -.->|客户申请
服务工单| WO_MOD - - WO_MOD -.->|工单处理结果
状态更新| REV_CORE - WO_MOD -.->|换表通知
库存申请| METER_MOD - WO_MOD -.->|工程进度
验收通知| INSTALL_MOD - WO_MOD -.->|处理结果
进度通知| CS_MOD - %% 手机APP与营收业务系统协作关系 - APP -.->|抄表数据
收费数据| REV_CORE - APP -.->|现场工单
问题上报| WO_MOD - WO_MOD -.->|工单派发
任务分配| APP - REV_CORE -.->|抄表任务
客户信息| APP + APP -.->|抄表数据/收费数据| REV_CORE + APP -.->|现场工单/问题上报| WO_CENTER + WO_CENTER -.->|工单派发/任务分配| APP + REV_CORE -.->|抄表任务/客户信息| APP %% 微网厅与营收业务系统协作关系 - WECHAT -.->|账单查询
在线缴费| REV_CORE - WECHAT -.->|业务申请
服务工单| WO_MOD - REV_CORE -.->|账单信息
缴费状态| WECHAT - WO_MOD -.->|办理进度
结果通知| WECHAT + WECHAT -.->|账单查询/在线缴费| REV_CORE + WECHAT -.->|业务申请/服务工单| WO_CENTER + REV_CORE -.->|账单信息/缴费状态| WECHAT + INVOICE_SYS -.->|电子发票链接/推送| WECHAT + PAY_SYS -.->|支付结果通知| WECHAT + WO_CENTER -.->|办理进度/结果通知| WECHAT %% 样式定义 classDef coreSystem fill:#e3f2fd,stroke:#1976d2,stroke-width:4px,color:#000 @@ -763,11 +828,11 @@ graph TB classDef wechatSystem fill:#f3e5f5,stroke:#9c27b0,stroke-width:3px,color:#000 classDef platform fill:#fff3e0,stroke:#f57c00,stroke-width:2px - %% 应用样式 - class REV_CORE,METER_MOD,INSTALL_MOD,CS_MOD,WO_MOD coreSystem + class REV_CORE,CS_MOD coreSystem class APP mobileSystem class WECHAT wechatSystem class UP platform + class WO_CENTER,METER_SYS,INSTALL_SYS coreSystem ``` #### 主要接口定义 @@ -790,16 +855,20 @@ graph TB | 立户接口 | 新客户立户 | 外部系统 | HTTP/REST | | 抄表任务接口 | 下发抄表任务和客户信息 | 手机抄表APP | 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对外接口** | 接口名称 | 接口描述 | 调用方 | 接口协议 | |---------|----------|--------|-----------| | 任务下载接口 | 下载抄表任务和客户信息 | 营收业务系统 | HTTP/REST | -| 数据上传接口 | 上传抄表数据和工单信息 | 营收业务系统 | HTTP/REST | -| 工单接收接口 | 接收和处理各类工单 | 营收业务系统 | HTTP/REST | +| 数据上传接口 | 上传抄表数据 | 营收业务系统 | HTTP/REST | +| 工单接收接口 | 接收和处理各类工单 | 工单管理系统 | HTTP/REST | +| 工单回填接口 | 回填工单处理结果与附件 | 工单管理系统 | HTTP/REST | | 离线同步接口 | 离线数据同步 | 营收业务系统 | HTTP/REST | **微网厅系统对外接口** @@ -809,8 +878,51 @@ graph TB | 微信授权接口 | 处理微信用户授权登录 | 微信平台 | HTTP/REST | | 账户绑定接口 | 处理用户账户绑定 | 微信客户端 | HTTP/REST | | 账单查询接口 | 查询客户账单信息 | 微信客户端 | HTTP/REST | -| 缴费处理接口 | 处理在线缴费业务 | 微信客户端 | HTTP/REST | +| 缴费处理接口 | 处理在线缴费业务(经SYS-009) | 微信客户端 | HTTP/REST | | 业务申请接口 | 处理各类业务申请 | 微信客户端 | HTTP/REST | +| 电子发票查看接口 | 发票查看/下载 | 微信客户端 | HTTP/REST | + +**工单管理系统对外接口** + +| 接口名称 | 接口描述 | 调用方 | 接口协议 | +|---------|----------|--------|-----------| +| 工单创建接口 | 创建各类工单 | 营收/表务/报装/微网厅/APP | HTTP/REST | +| 工单派发接口 | 向处理人/APP派发任务 | 工单中心 | HTTP/REST | +| 工单回填接口 | 回填处理结果与附件 | APP/各业务系统 | HTTP/REST | +| 工单查询接口 | 查询工单状态/轨迹 | 各业务系统 | HTTP/REST | + +**表务管理系统对外接口** + +| 接口名称 | 接口描述 | 调用方 | 接口协议 | +|---------|----------|--------|-----------| +| 库存查询接口 | 查询库存状态/预警 | 工单/营收 | HTTP/REST | +| 领用出库接口 | 支持换表/施工领用 | 工单 | HTTP/REST | +| 档案查询接口 | 查询设备档案 | 营收/工单 | HTTP/REST | + +**报装业务系统对外接口** +**发票服务子系统对外接口** + +| 接口名称 | 接口描述 | 调用方 | 接口协议 | +|---------|----------|--------|-----------| +| 统一开票接口 | 统一受理开票(蓝票) | 营收业务系统 | HTTP/REST | +| 发票作废接口 | 作废/红冲申请 | 营收业务系统 | HTTP/REST | +| 发票查询接口 | 查询发票状态/链接 | 营收/微网厅 | HTTP/REST | +| 供应商路由接口 | 供应商选择与路由(航天/博思/…) | 发票适配器 | 内部SPI | + +**支付与银行对接子系统对外接口** + +| 接口名称 | 接口描述 | 调用方 | 接口协议 | +|---------|----------|--------|-----------| +| 统一支付接口 | 实时支付/退款 | 营收/微网厅 | HTTP/REST | +| 代扣送盘接口 | 代扣文件送盘 | 营收系统 | SFTP/HTTP | +| 代扣回盘接口 | 回盘解析与状态回填 | 营收系统 | SFTP/HTTP | +| 对账文件接口 | 银行对账文件处理 | 营收系统 | SFTP | + +| 接口名称 | 接口描述 | 调用方 | 接口协议 | +|---------|----------|--------|-----------| +| 报装申请接口 | 提交报装信息与材料 | 微网厅/营收 | HTTP/REST | +| 派工对接接口 | 报装派单与回填 | 工单系统 | HTTP/REST | +| 竣工归档接口 | 归档竣工资料 | 营收/档案 | HTTP/REST | # 子系统1设计: 统一平台 @@ -1066,7 +1178,7 @@ graph TB **功能范围:** -营收业务系统包含四大核心模块群,实现水务企业完整的业务管理: +营收业务系统包含两大核心模块群,实现水务企业营收业务闭环: #### 营收核心模块群 - **客户资料管理**:客户档案建立、信息维护、分组管理 @@ -1078,16 +1190,6 @@ graph TB - **统计分析**:多维度数据统计和报表分析 - **代收业务**:银行代扣、第三方支付等代收渠道 -#### 表务管理模块群 -- **表务基础管理**:水表厂家、型号、规格等基础数据管理 -- **仓库与库存管理**:水表的入库、出库、盘点和调拨管理 -- **设备档案管理**:每一块水表的唯一电子档案管理 - -#### 报装业务模块群 -- **报装流程管理**:报装申请、踏勘、合同签订等流程管理 -- **工程管理**:施工管理、进度监控、竣工验收 -- **档案管理**:报装全流程的资料归档和查询 - #### 客户服务模块群 - **账户绑定管理**:微信/支付宝账户绑定和管理 - **信息查询服务**:账单查询、用水历史、缴费记录等 @@ -1096,16 +1198,8 @@ graph TB - **营业网点服务**:网点查询、地图导航、预约服务 - **业务办理服务**:各类业务在线申请和办理 -#### 工单管理模块群 -- **统一工单管理**:所有工单的统一创建、分配、跟踪和管理 -- **业务工单管理**:营收业务相关的客户服务、账务处理工单 -- **表务工单管理**:水表安装、维修、更换、检定等工单 -- **报装工单管理**:新用户报装流程中的各类工单 -- **服务工单管理**:客户投诉、建议、咨询等服务类工单 -- **工单流程引擎**:基于规则的工单流转和审批流程 - **核心业务流程:** -客户建档 → 抄表录入 → 复核开账 → 营业收费 → 账务处理 → 发票管理 → 催缴管理 → 工单处理 +客户建档 → 抄表录入 → 复核开账 → 营业收费 → 账务处理 → 发票管理 → 催缴管理 ## 设计概述 @@ -1159,7 +1253,7 @@ graph TB ## 子系统架构设计 -营收系统采用DDD领域驱动设计,按业务领域进行模块划分,实现高内聚低耦合的架构设计。系统核心分为**营收核心模块群**和**工单管理模块群**两大业务板块。 +营收系统采用DDD领域驱动设计,按业务领域进行模块划分,实现高内聚低耦合的架构设计。系统核心分为**营收核心模块群**和**客户服务模块群**两大业务板块(原工单管理模块群已拆分为独立的SYS-005工单管理系统)。 ```mermaid graph TB @@ -1187,16 +1281,7 @@ graph TB end end - subgraph " 工单管理模块群 REV-009" - B9[REV-009
工单管理中心
统一入口] - - subgraph "工单处理引擎" - B91[REV-009-1
业务清单管理
日常工单] - B92[REV-009-2
上报清单管理
现场工单] - B93[REV-009-3
稽查工单管理
监督工单] - B94[REV-009-4
换表工单管理
设备工单] - end - end + %% 工单管理模块群已独立为SYS-005 end subgraph "领域层 - Domain Layer" @@ -1248,18 +1333,7 @@ graph TB B3 -.->|收费统计| B7 B8 -.->|代收数据| B3 - %% 工单管理模块群内部关系 - B9 --> B91 - B9 --> B92 - B9 --> B93 - B9 --> B94 - - %% 跨模块群协作关系(重要) - B9 -.->|客户信息查询| B1 - B9 -.->|账务工单处理| B4 - B2 -.->|抄表异常工单| B9 - B3 -.->|收费异常工单| B9 - B6 -.->|催缴工单| B9 + %% 工单管理模块群已独立为SYS-005 %% 业务服务层到领域层映射 B1 --> C1 @@ -1271,11 +1345,7 @@ graph TB B7 --> C3 B8 --> C3 - B9 --> C6 - B91 --> C61 - B92 --> C62 - B93 --> C61 - B94 --> C63 + %% 工单领域移至SYS-005 %% 领域层到基础设施层 C1 --> D1 @@ -1289,13 +1359,7 @@ graph TB C63 --> D4 B8 --> D5 - %% 外部系统集成 - E1 -.->|现场数据上报| B9 - E2 -.->|客户服务工单| B9 - E3 -.->|设备维护工单| B9 - B9 -.->|工单派发| E1 - B9 -.->|处理结果| E2 - B9 -.->|换表通知| E3 + %% 外部系统集成(工单流转由SYS-005承担) %% 样式定义 classDef coreModuleGroup fill:#e3f2fd,stroke:#1976d2,stroke-width:4px,color:#000 @@ -1337,17 +1401,11 @@ graph TB | **REV-007** | **统计分析** | 多维度数据统计和报表分析功能 | 自行开发 | 决策支持 | | **REV-008** | **代收业务** | 集成银行、第三方支付等代收渠道 | 自行开发 | 服务便民 | -#### 工单管理模块群 +#### 客户服务模块群 -统一的工单管理模块群,支撑各类业务工单的全生命周期管理: +为外部渠道(微网厅、第三方平台)和内部渠道(客服前台)提供服务接入能力: -| 模块编号 | 模块名称(标识) | 功能描述 | 开发方式 | 工单类型 | -|---|---|---|---|---| -| **REV-009** | **业务工单中心** | 工单统一管理和流转中心 | 自行开发 | 工单引擎 | -| **REV-009-1** | **业务清单管理** | 客户服务、账务处理等日常业务工单管理 | 自行开发 | 日常业务工单 | -| **REV-009-2** | **上报清单管理** | 移动端问题上报工单处理 | 自行开发 | 现场问题工单 | -| **REV-009-3** | **稽查工单管理** | 抄表稽查、水价稽查工单管理 | 自行开发 | 质量监督工单 | -| **REV-009-4** | **换表工单管理** | 表务相关的换表、维修工单管理 | 自行开发 | 设备维护工单 | +- 账户绑定管理、信息查询服务、在线缴费服务、电子发票服务、营业网点服务、业务办理服务 ### 模块间关系 @@ -1391,53 +1449,7 @@ graph TD class F,G,H supportFlow ``` -#### 工单管理模块群关系 - -工单管理模块群实现统一的工单处理流程,支撑各类业务场景: - -```mermaid -graph TB - subgraph "工单管理架构" - WO[REV-009
业务工单中心
统一入口] - - subgraph "工单处理模块" - WO1[REV-009-1
业务清单管理
] - WO2[REV-009-2
上报清单管理
] - WO3[REV-009-3
稽查工单管理
] - WO4[REV-009-4
换表工单管理
] - end - - subgraph "工单流程引擎" - WF1[工单创建
Create] - WF2[工单派发
Assign] - WF3[工单处理
Process] - WF4[工单完成
Complete] - end - end - - %% 工单中心统一管理 - WO --> WO1 - WO --> WO2 - WO --> WO3 - WO --> WO4 - - %% 统一工单流程 - WO1 --> WF1 - WO2 --> WF1 - WO3 --> WF1 - WO4 --> WF1 - - WF1 --> WF2 --> WF3 --> WF4 - - %% 样式 - classDef workorderCenter fill:#fff3e0,stroke:#f57c00,stroke-width:3px - classDef workorderModule fill:#fce4ec,stroke:#c2185b,stroke-width:2px - classDef workflowEngine fill:#e8f5e8,stroke:#388e3c,stroke-width:2px - - class WO workorderCenter - class WO1,WO2,WO3,WO4 workorderModule - class WF1,WF2,WF3,WF4 workflowEngine -``` +#### 模块群间协作关系 #### 模块群间协作关系 @@ -1449,9 +1461,7 @@ graph TB CORE[REV-001~008
营收核心业务
] end - subgraph "工单管理模块群" - WO[REV-009
工单管理中心
] - end + %% 工单管理已独立为SYS-005 subgraph "外部系统" APP[手机抄表APP
] @@ -1460,19 +1470,10 @@ graph TB end %% 营收核心触发工单 - CORE -.->|抄表异常
账务问题
客户投诉| WO - - %% 工单处理影响营收 - WO -.->|工单结果
状态更新
数据回填| CORE + %% 工单由SYS-005统一管理 %% 外部系统工单交互 - APP -.->|现场工单
问题上报| WO - WEB -.->|客户申请
服务工单| WO - METER -.->|换表工单
设备工单| WO - - WO -.->|工单派发
任务分配| APP - WO -.->|处理结果
进度通知| WEB - WO -.->|换表通知
库存申请| METER + %% 由SYS-005承担跨系统工单派发和回填 %% 样式 classDef coreGroup fill:#e1f5fe,stroke:#0277bd,stroke-width:3px @@ -1686,6 +1687,10 @@ flowchart TD - **发票查询与管理**: 查询发票历史,处理红冲、作废等请求。 - **电子发票集成**: 对接第三方电子发票平台,实现自动开具和推送。 +**实现说明:** + +- 本模块通过调用`SYS-008 发票服务子系统`的“统一开票接口/作废红冲接口/发票查询接口”实现具体的开票与回执处理,营收系统不直接对接供应商。 + #### 模块6: 催缴管理 **功能概述:** @@ -1723,65 +1728,9 @@ flowchart TD - **第三方支付**: 集成微信、支付宝等支付网关。 - **对账管理**: 定期与各渠道进行账务核对。 -#### 模块9: 业务工单(工单管理模块群核心) +#### 客户服务模块群补充说明 -**功能概述:** - -业务工单模块是营收系统中的**第二大核心模块群**,负责统一管理水务系统中的各类业务工单,实现工单的全生命周期管理。该模块整合了原表务系统的工单管理功能,构建了覆盖全业务场景的统一工单管理平台。 - -**架构特点:** - -- **统一工单入口**:所有工单通过统一的工单中心进行管理 -- **标准化流程**:集成Flowable工作流引擎,实现标准化的工单流转 -- **跨系统协作**:支持与营收核心模块群及外部系统的无缝协作 -- **智能化支撑**:为未来AI智能派单和处理提供技术基础 - -**💼 核心功能模块:** - -1. **REV-009-1 业务清单管理** - - 客户服务工单(开户、过户、更名等) - - 账务处理工单(调账、退款、销账等) - - 投诉建议工单(服务投诉、意见反馈等) - - 故障报修工单(设施故障、管道维护等) - -2. **REV-009-2 上报清单管理** - - 移动端问题上报工单处理 - - 现场异常情况工单管理 - - 抄表员发现问题的工单流转 - - 客户报告异常的工单处理 - -3. **REV-009-3 稽查工单管理** - - 抄表数据稽查工单 - - 水价政策执行稽查工单 - - 质量监督工单管理 - - 稽查结果处理工单 - -4. **REV-009-4 换表工单管理** - - 故障换表工单(与表务系统协同) - - 计划换表工单管理 - - 客户申请换表工单 - - 设备维护相关工单 - -**业务价值:** - -- **效率提升**:统一管理减少重复开发,提高工单处理效率40%+ -- **质量保障**:标准化流程确保工单处理质量,减少错误率60%+ -- **协作增强**:跨系统工单协作,提升部门间协作效率 -- **数据统一**:工单数据统一存储和分析,支持管理决策 - -**技术特性:** - -- **工作流引擎**:集成Flowable,支持复杂业务流程 -- **异步处理**:基于消息队列的异步工单处理 -- **实时监控**:工单状态实时监控和预警 -- **接口标准**:RESTful API支持外部系统集成 - -**业务规则:** - -1. **工单编号规则**:系统自动生成,格式:工单类型+年月日+4位流水号 -2. **响应时间要求**:紧急工单1小时内响应,普通工单8小时内派发 -3. **审计日志**:工单处理全过程记录,支持操作溯源 -4. **跨系统同步**:换表工单自动同步表务仓库系统状态 +客户服务模块群继续作为营收系统对外服务的统一入口,承接微网厅与第三方渠道的服务流量;涉及现场执行部分由SYS-005工单管理系统承接。 # 子系统3设计: 手机抄表APP @@ -1801,8 +1750,7 @@ flowchart TD - **登录认证**:机构编号、用户名密码认证、自动登录 - **首页搜索**:多维度搜索、最近搜索记录、抄表任务 - **采集任务管理**:任务列表管理、批量下载、单户采集 -- **换表工单**:换表工单处理、设备信息录入 -- **其他工单**:复水、稽查、问题上报等工单处理 +- **现场上报**:问题上报(由SYS-005工单系统统一受理与派发) - **个人设置**:个人信息管理、系统设置维护 **核心业务流程:** @@ -1837,122 +1785,94 @@ flowchart TD | 接口编号 | 接口名称(标识) | 功能描述 | 接口协议 | 输入参数 | 输出结果 | |---|---|---|---|---|---| -| METER-001 | 水表库存查询接口 | 查询水表库存信息 | HTTP/REST | 型号、规格、状态 | 库存详情 | -| METER-002 | 换表通知接口 | 换表完成通知 | HTTP/REST | 水表编号、客户信息 | 通知结果 | -| METER-003 | 设备档案接口 | 获取水表设备档案 | HTTP/REST | 水表编号 | 设备档案信息 | -| METER-004 | 库存预警接口 | 库存不足预警 | HTTP/REST | 预警阈值 | 预警信息 | +| MOBILE-001 | 任务下载接口 | 下载抄表任务与客户信息 | HTTP/REST | 抄表员、任务范围 | 任务详情 | +| MOBILE-002 | 抄表数据上传接口 | 上传抄表数据与现场图片 | HTTP/REST | 抄表数据、图片 | 上传结果 | +| MOBILE-003 | 工单接收接口 | 接收工单任务 | HTTP/REST | 工单ID、类型 | 派发结果 | +| MOBILE-004 | 工单回填接口 | 回填处理结果与附件 | HTTP/REST | 处理结论、附件 | 回填结果 | +| MOBILE-005 | 离线同步接口 | 离线数据同步 | HTTP/REST | 数据包 | 同步结果 | ### 设计方案概述 **架构设计:** -表务系统采用资源管理架构,以库存为核心,设备档案为支撑,基础数据为保障,实现水表资产的全面管理。 +端云协同架构,APP端提供离线能力(本地缓存与任务包),在线时通过增量同步接口与服务端完成任务下载、数据上传与工单回填,确保弱网环境可用。 -**技术选型:** +**关键技术:** -- **条码技术**:支持一维码/二维码水表标识 -- **RFID技术**:支持无线射频识别 -- **移动端**:支持PDA、手机等移动设备操作 -- **报表工具**:JasperReports生成各类统计报表 +- 本地缓存与数据加密存储、断点续传 +- 条码/二维码识别,拍照取证 +- 任务包增量同步与冲突处理 ## 子系统架构设计 -表务系统采用分层架构,从基础数据管理到业务流程处理,确保水表资产管理的完整性和准确性。 - ```mermaid graph TB - subgraph "表务系统架构" - subgraph "应用层" - A1[Web管理界面] - A2[移动端应用] - A3[API接口层] - end - - subgraph "业务服务层" - B1[基础管理服务] - B2[库存管理服务] - B3[档案管理服务] - B4[统计分析服务] - end - - subgraph "领域层" - C1[水表基础域] - C2[库存管理域] - C3[设备档案域] - end - - subgraph "基础设施层" - D1[(表务数据库)] - D2[文件存储] - D3[条码识别] - D4[RFID识别] - end + subgraph "手机抄表APP" + Login[登录认证] + Home[首页/搜索] + Task[采集任务] + Report[现场上报] + Sync[数据同步] + Settings[个人与设置] end - - A1 --> B1 - A2 --> B2 - A3 --> B3 - B1 --> C1 - B2 --> C2 - B3 --> C3 - C1 --> D1 - C2 --> D1 - C3 --> D1 - C3 --> D2 - B2 --> D3 - B2 --> D4 + + subgraph "服务端" + AUTH[统一平台] + REV[营收业务系统] + WO[工单管理系统] + end + + Login --> AUTH + Home --> REV + Task --> REV + Report --> WO + Sync <--> REV + WO -.-> Task ``` ## 模块定义 ### 模块列表 -| 模块编号 | 模块名称(标识) | 功能描述 | 开发方式 | -|---|---|---|---| -| METER-001 | 表务基础管理 | 管理水表相关的基础参数 | 自行开发 | -| METER-002 | 仓库与库存管理 | 管理水表的入库、出库、盘点和调拨 | 自行开发 | -| METER-003 | 设备档案管理 | 管理每一块水表的唯一电子档案 | 自行开发 | - -**注意**: 表务工单管理功能已整合到营收系统的业务工单模块中,实现统一的工单管理。 +| 模块编号 | 模块名称(标识) | 功能描述 | +|---|---|---| +| MOBILE-001 | 登录认证 | 机构编号、用户名/密码、自动登录、令牌管理 | +| MOBILE-002 | 首页搜索 | 多维度搜索、最近记录、任务快捷入口 | +| MOBILE-003 | 采集任务管理 | 任务列表、批量下载、单户采集、读数校验 | +| MOBILE-004 | 现场上报 | 问题上报、拍照取证、定位信息、异常标记 | +| MOBILE-005 | 个人与设置 | 个人资料、偏好设置、缓存管理、安全退出 | +| MOBILE-006 | 数据同步 | 任务包增量同步、离线数据包上传、冲突处理 | ### 模块间关系 -表务系统各模块之间形成完整的水表资产管理闭环,从基础数据到实物管理,再到档案记录。 - ```mermaid -graph TB - A[表务基础管理] --> B[仓库与库存管理] - B --> C[设备档案管理] - C --> A - - A -.->|基础数据支撑| B - B -.->|库存变动| C - C -.->|档案完善| A +graph TD + MOBILE-001 --> MOBILE-003 + MOBILE-002 --> MOBILE-003 + MOBILE-003 --> MOBILE-006 + MOBILE-004 --> MOBILE-006 + MOBILE-005 -.-> MOBILE-006 ``` ### 模块描述 -#### 模块1: 表务基础管理 -- **功能描述**: 定义和维护表务管理所需的基础数据和配置参数。 -- **核心功能**: - - **水表厂家管理**: 维护水表供应商信息。 - - **水表口径管理**: 管理不同口径水表的规格、检定周期等。 - - **水表型号管理**: 根据厂家和口径,管理具体的水表型号。 - - **水表量程管理**: 定义水表的计量范围。 +#### 模块1: 登录认证 +- 机构编号+账号登录、Token续期、离线授权缓存 -#### 模块2: 仓库与库存管理 -- **功能描述**: 负责水表的实物管理,与工单流程解耦,作为一个独立的资源中心。 -- **核心功能**: - - **入库管理**: 包括新表采购入库、旧表回收(维修或报废)入库。 - - **出库管理**: 根据工单领料申请,发放新水表。 - - **库存管理**: 提供库存查询、盘点、调拨、库存预警等功能。 +#### 模块2: 首页搜索 +- 客户/地址/册本搜索、最近搜索、快捷入口 -#### 模块3: 设备档案管理 -- **功能描述**: 作为表务系统的核心,统一管理所有水表的基础信息和生命周期状态。 -- **核心功能**: - - **水表信息登录**: 记录新购水表的型号、规格、供应商、批次等信息。 - - **水表档案建立**: 为每一块入库的水表建立唯一的、全生命周期跟踪的电子档案。 - - **状态管理**: 实时更新水表的状态(如:在库、在用、待检、报废等)。 +#### 模块3: 采集任务管理 +- 批量下载、单户采集、读数规则校验、异常标注 + +#### 模块4: 现场上报 +- 异常上报、图片与定位采集,提交至SYS-005工单系统 + +#### 模块5: 个人与设置 +- 个人信息、偏好、缓存清理、日志上传 + +#### 模块6: 数据同步 +- 增量任务同步、离线包上传、断点续传与冲突解决 # 子系统4设计: 微网厅系统 @@ -2231,6 +2151,365 @@ flowchart TD - 接口限流 - 异常访问监控 +# 子系统5设计: 工单管理系统 + +## 任务概述 + +工单管理系统(SYS-005)负责全业务工单统一受理、创建、派发、处理、验收与归档,覆盖营收、表务、报装、客户服务等场景,提供统一流程引擎与监控预警能力。 + +## 设计概述 + +### 总体约束 + +- 流程统一:所有工单遵循统一的生命周期与态状态机 +- 实时可观测:状态监控、超时预警、绩效统计 +- 可扩展:支持新增工单类型与流程编排 + +- ### 设计方案概述 + +- 架构采用“工单中心 + 流程编排 + 监控预警 + 绩效统计”的分层设计,提供统一API网关对接各业务系统,并通过可配置流程实现多类型工单的快速上线。 + +### 子系统外部接口 + +| 接口编号 | 接口名称 | 功能描述 | 调用方 | +|---|---|---|---| +| WO-001 | 工单创建接口 | 创建各类工单 | 营收/表务/报装/微网厅/APP | +| WO-002 | 工单派发接口 | 向处理人/APP派发任务 | 工单中心 | +| WO-003 | 工单回填接口 | 回填处理结果与附件 | APP/各业务系统 | +| WO-004 | 工单查询接口 | 查询工单状态/轨迹 | 各业务系统 | + +### 子系统架构设计 + +```mermaid +graph TB + subgraph "工单管理系统" + WO_CENTER[统一工单中心] + FLOW[流程引擎] + MON[监控预警] + STAT[绩效统计] + end + + subgraph "协作系统" + REV[营收业务系统] + METER[表务管理系统] + INSTALL[报装业务系统] + APP[手机抄表APP] + WECHAT[微网厅] + end + + REV -.->|业务异常/申请| WO_CENTER + METER -.->|换表申请| WO_CENTER + INSTALL -.->|报装派单| WO_CENTER + WECHAT -.->|客户服务申请| WO_CENTER + APP -.->|问题上报/结果回填| WO_CENTER + + WO_CENTER -.-> FLOW + WO_CENTER -.-> MON + WO_CENTER -.-> STAT + WO_CENTER -.->|派发任务| APP +``` + +### 模块定义 + +| 模块编号 | 模块名称 | 功能描述 | +|---|---|---| +| WO-CORE | 工单中心 | 统一受理、路由、分派、跟踪 | +| WO-FLOW | 流程引擎 | 节点编排、条件路由、并行网关 | +| WO-MON | 监控预警 | 超时/积压/异常预警、看板 | +| WO-STAT | 绩效统计 | 人员/环节时长、SLA达成率 | + +### 模块间关系 + +```mermaid +graph TD + WO-CORE --> WO-FLOW + WO-CORE --> WO-MON + WO-CORE --> WO-STAT + WO-FLOW -.-> WO-MON + WO-MON -.-> WO-STAT +``` + +### 模块描述 + +- WO-CORE 工单中心:统一入口与单据路由,支持工单分类、优先级与SLA策略。 +- WO-FLOW 流程引擎:可视化编排、条件路由、并行/互斥网关,支持子流程与回退重审。 +- WO-MON 监控预警:实时看板、超时预警、积压监控、异常拦截与通知。 +- WO-STAT 绩效统计:处理时长与环节分析、达成率统计与考核报表导出。 + +# 子系统6设计: 表务管理系统 + +## 任务概述 + +表务管理系统(SYS-006)聚焦水表资产全生命周期管理与库存管理,提供基础数据、仓储、档案三大能力,面向换表等业务提供资源保障。 + +## 设计概述 + +### 设计方案概述 + +- 以“基础参数-仓库库存-设备档案”三层模型实现资产全生命周期管理;通过与工单系统联动完成领用/回填闭环,支持库存预警与追溯。 + +### 子系统外部接口 + +| 接口编号 | 接口名称 | 功能描述 | 调用方 | +|---|---|---|---| +| METER-001 | 库存查询接口 | 查询库存状态/预警 | 工单/营收 | +| METER-002 | 领用出库接口 | 支持换表/施工领用 | 工单 | +| METER-003 | 档案查询接口 | 查询设备档案 | 营收/工单 | + +### 子系统架构设计 + +```mermaid +graph TB + subgraph "表务管理系统" + BASE[基础参数] + WH[仓库与库存] + DOC[设备档案] + end + + WO[工单系统] -.->|领用/回填| WH + REV[营收系统] -.->|档案/库存状态| DOC +``` + +### 模块定义 + +| 模块编号 | 模块名称 | 功能描述 | +|---|---|---| +| METER-BASE | 表务基础管理 | 厂家/型号/口径/量程等基础参数 | +| METER-WH | 仓库与库存管理 | 入库/出库/盘点/调拨/预警 | +| METER-DOC | 设备档案管理 | 档案建档/状态管理/追溯 | + +### 模块间关系 + +```mermaid +graph TD + METER-BASE --> METER-WH --> METER-DOC + METER-DOC -.-> METER-BASE +``` + +### 模块描述 + +- METER-BASE 表务基础管理:厂家、型号、口径、量程、检定周期等基础参数标准化。 +- METER-WH 仓库与库存管理:入库/出库/盘点/调拨/库存预警;与工单联动领用回填。 +- METER-DOC 设备档案管理:唯一电子档案、状态流转、批次与质检记录追溯。 + +# 子系统7设计: 报装业务系统 + +## 任务概述 + +报装业务系统(SYS-007)覆盖从申请、踏勘、设计、施工到验收通水的全流程,并与工单系统协作完成现场派工与过程留痕。 + +## 设计概述 + +### 设计方案概述 + +- 采用阶段性里程碑管控(申请-踏勘-施工-验收-通水),以工单驱动现场作业,形成资料全流程留痕与竣工归档。 + +### 子系统外部接口 + +| 接口编号 | 接口名称 | 功能描述 | 调用方 | +|---|---|---|---| +| INST-001 | 报装申请接口 | 提交报装信息与材料 | 微网厅/营收 | +| INST-002 | 派工对接接口 | 报装派单与回填 | 工单系统 | +| INST-003 | 竣工归档接口 | 归档竣工资料 | 营收/档案 | + +### 子系统架构设计 + +```mermaid +graph TB + subgraph "报装业务系统" + APPLY[申请受理] + SURVEY[现场踏勘] + BUILD[施工管理] + ACCEPT[验收通水] + ARCH[资料归档] + end + + WECHAT[微网厅] -.->|报装申请| APPLY + APPLY -.-> SURVEY -.-> BUILD -.-> ACCEPT -.-> ARCH + INST_WO[工单系统] -.->|派工/回填| SURVEY + INST_WO -.->|派工/回填| BUILD +``` + +### 模块定义 + +| 模块编号 | 模块名称 | 功能描述 | +|---|---|---| +| INST-FLOW | 报装流程管理 | 端到端阶段流转,里程碑控制 | +| INST-PROJ | 工程管理 | 进度/资源/质量/安全管理 | +| INST-ARCH | 档案管理 | 资料归档、过程留痕、竣工档案 | + +# 子系统8设计: 发票服务子系统 + +## 任务概述 + +发票服务子系统(SYS-008)定位为“基础服务层”的统一开票能力中心,通过统一开票网关与供应商适配器屏蔽不同厂商差异,当前优先对接“航天信息”,预留“博思”等供应商接入能力。 + +## 设计概述 + +### 总体约束 + +- 统一入口:提供统一的开票、作废/红冲、查询能力 +- 供应商无关:采用适配器模式屏蔽供应商差异 +- 合规可靠:签章/存证、回执落库、审计留痕 + +### 设计方案概述 + +- 架构采用“统一开票网关 + 供应商适配器 + 回执处理/存证”的三层模型;对上通过REST接口供营收业务与微网厅调用,对下通过供应商SDK/HTTP对接航天(现阶段)与其他供应商。 + +### 子系统外部接口 + +| 接口编号 | 接口名称 | 功能描述 | 调用方 | +|---|---|---|---| +| INV-001 | 统一开票接口 | 统一受理蓝票开具 | 营收业务系统 | +| INV-002 | 作废/红冲接口 | 作废、红冲受理 | 营收业务系统 | +| INV-003 | 发票查询接口 | 查询状态、下载链接 | 营收/微网厅 | +| INV-004 | 回执推送接口 | 供应商回执回传 | 发票适配器 | + +## 子系统架构设计 + +```mermaid +graph TB + subgraph "发票服务子系统" + GW[统一开票网关] + ADP[供应商适配器] + RCPT[回执处理] + EVID[存证与签章] + end + + subgraph "上游系统" + REV[营收业务系统] + WECHAT[微网厅] + end + + subgraph "供应商" + HT[航天信息] + BOS[博思(预留)] + end + + REV -.->|INV-001/002/003| GW + WECHAT -.->|发票查询/下载| GW + GW --> ADP --> HT + ADP -.-> BOS + HT -.-> RCPT --> EVID +``` + +## 模块定义 + +| 模块编号 | 模块名称 | 功能描述 | +|---|---|---| +| INV-GW | 统一开票网关 | 统一鉴权、参数校验、路由与限流 | +| INV-ADP | 供应商适配器 | 航天/博思等供应商协议适配、签名加验签 | +| INV-RCPT | 回执处理 | 回执解析、状态机、失败重试、告警通知 | +| INV-EVID | 存证与签章 | 发票PDF/JSON存证、签章与链接生成、合规审计 | + +### 模块间关系 + +```mermaid +graph TD + INV-GW --> INV-ADP --> INV-RCPT --> INV-EVID + INV-RCPT -.-> INV-GW +``` + +### 模块描述 + +- INV-GW 统一开票网关:统一鉴权、字段校验、幂等控制、灰度路由与限流熔断。 +- INV-ADP 供应商适配器:对接航天SDK/HTTP,字段映射、签名/验签、错误码转换;预留博思等扩展点。 +- INV-RCPT 回执处理:状态回填、失败重试(指数退避)、超时告警、与微网厅消息联动。 +- INV-EVID 存证与签章:存储PDF/票根JSON、签章、下载链接生成,审计日志与合规留痕。 +### 模块间关系 + +```mermaid +graph TD + INST-FLOW --> INST-PROJ --> INST-ARCH + INST-FLOW -.-> INST-ARCH +``` + +### 模块描述 + +- INST-FLOW 报装流程管理:分阶段管理、节点表单与材料校验、异常回退。 +- INST-PROJ 工程管理:计划排程、资源与材料、质量与安全检查、进度监控。 +- INST-ARCH 档案管理:资料采集、签署与留痕、竣工档案归档与查询。 + +# 子系统9设计: 支付与银行对接子系统 + +## 任务概述 + +支付与银行对接子系统(SYS-009)统一承载实时支付、退款、银行代扣(送盘/回盘)、对账文件处理与安全加解密/签名能力,为营收系统与微网厅提供标准化、可扩展、合规可观测的金融对接能力。 + +## 设计概述 + +### 总体约束 + +- 多渠道统一:支持微信、支付宝、银联与各银行代扣统一接入 +- 安全合规:SM2/SM4/3DES等算法,加解密/签名/验签;支持GBK/UTF-8编码要求 +- 高可用与可观测:失败重试、限流熔断、事务保障、链路追踪与告警 + +### 设计方案概述 + +- 采用“统一支付/代扣网关 + 银行适配器 + 对账处理 + 加解密/签名”的分层模型;对上提供REST接口,对下通过HTTP/SFTP/SDK与银行/支付机构对接。 + +### 子系统外部接口 + +| 接口编号 | 接口名称 | 功能描述 | 调用方 | +|---|---|---|---| +| PAY-001 | 统一支付接口 | 实时支付/退款 | 营收/微网厅 | +| PAY-002 | 代扣送盘接口 | 代扣文件送盘 | 营收系统 | +| PAY-003 | 代扣回盘接口 | 回盘解析/状态回填 | 营收系统 | +| PAY-004 | 对账文件接口 | 银行对账文件处理 | 营收系统 | + +## 子系统架构设计 + +```mermaid +graph TB + subgraph "支付与银行对接子系统" + GW[统一支付/代扣网关] + ADP_BANK[银行适配器] + RECON[对账处理] + CRYPTO[加解密/签名] + end + + subgraph "上游系统" + REV[营收业务系统] + WECHAT[微网厅] + end + + subgraph "外部机构" + BANK[银行] + PSP[第三方支付] + end + + REV -.->|PAY-001/002/003/004| GW + WECHAT -.->|支付下单/结果| GW + GW --> ADP_BANK --> BANK + ADP_BANK -.-> PSP + ADP_BANK -.-> RECON + GW -.-> CRYPTO +``` + +## 模块定义 + +| 模块编号 | 模块名称 | 功能描述 | +|---|---|---| +| PAY-GW | 统一支付/代扣网关 | 统一鉴权、参数校验、路由与限流、幂等控制 | +| PAY-ADP | 银行适配器 | 对接银行/支付机构协议、字段映射、错误码转换、编码/文件规范适配 | +| PAY-RECON | 对账处理 | 对账文件接收/解析、差错处理、账务回填、对账报告 | +| PAY-CRYPTO | 加解密/签名 | SM2/SM4/3DES等算法实现与密钥管理、签名/验签 | + +### 模块间关系 + +```mermaid +graph TD + PAY-GW --> PAY-ADP --> PAY-RECON + PAY-GW -.-> PAY-CRYPTO +``` + +### 模块描述 + +- PAY-GW 统一支付/代扣网关:统一鉴权、字段校验、限流熔断、幂等键与重放保护、灰度路由。 +- PAY-ADP 银行适配器:对接银行与第三方支付协议,签名/验签、编码转换(GBK/UTF-8)、SFTP/HTTP文件交互、错误码映射。 +- PAY-RECON 对账处理:定时拉取/解析对账文件、差异识别、冲正/补记建议、对账报告生成、追踪链路与告警。 +- PAY-CRYPTO 加解密/签名:国密/商密算法、密钥轮换、硬件加密机对接(可选)。 + # 非功能性需求的设计 @@ -2398,15 +2677,12 @@ flowchart TD 3. **发票推送** - 邮箱推送 - - 微信推送 - - 短信通知 - - 下载链接分享 + 4. **发票下载** - PDF格式下载 - 图片格式保存 - 批量下载 - - 云端存储 **业务规则:**