# business-common 公共业务模块

## 模块概述

提供跨业态复用的公共能力。当前首期实现 **业务业态场景注册表**（`cfg_biz_scene`），用于统一维护场景编号、管理端选品元数据与扩展 JSON（小程序路径等）。

> 设计文档：`xinghuacun_travel_doc/architecture/业务业态场景注册表设计.md`

## 模块结构

```
business-common/
├── business-common-api/          # BizSceneApi 跨模块契约
├── business-common-bean/         # 含 BizScenePickerSupport、BizSceneCouponLegacySupport 等
├── business-common-service/
├── business-common-application/
└── business-common-controller/
```

### 扩展解析（bean/support）

| 类 | 用途 |
|----|------|
| `BizScenePickerSupport` | `ext_json.pickers`（`COUPON_SCOPE` / `BANNER_TARGET`）覆盖 `admin_list_url` |
| `BizSceneCouponLegacySupport` | 券 legacy `scene_code` ↔ 注册表 canonical 映射 |
| `BizSceneMobileJumpSupport` | `ext_json.mobile` 小程序路径 |
| `BizSceneAdminListRecordSupport` | 管理端分页列表 `records` 解析 |

### 框架枚举（FRAME）

| 类 | 用途 |
|----|------|
| `IntValueEnum` / `StringValueEnum` | 整型/字符串存库枚举标记接口 |
| `EnumValueSupport` | `fromValue` / `getDescByValue` 统一实现 |
| `ShelfStatusEnum`、`VerticalPayStatusEnum` 等 | 跨业态复用枚举，均实现上述接口 |

## 数据库

| 脚本 | 说明 |
|------|------|
| `doc/sql/business-common/cfg_biz_scene_schema.sql` | 建表 |
| `doc/sql/business-common/cfg_biz_scene_seed.sql` | 种子数据（节选） |
| `doc/sql/business-common/cfg_biz_scene_menu_permission.sql` | 菜单与权限 |
| `doc/sql/business-common/cfg_biz_scene_upgrade_existing.sql` | **存量库升级顺序**（联调前置） |

## 管理端接口

前缀：`${jeesharp.web.adminPath}/common/bizScene/v1`

| 操作 | 方法 | URL | 权限 |
|------|------|-----|------|
| 分页列表 | POST | `list` | `manager:business:common:bizScene:list` |
| 详情 | GET | `info?id=` | `manager:business:common:bizScene:info` |
| 新增 | POST | `create` | `manager:business:common:bizScene:create` |
| 更新 | POST | `update` | `manager:business:common:bizScene:update` |
| 删除 | GET | `delete?ids=` | `manager:business:common:bizScene:delete` |
| 启用选项 | GET | `enabledOptions?capability=` | `manager:business:common:bizScene:list` |

`capability` 可选值：`COUPON`、`BANNER`、`NAV`。

## 版本记录

| 版本 | 日期 | 说明 |
|------|------|------|
| 1.5 | 2026-07-03 | E：`biz_coupon_scene` 退役种子；轮播 `create`/`update` 拆分；前端删除 presets |
| 1.4 | 2026-07-03 | ARCH：`FoodFinanceReadApi`/`HotelFinanceReadApi` 上收 `-api`；PAY：scenic/hotel `*BookingPayAssembler` |
| 1.3 | 2026-07-03 | ARCH：`ScenicFinanceReadApi` 上收 `scenic-api`；PAY 退款：`BookingRefundTailSupport` 商城售后接入 |
| 1.2 | 2026-07-03 | FRAME：`IntValueEnum`/`EnumValueSupport`；PAY：`VerticalPayPrepareSupport`（pay-bean） |
| 1.1 | 2026-07-03 | `BizSceneApi`、Picker 解析；券/轮播桥接 |
| 1.0 | 2026-07-03 | 首期：`cfg_biz_scene` CRUD + `enabledOptions` |
