类型:报告 · 建档:2026-05-09 | 时效性文档,引用前请核对正文的数据截止日
ECC 伊利券中心项目深度分析
一、项目定位
ECC = 伊利券中心 (YiLi Coupon Center)
这是一个基于 Spring Cloud Alibaba 的微服务架构,用于伊利公司的优惠券和营销活动管理平台,支撑物码营销、扫码签收、货补券发放等核心业务。
二、技术栈全景
| 层级 | 技术选型 |
|---|---|
| 后端框架 | Spring Boot 3.1.5 + Java 17 |
| 微服务 | Spring Cloud 2022.0.4 + Spring Cloud Alibaba 2022.0.0.0 |
| 服务治理 | Nacos(注册/配置)、Sentinel(限流熔断) |
| 服务通信 | OpenFeign(同步调用)、RabbitMQ(异步消息) |
| 数据层 | MyBatis + Druid + MySQL 8.0 |
| 缓存层 | Redis + Redisson(分布式锁) |
| 任务调度 | XXL-Job 2.4.2 |
| 前端框架 | Vue 3.5 + Element Plus 2.9 + Pinia + Vite 5.1 |
| 文件存储 | 阿里云 OSS + 腾讯 COS |
| 监控运维 | Prometheus + Micrometer + Actuator |
三、项目模块架构
后端模块(ecc-parent)
ecc-parent (父POM v1.0.0)
│
├── ecc-base (v3.5.0) ─── 基础工具层
│ └── 基础组件: JSON/日期/文件/编解码/验证/线程/网络工具
│
├── ecc-common ─── 通用业务层
│ ├── Feign客户端: AccountClient/ProductClient/DealerClient
│ ├── 枚举定义: 批次状态/产品状态/数据类型
│ └── DTO/异常/缓存/过滤器
│
├── ecc-admin ─── 后台管理服务 (端口:8080, 健康:5885)
│ ├── 账户管理: SysAccount/SysRole/SysFunction
│ ├── 经销商: BasDealer/MdmDealer
│ ├── 产品: MkProduct/MkProductSku
│ ├── 区域: BasArea/BasCity/BasBigRegion
│ └── 第三方接入: ItfApp/ItfApi
│
├── ecc-gateway ─── API网关
│ └── 路由/限流/鉴权/过滤器链
│
├── ecc-common-api ─── 公共API服务
│ └── Tenant/Dealer/Product/Area/Config/IdAllocationBiz
│
├── ecc-hbq-mgr/api ─── 货补券模块
│ ├── 业务: 货补套餐(HbqCombo)、券码(HbqCoupon)、核销码
│ └── 特点: 陈列活动补贴、套餐码生成
│
├── ecc-zzq-mgr/api ─── 折扣券模块
│ ├── 业务: 批次(ZzqBatch)、券码(ZzqCoupon)、交易记录
│ ├── 券类型: 1=满减券 2=折扣券 3=减至券
│ └── 批次状态: 待发布→待发券→发券中→已暂停→已终止→已过期
│
└── ecc-api-sdk ─── 对外API SDK前端模块(front-ecc)
front-cpc (Vue 3 + Vite)
├── 货补套餐管理 /package
│ ├── 套餐列表/新增/编辑/批量确认
│ └── 操作日志
│
├── 陈列卡券管理 /coupon
│ └── 券码管理/领取/核销
│
├── 优惠券管理 /mycoupon
│ ├── 满减券 /fullcoupon (满减券列表/创建/数据统计)
│ ├── 产品券 /giftcoupon (产品券列表/详情)
│ └── 立减券 /discountcoupon (立减券列表/详情)
│
├── 接入方管理 /accessList
│ ├── 接入应用/接入申请
│ └── 开放API管理
│
├── 产品管理 /productdata
│ └── 产品数据/条码管理
│
├── 用户管理 /user
│ └── 用户/角色/权限
│
└── 经销商管理 /dealer四、业务域划分
1. HBQ - 货补券(陈列活动)
| 实体 | 说明 |
|---|---|
HbqCombo | 货补套餐(套餐码、名称、面额) |
HbqActivity | 活动信息 |
HbqCoupon | 货补券码(券码值、类型、核销状态) |
HbqCouponVerifyCode | 核销码 |
HbqCouponPay | 支付信息 |
2. ZZQ - 折扣券(优惠券)
| 实体 | 说明 |
|---|---|
ZzqBatch | 券批次(类型、规则、发放上限) |
ZzqCoupon | 券码(批次ID、用户UID、核销信息) |
ZzqBatchDealer | 批次-经销商关联 |
ZzqBatchSku | 批次-商品SKU关联 |
ZzqCouponTrade | 核销交易记录 |
3. 基础数据域
| 实体 | 说明 |
|---|---|
BasArea/City/BigRegion | 区域基础数据 |
MdmDealer | 经销商主数据 |
MkProduct/Sku | 产品主数据 |
SysAccount/Role/Function | 系统账户/角色/权限 |
五、关键配置
| 配置项 | 值 |
|---|---|
| Nacos地址 | prod-nacos-sip.paas.digitalyili.com:8848 |
| 命名空间 | sip-ecc-prod |
| 服务端口 | 8080 |
| 健康监控端口 | 5885 |
| Jackson命名策略 | SNAKE_CASE |
| 时区 | GMT+8 |
| 文件上传限制 | 10MB(admin)/ 50MB(业务) |
| MyBatis映射 | classpath*:mapper/*.xml |
六、架构特点
| 特点 | 实现 |
|---|---|
| 微服务治理 | Nacos服务发现 + Sentinel流量控制 |
| 服务调用 | OpenFeign声明式HTTP客户端 |
| 异步解耦 | RabbitMQ消息队列 |
| 分布式锁 | Redisson |
| 任务调度 | XXL-Job(分布式任务平台) |
| 前端工程化 | Vite + 组件自动导入 + Pinia状态持久化 |
| 权限控制 | 路由级 + 组件级权限指令(v-permission) |
| 统一响应 | errcode机制 + Jackson SNAKE_CASE |
七、项目特色
- 模块拆分清晰:按业务域(货补券/折扣券)独立部署
- 前后端分离:RESTful API + Vue 3 单页应用
- 多环境支持:dev/uat/pet/prod 四套环境
- 监控完善:Actuator + Prometheus 指标暴露
- 分布式任务:XXL-Job 支持定时对账、补发券等
- 外部存储:阿里云OSS + 腾讯COS 双云支持
- 码能力:ZXing二维码生成/解析