fujian_water_biz_doc/02_Detailed/01_Detailed_Design.md

153 KiB
Raw Blame History

福建水务营收系统详细设计说明书

文件状态: 文档密级: 公开
【】草稿
【√】修改稿
【】正式发布
当前版本: V1.5
作者: 唐伟杰
完成日期: 2025-08-01

版本历史

日期 版本号 作者 备注
2025-07-01 V1.0 唐伟杰 初版
2025-07-17 V1.1 唐伟杰 补充详细设计内容
2025-08-01 V1.2 唐伟杰 1. 同步更新概要设计中的子系统和模块结构。
2. 重构表务、报装、客户服务子系统,确保逻辑清晰。
3. 补充和完善数据库设计章节,解决缺失和不明确的问题。
4. 全面审查并修正文档,提升整体质量和一致性。
2025-08-01 V1.3 唐伟杰 数据库系统变更将OpenGauss替换为达梦数据库 8.0+,更新所有相关架构图和技术描述。
2025-08-01 V1.4 唐伟杰 单点登录采用OAuth2.0协议完善单点登录模块设计新增OAuth2.0授权流程、接口设计和相关数据表。

目录

前言

编写目的

本文档在《概要设计说明书》的基础上,对福建水务营收系统的各核心子系统及模块进行详细的功能设计、流程设计和技术实现说明。

本文档主要用途:

  • 为开发团队提供详细的技术实现指导
  • 为测试团队提供功能测试依据
  • 为运维团队提供系统部署和维护参考
  • 为项目管理提供开发进度跟踪依据

本文档的预期读者包括:

  • 系统架构师和开发人员
  • 测试工程师
  • 运维工程师
  • 项目经理和技术负责人

背景与任务

福建水务营收系统是为满足福建省水投数字科技有限公司客户服务管理领域的业务需求而建设的综合管理平台。系统以客户关系数据库为核心和基础,实现客户全生命周期管理。

建设背景

福建水投集团注册资本46亿元在全省40多个县市区投资重大水利项目超过450亿元拥有全级次子公司超过67家职工人数超3500人。当前集团正紧紧抓住城乡供水一体化建设的机遇需要构建以客户为中心的客户服务平台。

主要任务

通过系统的建设,实现:

  1. 客户服务管理领域的业务流程梳理再造
  2. 组织架构的优化和管理制度的建设
  3. 绩效考核标准的建设
  4. 构建以客户为中心的客户服务平台
  5. 提高客户服务的质量和客户满意度

术语与缩略语

术语、缩写 解释
SaaS Software as a Service软件即服务
RBAC Role-Based Access Control基于角色的访问控制
JWT JSON Web Token基于JSON的Web令牌
OAuth2 开放授权标准
RESTful Representational State Transfer表现层状态转化
OpenAPI 开放应用程序接口规范
DDL Data Definition Language数据定义语言
DML Data Manipulation Language数据操作语言
站点 用于划分用户所属管辖区域,站点可以进行多级管理
册本 又称抄表本或抄表簿,根据抄表线路规划,按排相邻的一些水表给某一个抄表员进行抄表
用户编号 为签定了供用水合同的正式用户分配的唯一识别号
售水量 抄收水量+查处水量±调整水量
当期应收水费 当期售水量乘以不同类别的水价(到户价)所得的金额
水表抄见率 (当期应抄用户数-当期估表用户数)/当期应抄用户数×100%

参考资料

  • 《福建水务营收系统需求规格说明书》
  • 《福建水务营收系统概要设计说明书》
  • 《福建水务营收系统数据库设计说明书》
  • 《福建水务营收系统接口设计说明书》
  • GB/T 8556-2007 信息技术软件生存周期过程
  • GB/T 9385-2008 计算机软件需求规格说明规范
  • GB/T 8567-2006 计算机软件文档编制规范

系统总体设计

逻辑架构

系统采用现代化的多层分布式架构,基于微服务设计思想,实现松耦合、高内聚的系统架构。

整体架构图

graph TB
    subgraph "表现层"
        A1[Web管理端<br/>Vue3 + Element Plus]
        A2[移动抄表端<br/>uni-app]
        A3[客户微信小程序]
        A4[客户支付宝小程序]
    end
    
    subgraph "网关层"
        B1[API网关<br/>Spring Cloud Gateway]
        B2[负载均衡<br/>Nginx]
        B3[认证授权<br/>Spring Security + JWT]
    end
    
    subgraph "业务服务层"
        C1[统一平台服务<br/>用户权限管理]
        C2[营收管理服务<br/>抄表收费核心业务]
        C3[表务管理服务<br/>水表全生命周期]
        C4[报装管理服务<br/>报装流程管理]
        C5[客户服务<br/>线上服务渠道]
    end
    
    subgraph "基础服务层"
        D1[权限服务<br/>RBAC权限控制]
        D2[工作流服务<br/>Flowable引擎]
        D3[消息服务<br/>异步消息处理]
        D4[文件服务<br/>文档附件管理]
        D5[支付服务<br/>第三方支付集成]
    end
    
    subgraph "数据层"
        E1[(达梦数据库 8.0+<br/>主从架构)]
        E2[(Redis 6.0+<br/>分布式缓存)]
        E3[MinIO<br/>分布式文件存储]
    end
    
    %% 层级间调用关系
    A1 --> B1
    A2 --> B1
    A3 --> B1
    A4 --> B1
    
    B1 --> B3
    B2 --> B1
    B3 --> C1
    B3 --> C2
    B3 --> C3
    B3 --> C4
    B3 --> C5
    
    C1 --> D1
    C2 --> D2
    C2 --> D3
    C3 --> D4
    C4 --> D2
    C5 --> D5
    
    D1 --> E1
    D2 --> E1
    D3 --> E2
    D4 --> E3
    D5 --> E1

系统数据流向图

flowchart TD
    subgraph "数据采集层"
        A1[移动抄表APP<br/>数据采集]
        A2[智能水表<br/>远程数据]
        A3[Web管理端<br/>业务录入]
        A4[客户端小程序<br/>用户数据]
        A5[外部系统<br/>接口数据]
    end
    
    subgraph "数据接入层"
        B1[API网关<br/>数据验证]
        B2[数据清洗<br/>格式转换]
        B3[消息队列<br/>异步处理]
        B4[数据缓存<br/>临时存储]
    end
    
    subgraph "业务处理层"
        C1[统一平台服务<br/>用户权限]
        C2[营收管理服务<br/>核心业务]
        C3[表务管理服务<br/>设备管理]
        C4[报装管理服务<br/>流程管理]
        C5[客户服务<br/>对外服务]
    end
    
    subgraph "数据存储层"
        D1[(达梦数据库主库<br/>核心业务数据)]
        D2[(达梦数据库从库<br/>查询数据)]
        D3[(Redis缓存<br/>热点数据)]
        D4[文件存储<br/>附件图片]
        D5[(备份库<br/>历史数据)]
    end
    
    subgraph "数据服务层"
        E1[查询服务<br/>数据检索]
        E2[报表服务<br/>统计分析]
        E3[接口服务<br/>对外开放]
        E4[推送服务<br/>消息通知]
    end
    
    subgraph "数据展现层"
        F1[管理后台<br/>业务操作]
        F2[统计大屏<br/>可视化展示]
        F3[移动端<br/>现场作业]
        F4[客户端<br/>自助服务]
        F5[第三方系统<br/>数据集成]
    end
    
    %% 数据流向关系
    A1 -.->|数据采集<br/>格式验证| B1
    A2 -.->|数据采集<br/>格式验证| B1
    A3 -.->|数据采集<br/>格式验证| B1
    A4 -.->|数据采集<br/>格式验证| B1
    A5 -.->|数据采集<br/>格式验证| B1
    
    B1 -.->|数据接入<br/>清洗转换| B2
    B2 -.->|数据接入<br/>清洗转换| B3
    B3 -.->|数据接入<br/>清洗转换| B4
    
    B4 -.->|业务处理<br/>数据持久化| C1
    B4 -.->|业务处理<br/>数据持久化| C2
    B4 -.->|业务处理<br/>数据持久化| C3
    B4 -.->|业务处理<br/>数据持久化| C4
    B4 -.->|业务处理<br/>数据持久化| C5
    
    C1 -.->|数据存储| D1
    C2 -.->|数据存储| D1
    C3 -.->|数据存储| D1
    C4 -.->|数据存储| D1
    C5 -.->|数据存储| D1
    
    D1 -.->|数据查询<br/>统计分析| E1
    D2 -.->|数据查询<br/>统计分析| E2
    D3 -.->|数据查询<br/>统计分析| E3
    D4 -.->|数据查询<br/>统计分析| E4
    
    E1 -.->|数据服务<br/>接口调用| F1
    E2 -.->|数据服务<br/>接口调用| F2
    E3 -.->|数据服务<br/>接口调用| F3
    E4 -.->|数据服务<br/>接口调用| F4
    E1 -.->|数据服务<br/>接口调用| F5

表现层

  • PC端管理后台基于yudao-ui-admin-vue3框架提供完整的业务管理功能
  • 移动端抄表APP基于uni-app框架支持现场抄表作业
  • 客户端小程序:微信、支付宝小程序,提供客户自助服务

网关层

  • API网关基于Spring Cloud Gateway实现统一的接口管理
  • 负载均衡Nginx集群实现高可用的请求分发
  • 认证授权Spring Security + JWT提供安全的访问控制

业务服务层

  • 统一平台服务:用户管理、权限管理、组织管理等基础服务
  • 营收管理服务:抄表、收费、账务等核心业务服务
  • 表务管理服务:水表仓库、工单管理等设备管理服务
  • 报装管理服务:报装流程管理服务
  • 客户服务:微信、支付宝等客户服务渠道

数据层

  • 主数据库:达梦数据库 8.0+,采用主从架构,保证数据的高可用性
  • 缓存Redis 6.0+,分布式缓存集群,提升系统性能
  • 文件存储MinIO分布式文件存储处理系统文件和附件

物理架构

系统采用分布式部署架构,通过多个服务器集群实现高可用和高性能。

物理部署图

graph TB
    subgraph "DMZ区域"
        subgraph "负载均衡集群"
            LB1[Nginx 主<br/>8核16G]
            LB2[Nginx 备<br/>8核16G]
            WAF[Web应用防火墙]
        end
    end
    
    subgraph "应用服务区"
        subgraph "Web服务集群"
            WEB1[Web服务器1<br/>8核32G]
            WEB2[Web服务器2<br/>8核32G]
        end
        
        subgraph "应用服务集群"
            APP1[应用服务器1<br/>16核64G]
            APP2[应用服务器2<br/>16核64G]
        end
        
        subgraph "中间件集群"
            MQ1[消息队列1<br/>8核16G]
            MQ2[消息队列2<br/>8核16G]
        end
    end
    
    subgraph "数据服务区"
        subgraph "数据库集群"
            DB1[达梦数据库主库<br/>32核128G]
            DB2[达梦数据库从库<br/>32核128G]
            DB3[达梦数据库备库<br/>32核128G]
        end
        
        subgraph "缓存集群"
            REDIS1[Redis主节点<br/>16核32G]
            REDIS2[Redis从节点<br/>16核32G]
            REDIS3[Redis哨兵<br/>8核16G]
        end
        
        subgraph "文件存储集群"
            FILE1[MinIO节点1<br/>8核32G 10TB]
            FILE2[MinIO节点2<br/>8核32G 10TB]
            FILE3[MinIO节点3<br/>8核32G 10TB]
        end
    end
    
    subgraph "管理服务区"
        MONITOR[监控服务器<br/>Prometheus + Grafana<br/>8核16G]
        BACKUP[备份服务器<br/>8核32G 20TB]
        JUMP[跳板服务器<br/>4核8G]
        LOG[日志服务器<br/>ELK Stack<br/>16核32G]
    end
    
    %% 网络连接关系
    Internet --> WAF
    WAF --> LB1
    WAF --> LB2
    LB1 --> WEB1
    LB1 --> WEB2
    LB2 --> WEB1
    LB2 --> WEB2
    
    WEB1 --> APP1
    WEB1 --> APP2
    WEB2 --> APP1
    WEB2 --> APP2
    
    APP1 --> DB1
    APP1 --> REDIS1
    APP1 --> FILE1
    APP2 --> DB1
    APP2 --> REDIS1
    APP2 --> FILE1
    
    DB1 -.->|主从同步| DB2
    DB1 -.->|主备同步| DB3
    REDIS1 -.->|主从同步| REDIS2

容器化部署架构

graph TB
    subgraph "容器化部署架构"
        subgraph "前端容器"
            WEB_C1[Web前端容器1<br/>nginx:alpine<br/>2核4G]
            WEB_C2[Web前端容器2<br/>nginx:alpine<br/>2核4G]
        end
        
        subgraph "后端应用容器"
            APP_C1[应用容器1<br/>openjdk:17-jre<br/>4核8G]
            APP_C2[应用容器2<br/>openjdk:17-jre<br/>4核8G]
            APP_C3[应用容器3<br/>openjdk:17-jre<br/>4核8G]
        end
        
        subgraph "数据存储容器"
            DB_C1[达梦数据库主容器<br/>dm:8.0<br/>8核16G]
            DB_C2[达梦数据库从容器<br/>dm:8.0<br/>8核16G]
            REDIS_C[Redis容器<br/>redis:7-alpine<br/>2核4G]
            MINIO_C[MinIO容器<br/>minio/minio<br/>2核4G]
        end
        
        subgraph "监控服务容器"
            MONITOR_C[监控容器<br/>prom/prometheus<br/>2核4G]
            GRAFANA_C[图表容器<br/>grafana/grafana<br/>1核2G]
            ELK_C[日志容器<br/>elastic/elasticsearch<br/>4核8G]
        end
    end
    
    subgraph "容器编排"
        DOCKER[Docker Engine]
        COMPOSE[Docker Compose]
        SWARM[Docker Swarm<br/>可选]
    end
    
    %% 容器间调用关系
    WEB_C1 --> APP_C1
    WEB_C1 --> APP_C2
    WEB_C2 --> APP_C2
    WEB_C2 --> APP_C3
    
    APP_C1 --> DB_C1
    APP_C1 --> REDIS_C
    APP_C1 --> MINIO_C
    APP_C2 --> DB_C1
    APP_C2 --> REDIS_C
    APP_C3 --> DB_C1
    APP_C3 --> REDIS_C
    
    DB_C1 -.->|主从同步| DB_C2
    
    MONITOR_C -.->|监控| APP_C1
    MONITOR_C -.->|监控| APP_C2
    MONITOR_C -.->|监控| APP_C3
    GRAFANA_C --> MONITOR_C
    ELK_C -.->|日志收集| APP_C1
    ELK_C -.->|日志收集| APP_C2
    ELK_C -.->|日志收集| APP_C3

硬件配置规格表

DMZ区域配置

设备类型 配置规格 数量 主要作用 备注
负载均衡器 8核16G双网卡1TB SSD 2台 负载均衡、高可用 主备模式
Web应用防火墙 硬件WAF设备或软件WAF 1台 安全防护、入侵检测 可选硬件或软件方案

应用服务区配置

设备类型 配置规格 数量 主要作用 备注
Web服务器 8核32G1TB SSD千兆网卡 2台 前端应用部署 负载均衡集群
应用服务器 16核64G2TB SSD万兆网卡 2台 后端服务部署 支持水平扩展
消息队列服务器 8核16G1TB SSD千兆网卡 2台 异步消息处理 Redis/RabbitMQ集群

数据服务区配置

设备类型 配置规格 数量 主要作用 备注
数据库服务器 32核128G10TB SSD万兆网卡 3台 主从备数据库 达梦数据库分布式架构
缓存服务器 16核32G1TB SSD万兆网卡 3台 Redis集群 主从哨兵模式
文件存储服务器 8核32G10TB HDD千兆网卡 3台 分布式文件存储 MinIO集群模式

管理服务区配置

设备类型 配置规格 数量 主要作用 备注
监控服务器 8核16G1TB SSD千兆网卡 1台 系统监控告警 Prometheus + Grafana
备份服务器 8核32G20TB HDD千兆网卡 1台 数据备份恢复 定时备份策略
跳板服务器 4核8G500GB SSD千兆网卡 1台 运维管理 堡垒机功能
日志服务器 16核32G5TB SSD万兆网卡 1台 日志收集分析 ELK Stack

DMZ区域

  • 负载均衡器Nginx集群实现请求分发和故障转移
  • Web应用防火墙WAF防护防止Web攻击和恶意访问

应用服务区

  • Web服务集群2台服务器8核32G部署前端应用和静态资源
  • 应用服务集群2台服务器16核64G部署后端微服务应用

数据服务区

  • 数据库集群达梦数据库主从架构32核128G保证数据高可用
  • 缓存集群Redis集群16核32G提升系统响应性能
  • 文件存储分布式文件存储8核32G 10TB处理业务文件

管理服务区

  • 监控服务器系统监控8核16G实时监控系统状态
  • 备份服务器数据备份8核32G 20TB保证数据安全
  • 跳板服务器运维管理4核8G安全的运维入口

对外接口

接口编号 接口名称(标识) 功能描述 接口协议 输入参数 输出结果
EXT-001 银行代扣接口 银行托收代扣缴费 HTTPS 用户信息、缴费金额 扣款结果
EXT-002 微信支付接口 微信在线支付 HTTPS 订单信息、金额 支付结果
EXT-003 支付宝支付接口 支付宝在线支付 HTTPS 订单信息、金额 支付结果
EXT-004 短信平台接口 短信通知发送 HTTPS 手机号、短信内容 发送结果
EXT-005 集抄系统接口 智能水表数据采集 TCP/HTTPS 水表编号 抄表数据

子系统列表

子系统编号 子系统名称(标识) 功能描述 开发方式
SYS-001 统一平台 单点登录、系统管理、权限管理 自行开发
SYS-002 营收系统 抄表开账、收费管理、账务处理 自行开发
SYS-003 表务系统 表务工单、表务仓库管理 自行开发
SYS-004 报装系统 报装流程管理 自行开发
SYS-005 客户服务 微信、支付宝服务窗 自行开发

子系统相互关系与接口

各子系统之间的主要调用关系如下:

  1. 统一平台 → 营收系统:提供用户认证、权限控制、组织机构信息
  2. 营收系统 → 表务系统:提供客户信息、水表信息,接收换表工单
  3. 营收系统 → 报装系统:接收新用户立户信息
  4. 营收系统 → 客户服务:提供账单信息、缴费接口
  5. 表务系统 → 营收系统:提供水表库存信息、换表完成通知

子系统1设计: 统一平台

功能与界面

统一平台是整个系统的基础支撑平台,提供统一的用户认证、权限管理、组织管理等功能。主要功能包括:

  • 单点登录:统一认证入口,支持多种登录方式
  • 系统管理:组织机构、员工管理、角色权限管理
  • 菜单配置:系统菜单和功能模块配置
  • 数据字典:系统基础代码数据管理
  • 系统监控:在线用户、系统性能监控

模块列表

模块编号 模块名称(标识) 功能描述 开发方式
UP-001 单点登录模块 用户认证、授权管理 自行开发
UP-002 系统管理模块 组织、用户、角色管理 自行开发
UP-003 权限控制模块 菜单权限、数据权限 自行开发
UP-004 监控管理模块 系统监控、日志管理 自行开发

模块间关系

权限管理功能群

统一平台的权限管理功能群包括用户管理、角色管理、菜单管理等模块,它们之间的关系如下:

  • 用户管理模块:管理系统用户基本信息
  • 角色管理模块:定义系统角色和权限
  • 菜单管理模块:配置系统菜单和功能权限
  • 部门管理模块:管理组织架构信息

系统监控功能群

系统监控功能群包括在线用户监控、系统性能监控、操作日志等模块。

模块设计

模块1: 单点登录

功能
功能1: 用户登录认证
设计图

用户登录界面,包含用户名、密码输入框,以及验证码输入。

功能描述
  1. 功能概述

    提供统一的用户登录认证功能基于OAuth2.0协议实现单点登录支持用户名密码登录、手机号短信验证码登录等多种认证方式。登录成功后生成JWT令牌用于后续请求的身份验证。

  2. 操作权限

    所有系统用户均可访问登录功能,无需特殊权限。

  3. 功能约束

    • 密码错误超过5次将锁定账户30分钟
    • 验证码有效期为5分钟
    • JWT令牌有效期为2小时支持自动刷新
输入输出数据
  1. 输入数据

    • 用户名长度3-30位支持字母、数字、下划线
    • 密码长度6-20位必须包含字母和数字
    • 验证码4位数字或字母组合
    • 记住我:布尔值,可选
  2. 输出数据

    • 登录成功返回用户信息、权限信息、JWT令牌
    • 登录失败:返回错误信息和错误码
业务规则
  1. 密码规则密码必须包含字母和数字长度6-20位
  2. 验证码规则验证码区分大小写有效期5分钟
  3. 账户锁定规则连续5次密码错误将锁定账户30分钟
  4. OAuth2.0协议支持:支持授权码模式(Authorization Code)和客户端凭证模式(Client Credentials)
  5. 令牌管理规则JWT令牌有效期2小时支持自动刷新OAuth2.0访问令牌有效期4小时
业务流程

标准登录流程:

  1. 用户访问登录页面
  2. 输入用户名、密码、验证码
  3. 系统验证输入参数的有效性
  4. 系统验证用户账户状态(是否锁定、是否禁用)
  5. 系统验证密码是否正确
  6. 验证成功后生成JWT令牌
  7. 返回用户信息和令牌给前端
  8. 前端保存令牌并跳转到首页

OAuth2.0授权码模式流程:

  1. 客户端应用重定向用户到授权服务器(/oauth/authorize)
  2. 用户在授权服务器进行身份认证
  3. 用户授权后,授权服务器重定向回客户端并携带授权码
  4. 客户端使用授权码向授权服务器请求访问令牌(/oauth/token)
  5. 授权服务器验证授权码并返回访问令牌和刷新令牌
  6. 客户端使用访问令牌访问受保护的资源
数据设计

涉及的主要数据表:

  • system_users:用户基本信息表
  • system_login_log:登录日志表
  • system_user_session:用户会话表
  • system_oauth2_clientOAuth2客户端表
  • system_oauth2_access_tokenOAuth2访问令牌表
  • system_oauth2_refresh_tokenOAuth2刷新令牌表
  • system_oauth2_codeOAuth2授权码表
  • system_oauth2_approveOAuth2批准表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
login 用户登录 username用户名必填
password密码必填
captcha验证码必填
登录结果、用户信息、JWT令牌
logout 用户登出 tokenJWT令牌必填 登出结果
refreshToken 刷新令牌 refreshToken刷新令牌必填 新的JWT令牌
oauthAuthorize OAuth2.0授权 client_id客户端ID必填
response_type响应类型必填
redirect_uri重定向URI必填
scope权限范围可选
授权页面或授权码
oauthToken OAuth2.0获取令牌 grant_type授权类型必填
code授权码必填
client_id客户端ID必填
client_secret客户端密钥必填
访问令牌、刷新令牌、令牌类型
oauthRefresh OAuth2.0刷新令牌 grant_type授权类型必填
refresh_token刷新令牌必填
client_id客户端ID必填
新的访问令牌、刷新令牌
其他说明

支持多租户登录根据租户配置显示不同的登录界面风格和Logo。

功能2: 第三方登录
功能描述

支持通过微信、支付宝等第三方平台进行登录认证。

业务规则
  1. 第三方登录需要先绑定系统账户
  2. 支持手机号一键绑定
  3. 首次登录需要完善用户信息

接口

接口1: 用户登录接口

a、接口名称

用户登录接口

b、接口描述

1. 用户身份认证登录
2. 支持用户名密码登录
3. 支持手机号短信验证码登录

c、请求地址

/admin-api/system/auth/login

d、请求方式

POST

e、请求参数

  1. Header参数
参数名 必选 类型/参数值 说明
Content-Type application/json 请求参数类型
  1. Body参数
参数名 必选 类型 限制条件 说明 备注
username string 3 < length < 30 用户账号
password string 6 < length < 20 密码
captchaVerification string length = 4 验证码
  1. 请求实例
{
  "username": "admin",
  "password": "123456",
  "captchaVerification": "1234"
}

f、响应参数

  1. 返回参数
参数名 必选 类型 限制条件 说明 备注
accessToken string 访问令牌
refreshToken string 刷新令牌
expiresTime number 过期时间
  1. 返回示例
{
  "code": 0,
  "msg": "成功",
  "data": {
    "accessToken": "eyJhbGciOiJIUzI1NiJ9...",
    "refreshToken": "eyJhbGciOiJIUzI1NiJ9...",
    "expiresTime": 1640995200000
  }
}

g、备注

登录成功后需要将accessToken存储到本地用于后续API调用的身份验证。

h、错误响应码

错误码 错误描述 原因 解决方案 示例值
1002000000 用户账号或密码不正确 用户名或密码错误 检查用户名和密码 001
1002000002 验证码不存在 验证码已过期或不存在 重新获取验证码 002

模块2: 系统管理

功能
功能1: 用户管理
设计图

用户管理界面,包含用户列表、新增/编辑用户对话框、用户详情页等。

功能描述
  1. 功能概述

    对系统用户进行统一管理,包括用户的新增、修改、删除、查询等操作。支持用户角色分配、部门归属设置、用户状态管理等功能。

  2. 操作权限

    需要具有用户管理权限的管理员才能执行用户管理操作。

  3. 功能约束

    • 用户名不能重复
    • 手机号不能重复
    • 超级管理员不能被删除
    • 不能删除当前登录用户
输入输出数据
  1. 输入数据

    • 用户基本信息:用户名、昵称、邮箱、手机号
    • 组织信息:所属部门、岗位
    • 权限信息:角色分配
    • 状态信息:启用/禁用状态
  2. 输出数据

    • 用户列表:分页展示用户信息
    • 用户详情:完整的用户信息
业务规则
  1. 用户名规则用户名为系统唯一标识不可重复长度3-30位
  2. 手机号规则手机号必须为11位数字不可重复
  3. 密码规则:初始密码由系统自动生成,用户首次登录需修改
  4. 部门规则:用户必须归属于某个部门
业务流程
  1. 新增用户流程

    • 填写用户基本信息
    • 选择所属部门和岗位
    • 分配用户角色
    • 设置用户状态
    • 保存用户信息
    • 发送初始密码通知
  2. 修改用户流程

    • 查询用户信息
    • 修改用户信息
    • 更新用户权限
    • 保存修改结果
数据设计

主要涉及的数据表:

  • system_users:用户基本信息
  • system_user_role:用户角色关联
  • system_dept:部门信息
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
createUser 创建用户 用户信息对象(必填) 创建结果
updateUser 更新用户 用户ID必填、用户信息对象必填 更新结果
deleteUser 删除用户 用户ID必填 删除结果
getUserPage 分页查询用户 查询条件(可选)、分页参数(必填) 用户列表
功能2: 角色管理
功能描述

管理系统角色和权限,支持角色的增删改查、权限分配等功能。

接口

接口1: 用户管理接口

参考上述用户管理接口规范。

子系统2设计: 营收系统

功能与界面

营收系统是水务业务的核心系统,主要负责客户资料管理、抄表开账、营业收费、账务处理、发票管理等核心业务功能。

模块列表

模块编号 模块名称(标识) 功能描述 开发方式
REV-001 客户资料管理 客户信息管理、分组管理 自行开发
REV-002 抄表开账 抄表录入、复核开账 自行开发
REV-003 营业收费 柜台收费、缴费管理 自行开发
REV-004 账务处理 账务调整、退款处理 自行开发
REV-005 发票管理 发票开具、查询管理 自行开发
REV-006 催缴管理 欠费催缴、短信通知 自行开发

模块间关系

营收核心业务群

营收系统的核心业务流程:客户资料管理 → 抄表开账 → 营业收费 → 账务处理 → 发票管理

客户服务业务群

围绕客户服务的业务流程:客户资料管理 → 催缴管理 → 客户服务

模块设计

模块1: 客户资料管理

功能

功能1: 客户信息管理
设计图

客户信息管理界面包含客户列表、查询条件、新增/编辑表单等功能区域。

功能描述
  1. 功能概述

    客户信息管理功能提供完整的客户档案管理,包括客户基本信息、用水信息、联系方式等的增删改查操作。支持客户分组管理、批量导入导出等功能。

  2. 操作权限

    • 营收管理员:完整的客户信息管理权限
    • 营收操作员:客户信息查询和基本维护权限
    • 抄表员:客户信息查询权限
  3. 功能约束

    • 客户编号必须唯一,系统自动生成
    • 必须填写客户姓名、联系电话等必要信息
    • 客户信息变更需要保留变更历史记录
输入输出数据
  1. 输入数据

    • 客户基本信息:姓名、证件号码、联系电话、地址等
    • 用水信息:水表编号、用水性质、收费方式等
    • 分组信息:客户分组、抄表册本、抄表员等
  2. 输出数据

    • 客户档案信息:完整的客户档案数据
    • 客户列表:支持分页查询的客户列表
    • 导出文件Excel格式的客户信息文件
业务规则
  1. 客户编号自动生成,格式为:地区代码+顺序号6位数字
  2. 同一地址下可以有多个客户,但水表编号不能重复
  3. 客户信息变更时,需要记录变更人、变更时间和变更原因
  4. 客户销户时,需要确认无欠费且水表已拆除
业务流程
flowchart TD
    Start([开始客户建档]) --> CheckInput[验证客户信息]
    CheckInput --> ValidInput{信息是否完整?}
    ValidInput -->|否| InputError[提示缺失信息]
    InputError --> CheckInput
    ValidInput -->|是| CheckDuplicate[检查重复客户]
    CheckDuplicate --> IsDuplicate{是否存在重复?}
    IsDuplicate -->|是| DuplicateError[提示重复客户]
    DuplicateError --> CheckInput
    IsDuplicate -->|否| GenerateCode[生成客户编号]
    GenerateCode --> SaveCustomer[保存客户信息]
    SaveCustomer --> CreateAccount[创建客户账户]
    CreateAccount --> AssignMeter[分配水表]
    AssignMeter --> SetBook[设置抄表册本]
    SetBook --> NotifySuccess[建档成功通知]
    NotifySuccess --> End([完成建档])
数据设计

主要涉及以下数据表:

  • customer_info:客户基本信息表
  • customer_change_log:客户变更日志表
  • customer_account:客户账户信息表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
createCustomer 创建新客户 customerInfo客户信息必填 Customer对象
updateCustomer 更新客户信息 id客户ID必填customerInfo客户信息必填 Boolean类型true/false
deleteCustomer 删除客户 id客户ID必填 Boolean类型true/false
getCustomerById 根据ID获取客户 id客户ID必填 Customer对象
getCustomerList 获取客户列表 pageNum页码选填pageSize页面大小选填 PageInfo
其他说明

客户信息管理模块与抄表开账、营业收费等模块紧密关联,客户信息的准确性直接影响到后续的业务处理。

功能2: 抄表数据录入
功能描述

抄表数据录入功能支持多种抄表方式,包括现场抄表、远程抄表、客户自报等,提供数据校验和异常处理功能。

抄表开账业务流程图
flowchart TD
    A[开始抄表] --> B{选择抄表方式}
    B -->|手工抄表| C[手工录入抄表数据]
    B -->|PDA抄表| D[PDA现场抄表]
    B -->|远传抄表| E[自动采集抄表数据]
    B -->|批量导入| F[Excel批量导入]
    
    C --> G[系统数据验证]
    D --> H[PDA数据上传]
    E --> I[远传数据同步]
    F --> J[批量数据校验]
    
    H --> G
    I --> G
    J --> G
    
    G --> K{数据是否有效?}
    K -->|否| L[数据修正]
    L --> G
    K -->|是| M[抄表数据复核]
    
    M --> N{复核是否通过?}
    N -->|否| O[标记异常数据]
    O --> P[人工处理异常]
    P --> M
    N -->|是| Q[计算用水量]
    
    Q --> R[计算水费金额]
    R --> S[生成账单]
    S --> T[账单审核]
    T --> U{审核是否通过?}
    U -->|否| V[退回修改]
    V --> R
    U -->|是| W[确认开账]
    W --> X[发送缴费通知]
    X --> Y([完成抄表开账])
业务规则
  1. 抄表数据验证规则

    • 本期抄数不能小于上期抄数
    • 月用水量不能超过设定的最大用水量限制
    • 连续几个月用水量为0需要人工确认
  2. 异常数据处理规则

    • 抄表数据异常自动标记,需要人工复核
    • 超出正常用水量范围的数据需要现场核实
    • 连续估抄超过3个月需要强制抄表
  3. 开账计算规则

    • 按照阶梯水价计算水费
    • 污水费按照用水量的一定比例计算
    • 其他费用根据客户类型和政策文件计算
数据设计

主要涉及以下数据表:

  • reading_record:抄表记录表
  • billing_record:开账记录表
  • meter_info:水表信息表
  • price_policy:价格政策表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
submitReading 提交抄表数据 meterCode水表编号必填reading抄表数据必填 Boolean类型true/false
validateReading 验证抄表数据 readingData抄表数据必填 ValidationResult对象
calculateBill 计算水费账单 customerId客户ID必填usage用水量必填 BillInfo对象
approveReading 审核抄表数据 readingId抄表记录ID必填approveResult审核结果必填 Boolean类型true/false

接口

接口1: 客户信息查询接口

a、接口名称

客户信息查询接口

b、接口描述

1. 查询客户基本信息
2. 支持多条件组合查询
3. 支持分页查询和排序

c、请求地址

/admin-api/revenue/customer/page

d、请求方式

GET

e、请求参数

  1. Query参数
参数名 必选 类型 限制条件 说明 备注
pageNo number > 0 页码 默认为1
pageSize number 1-100 每页大小 默认为10
customerNo string 客户编号 支持模糊查询
customerName string 客户名称 支持模糊查询
status number 0,1,2 客户状态 0正常1停用2注销

f、响应参数

  1. 返回参数
参数名 必选 类型 说明 备注
list array 客户列表
total number 总记录数
  1. 返回示例
{
  "code": 0,
  "msg": "成功",
  "data": {
    "list": [
      {
        "id": 1,
        "customerNo": "001202400001",
        "customerName": "张三",
        "customerType": "个人",
        "phone": "13800138000",
        "address": "福州市鼓楼区某小区1号楼101室",
        "status": 0
      }
    ],
    "total": 1
  }
}

模块2: 抄表开账

功能

功能1: 抄表录入
设计图

抄表录入界面,包含册本选择、抄表数据录入、异常处理等功能。

功能描述
  1. 功能概述

    支持手工、PDA、远传导入、Excel导入等多种抄表方式。录入时系统自动计算水量并与历史平均值比较对"量高"、"量低"情况进行提示。

  2. 操作权限

    抄表员、抄表管理员具有抄表录入权限。

  3. 功能约束

    • 抄表员只能操作自己负责的册本
    • 已复核的数据不能再次修改
    • 估抄连续超过3次需要现场核实
输入输出数据
  1. 输入数据

    • 册本信息:册本编号、抄表周期、抄表员
    • 抄表数据:水表编号、本期抄数、抄表日期、抄表状态
    • 异常信息:异常类型、异常说明、处理方式
  2. 输出数据

    • 抄表记录:完整的抄表数据记录
    • 异常统计:异常数据统计报表
    • 抄表进度:册本抄表完成进度
业务规则
  1. 抄表数据验证

    • 本期抄数必须大于等于上期抄数
    • 用水量异常(超出正常范围)需要标记
    • 连续0用水量需要人工确认
  2. 估抄处理规则

    • 允许临时估抄,但需要标记估抄状态
    • 估抄连续超过3次强制要求实抄
    • 估抄用水量按历史平均值计算
  3. 异常处理规则

    • 系统自动识别异常数据并标记
    • 异常数据需要抄表员确认或重新抄表
    • 特殊异常需要管理员审核
业务流程
flowchart TD
    Start([开始抄表流程]) --> SelectBook[选择抄表册本]
    SelectBook --> LoadCustomers[加载册本客户]
    LoadCustomers --> SelectMethod{选择抄表方式}
    
    SelectMethod -->|手工录入| ManualInput[手工录入抄表数据]
    SelectMethod -->|PDA抄表| PDAInput[PDA设备录入]
    SelectMethod -->|远传采集| RemoteCollect[自动采集远传数据]
    SelectMethod -->|Excel导入| ExcelImport[Excel批量导入]
    
    ManualInput --> ValidateData[数据验证]
    PDAInput --> SyncPDA[PDA数据同步]
    RemoteCollect --> ValidateRemote[远传数据验证]
    ExcelImport --> ValidateExcel[Excel数据验证]
    
    SyncPDA --> ValidateData
    ValidateRemote --> ValidateData
    ValidateExcel --> ValidateData
    
    ValidateData --> CheckException{检查异常}
    CheckException -->|有异常| MarkException[标记异常数据]
    CheckException -->|无异常| SaveReading[保存抄表数据]
    
    MarkException --> HandleException{异常处理方式}
    HandleException -->|估抄| EstimateReading[按历史均值估抄]
    HandleException -->|重抄| ReturnToInput[返回重新录入]
    HandleException -->|确认| ConfirmException[确认异常数据]
    
    EstimateReading --> SaveReading
    ReturnToInput --> ManualInput
    ConfirmException --> SaveReading
    
    SaveReading --> CheckProgress{检查抄表进度}
    CheckProgress -->|未完成| LoadCustomers
    CheckProgress -->|已完成| CompleteReading[完成抄表]
    CompleteReading --> End([结束抄表流程])
数据设计

主要涉及以下数据表:

  • reading_book:抄表册本表
  • reading_record:抄表记录表
  • meter_info:水表信息表
  • customer_info:客户信息表
  • reading_exception:抄表异常表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
loadReadingBook 加载抄表册本 bookId册本ID必填 ReadingBook对象
submitReadingData 提交抄表数据 readingData抄表数据必填 SubmitResult对象
validateReading 验证抄表数据 meterCode水表编号必填currentReading本期抄数必填 ValidationResult对象
markException 标记异常数据 readingId抄表记录ID必填exceptionType异常类型必填 Boolean类型true/false
getReadingProgress 获取抄表进度 bookId册本ID必填 ProgressInfo对象
其他说明

抄表录入是营收系统的起始环节,数据质量直接影响后续的开账和收费环节。系统提供多种抄表方式以适应不同的业务场景。

功能2: 复核开账
功能描述

内勤人员对抄表数据进行审核,审核通过后生成账单。

业务规则
  1. 复核人员不能复核自己录入的抄表数据
  2. 异常抄表数据必须提供处理说明
  3. 复核通过的数据才能进入开账流程

接口

接口1: 抄表数据提交接口

a、接口名称

抄表数据提交接口

b、接口描述

1. 提交单条或批量抄表数据
2. 自动计算用水量
3. 检测异常用水情况

c、请求地址

/admin-api/revenue/reading/submit

d、请求方式

POST

e、请求参数

  1. Body参数
参数名 必选 类型 限制条件 说明 备注
bookId number > 0 册本ID
meterId number > 0 水表ID
currentReading number ≥ 0 本期读数
readingStatus string 抄表状态 正常/故障/估读等
remark string 备注

f、响应参数

  1. 返回示例
{
  "code": 0,
  "msg": "成功",
  "data": {
    "readingId": 1001,
    "waterUsage": 25.5,
    "isAbnormal": false,
    "abnormalType": null
  }
}

模块3: 营业收费

功能

功能1: 柜台收费
功能描述

营业厅核心功能,支持通过客户编号、姓名、地址等多种方式快速定位客户欠费信息,支持多种支付方式。

业务规则
  1. 收费员每日下班前必须进行"柜台结账"
  2. 结账前,收错的账款可以执行"红冲"操作
  3. 支持现金、POS机、微信、支付宝等多种支付方式
设计图

柜台收费界面,包含客户查询、账单显示、收费录入、票据打印等功能区域。

功能描述
  1. 功能概述

    提供营业厅柜台现金收费、银行卡收费等服务,支持实时收费、预存款充值、欠费缴纳等多种收费场景。

  2. 操作权限

    • 收费员:柜台收费操作权限
    • 收费主管:收费审核和退款权限
    • 系统管理员:收费参数配置权限
  3. 功能约束

    • 收费员每日需要进行开账和结账操作
    • 现金收费金额需要与库存现金核对
    • 大额收费(超过设定金额)需要主管确认
柜台收费业务流程图
flowchart TD
    A[客户到营业厅缴费] --> B[收费员查询客户信息]
    B --> C{客户是否存在?}
    C -->|否| D[提示客户不存在]
    D --> E[核实客户信息]
    E --> B
    C -->|是| F[显示客户欠费信息]
    
    F --> G[选择缴费账单]
    G --> H[确认缴费金额]
    H --> I{选择支付方式}
    
    I -->|现金支付| J[现金收款]
    I -->|银行卡支付| K[POS机刷卡]
    I -->|扫码支付| L[扫码收款]
    I -->|预存款抵扣| M[预存款扣减]
    
    J --> N[找零处理]
    K --> O[确认支付成功]
    L --> P[确认支付成功]
    M --> Q[确认余额充足]
    
    N --> R[生成收费记录]
    O --> R
    P --> R
    Q --> S{余额是否充足?}
    
    S -->|否| T[提示余额不足]
    T --> I
    S -->|是| R
    
    R --> U[打印收费凭证]
    U --> V[更新账单状态]
    V --> W{是否有其他费用?}
    
    W -->|是| X[显示其他欠费]
    X --> G
    W -->|否| Y[完成缴费]
    Y --> Z[客户离开]
    Z --> AA([结束收费流程])
输入输出数据
  1. 输入数据

    • 客户信息:客户编号、姓名、联系方式
    • 收费信息:收费金额、收费方式、收费项目
    • 支付信息:支付方式、支付凭证、找零金额
  2. 输出数据

    • 收费凭证:收费单据、发票信息
    • 收费记录:完整的收费交易记录
    • 账务更新:客户账户余额、欠费状态更新
业务规则
  1. 收费计算规则

    • 按照欠费发生时间顺序收费
    • 支持部分缴费,优先缴纳主费用
    • 违约金按日计算,支持减免
  2. 支付方式规则

    • 现金支付需要找零处理
    • 银行卡支付需要确认到账
    • 预存款不足时可组合支付
  3. 票据管理规则

    • 收费凭证必须连续编号
    • 作废票据需要保留存根
    • 发票开具需要客户提供税号
数据设计

主要涉及以下数据表:

  • payment_record:收费记录表
  • payment_item:收费项目明细表
  • customer_account:客户账户表
  • receipt_info:票据信息表
  • cashier_session:收费员工作会话表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
queryCustomerBill 查询客户账单 customerCode客户编号必填 List对象
processPayment 处理收费业务 paymentData收费数据必填 PaymentResult对象
generateReceipt 生成收费凭证 paymentId收费记录ID必填 ReceiptInfo对象
updateAccountBalance 更新账户余额 customerId客户ID必填amount金额必填 Boolean类型true/false
cashierCheckIn 收费员签到 cashierId收费员ID必填 SessionInfo对象
其他说明

柜台收费是客户服务的重要窗口,需要确保操作简便、流程顺畅,提供良好的客户体验。

模块4: 账务处理

功能

功能1: 未销账调整
功能描述
  1. 功能概述

    对已生成但客户尚未缴纳的账单进行调整,包括按水量调整和按费用组成调整。支持分级审批和完整的调整流程管理。

  2. 操作权限

    • 营收员:提交调整申请
    • 营收主管:审批小额调整
    • 财务经理:审批大额调整
  3. 功能约束

    • 只能调整未销账的账单
    • 调整金额需要设置上限
    • 调整操作需要保留完整记录
业务规则
  1. 调整条件规则

    • 只能调整未收费的账单
    • 调整水量不能超过抄见水量
    • 调整金额不能超过原账单金额
  2. 审批流程规则

    • 调整金额≤100元营收主管审批
    • 调整金额>100元财务经理审批
    • 调整金额>1000元总经理审批
  3. 调整方式规则

    • 按水量调整:重新计算各项费用
    • 按费用组成调整:直接调整费用项
    • 混合调整:同时调整水量和费用
业务流程
flowchart TD
    A[查询未销账账单] --> B[选择调整账单]
    B --> C{选择调整方式}
    C -->|按水量调整| D[输入调整后水量]
    C -->|按费用调整| E[调整费用组成]
    
    D --> F[系统重新计算费用]
    E --> G[确认调整金额]
    F --> H[填写调整原因]
    G --> H
    
    H --> I[上传调整附件]
    I --> J[提交调整申请]
    J --> K[系统分配审批人]
    
    K --> L[审批人审核]
    L --> M{审批结果}
    M -->|通过| N[执行账单调整]
    M -->|拒绝| O[返回调整申请]
    
    N --> P[更新账单金额]
    P --> Q[生成调整凭证]
    Q --> R[通知申请人]
    R --> S([调整完成])
    
    O --> T[修改调整申请]
    T --> J
数据设计

主要涉及以下数据表:

  • account_adjustment:账务调整表
  • adjustment_approval:调整审批表
  • adjustment_detail:调整明细表
  • adjustment_attachment:调整附件表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
queryUnsettledBills 查询未销账账单 customerId客户ID必填 List对象
submitAdjustment 提交调整申请 adjustmentData调整数据必填 AdjustmentResult对象
approveAdjustment 审批调整申请 adjustmentId调整ID必填
approvalResult审批结果必填
Boolean类型true/false
executeAdjustment 执行账单调整 adjustmentId调整ID必填 Boolean类型true/false
功能2: 分账调整
功能描述
  1. 功能概述

    将一笔账单分成多笔独立的账单,支持按水量和按费用组成两种分账方式。适用于混合用水、分期缴费等业务场景。

  2. 操作权限

    • 营收员:提交分账申请
    • 营收主管:审批分账申请
    • 系统管理员:分账规则配置
  3. 功能约束

    • 只能对未收费账单进行分账
    • 分账后的总金额必须等于原账单金额
    • 分账操作不可逆,需要谨慎处理
业务规则
  1. 分账条件规则

    • 原账单必须是未收费状态
    • 分账金额总和必须等于原账单金额
    • 分账后的每笔账单都必须大于0
  2. 分账方式规则

    • 按水量分账:按比例分配各项费用
    • 按费用组成分账:直接分配费用项
    • 按客户分账:多客户共用一个账单
  3. 分账审批规则

    • 分账金额≤500元营收主管审批
    • 分账金额>500元财务经理审批
业务流程
flowchart TD
    A[查询可分账账单] --> B[选择分账账单]
    B --> C{选择分账方式}
    C -->|按水量分账| D[设置水量分配比例]
    C -->|按费用分账| E[设置费用分配方案]
    
    D --> F[系统计算分账金额]
    E --> F
    F --> G[验证分账合理性]
    G --> H{验证是否通过}
    H -->|否| I[提示分账错误]
    H -->|是| J[填写分账原因]
    
    I --> C
    J --> K[提交分账申请]
    K --> L[系统分配审批人]
    L --> M[审批人审核]
    
    M --> N{审批结果}
    N -->|通过| O[执行分账操作]
    N -->|拒绝| P[返回分账申请]
    
    O --> Q[生成多个子账单]
    Q --> R[更新原账单状态]
    R --> S[生成分账凭证]
    S --> T([分账完成])
    
    P --> U[修改分账申请]
    U --> K
数据设计

主要涉及以下数据表:

  • account_split:分账记录表
  • split_detail:分账明细表
  • split_approval:分账审批表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
querySplittableBills 查询可分账账单 queryCondition查询条件必填 List对象
submitSplitApplication 提交分账申请 splitData分账数据必填 SplitResult对象
approveSplitApplication 审批分账申请 splitId分账ID必填
approvalResult审批结果必填
Boolean类型true/false
executeSplitOperation 执行分账操作 splitId分账ID必填 Boolean类型true/false
功能3: 预付款退款
功能描述
  1. 功能概述

    对客户的预付款进行退款处理,包括退款申请、审批、退款执行等完整流程。支持全额退款和部分退款。

  2. 操作权限

    • 营收员:提交退款申请
    • 营收主管:审批退款申请
    • 财务人员:执行退款操作
  3. 功能约束

    • 只能退还客户预付款余额
    • 退款金额不能超过预付款余额
    • 退款操作需要财务确认
业务规则
  1. 退款条件规则

    • 客户预付款余额大于0
    • 客户无欠费记录
    • 退款原因合理
  2. 退款审批规则

    • 退款金额≤200元营收主管审批
    • 退款金额>200元财务经理审批
    • 退款金额>1000元总经理审批
  3. 退款方式规则

    • 现金退款:直接现金退还
    • 转账退款:转账到客户指定账户
    • 抵扣退款:抵扣其他费用
业务流程
flowchart TD
    A[查询客户预付款] --> B[验证退款条件]
    B --> C{是否满足退款条件}
    C -->|否| D[提示不满足条件]
    C -->|是| E[填写退款申请]
    
    E --> F[输入退款金额]
    F --> G[选择退款方式]
    G --> H[填写退款原因]
    H --> I[上传相关证明]
    I --> J[提交退款申请]
    
    J --> K[系统分配审批人]
    K --> L[审批人审核]
    L --> M{审批结果}
    M -->|通过| N[财务确认退款]
    M -->|拒绝| O[返回退款申请]
    
    N --> P[执行退款操作]
    P --> Q[更新预付款余额]
    Q --> R[生成退款凭证]
    R --> S[通知客户]
    S --> T([退款完成])
    
    O --> U[修改退款申请]
    U --> J
    D --> V([退款申请失败])
数据设计

主要涉及以下数据表:

  • prepayment_refund:预付款退款表
  • refund_approval:退款审批表
  • refund_voucher:退款凭证表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
queryPrepaymentBalance 查询预付款余额 customerId客户ID必填 PrepaymentBalance对象
submitRefundApplication 提交退款申请 refundData退款数据必填 RefundResult对象
approveRefundApplication 审批退款申请 refundId退款ID必填
approvalResult审批结果必填
Boolean类型true/false
executeRefundOperation 执行退款操作 refundId退款ID必填 Boolean类型true/false
功能4: 呆坏账申请
功能描述
  1. 功能概述

    对长期无法收回的欠费进行呆坏账处理,包括呆坏账申请、审批、核销等完整流程。用于处理确实无法收回的欠费。

  2. 操作权限

    • 催缴专员:提交呆坏账申请
    • 财务经理:审批呆坏账申请
    • 总经理:核销呆坏账
  3. 功能约束

    • 只能对长期欠费进行呆坏账申请
    • 必须提供完整的催缴证明材料
    • 呆坏账处理需要严格审批
业务规则
  1. 呆坏账条件规则

    • 欠费时间超过3年
    • 经过多次催缴无果
    • 客户失联或破产
  2. 申请材料规则

    • 完整的催缴记录
    • 客户失联证明
    • 法律咨询意见
  3. 审批流程规则

    • 财务经理初审
    • 总经理终审
    • 董事会特别审批(大额)
业务流程
flowchart TD
    A[筛选长期欠费] --> B[准备申请材料]
    B --> C[填写呆坏账申请]
    C --> D[上传催缴证明]
    D --> E[提交呆坏账申请]
    
    E --> F[财务经理初审]
    F --> G{初审结果}
    G -->|通过| H[总经理终审]
    G -->|拒绝| I[返回补充材料]
    
    H --> J{终审结果}
    J -->|通过| K[执行呆坏账核销]
    J -->|拒绝| L[申请被拒绝]
    
    K --> M[更新账单状态]
    M --> N[生成核销凭证]
    N --> O[财务账务处理]
    O --> P[归档处理记录]
    P --> Q([呆坏账处理完成])
    
    I --> R[补充完善材料]
    R --> E
    L --> S([申请失败])
数据设计

主要涉及以下数据表:

  • bad_debt_application:呆坏账申请表
  • bad_debt_approval:呆坏账审批表
  • bad_debt_writeoff:呆坏账核销表
  • bad_debt_document:呆坏账证明材料表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
queryLongTermArrears 查询长期欠费 queryCondition查询条件必填 List对象
submitBadDebtApplication 提交呆坏账申请 applicationData申请数据必填 BadDebtResult对象
approveBadDebtApplication 审批呆坏账申请 applicationId申请ID必填
approvalResult审批结果必填
Boolean类型true/false
executeBadDebtWriteoff 执行呆坏账核销 applicationId申请ID必填 Boolean类型true/false

模块5: 发票管理

功能

功能1: 发票查询
功能描述
  1. 功能概述

    提供发票查询功能,支持多种查询条件和查询方式。用户可以查询发票开具情况、发票状态、发票内容等信息。

  2. 操作权限

    • 营收员:查询发票基本信息
    • 财务人员:查询发票详细信息
    • 系统管理员:查询所有发票信息
  3. 功能约束

    • 支持多种查询条件组合
    • 查询结果支持导出
    • 敏感信息需要权限控制
业务规则
  1. 查询条件规则

    • 支持按客户、时间、金额等条件查询
    • 支持按发票状态筛选
    • 支持按发票类型分类查询
  2. 权限控制规则

    • 按组织架构控制查询范围
    • 按时间范围限制查询跨度
    • 按发票类型控制查看权限
业务流程
flowchart TD
    A[用户登录] --> B[选择查询条件]
    B --> C[输入查询参数]
    C --> D[权限验证]
    D --> E{权限是否通过}
    E -->|否| F[提示权限不足]
    E -->|是| G[执行查询]
    
    G --> H[显示查询结果]
    H --> I[选择操作]
    I --> J{选择操作类型}
    J -->|查看详情| K[显示发票详情]
    J -->|导出数据| L[导出发票列表]
    J -->|打印发票| M[打印发票]
    
    K --> N[返回查询结果]
    L --> O[生成导出文件]
    M --> P[发送打印任务]
    
    N --> Q([查询完成])
    O --> Q
    P --> Q
    F --> B
数据设计

主要涉及以下数据表:

  • invoice_info:发票信息表
  • invoice_detail:发票明细表
  • invoice_query_log:发票查询日志表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
queryInvoiceList 查询发票列表 queryCondition查询条件必填 PageResult对象
getInvoiceDetail 获取发票详情 invoiceId发票ID必填 InvoiceDetail对象
exportInvoiceData 导出发票数据 exportCondition导出条件必填 ExportResult对象
printInvoice 打印发票 invoiceId发票ID必填 PrintResult对象
功能2: 发票开具
功能描述
  1. 功能概述

    对接第三方税控平台,支持电子发票和纸质发票的开具和管理。提供发票开具、发票作废、发票红冲等完整功能。

  2. 操作权限

    • 开票员:开具发票权限
    • 财务主管:发票审核权限
    • 系统管理员:发票系统配置权限
  3. 功能约束

    • 发票开具需要税控设备支持
    • 发票内容需要符合税务要求
    • 发票操作需要完整记录
业务规则
  1. 开票条件规则

    • 客户已完成缴费
    • 发票信息准确完整
    • 税控设备正常工作
  2. 发票类型规则

    • 电子发票:自动开具
    • 纸质发票:手工开具
    • 专用发票:需要资质验证
  3. 发票管理规则

    • 发票号码连续管理
    • 发票作废需要审批
    • 发票红冲需要原因
业务流程
flowchart TD
    A[客户缴费完成] --> B[选择开票方式]
    B --> C{开票方式}
    C -->|自动开票| D[系统自动开具]
    C -->|手工开票| E[手工开具发票]
    
    D --> F[生成发票数据]
    E --> G[填写发票信息]
    G --> H[验证发票信息]
    H --> I{信息是否正确}
    I -->|否| J[修改发票信息]
    I -->|是| F
    
    F --> K[调用税控接口]
    K --> L[税控系统处理]
    L --> M{开票是否成功}
    M -->|否| N[开票失败处理]
    M -->|是| O[保存发票信息]
    
    O --> P[生成发票文件]
    P --> Q[发送给客户]
    Q --> R[更新发票状态]
    R --> S([开票完成])
    
    N --> T[记录失败原因]
    T --> U[重新开具]
    U --> F
    
    J --> G
数据设计

主要涉及以下数据表:

  • invoice_request:开票请求表
  • invoice_tax_control:税控接口记录表
  • invoice_error_log:开票错误日志表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
createInvoice 开具发票 invoiceData发票数据必填 InvoiceResult对象
cancelInvoice 作废发票 invoiceId发票ID必填
reason作废原因必填
Boolean类型true/false
redInvoice 红冲发票 invoiceId发票ID必填
reason红冲原因必填
InvoiceResult对象
sendInvoiceToCustomer 发送发票给客户 invoiceId发票ID必填
customerContact客户联系方式必填
Boolean类型true/false
功能3: 电子发票管理
功能描述

专门管理电子发票的功能,包括电子发票的生成、发送、查验等功能。支持多种电子发票格式和发送方式。

业务规则
  1. 电子发票规则:符合国家电子发票标准
  2. 发送方式规则:支持邮箱、短信、微信等多种发送方式
  3. 查验规则:支持二维码和发票代码查验

模块6: 催缴管理

功能

功能1: 欠费催缴
功能描述
  1. 功能概述

    查询欠费用户信息,生成催缴任务,支持打印催缴单和批量发送短信。系统支持多种催缴方式,包括短信催缴、电话催缴、上门催缴等。

  2. 操作权限

    • 催缴专员:催缴任务执行权限
    • 催缴主管:催缴任务分配和监督权限
    • 收费员:催缴结果录入权限
  3. 功能约束

    • 催缴任务需要按照欠费金额和时间优先级排序
    • 短信催缴需要控制发送频率,避免过度骚扰
    • 催缴结果需要及时反馈和记录
业务规则
  1. 催缴条件规则

    • 欠费超过30天自动生成催缴任务
    • 欠费金额超过设定标准优先催缴
    • 连续欠费客户重点关注
  2. 催缴方式规则

    • 首次催缴:短信通知
    • 二次催缴:电话催缴
    • 三次催缴:上门催缴
    • 特殊情况:停水催缴
  3. 催缴频率规则

    • 同一客户一天内最多催缴3次
    • 短信催缴间隔不少于2小时
    • 电话催缴间隔不少于1天
业务流程
flowchart TD
    A[系统自动扫描欠费] --> B[筛选催缴条件]
    B --> C[生成催缴任务]
    C --> D[任务分配]
    D --> E[催缴专员接收]
    
    E --> F{选择催缴方式}
    F -->|短信催缴| G[编辑短信内容]
    F -->|电话催缴| H[拨打客户电话]
    F -->|上门催缴| I[安排上门时间]
    
    G --> J[批量发送短信]
    H --> K[电话沟通记录]
    I --> L[上门催缴记录]
    
    J --> M[记录催缴结果]
    K --> M
    L --> M
    
    M --> N{客户是否缴费}
    N -->|是| O[更新缴费状态]
    N -->|否| P[升级催缴方式]
    
    O --> Q[催缴任务完成]
    P --> R{是否达到停水条件}
    R -->|是| S[生成停水工单]
    R -->|否| T[安排下次催缴]
    
    S --> U[执行停水操作]
    T --> V[等待催缴时间]
    V --> F
    
    Q --> W([催缴流程结束])
    U --> W
数据设计

主要涉及以下数据表:

  • reminder_task:催缴任务表
  • reminder_record:催缴记录表
  • reminder_result:催缴结果表
  • sms_send_log:短信发送日志表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
generateReminderTask 生成催缴任务 customerFilter客户筛选条件必填 List对象
sendSmsReminder 发送短信催缴 taskId任务ID必填
smsContent短信内容必填
SendResult对象
recordReminderResult 记录催缴结果 taskId任务ID必填
result催缴结果必填
Boolean类型true/false
getReminderStatistics 获取催缴统计 dateRange日期范围必填 StatisticsResult对象
功能2: 催缴记录管理
功能描述

管理催缴记录,包括催缴历史查询、催缴效果统计、催缴人员绩效分析等功能。

业务规则
  1. 记录管理规则:所有催缴活动都需要详细记录
  2. 统计分析规则:按时间、人员、方式统计催缴效果
  3. 绩效考核规则:根据催缴成功率进行绩效评估

模块7: 统计分析

功能

功能1: 报表查询
功能描述
  1. 功能概述

    提供各类业务报表的查询和生成功能,包括收费报表、抄表报表、欠费报表等。支持自定义查询条件和报表格式,满足不同层级管理人员的数据需求。

  2. 操作权限

    • 统计员:基础报表查询权限
    • 部门经理:部门级报表查询权限
    • 公司领导:全公司报表查询权限
  3. 功能约束

    • 报表数据需要实时更新
    • 大数据量报表需要异步处理
    • 敏感报表需要审批才能查看
业务规则
  1. 报表分类规则

    • 经营报表:收费、欠费、回收率等
    • 业务报表:抄表、开账、销账等
    • 管理报表:人员绩效、工作量等
  2. 查询权限规则

    • 按组织架构控制数据范围
    • 按时间范围限制查询跨度
    • 按报表类型控制查看权限
  3. 数据更新规则

    • 实时报表立即更新
    • 汇总报表定时更新
    • 历史报表按月归档
业务流程
flowchart TD
    A[用户登录] --> B[选择报表类型]
    B --> C[设置查询条件]
    C --> D[权限验证]
    D --> E{权限是否通过}
    E -->|否| F[提示权限不足]
    E -->|是| G[查询数据]
    
    G --> H{数据量大小}
    H -->|小数据量| I[实时生成报表]
    H -->|大数据量| J[异步处理]
    
    I --> K[展示报表结果]
    J --> L[后台生成报表]
    L --> M[通知用户完成]
    M --> N[下载报表文件]
    
    K --> O[导出报表]
    N --> O
    O --> P[打印报表]
    P --> Q([报表查询完成])
    
    F --> C
数据设计

主要涉及以下数据表:

  • report_template:报表模板表
  • report_config:报表配置表
  • report_generate_log:报表生成日志表
  • report_export_log:报表导出日志表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
generateReport 生成报表 reportType报表类型必填
queryCondition查询条件必填
ReportResult对象
exportReport 导出报表 reportId报表ID必填
exportFormat导出格式必填
ExportResult对象
getReportList 获取报表列表 userId用户ID必填 List对象
saveReportTemplate 保存报表模板 templateData模板数据必填 Boolean类型true/false
功能2: 缴费记录查询
功能描述
  1. 功能概述

    查询和统计客户的缴费记录,包括缴费时间、缴费金额、缴费方式、收费员等信息。支持多维度查询和统计分析。

  2. 操作权限

    • 收费员:查看自己的收费记录
    • 收费主管:查看部门收费记录
    • 财务人员:查看全部收费记录
  3. 功能约束

    • 支持按时间范围查询
    • 支持按收费方式分类统计
    • 支持按收费员分组查询
业务规则
  1. 查询条件规则

    • 时间范围:支持日、月、年查询
    • 金额范围:支持按金额区间筛选
    • 方式筛选:支持按收费方式筛选
  2. 统计分析规则

    • 按时间维度统计收费趋势
    • 按方式维度统计收费结构
    • 按人员维度统计收费绩效
数据设计

主要涉及以下数据表:

  • payment_record:缴费记录表
  • payment_statistics:缴费统计表
  • cashier_performance:收费员绩效表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
queryPaymentRecord 查询缴费记录 queryCondition查询条件必填 PageResult对象
getPaymentStatistics 获取缴费统计 statisticsType统计类型必填
dateRange日期范围必填
StatisticsResult对象
exportPaymentData 导出缴费数据 exportCondition导出条件必填 ExportResult对象
功能3: 欠费查询分析
功能描述
  1. 功能概述

    查询和分析客户的欠费情况,包括欠费金额、欠费时间、欠费原因等。支持欠费趋势分析和风险评估。

  2. 操作权限

    • 催缴专员:查看催缴范围内的欠费
    • 财务人员:查看全部欠费情况
    • 领导:查看欠费统计分析
  3. 功能约束

    • 支持按欠费时长分类查询
    • 支持按欠费金额分级查询
    • 支持按客户类型分组查询
业务规则
  1. 欠费分类规则

    • 按时长30天内、30-90天、90天以上
    • 按金额:小额、中额、大额欠费
    • 按类型:居民、商业、工业欠费
  2. 风险评估规则

    • 长期欠费客户标记为高风险
    • 大额欠费客户重点关注
    • 频繁欠费客户列入黑名单
数据设计

主要涉及以下数据表:

  • arrears_record:欠费记录表
  • arrears_analysis:欠费分析表
  • customer_risk_level:客户风险等级表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
queryArrearsRecord 查询欠费记录 queryCondition查询条件必填 PageResult对象
getArrearsAnalysis 获取欠费分析 analysisType分析类型必填 AnalysisResult对象
assessCustomerRisk 评估客户风险 customerId客户ID必填 RiskLevel对象

模块8: 代收业务

功能

功能1: 实时收费
功能描述
  1. 功能概述

    支持第三方渠道的实时收费业务包括银行柜台、ATM、网上银行、手机银行等渠道的实时收费接口。

  2. 操作权限

    • 系统管理员:接口配置权限
    • 财务人员:收费监控权限
    • 技术人员:接口维护权限
  3. 功能约束

    • 实时收费需要保证接口稳定性
    • 收费失败需要自动重试机制
    • 收费记录需要完整保存
业务规则
  1. 收费验证规则

    • 客户信息验证
    • 欠费金额验证
    • 支付能力验证
  2. 收费处理规则

    • 实时扣款处理
    • 账单状态更新
    • 收费凭证生成
业务流程
flowchart TD
    A[第三方发起收费] --> B[接收收费请求]
    B --> C[验证客户信息]
    C --> D{客户信息是否正确}
    D -->|否| E[返回错误信息]
    D -->|是| F[查询欠费信息]
    
    F --> G[计算收费金额]
    G --> H[执行收费处理]
    H --> I{收费是否成功}
    I -->|否| J[返回收费失败]
    I -->|是| K[更新账单状态]
    
    K --> L[生成收费凭证]
    L --> M[返回收费成功]
    M --> N[记录收费日志]
    N --> O([实时收费完成])
    
    E --> P[记录错误日志]
    J --> P
    P --> Q([收费流程结束])
数据设计

主要涉及以下数据表:

  • realtime_payment:实时收费表
  • payment_interface_log:收费接口日志表
  • payment_error_log:收费错误日志表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
processRealtimePayment 处理实时收费 paymentRequest收费请求必填 PaymentResponse对象
queryCustomerBills 查询客户账单 customerId客户ID必填 List对象
updateBillStatus 更新账单状态 billId账单ID必填
status状态必填
Boolean类型true/false
功能2: 银行代扣
功能描述

与银行系统对接,支持银行代扣业务,包括代扣文件生成、代扣结果处理、代扣对账等功能。

功能3: 银行托收
功能描述

与银行系统对接,支持银行托收业务,包括托收文件生成、托收结果处理、托收对账等功能。

模块9: 业务工单

功能

业务工单模块负责管理水务系统中的各类业务工单,包括客户服务工单、维修工单、稽查工单等,实现工单的全生命周期管理。

功能1: 业务清单管理
功能描述

业务清单管理用于查询和管理通过系统办理的日常业务工单及其进度信息,包括客户工单和账务处理工单。

业务工单流程图
flowchart TD
    A[工单来源] --> B{工单类型}
    B -->|客户服务| C[客户服务工单]
    B -->|账务处理| D[账务处理工单]
    B -->|投诉建议| E[投诉建议工单]
    B -->|故障报修| F[故障报修工单]
    
    C --> G[工单创建]
    D --> G
    E --> G
    F --> G
    
    G --> H[工单分类]
    H --> I[工单派发]
    I --> J[工单处理]
    J --> K{处理结果}
    
    K -->|完成| L[工单完成]
    K -->|需要协调| M[工单转派]
    K -->|需要升级| N[工单升级]
    
    M --> J
    N --> O[上级处理]
    O --> P[处理完成]
    L --> Q[工单归档]
    P --> Q
    Q --> R([工单结束])
业务规则
  1. 工单创建规则

    • 工单编号系统自动生成格式BW+年月日+4位流水号
    • 紧急工单需要在1小时内响应
    • 普通工单需要在8小时内派发
  2. 工单分类规则

    • 客户服务类:开户、过户、更名、停用等
    • 账务处理类:调账、退款、销账等
    • 投诉建议类:服务投诉、建议反馈等
    • 故障报修类:设施故障、管道漏水等
  3. 工单处理规则

    • 工单必须在规定时间内处理完成
    • 处理过程需要详细记录操作日志
    • 重要工单需要上级审核确认
数据设计

主要涉及以下数据表:

  • business_work_order:业务工单表
  • work_order_log:工单处理日志表
  • work_order_attachment:工单附件表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
createBusinessWorkOrder 创建业务工单 workOrderInfo工单信息必填 WorkOrder对象
queryWorkOrderList 查询工单列表 queryCondition查询条件选填 PageInfo
processWorkOrder 处理工单 workOrderId工单ID必填processInfo处理信息必填 Boolean类型true/false
closeWorkOrder 完成工单 workOrderId工单ID必填closeInfo完成信息必填 Boolean类型true/false
功能2: 上报清单管理
功能描述

上报清单管理用于处理通过移动端上报的问题工单,包括抄表员现场发现的问题、客户报告的异常等。

上报工单处理流程图
flowchart TD
    A[移动端上报] --> B[上报清单录入]
    B --> C[问题分类]
    C --> D{问题类型}
    
    D -->|水表故障| E[表务工单]
    D -->|管道问题| F[维修工单]
    D -->|水质问题| G[水质检测工单]
    D -->|其他问题| H[一般处理工单]
    
    E --> I[工单登记]
    F --> I
    G --> I
    H --> I
    
    I --> J[工单派发]
    J --> K[现场处理]
    K --> L[工单回填]
    L --> M[内勤审核]
    M --> N{审核结果}
    
    N -->|通过| O[工单完成]
    N -->|不通过| P[退回重处理]
    P --> K
    O --> Q([工单结束])
业务规则
  1. 上报规则

    • 上报必须包含现场照片或视频
    • 上报地点必须准确定位
    • 紧急问题需要标注紧急级别
  2. 处理规则

    • 紧急上报1小时内响应
    • 普通上报24小时内处理
    • 处理结果需要现场确认
数据设计

主要涉及以下数据表:

  • report_work_order:上报工单表
  • report_attachment:上报附件表
  • report_location:上报位置表
功能3: 稽查工单管理
功能描述

稽查工单管理用于处理抄表稽查和水价稽查工单,确保抄表数据和水价政策的准确执行。

稽查工单流程图
flowchart TD
    A[稽查任务下达] --> B{稽查类型}
    B -->|抄表稽查| C[抄表数据核实]
    B -->|水价稽查| D[水价政策核实]
    
    C --> E[现场抄表核对]
    D --> F[价格政策核对]
    
    E --> G[稽查结果记录]
    F --> G
    
    G --> H{稽查结果}
    H -->|合格| I[稽查通过]
    H -->|不合格| J[问题处理]
    
    J --> K[整改要求]
    K --> L[重新稽查]
    L --> G
    
    I --> M[稽查报告]
    M --> N([稽查完成])
业务规则
  1. 稽查标准

    • 抄表稽查:核实抄表数据准确性
    • 水价稽查:核实价格政策执行情况
    • 稽查必须有现场证据支持
  2. 稽查频率

    • 重点客户每月稽查
    • 普通客户季度抽查
    • 异常客户随时稽查
数据设计

主要涉及以下数据表:

  • audit_work_order:稽查工单表
  • audit_result:稽查结果表
  • audit_evidence:稽查证据表
功能4: 换表工单管理
功能描述

换表工单管理处理因故障、到期、客户申请等原因需要更换水表的业务工单,与表务系统的工单管理功能整合。

换表工单业务流程图
flowchart TD
    A[换表需求] --> B{换表原因}
    B -->|故障换表| C[故障登记]
    B -->|到期换表| D[到期提醒]
    B -->|客户申请| E[申请受理]
    
    C --> F[创建换表工单]
    D --> F
    E --> F
    
    F --> G[工单信息完善]
    G --> H[仓库申请水表]
    H --> I[工单派发]
    I --> J[现场换表]
    
    J --> K[旧表拆除]
    K --> L[新表安装]
    L --> M[表码记录]
    M --> N[工单回填]
    
    N --> O[内勤审核]
    O --> P{审核结果}
    P -->|通过| Q[更新客户档案]
    P -->|不通过| R[退回重做]
    R --> J
    
    Q --> S[旧表回库]
    S --> T([换表完成])
业务规则
  1. 换表条件

    • 水表故障无法正常计量
    • 水表到期需要强制更换
    • 客户申请且符合换表条件
  2. 换表流程

    • 必须先申请新表再进行换表
    • 换表过程需要拍照记录
    • 新旧表码必须准确记录
  3. 质量控制

    • 换表工单必须当日完成
    • 换表质量需要客户签字确认
    • 异常情况需要详细说明
数据设计

主要涉及以下数据表:

  • meter_work_order:表务工单表(复用表务系统)
  • meter_replacement_log:水表更换日志表
  • work_order_material:工单用料表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
createMeterWorkOrder 创建换表工单 workOrderInfo工单信息必填 WorkOrder对象
assignMeterWorkOrder 派发换表工单 workOrderId工单ID必填assigneeId指派人员ID必填 Boolean类型true/false
completeMeterReplacement 完成换表 workOrderId工单ID必填replacementInfo换表信息必填 Boolean类型true/false
queryMeterWorkOrderList 查询换表工单列表 queryCondition查询条件选填 PageInfo

接口

接口1: 创建业务工单接口

a、接口名称

创建业务工单接口

b、接口描述

1. 创建各类业务工单
2. 自动分配工单编号
3. 设置工单优先级和处理期限

c、请求地址

/admin-api/revenue/work-order/create

d、请求方式

POST

e、请求参数

  1. Body参数
参数名 必选 类型 限制条件 说明 备注
orderType string 工单类型 客户服务/账务处理/投诉建议/故障报修
title string 长度≤100 工单标题
description string 长度≤500 工单描述
priority string 优先级 紧急/高/中/低
customerId number > 0 客户ID 客户相关工单必填
contactPhone string 联系电话

f、响应参数

  1. 返回示例
{
  "code": 0,
  "msg": "成功",
  "data": {
    "workOrderId": 1001,
    "orderNo": "BW20241219001",
    "status": "待处理",
    "expectedTime": "2024-12-20 18:00:00"
  }
}
接口2: 工单处理接口

a、接口名称

工单处理接口

b、接口描述

1. 处理工单并更新状态
2. 记录处理日志
3. 支持附件上传

c、请求地址

/admin-api/revenue/work-order/process

d、请求方式

POST

e、请求参数

  1. Body参数
参数名 必选 类型 限制条件 说明 备注
workOrderId number > 0 工单ID
processResult string 处理结果 完成/转派/升级
processNote string 长度≤500 处理说明
attachments array 附件列表 支持图片、文档

f、响应参数

  1. 返回示例
{
  "code": 0,
  "msg": "成功",
  "data": {
    "workOrderId": 1001,
    "status": "已完成",
    "processTime": "2024-12-19 15:30:00"
  }
}

子系统3设计: 表务系统

功能与界面

表务系统主要负责水表的全生命周期管理,包括水表安装、维修、更换、报废等业务流程管理。

核心业务流程: 故障报告 → 工单创建 → 工单派发 → 现场处理 → 工单回填 → 工程验收 → 档案更新

主要功能模块:

  • 表务仓库管理:水表库存管理、出入库记录、库存预警、物料管理
  • 表务基础管理:水表档案、维修记录、使用历史、技术参数管理

注意:表务工单管理功能已整合到营收系统的业务工单模块中,避免功能重复。

模块列表

模块编号 模块名称(标识) 功能描述 开发方式
METER-001 表务仓库管理 水表库存管理和出入库管理 自行开发
METER-002 表务基础管理 水表档案和历史记录管理 自行开发

模块设计

模块1: 表务仓库管理

功能

功能1: 水表库存管理
功能描述

管理水表库存,包括入库、出库、库存查询、库存预警、物料管理等功能。

业务规则
  1. 入库规则:新水表采购入库需要验收确认,记录水表型号、规格、生产厂家等信息
  2. 出库规则:维修工单领取需要审核批准,记录领用人、用途、数量等信息
  3. 库存预警:库存低于安全库存时自动预警,支持邮件和短信通知
  4. 盘点规则:定期进行库存盘点,处理盘盈盘亏
数据设计

主要涉及以下数据表:

  • meter_warehouse:水表仓库表
  • meter_stock:水表库存表
  • meter_in_out_record:水表出入库记录表
  • meter_inventory:水表盘点表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
meterStockIn 水表入库 stockInfo入库信息必填 Boolean类型true/false
meterStockOut 水表出库 stockOutInfo出库信息必填 Boolean类型true/false
queryStockList 查询库存列表 queryCondition查询条件选填 PageInfo
stockWarning 库存预警 warehouseId仓库ID选填 List
功能2: 物料管理
功能描述

管理表务相关的物料,包括管材、配件、工具等辅助材料的管理。

业务规则
  1. 物料分类:按照用途对物料进行分类管理
  2. 领用管理:工单领用物料需要登记,完工后核销
  3. 采购管理:根据消耗情况制定采购计划

模块2: 表务基础管理

功能

功能1: 水表档案管理
功能描述

管理水表的基础档案信息,包括水表技术参数、安装记录、维修历史等。

业务规则
  1. 档案建立:新水表安装时建立档案,记录基本信息
  2. 信息更新:水表更换、维修时更新档案信息
  3. 历史追踪:完整记录水表的使用历史和维修记录
数据设计

主要涉及以下数据表:

  • meter_archive:水表档案表
  • meter_maintenance_record:水表维修记录表
  • meter_replacement_history:水表更换历史表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
createMeterArchive 创建水表档案 meterInfo水表信息必填 MeterArchive对象
updateMeterArchive 更新水表档案 archiveId档案ID必填updateInfo更新信息必填 Boolean类型true/false
queryMeterHistory 查询水表历史 meterId水表ID必填 List
getMeterMaintenanceRecord 获取维修记录 meterId水表ID必填 List

子系统4设计: 报装系统

功能与界面

报装系统负责新用户报装的全流程管理,从用户申请到最终通水的完整业务流程。

核心业务流程: 报装申请 → 现场踏勘 → 方案设计 → 合同签订 → 施工实施 → 验收通水 → 档案归档

主要功能模块:

  • 报装流程管理:申请受理、踏勘设计、合同签订、施工协调、验收通水
  • 现场踏勘管理:现场勘查、技术方案设计、工程预算、可行性评估
  • 报装档案管理:报装档案、工程档案、图纸管理、客户资料管理

模块列表

模块编号 模块名称(标识) 功能描述 开发方式
INSTALL-001 报装流程管理 新用户报装全流程管理 自行开发
INSTALL-002 现场踏勘管理 现场勘查和技术方案设计 自行开发
INSTALL-003 报装档案管理 报装和工程档案管理 自行开发

模块设计

模块1: 报装流程管理

功能

功能1: 报装流程
功能描述

报装流程管理新用户从申请到通水的全过程业务流程,实现报装业务的标准化管理。

新用户报装业务流程图
  • 总流程图
%%{init: {'themeVariables': {'primaryColor': '#F0F7FF'}}}%%
flowchart TD
    classDef stage fill:#4A90E2,stroke:#333,color:#fff,font-weight:bold
    classDef process fill:#E6F7FF,stroke:#1890FF
    classDef decision fill:#F6FFED,stroke:#52C41A
    classDef endpoint fill:#FFF7E6,stroke:#FA8C16

    subgraph 总流程["水务报装全流程"]
        direction TB
        A[用户报装申请]:::process --> B[资料收集与审核]
        B --> C{材料齐全?}:::decision
        C -->|否| D[补充材料] --> B
        C -->|是| E[受理登记] --> F[现场勘查设计]
        F --> G[方案审批] --> H[签订供水合同]
        H --> I[施工实施] --> J[工程验收] --> K[通水调试]
        K --> L{客户满意?}:::decision
        L -->|否| M[问题整改] --> K
        L -->|是| N([报装完成]):::endpoint
    end
  • 申请受理阶段
flowchart LR
    classDef header fill:#4A90E2,stroke:#333,color:#fff
    classDef process fill:#E6F7FF,stroke:#1890FF
    classDef decision fill:#F6FFED,stroke:#52C41A

    subgraph 申请受理[" "]
        A[用户提交申请]:::process --> B[资料收集]
        B --> C[审核材料清单]
        C --> D{材料齐全合规?}:::decision
        D -->|否| E[通知补正材料] --> C
        D -->|是| F[[受理登记]]:::process
    end
  • 现场勘查设计阶段
flowchart LR
    classDef header fill:#4A90E2,stroke:#333,color:#fff
    classDef process fill:#E6F7FF,stroke:#1890FF
    classDef decision fill:#F6FFED,stroke:#52C41A

    subgraph 现场勘查设计[" "]
        direction LR
        F -.-> G[分配报装编号]
        G --> H[安排现场踏勘]
        H --> I[现场勘查]
        I --> J[工程设计]
        J --> K[制定施工方案]
        K --> L[费用预算]:::endpoint
    end

- 合同签订阶段

```mermaid
flowchart LR
    classDef header fill:#4A90E2,stroke:#333,color:#fff
    classDef process fill:#E6F7FF,stroke:#1890FF
    classDef decision fill:#F6FFED,stroke:#52C41A

    subgraph 合同签订[" "]
        direction LR
        L -.-> M[方案审批]
        M --> N{审批是否通过?}:::decision
        N -->|否| O[方案修改]
        O --> M
        N -->|是| P[制作供水合同]
        P --> Q[通知用户签约]:::endpoint
    end
  • 工程施工阶段
flowchart LR
    classDef header fill:#4A90E2,stroke:#333,color:#fff
    classDef process fill:#E6F7FF,stroke:#1890FF
    classDef decision fill:#F6FFED,stroke:#52C41A

    subgraph 工程施工[" "]
        direction LR
        Q -.-> R[合同签订]
        R --> S[收取相关费用]
        S --> T[安排施工]
        T --> U[施工队伍派工]
        U --> V[现场施工]
        V --> W[施工进度监控]
        W --> X[工程质量检查]:::endpoint
    end
  • 验收移交阶段
flowchart LR
    classDef header fill:#4A90E2,stroke:#333,color:#fff
    classDef process fill:#E6F7FF,stroke:#1890FF
    classDef decision fill:#F6FFED,stroke:#52C41A

    subgraph 验收移交[" "]
        direction LR
        X -.-> Y{质量是否合格?}:::decision
        Y -->|否| Z[整改处理]
        Z --> V
        Y -->|是| AA[工程验收]
        AA --> BB[水表安装]
        BB --> CC[试压测试]
        CC --> DD[通水调试]
        DD --> EE[客户验收]
        EE --> FF{客户是否满意?}:::decision
        FF -->|否| GG[问题整改]
        GG --> DD
        FF -->|是| HH[工程移交]
        HH --> II[档案归档]
        II --> JJ[开通营收账户]
        JJ --> KK([报装完成]):::endpoint
    end
业务规则
  1. 申请受理规则

    • 申请材料必须包含身份证明、产权证明、用水申请
    • 工业用水需要提供用水计划和环评报告
    • 特殊用水性质需要相关部门审批
  2. 现场踏勘规则

    • 踏勘需要在受理后3个工作日内完成
    • 踏勘结果需要包含现场照片和测量数据
    • 复杂工程需要多部门联合踏勘
  3. 施工管理规则

    • 施工前需要办理相关许可手续
    • 施工过程需要拍照记录关键节点
    • 工程变更需要客户签字确认
数据设计

主要涉及以下数据表:

  • installation_application:报装申请表
  • site_survey:现场踏勘表
  • construction_plan:施工方案表
  • installation_contract:报装合同表
  • construction_progress:施工进度表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
submitApplication 提交报装申请 applicationInfo申请信息必填 Application对象
scheduleSurvey 安排现场踏勘 applicationId申请ID必填surveyDate踏勘日期必填 Boolean类型true/false
createConstructionPlan 制定施工方案 surveyResult踏勘结果必填 ConstructionPlan对象
signContract 签订报装合同 contractInfo合同信息必填 Contract对象
trackProgress 跟踪施工进度 contractId合同ID必填 ProgressInfo对象

模块2: 现场踏勘管理

功能

功能1: 现场勘查
功能描述

负责新用户报装的现场勘查,收集现场信息,为工程设计提供基础数据。

业务规则
  1. 踏勘安排:根据申请类型和复杂程度安排相应的踏勘人员
  2. 信息收集:记录现场地理位置、管网分布、施工条件等
  3. 方案建议:提出初步的工程实施方案和注意事项
数据设计

主要涉及以下数据表:

  • site_survey:现场踏勘表
  • survey_photo:踏勘照片表
  • survey_measurement:踏勘测量数据表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
scheduleSurvey 安排现场踏勘 applicationId申请ID必填surveyDate踏勘日期必填 Boolean类型true/false
recordSurveyData 记录踏勘数据 surveyData踏勘数据必填 SurveyRecord对象
generateTechPlan 生成技术方案 surveyId踏勘ID必填 TechnicalPlan对象
calculateCost 计算工程造价 planId方案ID必填 CostEstimate对象
功能2: 技术方案设计
功能描述

根据现场踏勘结果,设计技术实施方案,包括管线走向、施工方案、材料清单等。

业务规则
  1. 方案设计:根据踏勘结果制定详细的技术方案
  2. 材料清单:计算所需材料的种类和数量
  3. 造价预算:根据方案和材料清单计算工程造价

模块3: 报装档案管理

功能

功能1: 报装档案管理
功能描述

管理报装过程中产生的各类档案资料,包括申请资料、踏勘资料、施工资料、验收资料等。

业务规则
  1. 档案分类:按照业务类型对档案进行分类管理
  2. 档案归档:报装完成后及时归档相关资料
  3. 档案查询:支持多种方式查询档案信息
数据设计

主要涉及以下数据表:

  • installation_archive:报装档案表
  • archive_document:档案文档表
  • archive_category:档案分类表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
createArchive 创建报装档案 archiveInfo档案信息必填 Archive对象
uploadDocument 上传档案文档 archiveId档案ID必填document文档必填 Boolean类型true/false
queryArchive 查询报装档案 queryCondition查询条件选填 PageInfo
archiveComplete 档案归档 archiveId档案ID必填 Boolean类型true/false

子系统5设计: 客户服务

功能与界面

客户服务系统为用水客户提供多渠道、便捷的线上自助服务,主要通过微信和支付宝小程序实现。

核心业务流程: 账户绑定 → 信息查询 → 在线缴费 → 电子发票 → 客户服务

主要功能模块:

  • 账户绑定管理:客户账户绑定、解绑、验证、多账户管理
  • 信息查询服务:账单查询、缴费记录查询、用水量查询、欠费查询
  • 在线缴费服务:微信支付、支付宝支付、银行卡支付、预存款缴费
  • 电子发票服务:发票申请、发票查询、发票下载、发票推送

模块列表

模块编号 模块名称(标识) 功能描述 开发方式
SERVICE-001 账户绑定管理 客户账户绑定和管理 自行开发
SERVICE-002 信息查询服务 各类信息查询服务 自行开发
SERVICE-003 在线缴费服务 多渠道在线缴费服务 自行开发
SERVICE-004 电子发票服务 电子发票管理服务 自行开发

模块设计

模块1: 账户绑定管理

功能

功能1: 账户绑定
功能描述

用户通过微信或支付宝绑定水务账户,实现在线查询和缴费功能。支持多种绑定方式和多账户管理。

业务规则
  1. 绑定验证:通过客户编号、手机号、身份证等信息验证身份
  2. 多账户管理:一个微信/支付宝账户可以绑定多个水务账户
  3. 安全控制:绑定和解绑操作需要短信验证码确认
数据设计

主要涉及以下数据表:

  • customer_binding:客户绑定关系表
  • binding_verification:绑定验证记录表
  • binding_log:绑定操作日志表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
bindAccount 绑定客户账户 bindingInfo绑定信息必填 BindingResult对象
unbindAccount 解绑客户账户 bindingId绑定ID必填 Boolean类型true/false
verifyBinding 验证绑定信息 customerCode客户编号必填verifyInfo验证信息必填 Boolean类型true/false
getBindingList 获取绑定列表 openId微信/支付宝ID必填 List
功能2: 账户管理
功能描述

管理已绑定的客户账户,包括账户信息更新、绑定状态管理、账户切换等。

业务规则
  1. 状态管理:支持启用、停用绑定关系
  2. 信息同步:定期同步客户基础信息
  3. 异常处理:处理账户异常情况(如销户、过户等)

模块2: 信息查询服务

功能

功能1: 账单查询
功能描述

提供客户账单查询服务,包括当期账单、历史账单、欠费信息等查询功能。

业务规则
  1. 查询权限:只能查询已绑定账户的信息
  2. 数据范围支持查询最近24个月的账单信息
  3. 实时更新:账单信息实时同步更新
数据设计

主要涉及以下数据表:

  • billing_record:开账记录表
  • payment_record:缴费记录表
  • customer_info:客户信息表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
getBillInfo 获取账单信息 customerCode客户编号必填billMonth账单月份选填 BillInfo对象
getPaymentHistory 获取缴费历史 customerCode客户编号必填startDate开始日期选填endDate结束日期选填 List
getArrearsInfo 获取欠费信息 customerCode客户编号必填 ArrearsInfo对象
getUsageHistory 获取用水历史 customerCode客户编号必填months查询月数选填 List

模块3: 在线缴费服务

功能

功能1: 多渠道支付
功能描述

支持微信支付、支付宝支付、银行卡支付等多种支付方式,为客户提供便捷的在线缴费服务。

业务规则
  1. 支付限额单次支付金额不超过5000元
  2. 支付确认:支付完成后实时更新账户状态
  3. 退款处理:支持支付失败和错误支付的退款处理
数据设计

主要涉及以下数据表:

  • online_payment:在线支付记录表
  • payment_channel:支付渠道表
  • refund_record:退款记录表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
createPayment 创建支付订单 paymentInfo支付信息必填 PaymentOrder对象
confirmPayment 确认支付结果 orderId订单ID必填 PaymentResult对象
processRefund 处理退款申请 refundInfo退款信息必填 RefundResult对象
getPaymentStatus 查询支付状态 orderId订单ID必填 PaymentStatus对象

模块4: 电子发票服务

功能

功能1: 发票管理
功能描述

提供电子发票申请、查询、下载等服务,支持个人和企业发票需求。

业务规则
  1. 发票类型:支持普通发票和专用发票
  2. 开票时限缴费后30天内可申请发票
  3. 发票推送:发票开具成功后自动推送给客户
数据设计

主要涉及以下数据表:

  • invoice_application:发票申请表
  • invoice_info:发票信息表
  • invoice_push_log:发票推送日志表
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
applyInvoice 申请电子发票 invoiceRequest发票申请必填 InvoiceApplication对象
getInvoiceList 获取发票列表 customerCode客户编号必填 List
downloadInvoice 下载电子发票 invoiceId发票ID必填 InvoiceFile对象
pushInvoice 推送电子发票 invoiceId发票ID必填pushChannel推送渠道必填 Boolean类型true/false

子系统6设计: 手机抄表APP

功能与界面

手机抄表APP是为抄表员提供的移动端应用实现现场抄表、工单处理、数据同步等功能。

核心业务流程: 任务下载 → 现场抄表 → 问题上报 → 工单处理 → 数据上传 → 结果同步

主要功能模块:

  • 登录模块:机构编号、用户名密码认证、自动登录、版权标识
  • 首页搜索:多维度搜索、最近搜索记录、抄表任务列表
  • 采集任务管理:任务列表、批量下载、单户采集详情
  • 换表工单:工单处理流程、设备信息录入、附件上传
  • 其他工单:复水工单、稽查任务、抄表稽查、问题上报
  • 个人信息与系统设置:个人信息管理、账户安全、系统维护

模块列表

模块编号 模块名称(标识) 功能描述 开发方式
MOBILE-001 登录模块 机构编号、用户名密码认证、自动登录 自行开发
MOBILE-002 首页搜索模块 多维度搜索、最近搜索记录、抄表任务 自行开发
MOBILE-003 采集任务管理模块 任务列表管理、批量下载、单户采集 自行开发
MOBILE-004 换表工单模块 换表工单处理、设备信息录入 自行开发
MOBILE-005 其他工单模块 复水、稽查、问题上报等工单处理 自行开发
MOBILE-006 个人信息与系统设置模块 个人信息管理、系统设置维护 自行开发

模块设计

模块1: 登录模块

功能

功能1: 核心登录功能
功能描述
  1. 功能概述

    提供移动端用户登录认证功能,支持机构编号、用户名、密码三要素登录,包含自动登录选项和登录问题支持。

  2. 操作权限

    • 抄表员:基础抄表功能权限
    • 抄表组长:抄表监督和工单分配权限
    • 表务人员:换表和维修工单权限
  3. 功能约束

    • 必须输入机构编号、用户名、密码三要素
    • 支持自动登录功能(默认未勾选)
    • 登录失败提供客服支持途径
业务规则
  1. 登录验证规则:机构编号、用户名、密码三要素缺一不可
  2. 自动登录规则:勾选后下次打开应用自动提交历史凭证登录
  3. 安全控制规则:密码输入内容自动掩码显示
业务流程
flowchart TD
    A[启动APP] --> B[显示欢迎语]
    B --> C[显示登录表单]
    C --> D[输入机构编号]
    D --> E[输入用户名]
    E --> F[输入密码]
    F --> G[选择自动登录]
    G --> H[点击登录按钮]
    
    H --> I[提交身份验证]
    I --> J{验证结果}
    J -->|成功| K[进入主界面]
    J -->|失败| L[显示登录失败]
    
    L --> M[提示联系客服]
    M --> C
    
    K --> N[保存登录状态]
    N --> O([登录完成])
界面设计要点
  1. 欢迎语:顶部显示"您好!欢迎使用「手机抄表」功能"
  2. 登录表单
    • 机构编号输入框:占位提示"请输入机构ID"
    • 用户名输入框:占位提示"输入账号"
    • 密码输入框:占位提示"输入密码",内容自动掩码
    • 自动登录复选框:标签为"自动登录",默认未勾选
    • 登录按钮:标签为"登录",主操作按钮
  3. 辅助功能
    • 底部提示"登录遇到问题联系客服"
    • 底部版权标识"福建水投集团"
数据设计

主要涉及以下数据表:

  • system_users用户基本信息表复用Web端
  • system_login_log登录日志表复用Web端扩展设备类型字段
  • mobile_user_cache:移动端用户缓存表(移动端特有,用于离线缓存)
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
submitLogin 提交登录验证 orgCode机构编号必填
username用户名必填
password密码必填
autoLogin自动登录可选
LoginResult对象
checkAutoLogin 检查自动登录 deviceId设备ID必填 AutoLoginResult对象
saveLoginCredentials 保存登录凭证 credentials登录凭证必填 Boolean类型true/false
clearLoginCache 清除登录缓存 userId用户ID必填 Boolean类型true/false

模块2: 首页搜索模块

功能

功能1: 搜索框功能
功能描述
  1. 功能概述

    提供多维度客户搜索功能,支持户号、户名、地址、钢印号、手机号等多种搜索条件,实现快速定位客户信息。

  2. 操作权限

    • 所有登录用户均可使用搜索功能
    • 搜索结果根据用户权限进行过滤
  3. 功能约束

    • 支持实时搜索和关键词高亮
    • 搜索历史自动保存和去重
    • 异常状态需要友好提示
业务规则
  1. 搜索条件规则:支持户号、户名、地址、钢印号、手机号模糊匹配
  2. 搜索历史规则:最近搜索记录自动去重,显示关键信息
  3. 结果展示规则:搜索结果实时显示,支持关键词高亮
业务流程
flowchart TD
    A[进入首页] --> B[显示搜索框]
    B --> C[显示最近搜索记录]
    C --> D[显示抄表任务列表]
    
    B --> E[输入搜索关键词]
    E --> F[实时搜索匹配]
    F --> G{是否有结果}
    G -->|有结果| H[显示搜索结果]
    G -->|无结果| I[显示"未找到相关用户"]
    
    H --> J[点击搜索结果]
    C --> K[点击最近搜索]
    D --> L[点击抄表任务]
    
    J --> M[跳转用户详情页]
    K --> M
    L --> M
    
    M --> N[携带用户信息]
    N --> O[加载用户档案]
    O --> P[显示水表数据]
    P --> Q[显示欠费账单]
    Q --> R([完成用户信息加载])
界面设计要点
  1. 搜索框区域
    • 占位提示:"户号/户名/地址/钢印号/手机号"
    • 右侧取消按钮:清空内容并退出搜索状态
  2. 最近搜索记录
    • 显示"最近搜索"标签
    • 条目包含户号、户名、地址末段
    • 点击条目跳转用户详情页
  3. 抄表任务列表
    • 显示"抄表任务"标签
    • 每户显示户号、户名、完整地址
    • 相同户号的多条记录合并显示
  4. 搜索结果列表
    • 实时展示匹配结果
    • 支持关键词高亮显示
    • 无结果时显示友好提示
数据设计

主要涉及以下数据表:

  • mobile_search_history:移动端搜索历史表(移动端特有)
  • reading_book抄表册本表复用Web端
  • customer_info客户基本信息表复用Web端
  • meter_info水表信息表复用Web端
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
searchCustomer 搜索客户信息 keyword搜索关键词必填
searchType搜索类型可选
List对象
getSearchHistory 获取搜索历史 userId用户ID必填
limit条数限制可选
List对象
saveSearchHistory 保存搜索历史 userId用户ID必填
keyword关键词必填
Boolean类型true/false
getReadingTaskList 获取抄表任务列表 employeeId抄表员ID必填 List对象

模块3: 采集任务管理模块

功能

功能1: 任务列表管理
功能描述
  1. 功能概述

    管理抄表员的采集任务,包括任务列表展示、数据统计面板、任务筛选分类、批量下载等功能。

  2. 操作权限

    • 抄表员:查看和执行自己的任务
    • 抄表组长:查看所有任务和分配权限
  3. 功能约束

    • 任务按册本组织,支持离线操作
    • 未下载任务需要联网下载数据包
    • 支持全选和批量操作
业务规则
  1. 任务状态规则:未下载(需联网)、已下载(支持离线)
  2. 任务筛选规则:按"全部/未采集/采集"分类查看
  3. 批量操作规则:支持全选和多选批量下载
业务流程
flowchart TD
    A[进入任务管理] --> B[显示操作员姓名]
    B --> C[显示全局搜索框]
    C --> D[显示数据统计面板]
    D --> E[显示任务筛选标签]
    E --> F[显示任务列表]
    
    F --> G[选择任务项]
    G --> H[批量操作]
    H --> I[全选功能]
    I --> J[点击下载按钮]
    
    J --> K{网络状态}
    K -->|有网络| L[下载任务数据包]
    K -->|无网络| M[提示网络异常]
    
    L --> N[更新任务状态]
    N --> O[显示"已下载"]
    O --> P[支持离线操作]
    P --> Q([任务下载完成])
    
    M --> R[等待网络恢复]
    R --> J
界面设计要点
  1. 页面头部
    • 显示当前操作员姓名(如"张三"
    • 全局搜索框:支持按"户号/户名/地址/钢印"搜索
  2. 数据统计面板
    • 分栏显示"应采集X已采集Y已上传Z"
    • 实时反映任务进度
  3. 任务筛选
    • 标签页导航:"全部/未采集/采集"
    • 支持按状态分类查看
  4. 任务列表
    • 单条任务项:册本编号、备注、状态标签
    • 左侧单选按钮:支持勾选任务项
    • 状态标识:"未下载"或"已下载"
  5. 批量操作区
    • 底部"全选"按钮:勾选所有任务
    • 显示"已选册本(N)"计数
    • 蓝色"下载"按钮:批量下载选中任务
数据设计

主要涉及以下数据表:

  • reading_book抄表册本表复用Web端
  • reading_record抄表记录表复用Web端
  • customer_info客户基本信息表复用Web端
  • meter_info水表信息表复用Web端
  • mobile_task_sync:移动端任务同步表(移动端特有,用于离线任务管理)
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
getTaskList 获取任务列表 employeeId抄表员ID必填
status任务状态可选
List对象
downloadTaskData 下载任务数据包 taskIds任务ID列表必填 DownloadResult对象
getTaskStatistics 获取任务统计 employeeId抄表员ID必填 TaskStatistics对象
updateTaskStatus 更新任务状态 taskId任务ID必填
status状态必填
Boolean类型true/false
功能2: 单户采集详情
功能描述
  1. 功能概述

    提供单个客户的详细采集功能,包括住户档案展示、多种采集方式选择、户间导航等。

  2. 功能约束

    • 显示完整的客户档案信息
    • 支持定位、NFC、扫码三种采集方式
    • 支持按任务列表顺序切换客户
业务规则
  1. 档案展示规则:显示户号、户名、地址、表钢印号、水表编号、安装位置等
  2. 采集方式规则定位GPS、NFC电子标签、扫码二维码/条形码)
  3. 导航规则:按任务列表顺序支持上一户/下一户切换
界面设计要点
  1. 住户档案区域
    • 显示户号、户名、完整地址
    • 显示表钢印号、水表编号、安装位置
    • 右上角显示状态标签(如"正常""欠费"
  2. 采集方式选择
    • 并列提供三种采集入口
    • 定位获取GPS坐标
    • NFC读取电子标签
    • 扫码:识别二维码/条形码
  3. 户间导航
    • 底部"上一户/下一户"按钮
    • 按任务列表顺序切换

模块4: 换表工单模块

功能

功能1: 换表工单处理流程
功能描述
  1. 功能概述

    处理换表工单的完整流程,从待办工单列表到工单完成,包括工单信息填写、设备信息录入、附件上传等。

  2. 操作权限

    • 表务人员:处理换表工单
    • 工单管理员:工单分配和审核
  3. 功能约束

    • 必填字段必须完整填写
    • 必须上传现场照片和视频
    • 支持工单退单和说明原因
业务规则
  1. 工单筛选规则:支持按用户名、时间、工单类型、抄表员多维度筛选
  2. 信息录入规则:旧表底码、新表底码为必填项
  3. 设备信息规则IMEI为强制录入IMSI和通讯模块号可选
  4. 附件要求规则:必须上传图片或视频作为现场证据
业务流程
flowchart TD
    A[待办工单列表] --> B[筛选工单]
    B --> C[选择换表工单]
    C --> D[查看工单详情]
    D --> E[填写基础信息]
    
    E --> F[录入表具数据]
    F --> G[填写技术参数]
    G --> H[录入设备标识]
    H --> I[填写备注信息]
    I --> J[上传附件]
    
    J --> K{信息是否完整}
    K -->|否| L[提示必填项]
    L --> F
    K -->|是| M[选择操作]
    
    M --> N{完成还是退单}
    N -->|完成| O[提交工单]
    N -->|退单| P[填写退单原因]
    
    O --> Q[工单状态更新]
    P --> R[工单退回]
    
    Q --> S[通知相关人员]
    R --> T[记录退单日志]
    
    S --> U([工单处理完成])
    T --> U
界面设计要点
  1. 待办工单列表
    • 筛选功能:用户名、开始时间、工单类型、抄表员
    • 时间选择器支持跨年度选择2023-2025年
    • 工单信息:编号、户主姓名、地址、联系方式、创建时间
  2. 工单信息填写
    • 基础信息:户号、户名、地址、联系电话(自动带出,不可编辑)
    • 表具数据:旧表底码(必填)、新表底码(必填)、表钢印号/水表编号/条形码
    • 技术参数:新表口径、新表量程、新表厂家/型号
    • 设备标识IMEI强制录入、IMSI、通讯模块号
    • 备注框:支持长文本输入
  3. 附件上传
    • 支持图片(拍照/相册)
    • 支持视频(现场录制)
  4. 操作按钮
    • 蓝色"完成"按钮:提交工单
    • 红色"退单"按钮:终止并说明原因
数据设计

主要涉及以下数据表:

  • meter_work_order表务工单表复用Web端
  • meter_replacement_log水表更换日志表复用Web端
  • work_order_material工单用料表复用Web端
  • mobile_work_attachment:移动端工单附件表(移动端特有,用于现场附件管理)
方法说明
方法名 方法作用 输入参数(是否必填) 返回数据
getWorkOrderList 获取待办工单列表 employeeId抄表员ID必填
filter筛选条件可选
List对象
submitMeterChange 提交换表工单 workOrderId工单ID必填
meterChangeData换表数据必填
SubmitResult对象
uploadAttachment 上传附件 workOrderId工单ID必填
attachmentData附件数据必填
UploadResult对象
rejectWorkOrder 退单处理 workOrderId工单ID必填
reason退单原因必填
Boolean类型true/false

模块5: 其他工单模块

功能

功能1: 复水工单
功能描述
  1. 功能概述

    处理客户复水工单,包括日期选择、用户信息展示、欠费状态校验、二次确认操作等。

  2. 业务规则

    • 必须校验欠费结清状态
    • 需要二次确认操作
    • 记录复水操作时间和操作人
业务流程
flowchart TD
    A[选择复水工单] --> B[选择日期]
    B --> C[展示用户信息]
    C --> D[显示欠费结清状态]
    D --> E{欠费是否结清}
    E -->|是| F[显示"确认开水"按钮]
    E -->|否| G[提示需要结清欠费]
    F --> H[点击确认开水]
    H --> I[二次弹窗确认]
    I --> J{确认操作}
    J -->|是| K[执行复水操作]
    J -->|否| L[取消操作]
    K --> M[更新客户状态]
    M --> N[记录操作日志]
    N --> O([复水工单完成])
功能2: 稽查任务
功能描述
  1. 功能概述

    执行抄表稽查任务,包括待办列表、采集任务管理、数据看板、离线数据下载等。

  2. 业务规则

    • 支持双模式入口:待办列表和采集任务管理
    • 实时显示稽查进度
    • 支持册本批量下载
功能3: 抄表稽查
功能描述
  1. 功能概述

    对抄表数据进行稽查验证,包括用户档案核对、抄表数据对比、稽查结论填写、过程存证等。

  2. 业务规则

    • 必须填写稽查结论(合格/不合格)
    • 必须上传图片和视频证据
    • 记录上期读数和本期读数
界面设计要点
  1. 信息结构
    • 用户档案:编号、姓名、地址、钢印号
    • 抄表数据:上期读数→本期读数
    • 稽查结论:"合格"单选按钮(强制选择)
    • 过程存证:图片+视频附件上传(必传)
  2. 操作按钮
    • 蓝色"保存"按钮:完成稽查
功能4: 问题上报
功能描述
  1. 功能概述

    支持现场问题上报,包括问题类型选择、处理时效设置、溯源证据上传等。

  2. 业务规则

    • 上报类型固定为"换表申请"
    • 处理时效精确到小时
    • 必须上传图片或视频证据
界面设计要点
  1. 核心字段
    • 上报类型:固定为"换表申请"
    • 处理时效精确到小时如2025-06-06至2025-06-06
    • 溯源证据:强制上传图片/视频
  2. 操作流程
    • 保存提交后触发后台工单派发
数据设计

其他工单模块主要涉及以下数据表:

  • meter_work_order表务工单表复用Web端包括复水、稽查、维修等工单
  • customer_info客户基本信息表复用Web端
  • customer_account客户账户信息表复用Web端用于欠费状态查询
  • reading_record抄表记录表复用Web端用于稽查数据对比
  • mobile_work_attachment:移动端工单附件表(移动端特有,用于现场证据存储)

模块6: 个人信息与系统设置模块

功能

功能1: 个人信息管理
功能描述
  1. 功能概述

    管理个人基本信息,包括姓名修改、手机号设置、信息查看等功能。

  2. 业务规则

    • 姓名可以修改,需要二次确认
    • 手机号首次设置后可以修改
    • 账号信息不可修改
界面设计要点
  1. 信息展示
    • 姓名、账号、手机号码状态
  2. 编辑功能
    • 修改姓名:进入子页面,点击"完成"提交
    • 设置手机号:未设置时填写,点击"完成"保存
功能2: 账户安全配置
功能描述
  1. 功能概述

    管理账户安全相关设置,包括密码修改、退出登录等。

  2. 业务规则

    • 新密码需要符合安全要求
    • 需要输入新密码和确认密码
    • 退出登录清除本地会话
功能3: 系统维护选项
功能描述
  1. 功能概述

    提供系统维护相关功能,包括日志上传、缓存清理、数据备份、版本信息等。

  2. 业务规则

    • 重要操作需要二次确认
    • 支持异常水量预警开关
    • 显示当前应用版本
界面设计要点
  1. 系统维护功能
    • 日志上传:弹出确认框,发送至服务器
    • 清理缓存:弹出提示确认,清空本地记录
    • 抄表设置:启用"异常水量预警"开关
    • 备份数据库:保存本地数据
    • 版本信息显示当前版本如V1.0.3
数据设计

主要涉及以下数据表:

  • system_users用户基本信息表复用Web端
  • system_login_log登录日志表复用Web端记录密码修改等操作
  • mobile_app_config:移动端应用配置表(移动端特有,用于个性化设置)

关键业务规则与注意事项

数据校验规则

  1. 必填字段验证

    • 标*字段必须完整填写
    • 换表工单的旧表底码、新表底码为必填
    • IMEI设备识别码为强制录入项
  2. 格式校验规则

    • 手机号格式验证
    • 日期范围不超过当前日期
    • 表底码数值合理性检查

状态一致性规则

  1. 任务状态管理

    • 未下载任务不可直接采集
    • 相同户号在列表中合并显示
    • 任务状态实时同步更新
  2. 工单状态流转

    • 工单状态按流程严格流转
    • 退单操作需要填写原因
    • 完成工单需要附件证据

离线能力支持

  1. 离线操作规则

    • 已下载任务支持无网环境操作
    • 网络恢复后自动同步数据
    • 本地缓存数据完整性保证
  2. 数据同步策略

    • 支持实时上传和批量上传
    • 冲突数据需要人工处理
    • 重要数据多重备份保护

防误操作机制

  1. 二次确认操作

    • 复水操作需要二次确认
    • 退单操作需要填写原因
    • 清理缓存需要确认提示
  2. 数据完整性保护

    • 附件上传需要清晰可辨
    • 安装位置照片必须上传
    • 关键操作记录审计日志

中间件和其他设计

缓存设计

Redis

作用 Key Value 过期时间
用户会话 user:session:{userId} 用户信息JSON 2小时
系统配置 system:config:{configKey} 配置值 24小时
数据字典 system:dict:{dictType} 字典项列表 24小时
验证码 captcha:{uuid} 验证码值 5分钟
移动端任务 mobile:task:{employeeId} 抄表任务JSON 12小时
移动端缓存 mobile:cache:{deviceId} 缓存数据JSON 24小时

消息队列设计

RabbitMQ

作用 Queue Consumer
短信发送 sms.send SmsConsumer
邮件发送 email.send EmailConsumer
抄表数据处理 reading.process ReadingConsumer

定时任务设计

使用工具 功能描述 方法名称 调用周期
Quartz 自动开账任务 autoGenerateBills 每日凌晨2点
Quartz 欠费统计 calculateArrears 每日凌晨3点
Quartz 数据备份 backupDatabase 每日凌晨4点
Quartz 清理过期日志 cleanExpiredLogs 每周日凌晨1点

数据库设计

详见《新-数据库设计说明书.md》。

数据字典设计

详见《新-数据库设计说明书.md》中的数据字典部分。

对外接口

系统需要与多个外部系统进行接口对接,实现数据交换和业务协同。以下是主要外部接口的详细设计。

金融支付接口

银行接口

银行接口用于实现银行代扣、托收、实时收费等功能。

接口编号 接口名称(标识) 功能描述 接口协议 输入参数 输出结果
EXT-001 银行代扣接口 银行托收代扣缴费 HTTPS 用户信息、缴费金额 扣款结果
EXT-002 银行托收接口 银行托收业务 HTTPS 托收文件、客户信息 托收结果
EXT-003 银行实时收费接口 银行柜台实时收费 HTTPS 客户编号、收费金额 收费结果
EXT-004 银行对账接口 银行交易对账 HTTPS 对账文件、交易记录 对账结果

银行代扣接口详细设计

接口描述: 与银行系统对接,实现自动代扣客户水费功能。

业务流程:

flowchart TD
    A[生成代扣文件] --> B[上传到银行FTP]
    B --> C[银行处理代扣]
    C --> D[接收代扣结果]
    D --> E[更新客户账单]
    E --> F[生成代扣记录]
    F --> G[对账处理]
    G --> H([代扣完成])

接口参数:

  • 请求方式POST
  • 数据格式JSON
  • 加密方式RSA + AES

请求参数:

{
  "customerCode": "客户编号",
  "customerName": "客户姓名",
  "bankAccount": "银行账户",
  "amount": "代扣金额",
  "billInfo": "账单信息",
  "deductDate": "代扣日期"
}

响应参数:

{
  "resultCode": "结果码",
  "resultMsg": "结果信息",
  "transactionId": "交易流水号",
  "deductResult": "代扣结果",
  "balance": "账户余额"
}

第三方支付接口

微信支付接口

接口编号 接口名称(标识) 功能描述 接口协议 输入参数 输出结果
EXT-101 微信支付统一下单 微信支付下单 HTTPS 订单信息、金额 预支付ID
EXT-102 微信支付结果查询 查询支付结果 HTTPS 订单号 支付结果
EXT-103 微信支付退款 微信支付退款 HTTPS 订单号、退款金额 退款结果

支付宝接口

接口编号 接口名称(标识) 功能描述 接口协议 输入参数 输出结果
EXT-201 支付宝统一收单 支付宝收单 HTTPS 订单信息、金额 支付结果
EXT-202 支付宝交易查询 查询交易状态 HTTPS 交易号 交易状态
EXT-203 支付宝交易退款 支付宝退款 HTTPS 交易号、退款金额 退款结果

通信接口

短信平台接口

接口编号 接口名称(标识) 功能描述 接口协议 输入参数 输出结果
EXT-301 短信发送接口 发送短信通知 HTTPS 手机号、短信内容 发送结果
EXT-302 短信状态查询 查询短信状态 HTTPS 短信ID 发送状态
EXT-303 短信余额查询 查询短信余额 HTTPS 账户信息 余额信息

短信发送接口详细设计

接口描述: 与短信平台对接,实现催缴短信、通知短信等功能。

业务流程:

flowchart TD
    A[生成短信内容] --> B[调用短信接口]
    B --> C[短信平台处理]
    C --> D[返回发送结果]
    D --> E[记录发送日志]
    E --> F[状态回调处理]
    F --> G([短信发送完成])

接口参数:

{
  "mobile": "手机号码",
  "content": "短信内容",
  "templateId": "模板ID",
  "params": "模板参数"
}

邮件接口

接口编号 接口名称(标识) 功能描述 接口协议 输入参数 输出结果
EXT-401 邮件发送接口 发送邮件通知 HTTPS 邮箱地址、邮件内容 发送结果
EXT-402 邮件状态查询 查询邮件状态 HTTPS 邮件ID 发送状态

税务接口

开票接口

接口编号 接口名称(标识) 功能描述 接口协议 输入参数 输出结果
EXT-501 电子发票开具 开具电子发票 HTTPS 发票信息、税率 发票结果
EXT-502 发票状态查询 查询发票状态 HTTPS 发票代码 发票状态
EXT-503 发票作废 作废发票 HTTPS 发票代码、作废原因 作废结果
EXT-504 发票红冲 红冲发票 HTTPS 发票代码、红冲原因 红冲结果

电子发票开具接口详细设计

接口描述: 与税控平台对接,实现电子发票开具功能。

业务流程:

flowchart TD
    A[客户缴费完成] --> B[生成发票数据]
    B --> C[调用开票接口]
    C --> D[税控平台处理]
    D --> E{开票是否成功}
    E -->|是| F[返回发票信息]
    E -->|否| G[返回错误信息]
    F --> H[保存发票记录]
    G --> I[记录错误日志]
    H --> J[发送发票给客户]
    I --> K[重试或人工处理]
    J --> L([开票完成])
    K --> C

物联网接口

集抄系统接口

接口编号 接口名称(标识) 功能描述 接口协议 输入参数 输出结果
EXT-601 水表数据采集 远程抄表数据采集 HTTPS 水表编号、时间范围 抄表数据
EXT-602 水表状态查询 查询水表在线状态 HTTPS 水表编号 状态信息
EXT-603 水表参数设置 设置水表参数 HTTPS 水表编号、参数信息 设置结果
EXT-604 水表控制指令 远程控制水表 HTTPS 水表编号、控制指令 控制结果

水表数据采集接口详细设计

接口描述: 与物联网集抄系统对接,实现远程抄表数据采集。

业务流程:

flowchart TD
    A[定时采集任务] --> B[发送采集指令]
    B --> C[集抄系统处理]
    C --> D[水表数据采集]
    D --> E[返回抄表数据]
    E --> F[数据验证处理]
    F --> G{数据是否有效}
    G -->|是| H[保存抄表数据]
    G -->|否| I[标记异常数据]
    H --> J[更新抄表记录]
    I --> K[人工处理]
    J --> L([采集完成])
    K --> L

政务系统接口

政务平台对接

接口编号 接口名称(标识) 功能描述 接口协议 输入参数 输出结果
EXT-701 数据汇聚接口 向政务平台推送数据 HTTPS 业务数据、统计数据 推送结果
EXT-702 报装工单接口 政务平台报装工单 HTTPS 工单信息 处理结果
EXT-703 缴费查询接口 政务平台缴费查询 HTTPS 客户信息 缴费信息
EXT-704 用户认证接口 政务平台用户认证 HTTPS 用户凭证 认证结果

其他系统接口

环卫系统接口

接口编号 接口名称(标识) 功能描述 接口协议 输入参数 输出结果
EXT-801 污水费计算接口 计算污水费 HTTPS 用水量、费率 污水费金额
EXT-802 垃圾费计算接口 计算垃圾费 HTTPS 用水量、费率 垃圾费金额
EXT-803 环卫收费对接 环卫收费数据同步 HTTPS 收费数据 同步结果

客服系统接口

接口编号 接口名称(标识) 功能描述 接口协议 输入参数 输出结果
EXT-901 通话记录接口 获取通话记录 HTTPS 时间范围、客户信息 通话记录
EXT-902 工单创建接口 创建客服工单 HTTPS 工单信息 工单ID
EXT-903 客户投诉接口 客户投诉处理 HTTPS 投诉信息 处理结果

消火栓系统接口

接口编号 接口名称(标识) 功能描述 接口协议 输入参数 输出结果
EXT-1001 取水权限设置 设置取水权限 HTTPS 用户信息、权限参数 设置结果
EXT-1002 取水量监控 监控取水量 HTTPS 设备编号、时间范围 取水记录
EXT-1003 设备控制接口 控制取水设备 HTTPS 设备编号、控制指令 控制结果

接口安全设计

认证机制

  1. API密钥认证每个接口调用需要提供有效的API密钥
  2. 数字签名关键接口使用RSA数字签名验证
  3. 时间戳验证:防止重放攻击
  4. IP白名单:限制接口调用来源

加密机制

  1. 传输加密所有接口使用HTTPS加密传输
  2. 数据加密敏感数据使用AES加密
  3. 密钥管理:定期更换加密密钥

限流机制

  1. 接口限流:每个接口设置调用频率限制
  2. 用户限流:每个用户设置调用总量限制
  3. 异常检测:检测异常调用模式

接口监控

性能监控

  1. 响应时间监控:监控接口响应时间
  2. 成功率监控:监控接口调用成功率
  3. 并发量监控:监控接口并发调用量

错误监控

  1. 错误日志记录:记录所有接口错误
  2. 告警机制:异常情况及时告警
  3. 自动重试:临时性错误自动重试

业务监控

  1. 交易量监控:监控各类交易量
  2. 资金监控:监控资金流水
  3. 业务异常监控:监控业务异常情况

非功能性需求的设计

性能的考虑

为满足系统性能要求,采取以下设计措施:

  1. 数据库优化

    • 采用达梦数据库主从架构,读写分离
    • 关键查询建立合适索引
    • 大表分区存储,历史数据归档
  2. 缓存策略

    • Redis缓存热点数据
    • 系统配置、数据字典缓存
    • 用户会话信息缓存
  3. 应用优化

    • 接口响应时间控制在3秒内
    • 支持200并发用户访问
    • 批量操作采用异步处理

兼容性的考虑

  1. 数据库兼容性

    • 支持达梦数据库 8.0+
    • 兼容PostgreSQL语法
    • 预留MySQL适配接口
  2. 浏览器兼容性

    • 支持Chrome 80+
    • 支持Firefox 75+
    • 支持Safari 13+

安全的考虑

  1. 认证授权

    • 基于OAuth2.0协议的单点登录认证
    • 基于JWT的身份认证
    • RBAC权限控制模型
    • 多租户数据隔离
  2. 数据安全

    • 敏感数据加密存储
    • SQL注入防护
    • XSS攻击防护
  3. 传输安全

    • HTTPS加密传输
    • API接口签名验证
    • 请求频率限制

可移植性的考虑

  1. 容器化部署

    • 基于Docker容器部署
    • Kubernetes编排管理
    • 支持多云部署
  2. 配置外部化

    • 环境配置与代码分离
    • 支持配置中心管理
    • 数据库连接池化

集成与测试的考虑

  1. 集成策略

    • 采用自底向上的集成方式
    • 先完成基础服务开发
    • 再进行业务服务集成
  2. 测试策略

    • 单元测试覆盖率达到80%
    • 集成测试覆盖主要业务流程
    • 性能测试验证系统性能指标

可扩展性的考虑

  1. 架构扩展

    • 微服务架构支持横向扩展
    • 数据库读写分离支持性能扩展
    • 缓存集群支持容量扩展
  2. 功能扩展

    • 插件化架构支持功能扩展
    • 开放API支持第三方集成
    • 工作流引擎支持业务流程扩展

可靠性的考虑

  1. 故障恢复

    • 数据库主从备份
    • 应用服务集群部署
    • 定时数据备份机制
  2. 监控告警

    • 系统性能监控
    • 业务异常告警
    • 日志分析和追踪

可维护性的考虑

  1. 代码质量

    • 统一编码规范
    • 代码审查机制
    • 自动化测试
  2. 运维友好

    • 完善的部署文档
    • 运维监控界面
    • 问题定位工具