EzCloud 售后管理模块源码解析:维保派单、工单状态流转与多租户数据隔离实现

📅 2026/7/8 2:55:44
EzCloud 售后管理模块源码解析:维保派单、工单状态流转与多租户数据隔离实现
前言设备、工贸类微服务业务系统开发中设备报修维保是承载客户售后、设备维修、回访归档的核心业务模块。自行搭建维保管理功能很容易出现维修工单分配逻辑杂乱、流程状态硬编码、不同企业报修数据互相穿透等问题后续新增设备品类、维保规则改造成本较高。EzCloud 独立拆分ez-cloud-workorder维保插件模块完整封装报修提交、智能派单、全流程状态流转、售后回访、设备维保台账整套底层逻辑代码分层解耦可作为微服务售后维保业务开发的参考案例。1、EzCloud 维保模块工程分层结构模块按照售后业务流程分层拆分各层级单向依赖、互不耦合maintain-base报修分类、设备类型、维保项目基础配置管理maintain-distribute维保工单智能派单、人员匹配、手动转单、自主抢单核心逻辑maintain-record维修进度流转、维修记录、客户回访、维保费用台账存储所有报修、维修相关数据操作仅在本模块内部完成CRM 客户模块、ERP 进销存模块仅通过 Feign 标准接口同步客户、设备商品基础信息不会直接操作维保底层数据表保障数据安全统一。2、核心源码维保工单智能均衡派单逻辑实现maintain-distribute 核心代码java运行Service public class MaintainDistributeServiceImpl implements MaintainDistributeService { Autowired private MaintainOrderMapper orderMapper; Autowired private MaintainStaffMapper staffMapper; Override Transactional(rollbackFor Exception.class) public void autoDispatchOrder(Long orderId, Long tenantId, Long deviceTypeId) { // 1、筛选当前企业下擅长对应设备类型、处于空闲状态的维修师傅 ListMaintainStaffDO staffList staffMapper.selectIdleStaff(tenantId, deviceTypeId); if (CollectionUtils.isEmpty(staffList)) { // 无匹配维修人员工单归入待派单公池 MaintainOrderDO update new MaintainOrderDO(); update.setId(orderId); update.setOrderStatus(OrderStatus.WAIT_DISPATCH.getCode()); orderMapper.updateById(update); return; } // 2、筛选当前待处理工单最少的人员均衡分配维修任务 MaintainStaffDO targetStaff getMinWorkloadStaff(staffList); // 3、绑定维修负责人更新工单处理状态 MaintainOrderDO order new MaintainOrderDO(); order.setId(orderId); order.setHandlerStaffId(targetStaff.getId()); order.setOrderStatus(OrderStatus.PROCESSING.getCode()); orderMapper.updateById(order); // 4、留存本次派单操作日志全程可追溯 saveDispatchLog(orderId, targetStaff.getId()); } // 筛选手头待办工单最少的维修人员均衡工作量 private MaintainStaffDO getMinWorkloadStaff(ListMaintainStaffDO staffList) { return staffList.stream() .min(Comparator.comparingInt(this::getStaffProcessingCount)) .orElse(null); } }代码设计技术特点所有查询、更新操作强制携带租户标识从底层隔离不同企业设备报修数据杜绝数据混淆内置均衡派单算法避免部分维修人员工单积压、部分人员闲置无维修任务无匹配维修人员时自动划入待派单公池支持人工手动指派、维修人员自主抢单派单全流程包裹事务防止同一工单重复分配、工单状态错乱异常。3、维保工单全流程状态流转机制模块内置标准化设备报修全生命周期无需硬编码流程分支客户提交设备报修单 → 系统自动匹配对应维修师傅派单 / 转入待派单公池维修人员接单、上门检修、故障处理、客户验收签字、售后回访归档分阶段状态管控支持工单驳回、临时转派、暂停维修、结案归档多种操作类型全部流转状态统一枚举管控新增细分维保场景仅拓展状态分支无需改动核心派单底层逻辑。https://gitee.com/tan-tianming/ez-cloud.git4、模块二次开发拓展特性报修分类、维保服务项目均支持后台可视化配置新增设备品类无需改动代码可联动 CRM 客户档案、ERP 设备商品台账一键调取客户历史采购设备、过往报修记录独立插件工程企业无设备维保业务可直接移除该模块不干扰 OA 审批、ERP 进销存等基础服务运行统一封装维保台账、回访记录查询接口可快速对接数据报表模块统计售后运维数据。总结EzCloud 设备报修维保模块解决自研售后系统派单逻辑复杂、流程固化、多企业数据难隔离的开发痛点分层架构清晰、拓展能力完善适合设备制造、工贸类微服务项目学习与落地参考。