返回作品

产品订单微服务系统

创建于 2025 年 10 月 28 日

标签
  • Java 8
  • Spring Boot 2.7.18
  • Spring Cloud 2021.0.9
  • Spring Cloud Alibaba 2021.0.6.1
  • RuoYi-Cloud 3.6.6
  • Nacos
  • Sentinel
  • Seata
  • Spring Cloud Gateway
  • MyBatis
  • MySQL 5.7
  • Redis
  • Vue 2
  • Element UI
  • iText

项目介绍

这是一个把”销售订单—SN 序列号—License 授权—测试报告”整条设备出厂链路拆成微服务的产品管理系统。项目没有从零造轮子,而是在若依微服务版 RuoYi-Cloud 3.6.6 的标准底座上做业务扩展:网关、认证中心、系统管理、代码生成、定时任务等基础设施全部复用,新增的业务则落在独立的 ruoyi-esong 聚合模块下,按职责拆成四个可独立部署、独立扩展的微服务——esong-orders(销售订单)、esong-sn(设备序列号)、esong-licenses(设备授权)、esong-reports(测试报告)。这种”标准框架打底、业务横向切分”的做法,是微服务改造里成本最低、收益最直观的一条路径。

核心功能

  • 销售订单管理(esong-orders)SalesOrderController 提供列表、详情、新增、修改、删除与 Excel 导出全套接口,权限点如 esong:orders:list/add/edit/remove 通过 @RequiresPermissions 声明。新增与修改均调用 checkOrderNoUnique 校验订单号唯一;删除逻辑里藏着一条业务约束——订单已生成 SN 号时抛 ServiceException("该订单已生成SN号,不可删除") 禁止删除。订单主表与明细表在 SalesOrderServiceImpl 中通过 @Transactional 联动维护,修改时先删明细再批量重插。
  • 测试报告管理(esong-reports)TestReportController 除标准 CRUD 外,按 SN 查询报告(/test-report/sn/{snCode}),并基于 iText 实现三种 PDF 导出——单份报告导出(exportPdf)、按 SN 合并全部报告(exportPdfBySn)、批量打包 ZIP(exportPdfZip),文件名统一为”SN + 时间戳”格式。
  • 前端配套(ruoyi-ui):Vue 2 + Element UI 的页面与后端服务一一对应——views/order/sales(销售订单)、views/sn(SN 管理,含订单号/SN/型号检索与”是否重复”筛选、批量生成入口)、views/licensesviews/reports/test,按钮级权限标识(如 esong:sn:generate)与后端 @RequiresPermissions 严格对齐。

功能截图

暂无运行截图。