# 优惠券模块 (business-coupon) ## 模块概述 优惠券模块为在线订餐平台提供 **统一的营销券能力中心**:运营在后台配置券模板与使用场景,C 端会员领券/持券,各业务线(订餐、美食等)在 **下单结账** 时调用本模块完成「可用券查询 → 试算抵扣 → 冻结 → 支付核销 → 取消/退款释放」。 本模块 **不承载订单支付本身**,只负责券的规则、生命周期与金额计算;业务订单模块负责编排调用时机。 ## 架构设计(必读) 详细分析与目标架构见: - **[doc/优惠券架构设计.md](./doc/优惠券架构设计.md)** — 能力中心模式、结账四阶段协议、场景匹配、业务接入规范、演进路线 ## 模块结构 ``` business-coupon/ ├── business-coupon-bean/ # Entity、DTO、VO、Convert、Enum ├── business-coupon-service/ # Domain Service + Mapper ├── business-coupon-application/ # 对外能力编排(业务线主要依赖此层) ├── business-coupon-controller/ # 管理端 REST ├── coupon_schema.sql # 模板 + 会员券表 ├── coupon_scene_schema.sql # 使用场景表 + template.scene_code ├── coupon_seed.sql / coupon_scene_seed.sql └── doc/ # 架构与对接说明 ``` 移动端 HTTP 入口在 **`business-mobile-gateway`**(`CouponMobileController` 等),Maven 依赖 **`business-coupon-application`**。 ## 功能特性 | 能力域 | 说明 | |--------|------| | **券模板** | 满减/折扣/无门槛/兑换;有效期、领取方式、渠道与等级限制 | | **使用场景** | `biz_coupon_scene`:商城/酒店/美食等场景编号与列表接口配置 | | **使用范围** | 全场 / 指定商品(项) / 分类 / 品牌;适用与排除 ID 列表 | | **会员券** | 领取、积分兑换、管理端发放、作废;状态:未用/已用/过期/冻结/作废 | | **结账能力** | 试算抵扣、下单冻结、支付确认(详见架构文档) | | **对外发券** | 年卡权益、商城首单赠券等通过 `grantByAdmin` 接入 | ## 核心数据表 | 表 | 说明 | |----|------| | `app_coupon_template` | 券模板;含 `scene_code`、`use_scope`、`scope_ids` | | `app_member_coupon` | 会员持券实例;优惠规则快照 + 使用/冻结状态 | | `biz_coupon_scene` | 使用场景配置(名称、编号、管理端列表 `request_url`) | 建表脚本执行顺序:`coupon_schema.sql` → `coupon_scene_schema.sql` → 种子与菜单权限 SQL。 ## 对外依赖与被依赖 ### 本模块依赖 - `business-member-service`:会员展示补全、积分兑换扣减 ### 依赖本模块的业务(示例) | 业务模块 | 集成方式 | 现状 | |----------|----------|------| | **商城 mall** | `MallOrderApplicationService` → `MemberCouponApplicationService` | 试算、冻结、支付确认已接入 | | **年卡 yearcard** | `grantByAdmin` 发券 | 仅发券 | | **商城首单** | 支付后 `grantByAdmin` | 仅发券 | | **酒店 / 美食 / 景区** | 待按架构文档接入结账四阶段 | 未接入 | 业务线 Maven 须依赖 **`business-coupon-application`**(按需加 `business-coupon-bean`)。 ## API 文档 - [后台接口文档.md](./后台接口文档.md) — 模板、会员券、使用场景 - [移动端接口文档.md](./移动端接口文档.md) — 领券、我的券、下单可用券试算 管理端路径前缀:`${jeesharp.web.adminPath}/coupon/...`(TravelWebFront 多为 `/api/coupon/...`)。 移动端路径前缀:`${jeesharp.web.mobilePath}/member/coupon/...`(多为 `/mobile/member/coupon/...`)。 ## 权限配置 | 资源 | 权限标识示例 | |------|----------------| | 优惠券模板 | `coupon:couponTemplate:list`、`info`、`save`、`delete`、`updateStatus` | | 会员优惠券 | `coupon:memberCoupon:list`、`info`、`grant`、`cancel` | | 使用场景 | `coupon:couponScene:list`、`info`、`create`、`update`、`delete` | ## 版本记录 | 版本 | 日期 | 说明 | |------|------|------| | 1.0 | 2026-05-07 | 模板、会员券、移动端领券与试算 | | 1.1 | 2026-06-05 | 使用场景 `biz_coupon_scene`、模板 `scene_code`、管理端场景配置 | | 1.2 | 2026-06-05 | 架构设计文档:多场景结账能力中心与接入协议 |