# 接口变更记录 — 2026-03-18 09:40

> **提交** `38ad0f1` · **作者** wx · **时间** 2026-03-18 09:40:01 +0800
>
> fix: 全流程E2E测试BUG修复(BUG-07/09/MP-03) + 测试报告

## 变更总览

- **小程序聚合服务**
  - 🆕 MpCustomize (+4 接口)
- **用户服务**
  - SysDict (改1)

---

## 小程序聚合服务

### 🆕 新增: MpCustomize

> 📖 **接口文档**: [http://192.168.100.236:8086/doc.html](http://192.168.100.236:8086/doc.html) → 标签 **「C端 - 定制需求接口」**

### 📌 `POST` /mp/custom/submit — 提交定制需求

**响应** `Result<Map<String, Object>>`

### 📌 `GET` /mp/custom/list — 定制需求列表

**参数**

  - `page` (`int`) — 查询参数：页码
  - `pageSize` (`int`) — 查询参数：每页条数

**响应** `Result<PageResult<Map<String, Object>>>`

### 📌 `GET` /mp/custom/detail — 定制需求详情

**参数**

  - `id` (`Long`) — 查询参数：定制请求ID

**响应** `Result<Map<String, Object>>`

### 📌 `POST` /mp/custom/{requestId}/cancel — 取消定制需求

**参数**

  - `{requestId}` (`Long`) — 路径参数：定制请求ID

**响应** `Result<Map<String, Object>>`

---

## 用户服务

### SysDict

> 📖 **接口文档**: [http://192.168.100.236:8081/doc.html](http://192.168.100.236:8081/doc.html) → 标签 **「字典管理接口」**

### ✏️ `GET` /admin/dict/type — 分页查询字典类型

- 参数: page(int), pageSize(int), category(String) → page(int), pageSize(int), category(String), keyword(String)

---

## 📦 其他数据对象变更

> 以下变更未直接关联到本次接口变更，但可能影响现有接口的请求/响应

### 产品服务

#### ✏️ MpProductListVO

  - 🆕 `seasonLabels` (`List<String>`) — 适用季节列表(中文)
  - ✏️ `seasons`: 说明 "适用季节列表" → "适用季节列表(编码)"

#### ✏️ ProductListVO

  - 🆕 `seasonLabels` (`List<String>`) — 适用季节列表(中文)
  - ✏️ `seasons`: 说明 "适用季节列表" → "适用季节列表(编码)"

#### ✏️ ProductVO

  - 🆕 `seasonLabels` (`List<String>`) — 适用季节列表(中文)
  - ✏️ `seasons`: 说明 "适用季节列表" → "适用季节列表(编码)"

### 小程序聚合服务

#### ✏️ MpWishCreateRequest

  - 🆕 `wishType` (`Integer`) — 祈愿类型: 1=平安 2=健康 3=事业 4=爱情 5=财运
  - 🆕 `content` (`String`) — 祈愿内容，最多200字
  - ❌ ~~`productId`~~ (`String`) — 产品ID
  - ❌ ~~`notes`~~ (`String`) — 备注

### 资源服务

#### ✏️ CostItemListVO

  - 🆕 `categoryLabel` (`String`) — 费用分类中文标签
  - 🆕 `applyRoleLabel` (`String`) — 适用角色中文标签
  - ✏️ `categoryCode`: 说明 "费用分类编码" → "费用分类编码（字典：cost_category）"
  - ✏️ `applyRole`: 说明 "适用角色" → "适用角色编码（字典：cost_apply_role）"

#### ✏️ CostItemVO

  - 🆕 `categoryLabel` (`String`) — 费用分类中文标签
  - 🆕 `applyRoleLabel` (`String`) — 适用角色中文标签
  - ✏️ `categoryCode`: 说明 "费用分类编码" → "费用分类编码（字典：cost_category）"
  - ✏️ `applyRole`: 说明 "适用角色" → "适用角色编码（字典：cost_apply_role）"

<details>
<summary>📁 全部变更文件 (点击展开)</summary>

```
A	"docs/tasks/20260317_\346\265\213\350\257\225_\345\205\250\346\265\201\347\250\213\347\253\257\345\210\260\347\253\257\346\265\213\350\257\225\346\226\271\346\241\210.md"
A	"docs/tasks/20260317_\346\265\213\350\257\225\346\212\245\345\221\212_admin\350\266\205\347\272\247\347\256\241\347\220\206\345\221\230.md"
A	"docs/tasks/20260317_\346\265\213\350\257\225\346\212\245\345\221\212_zhangjing\345\256\232\345\210\266\345\270\210.md"
A	"docs/tasks/20260317_\346\265\213\350\257\225\346\212\245\345\221\212_\345\244\232\350\247\222\350\211\262\346\235\203\351\231\220\351\252\214\350\257\201.md"
A	"docs/tasks/20260317_\346\265\213\350\257\225\346\212\245\345\221\212_\345\260\217\347\250\213\345\272\217API\346\265\213\350\257\225.md"
A	"docs/tasks/20260317_\346\265\213\350\257\225\346\212\245\345\221\212_\345\260\217\347\250\213\345\272\217\346\223\215\344\275\234\346\265\201\346\265\213\350\257\225.md"
A	"docs/tasks/20260317_\346\265\213\350\257\225\346\212\245\345\221\212_\346\261\207\346\200\273.md"
A	"docs/tasks/20260317_\346\265\213\350\257\225\346\212\245\345\221\212_\346\267\261\345\272\246\345\212\237\350\203\275\346\265\213\350\257\225.md"
A	"docs/tasks/20260317_\346\265\213\350\257\225\346\261\207\346\200\273_\345\205\250\346\265\201\347\250\213\347\253\257\345\210\260\347\253\257\346\265\213\350\257\225.md"
A	docs/tasks/screenshots/05/results.json
A	docs/tasks/screenshots/05/test-results.json
M	hl-common/src/main/java/com/hulalv/common/aspect/OperationLogAspect.java
M	hl-file-service/src/main/java/com/hulalv/file/service/OssService.java
M	hl-gateway/src/main/java/com/hulalv/gateway/filter/JwtAuthFilter.java
M	hl-material-service/src/main/java/com/hulalv/material/service/MaterialService.java
A	hl-mp-service/src/main/java/com/hulalv/mp/controller/MpCustomizeController.java
M	hl-mp-service/src/main/java/com/hulalv/mp/dto/MpWishCreateRequest.java
M	hl-mp-service/src/main/java/com/hulalv/mp/feign/MpOrderFeignClient.java
M	hl-mp-service/src/main/java/com/hulalv/mp/feign/MpOrderFeignFallbackFactory.java
M	hl-order-service/src/main/java/com/hulalv/order/constant/OrderConstants.java
M	hl-order-service/src/test/java/com/hulalv/order/constant/OrderConstantsTest.java
M	hl-product-service/src/main/java/com/hulalv/product/constant/ProductConstants.java
M	hl-product-service/src/main/java/com/hulalv/product/service/ProductService.java
M	hl-product-service/src/main/java/com/hulalv/product/vo/MpProductListVO.java
M	hl-product-service/src/main/java/com/hulalv/product/vo/ProductListVO.java
M	hl-product-service/src/main/java/com/hulalv/product/vo/ProductVO.java
M	hl-resource-service/src/main/java/com/hulalv/resource/cost/constant/CostConstants.java
M	hl-resource-service/src/main/java/com/hulalv/resource/cost/service/CostItemService.java
M	hl-resource-service/src/main/java/com/hulalv/resource/cost/vo/CostItemListVO.java
M	hl-resource-service/src/main/java/com/hulalv/resource/cost/vo/CostItemVO.java
M	hl-user-service/src/main/java/com/hulalv/user/controller/SysDictController.java
M	hl-user-service/src/main/java/com/hulalv/user/service/AdminAuthService.java
M	hl-user-service/src/main/java/com/hulalv/user/service/SysDictService.java
M	hl-user-service/src/main/java/com/hulalv/user/service/TokenService.java
M	hl-user-service/src/main/resources/bootstrap.yml
M	hl-user-service/src/test/java/com/hulalv/user/service/SysDictServiceTest.java
A	scripts/mp-api-test-auth.py
A	scripts/mp-api-test-operations.py
A	scripts/mp-api-test.py
A	scripts/mp-fullflow-e2e-test.py
A	sql/fix_dict_code_mismatch.sql
A	sql/fix_dict_data_mismatch.sql
```
</details>