From ba5c745f06327e6d50f3f770d900ceafc1b482f8 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Mon, 16 Mar 2026 17:18:32 +0800 Subject: [PATCH] =?UTF-8?q?cleanup:=20=E5=88=A0=E9=99=A4=E6=97=A7=E6=A0=BC?= =?UTF-8?q?=E5=BC=8Fchangelog=EF=BC=8C=E4=BF=9D=E7=95=99=E6=96=B0=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=EF=BC=88=E5=90=AB=E6=97=B6=E9=97=B4=E6=88=B3=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2026-03-16_522a737_feat_Knife4j.md | 1508 ----------------- 1 file changed, 1508 deletions(-) delete mode 100644 changelogs/2026-03/2026-03-16_522a737_feat_Knife4j.md diff --git a/changelogs/2026-03/2026-03-16_522a737_feat_Knife4j.md b/changelogs/2026-03/2026-03-16_522a737_feat_Knife4j.md deleted file mode 100644 index 6bd7bd6..0000000 --- a/changelogs/2026-03/2026-03-16_522a737_feat_Knife4j.md +++ /dev/null @@ -1,1508 +0,0 @@ -# 接口变更记录 — 2026-03-16 - -> **提交** `522a737` · **作者** wx · **时间** 2026-03-16 16:50:04 +0800 -> -> feat: Knife4j网关文档修复 + AI Bridge增强 + bootstrap默认Nacos改本地 - -## 变更总览 - -- **产品服务** - - InternalProduct (改1, 名13) - - MpProduct (名3) - - Product (名1) - - Quote (名1) -- **企微回调服务** - - WxCallback (名4) -- **小程序聚合服务** - - MpExplore (改5) - - MpOrder (改1) - - MpPayment (改1) -- **支付服务** - - InternalPayment (名3) -- **用户服务** - - AdminProfile (改1) - - InternalApproval (名3) - - InternalLoginLog (名1) - - InternalUser (名8) - - InternalWechat (改5) - - PublicDict (名1) - - SysJob (改4) -- **监控服务** - - InternalLog (改4, 名1) -- **订单服务** - - AdminAlbum (名1) - - AdminWorkOrder (名3) - - InternalDashboard (名3) - - InternalMpOrder (名3) - - InternalOrderTraveler (名1) - - InternalRefund (改2, 名3) -- **资源服务** - - InternalActivity (改1) - - InternalResource (改1) - - InternalCost (改1) - - InternalHotel (改1) - - InternalRestaurant (改1) - - InternalScenic (改1) - - InternalService (改1) - - ServiceItem (名5) - - InternalStaff (改1) - - InternalSupplies (改1) - - InternalVehicle (改1) - ---- - -## 产品服务 - -### InternalProduct - -#### ✏️ `POST` /internal/product/approval-result — 处理产品审批结果 - -- 接口名称: ~~~~ → **处理产品审批结果** -- 返回类型: `` → `Result` - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/product/{productId}/detail` | (无) → **获取产品详情(内部)** | -| `POST` | `/internal/product/{productId}/quote` | (无) → **报价计算(内部)** | -| `GET` | `/internal/product/{productId}/simple-quote` | (无) → **简单报价(内部)** | -| `POST` | `/internal/product/{productId}/deduct-stock` | (无) → **扣减库存(内部)** | -| `POST` | `/internal/product/{productId}/restore-stock` | (无) → **恢复库存(内部)** | -| `GET` | `/internal/product/{productId}/itinerary-resources` | (无) → **获取行程关联资源(内部)** | -| `PUT` | `/internal/product/{productId}/custom-status` | (无) → **变更定制产品状态(内部)** | -| `POST` | `/internal/product/batch/{batchId}/enroll` | (无) → **报名入团(内部)** | -| `POST` | `/internal/product/batch/{batchId}/unenroll` | (无) → **退出报名(内部)** | -| `GET` | `/internal/product/batch/{batchId}/info` | (无) → **批次信息(内部)** | -| `GET` | `/internal/product/{productId}/group-quote` | (无) → **GROUP产品报价(内部)** | -| `GET` | `/internal/product/{productId}/batches/calendar` | (无) → **团期日历数据(内部)** | -| `GET` | `/internal/product/batch/{batchId}/combos` | (无) → **批次套餐列表(内部)** | - -### MpProduct - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/mp/product/list` | 产品列表 → **产品列表(C端)** | -| `GET` | `/mp/product/{productId}` | 产品详情 → **产品详情(C端)** | -| `POST` | `/mp/product/{productId}/quote` | 报价计算 → **报价计算(C端)** | - -### Product - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `PUT` | `/admin/product/item/{productId}/status` | 产品状态变更(上架/下架等) → **产品状态变更(上架/下架/完成)** | - -### Quote - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/admin/product/item/{productId}/group-quote` | GROUP产品报价(按组合) → **GROUP产品报价(按套餐组合)** | - ---- - -## 企微回调服务 - -### WxCallback - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/wx/callback/app` | Callback URL verification → **回调URL验证** | -| `POST` | `/wx/callback/app` | Receive callback events → **接收回调事件** | -| `GET` | `/wx/callback/contacts` | Contact sync URL verification → **联系人同步URL验证** | -| `POST` | `/wx/callback/contacts` | Receive contact sync events → **接收联系人同步事件** | - ---- - -## 小程序聚合服务 - -### MpExplore - -#### ✏️ `GET` /mp/explore/list — 探索列表 - -- 返回类型: `` → `Result>` - -#### ✏️ `GET` /mp/explore/{id} — 探索详情 - -- 返回类型: `` → `Result>` - -#### ✏️ `POST` /mp/explore/{id}/view — 浏览+1 - -- 返回类型: `` → `Result` - -#### ✏️ `POST` /mp/explore/{id}/like — 切换点赞 - -- 返回类型: `` → `Result` - -#### ✏️ `POST` /mp/explore/{id}/favorite — 切换收藏 - -- 返回类型: `` → `Result` - -### MpOrder - -#### ✏️ `GET` /mp/order/lookup — 通过联系人手机号+姓名查找订单(无需登录) - -- 返回类型: `` → `Result>>` - -### MpPayment - -#### ✏️ `GET` /mp/payment/transactions/{orderId} — 查询支付状态 - -- 返回类型: `Result` → `` - ---- - -## 支付服务 - -### InternalPayment - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/payment/status/{orderId}` | Create prepay order (called by BFF) → **创建预支付订单** | -| `GET` | `/internal/payment/transactions/{orderId}` | Query payment status (called by BFF) → **查询支付状态** | -| `POST` | `/internal/payment/refund` | List all transactions for an order (called by BFF) → **订单交易记录列表** | - ---- - -## 用户服务 - -### AdminProfile - -#### ✏️ `GET` /admin/profile/dashboard — 工作台仪表盘(角色分发,支持时间范围) - -- 返回类型: `` → `Result` - -### InternalApproval - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `POST` | `/internal/wechat/submit-approval` | Submit approval to enterprise WeChat OA → **提交企业微信OA审批** | -| `POST` | `/internal/wechat/revoke-approval/{spNo}` | Revoke a pending approval in enterprise WeChat OA → **撤销企业微信OA审批** | -| `GET` | `/internal/wechat/approval-status/{spNo}` | Get approval status from enterprise WeChat OA → **查询企业微信OA审批状态** | - -### InternalLoginLog - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/login-logs` | Query login logs → **查询登录日志** | - -### InternalUser - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/user/admin/info/{adminId}` | Get admin basic info by ID → **根据ID获取管理员基本信息** | -| `POST` | `/internal/user/admin/batch-info` | Batch get admin basic info → **批量获取管理员基本信息** | -| `GET` | `/internal/user/departments` | Get all departments → **获取所有部门列表** | -| `GET` | `/internal/user/admin/dept-members/{deptId}` | Get admin IDs belonging to a department → **获取部门下的管理员ID列表** | -| `GET` | `/internal/user/admin/by-role-key` | Get admins by role key → **根据角色标识获取管理员列表** | -| `GET` | `/internal/user/find-by-phone` | Find C-end user ID by phone number → **根据手机号查找C端用户ID** | -| `POST` | `/internal/user/wechat/miniapp/generate-url-link` | Generate mini program URL Link for sharing → **生成小程序URL Link** | -| `POST` | `/internal/user/wechat/send-message` | Send WeChat message to users → **发送企业微信消息** | - -### InternalWechat - -#### ✏️ `POST` /internal/wechat/user/sync — 同步单个企微用户(回调触发) - -- 接口名称: ~~Sync single user from callback~~ → **同步单个企微用户(回调触发)** -- 返回类型: `` → `Result` - -**请求体变更** `WechatUserSyncDTO`: - - - ✏️ `userid`: 说明 "" → "企微用户ID" - - ✏️ `name`: 说明 "" → "用户名称" - - ✏️ `department`: 说明 "" → "所属部门ID(逗号分隔)" - - ✏️ `position`: 说明 "" → "职位" - - ✏️ `mobile`: 说明 "" → "手机号" - - ✏️ `gender`: 说明 "" → "性别: 1=男, 2=女, 0=未定义" - - ✏️ `email`: 说明 "" → "邮箱" - - ✏️ `avatar`: 说明 "" → "头像URL" - - ✏️ `status`: 说明 "" → "状态: 1=已激活, 2=已禁用, 4=未激活, 5=退出企业" - -#### ✏️ `DELETE` /internal/wechat/user/{userid} — 删除单个企微用户(回调触发) - -- 接口名称: ~~Delete single user from callback~~ → **删除单个企微用户(回调触发)** -- 返回类型: `` → `Result` - -#### ✏️ `POST` /internal/wechat/department/sync — 同步单个企微部门(回调触发) - -- 接口名称: ~~Sync single department from callback~~ → **同步单个企微部门(回调触发)** -- 返回类型: `` → `Result` - -**请求体变更** `WechatDeptSyncDTO`: - - - ✏️ `id`: 说明 "" → "部门ID" - - ✏️ `name`: 说明 "" → "部门名称" - - ✏️ `parentId`: 说明 "" → "上级部门ID" - - ✏️ `order`: 说明 "" → "排序值" - -#### ✏️ `POST` /internal/wechat/external-contact/event — 接收外部联系人变更事件 - -- 接口名称: ~~Receive external contact change event~~ → **接收外部联系人变更事件** -- 返回类型: `` → `Result` - -**请求体变更** `ExternalContactEventDTO`: - - - ✏️ `changeType`: 说明 "" → "变更类型: add_external_contact/del_follow_user/del_external_contact/edit_external_contact" - - ✏️ `userId`: 说明 "" → "员工企微用户ID" - - ✏️ `externalUserId`: 说明 "" → "外部联系人ID" - -#### ✏️ `DELETE` /internal/wechat/department/{deptId} — 删除单个企微部门(回调触发) - -- 接口名称: ~~Delete single department from callback~~ → **删除单个企微部门(回调触发)** -- 返回类型: `` → `Result` - -### PublicDict - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/dict/all` | 获取所有字典数据 → **获取所有字典数据(公开接口)** | - -### SysJob - -#### ✏️ `POST` /admin/job — 创建定时任务 - -- 返回类型: `Result` → `Result` - -**请求体变更** `CreateJobRequest`: - - - ✏️ `jobGroup`: 说明 "任务分组" → "任务分组,字典类型:job_group(DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步)" - - ✏️ `invokeTarget`: 说明 "调用目标(Bean名称.方法名)" → "调用目标(Bean名称.方法名),方法必须是无参公开方法" - - ✏️ `cronExpression`: 说明 "Cron表达式" → "Cron表达式,标准6位(秒 分 时 日 月 周)" - - ✏️ `misfirePolicy`: 说明 "计划执行策略:0=默认 1=立即触发 2=触发一次 3=不触发" → "计划执行策略,字典类型:job_misfire_policy(DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发)" -- 响应类型: `SysJob` → `SysJobVO` - -**响应变更** `SysJobVO`: - - - 🆕 `jobId` (`Long`) — 任务ID - - 🆕 `jobName` (`String`) — 任务名称 - - 🆕 `jobGroup` (`String`) — 任务分组 - - 🆕 `invokeTarget` (`String`) — 调用目标(Bean名称.方法名) - - 🆕 `cronExpression` (`String`) — Cron表达式 - - 🆕 `misfirePolicy` (`String`) — 计划执行策略 - - 🆕 `concurrent` (`Boolean`) — 是否允许并发执行 - - 🆕 `status` (`String`) — 任务状态 - - 🆕 `remark` (`String`) — 备注 - - 🆕 `createdAt` (`LocalDateTime`) — 创建时间 - - 🆕 `updatedAt` (`LocalDateTime`) — 更新时间 - -#### ✏️ `PUT` /admin/job/{jobId} — 更新定时任务 - -- 返回类型: `Result` → `Result` - -**请求体变更** `UpdateJobRequest`: - - - ✏️ `jobGroup`: 说明 "任务分组" → "任务分组,字典类型:job_group(DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步)" - - ✏️ `invokeTarget`: 说明 "调用目标(Bean名称.方法名)" → "调用目标(Bean名称.方法名),方法必须是无参公开方法" - - ✏️ `cronExpression`: 说明 "Cron表达式" → "Cron表达式,标准6位(秒 分 时 日 月 周)" - - ✏️ `misfirePolicy`: 说明 "计划执行策略:0=默认 1=立即触发 2=触发一次 3=不触发" → "计划执行策略,字典类型:job_misfire_policy(DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发)" -- 响应类型: `SysJob` → `SysJobVO` - -**响应变更** `SysJobVO`: - - - 🆕 `jobId` (`Long`) — 任务ID - - 🆕 `jobName` (`String`) — 任务名称 - - 🆕 `jobGroup` (`String`) — 任务分组 - - 🆕 `invokeTarget` (`String`) — 调用目标(Bean名称.方法名) - - 🆕 `cronExpression` (`String`) — Cron表达式 - - 🆕 `misfirePolicy` (`String`) — 计划执行策略 - - 🆕 `concurrent` (`Boolean`) — 是否允许并发执行 - - 🆕 `status` (`String`) — 任务状态 - - 🆕 `remark` (`String`) — 备注 - - 🆕 `createdAt` (`LocalDateTime`) — 创建时间 - - 🆕 `updatedAt` (`LocalDateTime`) — 更新时间 - -#### ✏️ `GET` /admin/job — 分页查询定时任务 - -- 返回类型: `Result>` → `Result>` -- 响应类型: `SysJob` → `SysJobVO` - -**响应变更** `SysJobVO`: - - - 🆕 `jobId` (`Long`) — 任务ID - - 🆕 `jobName` (`String`) — 任务名称 - - 🆕 `jobGroup` (`String`) — 任务分组 - - 🆕 `invokeTarget` (`String`) — 调用目标(Bean名称.方法名) - - 🆕 `cronExpression` (`String`) — Cron表达式 - - 🆕 `misfirePolicy` (`String`) — 计划执行策略 - - 🆕 `concurrent` (`Boolean`) — 是否允许并发执行 - - 🆕 `status` (`String`) — 任务状态 - - 🆕 `remark` (`String`) — 备注 - - 🆕 `createdAt` (`LocalDateTime`) — 创建时间 - - 🆕 `updatedAt` (`LocalDateTime`) — 更新时间 - -#### ✏️ `GET` /admin/job/{jobId}/logs — 查询任务日志 - -- 返回类型: `Result>` → `Result>` -- 响应类型: `SysJobLog` → `SysJobLogVO` - -**响应变更** `SysJobLogVO`: - - - 🆕 `jobLogId` (`Long`) — 日志ID - - 🆕 `jobId` (`Long`) — 任务ID - - 🆕 `jobName` (`String`) — 任务名称 - - 🆕 `invokeTarget` (`String`) — 调用目标 - - 🆕 `status` (`String`) — 执行状态 - - 🆕 `message` (`String`) — 执行结果/异常信息 - - 🆕 `startTime` (`LocalDateTime`) — 开始时间 - - 🆕 `endTime` (`LocalDateTime`) — 结束时间 - - 🆕 `createdAt` (`LocalDateTime`) — 创建时间 - ---- - -## 监控服务 - -### InternalLog - -#### ✏️ `POST` /internal/monitor/operation-log — 接收操作日志 - -- 接口名称: ~~Receive operation log~~ → **接收操作日志** -- 返回类型: `` → `Result` - -#### ✏️ `POST` /internal/monitor/error-log — 接收错误日志 - -- 接口名称: ~~Receive error log~~ → **接收错误日志** -- 返回类型: `` → `Result` - -#### ✏️ `POST` /internal/monitor/notification-log — 接收通知日志 - -- 接口名称: ~~Receive notification log~~ → **接收通知日志** -- 返回类型: `` → `Result` - -#### ✏️ `POST` /internal/monitor/approval-log — 接收审批日志 - -- 接口名称: ~~Receive approval log~~ → **接收审批日志** -- 返回类型: `` → `Result` - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/monitor/notification-log/customer-stats` | Get customer stats for a user (add/loss counts) → **获取用户客户统计** | - ---- - -## 订单服务 - -### AdminAlbum - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/admin/order/album/my-uploads` | 我的上传(当前管理员上传的所有相册文件) → **我的上传** | - -### AdminWorkOrder - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/admin/order/work-order/stats` | 工单统计(待处理数等) → **工单统计** | -| `PUT` | `/admin/order/work-order/{workOrderId}/process` | 处理工单(解决/驳回) → **处理工单(解决/驳回)** | -| `POST` | `/admin/order/work-order/{workOrderId}/comment` | 添加备注 → **添加工单备注** | - -### InternalDashboard - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/order/dashboard/overview-stats` | 概览统计(支持定制师/全局,支持今日/本周/本月) → **概览统计** | -| `GET` | `/internal/order/dashboard/trend` | 数据趋势(按天聚合) → **数据趋势** | -| `GET` | `/internal/order/dashboard/ranking` | 业绩排行(本月定制师排名) → **业绩排行** | - -### InternalMpOrder - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/mp/order/lookup` | 通过联系人手机号+姓名查找订单(无需登录) → **通过联系人手机号+姓名查找订单** | -| `POST` | `/internal/mp/order/bind-by-contact` | 绑定未绑定的订单(通过联系人手机号+姓名) → **绑定未绑定的订单** | -| `PUT` | `/internal/mp/order/{orderId}/mark-reviewed` | 标记订单已评价(评价服务回调) → **标记订单已评价** | - -### InternalOrderTraveler - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/order/traveler/validate/{orderId}` | 验证订单出行人信息(供支付服务调用) → **验证订单出行人信息** | - -### InternalRefund - -#### ✏️ `POST` /internal/order/refund-appeal-result — 企微退款申诉审批结果回调 - -- 返回类型: `` → `Result` - -#### ✏️ `POST` /internal/order/refund-application-result — 企微退款申请审批结果回调 - -- 返回类型: `` → `Result` - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/mp/order/refund-reasons` | 退款原因列表 → **退款原因列表(C端)** | -| `GET` | `/internal/mp/order/refund/{applicationId}` | 退款申请详情 → **退款申请详情(C端)** | -| `GET` | `/internal/mp/order/{orderId}/refund-detail` | 根据订单ID获取最新退款申请详情 → **根据订单ID获取最新退款申请** | - ---- - -## 资源服务 - -### InternalActivity - -#### ✏️ `POST` /internal/activity/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - -### InternalResource - -#### ✏️ `POST` /internal/resource/approval-result — 处理审批回调 - 分发到9个资源领域服务 - -- 返回类型: `` → `Result` - -### InternalCost - -#### ✏️ `POST` /internal/cost/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - -### InternalHotel - -#### ✏️ `POST` /internal/hotel/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - -### InternalRestaurant - -#### ✏️ `POST` /internal/restaurant/approval-result — \u5904\u7406\u5ba1\u6279\u56de\u8c03\u7ed3\u679c - -- 返回类型: `` → `Result` - -### InternalScenic - -#### ✏️ `POST` /internal/scenic/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - -### InternalService - -#### ✏️ `POST` /internal/service/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - -### ServiceItem - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `POST` | `/admin/service/item` | 创建服务 → **创建增值服务** | -| `GET` | `/admin/service/items` | 服务列表 → **增值服务列表** | -| `GET` | `/admin/service/item/{serviceId}` | 服务详情 → **增值服务详情** | -| `PUT` | `/admin/service/item/{serviceId}` | 更新服务 → **更新增值服务** | -| `DELETE` | `/admin/service/item/{serviceId}` | 删除服务 → **删除增值服务** | - -### InternalStaff - -#### ✏️ `POST` /internal/staff/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - -### InternalSupplies - -#### ✏️ `POST` /internal/supplies/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - -### InternalVehicle - -#### ✏️ `POST` /internal/vehicle/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - ---- - -## 📦 其他数据对象变更 - -> 以下变更未直接关联到本次接口变更,但可能影响现有接口的请求/响应 - -### 产品服务 - -#### ✏️ BatchMaterialIdsRequest - - - ✏️ `materialIds`: 说明 "" → "素材ID列表" - -#### ✏️ FormulaStepRequest - - - ✏️ `expression`: 说明 "表达式" → "Aviator表达式(支持数学运算、条件判断、内置函数;可引用前置步骤的输出变量和公式变量表中的变量)" - -#### ✏️ GroupBatchCreateRequest - - - ✏️ `batchName`: 说明 "batch name" → "批次名称" - - ✏️ `departureDate`: 说明 "departure date" → "出发日期" - - ✏️ `enrollmentDeadline`: 说明 "enrollment deadline" → "报名截止日期,必须早于出发日期" - - ✏️ `maxParticipants`: 说明 "max participants" → "最大参团人数(报名人数达到上限后自动关闭报名)" - - ✏️ `remark`: 说明 "remark" → "备注说明" - -#### ✏️ GroupBatchDisbandRequest - - - ✏️ `reason`: 说明 "disband reason" → "解散原因(如:报名人数不足、行程调整等)" - -#### ✏️ GroupBatchStaffRequest - - - ✏️ `staffId`: 说明 "staff ID (from resource-service)" → "人员ID(来自资源服务的人员库)" - - ✏️ `staffRole`: 说明 "role in this batch: LEADER/PHOTOGRAPHER/DRIVER/OTHER" → "在该批次中的角色:LEADER(领队)/PHOTOGRAPHER(摄影师)/DRIVER(司机)/OTHER(其他)" - - ✏️ `remark`: 说明 "remark" → "备注(如:主导游、备用摄影师等)" - -#### ✏️ GroupBatchUpdateRequest - - - ✏️ `batchName`: 说明 "batch name" → "批次名称" - - ✏️ `departureDate`: 说明 "departure date" → "出发日期" - - ✏️ `enrollmentDeadline`: 说明 "enrollment deadline" → "报名截止日期" - - ✏️ `minParticipants`: 说明 "min participants" → "最低成团人数(0=不限制)" - - ✏️ `maxParticipants`: 说明 "max participants" → "最大参团人数(不能低于已报名人数)" - - ✏️ `remark`: 说明 "remark" → "备注说明" - - ✏️ `sortOrder`: 说明 "sort order" → "排序序号" - -#### ✏️ MaterialVO - - - ✏️ `materialId`: 说明 "" → "素材ID" - - ✏️ `ossUrl`: 说明 "" → "OSS访问URL" - - ✏️ `thumbnailUrl`: 说明 "" → "缩略图URL" - - ✏️ `materialName`: 说明 "" → "素材名称" - - ✏️ `fileType`: 说明 "" → "文件类型" - -#### ✏️ NodeCreateRequest - - - ✏️ `resourceType`: 说明 "关联资源类型:SCENIC_SPOT/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE" → "关联资源类型(关联后可从资源服务获取价格参与成本计算):SCENIC/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE" - - ✏️ `resourceId`: 说明 "关联资源ID" → "关联资源ID(来自资源服务,关联后节点名称和图片可自动同步)" - - ✏️ `familyIds`: 说明 "所属家庭ID列表(定制产品按家庭分配)" → "所属家庭ID列表(仅CUSTOM定制产品使用,实现按家庭分配行程节点)" - -#### ✏️ PriceCalendarRequest - - - ✏️ `costAutoCalc`: 说明 "是否自动计算成本" → "是否自动计算成本(true时重新测算会自动更新此日期的价格)" - - ✏️ `stock`: 说明 "库存数量" → "库存数量(CORE/GROUP按人头扣减,CUSTOM/ROUTE按单扣减)" - - ✏️ `status`: 说明 "状态:OPEN=开放 CLOSED=关闭" → "状态:OPEN=开放预订 CLOSED=关闭(不可预订)" - -#### ✏️ PricingRequest - - - ✏️ `pricingMode`: 说明 "定价模式:AUTO=自动计算 MANUAL=手动定价 CUSTOM=定制定价" → "定价模式:AUTO=根据行程资源价格自动计算 MANUAL=手动在价格日历设置每日价格 CUSTOM=定制产品整单定价" - - ✏️ `profitMode`: 说明 "利润模式:FIXED=固定金额 PERCENT=百分比" → "利润模式(AUTO模式下生效):FIXED=在成本基础上加固定金额 PERCENT=在成本基础上按百分比加价" - - ✏️ `childWithBed`: 说明 "儿童占床价" → "儿童加床费(childNeedBed=true时额外加收的费用)" - - ✏️ `childNoBed`: 说明 "儿童不占床价" → "儿童不占床价(暂未使用,预留字段)" - - ✏️ `babyPrice`: 说明 "婴儿价" → "婴儿固定价格(不随日期变化)" - - ✏️ `childDiscountPercent`: 说明 "儿童折扣百分比" → "小童折扣百分比(小童价=儿童价×此百分比/100,如70表示打7折)" - - ✏️ `customTotalPrice`: 说明 "定制产品总价(CUSTOM模式下使用)" → "定制产品总价(CUSTOM定价模式下使用,代表整单总价)" - - ✏️ `minGroupSize`: 说明 "最小成团人数" → "最小成团人数(CORE/GROUP产品用,影响均摊成本计算)" - - ✏️ `maxGroupSize`: 说明 "最大成团人数" → "最大成团人数(CORE/GROUP产品用)" - - ✏️ `paymentType`: 说明 "支付方式:FULL=全款 DEPOSIT=定金+尾款" → "支付方式:FULL=全款支付 DEPOSIT=定金+尾款分期支付" - - ✏️ `depositRatio`: 说明 "定金比例(百分比)" → "定金比例(百分比,如30代表30%。与depositAmount二选一,优先使用比例)" - - ✏️ `depositAmount`: 说明 "定金金额" → "定金金额(固定金额,与depositRatio二选一)" - - ✏️ `balanceDueDays`: 说明 "尾款支付截止天数(出发前N天)" → "尾款支付截止天数(出发前N天必须支付尾款,超时可能取消订单)" - -#### ✏️ ProductStatusRequest - - - ✏️ `status`: 说明 "目标状态:DRAFT/PENDING_REVIEW/REVIEWED/REJECTED/PUBLISHED/UNPUBLISHED/COMPLETED" → "目标状态。核心/小蒙马:DRAFT/PENDING_REVIEW/REVIEWED/REJECTED/PUBLISHED/UNPUBLISHED;定制产品:COMPLETED" - - ✏️ `reason`: 说明 "状态变更原因(驳回时必填)" → "状态变更原因(驳回时必填;上架/下架审批时可填)" - -#### ✏️ RefBatchBindRequest - - - ✏️ `refs`: 说明 "" → "引用绑定列表" - -#### ✏️ RefBatchUnbindRequest - - - ✏️ `refs`: 说明 "" → "引用解绑列表" - -#### ✏️ RefBindRequest - - - ✏️ `materialId`: 说明 "" → "素材ID" - - ✏️ `bizType`: 说明 "" → "业务类型" - - ✏️ `bizId`: 说明 "" → "业务ID" - - ✏️ `bizName`: 说明 "" → "业务名称" - - ✏️ `usageType`: 说明 "" → "用途类型" - -#### ✏️ RefUnbindRequest - - - ✏️ `materialId`: 说明 "" → "素材ID" - - ✏️ `bizType`: 说明 "" → "业务类型" - - ✏️ `bizId`: 说明 "" → "业务ID" - - ✏️ `usageType`: 说明 "" → "用途类型" - -#### ✏️ ResourceCoverQuery - - - ✏️ `resourceType`: 说明 "" → "资源类型" - - ✏️ `resourceId`: 说明 "" → "资源ID" - -#### ✏️ ResourcePriceQuery - - - ✏️ `resourceIds`: 说明 "" → "资源ID列表" - - ✏️ `staffTypes`: 说明 "" → "人员类型列表" - - ✏️ `startDate`: 说明 "" → "开始日期" - - ✏️ `endDate`: 说明 "" → "结束日期" - - ✏️ `subType`: 说明 "" → "资源子类型(如酒店房型ID、车辆类别)" - -#### ✏️ ResourcePriceVO - - - ✏️ `resourceId`: 说明 "" → "资源ID" - - ✏️ `staffType`: 说明 "" → "人员类型" - - ✏️ `date`: 说明 "" → "日期" - - ✏️ `price`: 说明 "" → "价格" - - ✏️ `resourceName`: 说明 "" → "资源名称" - -### 企微回调服务 - -#### ✏️ ChatMessageVO - - - ✏️ `msgId`: 说明 "" → "消息ID" - - ✏️ `fromUser`: 说明 "" → "发送人ID" - - ✏️ `fromUserName`: 说明 "" → "发送人姓名" - - ✏️ `fromUserAvatar`: 说明 "" → "发送人头像" - - ✏️ `roomId`: 说明 "" → "群聊ID" - - ✏️ `msgTime`: 说明 "" → "消息时间戳" - - ✏️ `msgType`: 说明 "" → "消息类型" - - ✏️ `content`: 说明 "" → "消息内容" - -### 公共模块 - -#### ✏️ AdminBasicDTO - - - ✏️ `adminId`: 说明 "" → "管理员ID" - - ✏️ `username`: 说明 "" → "用户名" - - ✏️ `avatarUrl`: 说明 "" → "头像URL" - - ✏️ `wechatUserid`: 说明 "" → "企微用户ID" - - ✏️ `wechatName`: 说明 "" → "企微用户名称" - -#### ✏️ DepartmentDTO - - - ✏️ `deptId`: 说明 "" → "部门ID" - - ✏️ `deptName`: 说明 "" → "部门名称" - - ✏️ `parentId`: 说明 "" → "上级部门ID" - -#### ✏️ FileBindRefsDTO - - - ✏️ `bizType`: 说明 "" → "业务类型" - - ✏️ `bizId`: 说明 "" → "业务ID" - - ✏️ `fileIds`: 说明 "" → "文件ID列表" - -#### ✏️ FileUnbindRefsDTO - - - ✏️ `bizType`: 说明 "" → "业务类型" - - ✏️ `bizId`: 说明 "" → "业务ID" - -#### ✏️ OrderPayInfoDTO - - - ✏️ `orderId`: 说明 "" → "订单ID" - - ✏️ `orderNo`: 说明 "" → "订单编号" - - ✏️ `userId`: 说明 "" → "用户ID" - - ✏️ `mchId`: 说明 "" → "商户号" - - ✏️ `totalPrice`: 说明 "" → "总价" - - ✏️ `discountAmount`: 说明 "" → "优惠金额" - - ✏️ `depositAmount`: 说明 "" → "定金金额" - - ✏️ `paidAmount`: 说明 "" → "已支付金额" - - ✏️ `paymentMode`: 说明 "" → "支付模式: FULL=全款, DEPOSIT=定金+尾款" - - ✏️ `status`: 说明 "" → "订单状态" - - ✏️ `productName`: 说明 "" → "产品名称" - - ✏️ `isBooking`: 说明 "" → "是否预定产品: true=预定(定金可不填出行人), false=非预定(支付前必须填出行人)" - -#### ✏️ PaymentResultDTO - - - ✏️ `orderId`: 说明 "" → "订单ID" - - ✏️ `payType`: 说明 "" → "支付类型: FULL=全款, DEPOSIT=定金, BALANCE=尾款" - - ✏️ `paidAmount`: 说明 "" → "支付金额" - - ✏️ `transactionIdWx`: 说明 "" → "微信支付交易号" - -#### ✏️ RefundResultDTO - - - ✏️ `orderId`: 说明 "" → "订单ID" - - ✏️ `refundAmount`: 说明 "" → "退款金额" - - ✏️ `refundIdWx`: 说明 "" → "微信退款单号" - -#### ✏️ ResourceDetailDTO - - - ✏️ `resourceId`: 说明 "" → "资源ID" - - ✏️ `resourceType`: 说明 "" → "资源类型: SCENIC_SPOT/HOTEL/RESTAURANT/ACTIVITY" - - ✏️ `name`: 说明 "" → "资源名称" - - ✏️ `subtitle`: 说明 "" → "副标题" - - ✏️ `description`: 说明 "" → "简介/描述" - - ✏️ `cover`: 说明 "" → "封面图URL" - - ✏️ `images`: 说明 "" → "图片URL列表(轮播图)" - - ✏️ `address`: 说明 "" → "地址" - - ✏️ `longitude`: 说明 "" → "经度" - - ✏️ `latitude`: 说明 "" → "纬度" - - ✏️ `tags`: 说明 "" → "标签列表" - - ✏️ `featureIntro`: 说明 "" → "图文详情(featureIntro JSON)" - - ✏️ `rating`: 说明 "" → "评分" - - ✏️ `city`: 说明 "" → "所在城市" - -#### ✏️ TravelerValidationDTO - - - ✏️ `orderId`: 说明 "" → "订单ID" - - ✏️ `requiredCount`: 说明 "" → "需要的出行人数量" - - ✏️ `actualCount`: 说明 "" → "实际填写的出行人数量" - - ✏️ `isComplete`: 说明 "" → "是否完整(数量足够且信息完整)" - - ✏️ `incompleteTravelerIds`: 说明 "" → "信息不完整的出行人ID列表" - - ✏️ `message`: 说明 "" → "验证消息" - -#### ✏️ WechatMessageDTO - - - ✏️ `toUserIds`: 说明 "" → "接收用户ID列表" - - ✏️ `content`: 说明 "" → "消息内容" - -### 用户服务 - -#### ✏️ ContactRequest - - - ✏️ `channelType`: 说明 "渠道类型:ABOUT=关于我们 ONLINE_CS=在线客服 PHONE=电话咨询" → "渠道类型,关联字典contact_channel_type:ABOUT=关于我们, ONLINE_CS=在线客服, PHONE=电话咨询" - - ✏️ `status`: 说明 "状态:0=下线 1=上线" → "状态,关联字典common_status:0=下线, 1=上线" - -#### ✏️ ContactVO - - - ✏️ `channelType`: 说明 "渠道类型:ABOUT=关于我们 ONLINE_CS=在线客服 PHONE=电话咨询" → "渠道类型,关联字典contact_channel_type:ABOUT=关于我们, ONLINE_CS=在线客服, PHONE=电话咨询" - - ✏️ `status`: 说明 "状态:0=下线 1=上线" → "状态,关联字典common_status:0=下线, 1=上线" - -#### ✏️ CustomPushRequest - - - ✏️ `title`: 说明 "" → "推送标题" - - ✏️ `content`: 说明 "" → "推送内容" - - ✏️ `channel`: 说明 "" → "推送通道: INAPP/SMS/WECHAT_WORK" - - ✏️ `targetType`: 说明 "" → "目标类型: ALL_USERS/SPECIFIC_USERS" - - ✏️ `userIds`: 说明 "" → "目标用户ID列表(目标类型为SPECIFIC_USERS时必填)" - - ✏️ `categoryCode`: 说明 "" → "消息分类编码,默认SYSTEM" - - ✏️ `link`: 说明 "" → "跳转链接(站内信时使用)" - -#### ✏️ CustomPushResultVO - - - ✏️ `totalCount`: 说明 "" → "推送总数" - - ✏️ `successCount`: 说明 "" → "成功数" - - ✏️ `failCount`: 说明 "" → "失败数" - -#### ✏️ CustomerVO - - - ✏️ `status`: 说明 "状态:ACTIVE=正常 DISABLED=禁用" → "状态,关联字典user_status:ACTIVE=正常, BANNED=已封禁" - -#### ✏️ EventConfigVO - - - ✏️ `inappEnabled`: 说明 "站内信开关" → "站内信开关(0=关闭, 1=开启)" - - ✏️ `smsEnabled`: 说明 "短信开关" → "短信开关(0=关闭, 1=开启)" - - ✏️ `miniappEnabled`: 说明 "小程序订阅消息开关" → "小程序订阅消息开关(0=关闭, 1=开启)" - - ✏️ `oaEnabled`: 说明 "公众号模板消息开关" → "公众号模板消息开关(0=关闭, 1=开启)" - - ✏️ `weworkEnabled`: 说明 "企微通知开关" → "企微通知开关(0=关闭, 1=开启)" - - ✏️ `weworkReceiverType`: 说明 "企微接收人类型" → "企微接收人类型(ROLE=按角色, DEPT=按部门, SPECIFIC=指定人员)" - -#### ✏️ FavoriteRequest - - - ✏️ `targetType`: 说明 "收藏类型" → "收藏类型,关联字典favorite_resource_type" - -#### ✏️ FootprintRequest - - - ✏️ `resourceType`: 说明 "资源类型" → "资源类型,关联字典footprint_resource_type" - -#### ✏️ LoginLogVO - - - ✏️ `loginMethod`: 说明 "登录方式:PASSWORD=密码 WECHAT=企微扫码 TWO_FA=二次验证" → "登录方式,关联字典login_method:PASSWORD=密码登录, WECHAT_QR=企微扫码登录, TWO_FA=二次验证登录" - - ✏️ `status`: 说明 "登录状态:SUCCESS=成功 FAILED=失败" → "登录状态,关联字典login_status:SUCCESS=成功, FAILED=失败" - -#### ✏️ SendLogVO - - - ✏️ `channel`: 说明 "通道: INAPP/SMS/MINIAPP/OA/WEWORK" → "通道,关联字典notification_channel:INAPP=站内信, SMS=短信, MINIAPP=小程序订阅, OA=公众号模板, WEWORK=企业微信" - - ✏️ `status`: 说明 "发送状态: 0成功 1失败 2跳过" → "发送状态,关联字典notification_send_status:0=成功, 1=失败, 2=跳过" - -#### ✏️ TravelerRequest - - - ✏️ `travelerType`: 说明 "出行人类型(无需传入,后端根据出生日期自动判断)" → "出行人类型,关联字典traveler_type:ADULT=成人, CHILD=儿童, INFANT=婴儿(无需传入,后端根据birthday自动判断)" - - ✏️ `idCardType`: 说明 "证件类型:ID_CARD=身份证 PASSPORT=护照" → "证件类型,关联字典id_card_type:ID_CARD=身份证, PASSPORT=护照" - - ✏️ `gender`: 说明 "性别:0=女 1=男" → "性别,关联字典gender:0=女, 1=男" - -#### ✏️ UserSimpleVO - - - ✏️ `id`: 说明 "" → "用户ID" - - ✏️ `realName`: 说明 "" → "真实姓名" - - ✏️ `phone`: 说明 "" → "手机号" - - ✏️ `avatarUrl`: 说明 "" → "头像URL" - -#### ✏️ UserVO - - - ✏️ `status`: 说明 "状态:ACTIVE=正常 DISABLED=禁用" → "状态,关联字典user_status:ACTIVE=正常, BANNED=已封禁" - - ✏️ `idCardType`: 说明 "证件类型:ID_CARD=身份证 PASSPORT=护照" → "证件类型,关联字典id_card_type:ID_CARD=身份证, PASSPORT=护照" - - ✏️ `gender`: 说明 "性别:0=女 1=男" → "性别,关联字典gender:0=女, 1=男" - -### 素材服务 - -#### ✏️ ChunkUploadCancelRequest - - - ✏️ `uploadId`: 说明 "" → "上传ID" - -#### ✏️ ChunkUploadCompleteRequest - - - ✏️ `uploadId`: 说明 "" → "上传ID" - -#### ✏️ ChunkUploadInitRequest - - - ✏️ `filename`: 说明 "" → "文件名" - - ✏️ `fileSize`: 说明 "" → "文件大小(字节)" - - ✏️ `contentType`: 说明 "" → "文件MIME类型" - - ✏️ `groupKey`: 说明 "" → "分组标识" - - ✏️ `fileHash`: 说明 "" → "文件哈希值" - -#### ✏️ ChunkUploadInitVO - - - ✏️ `uploadId`: 说明 "" → "上传ID" - - ✏️ `chunkSize`: 说明 "" → "分片大小(字节)" - - ✏️ `fileId`: 说明 "" → "文件ID" - - ✏️ `ossKey`: 说明 "" → "OSS对象Key" - -#### ✏️ ChunkUploadPartVO - - - ✏️ `etag`: 说明 "" → "分片ETag标识" - -#### ✏️ FileBatchIdsRequest - - - ✏️ `fileIds`: 说明 "" → "文件ID列表" - -#### ✏️ FileUploadConfirmRequest - - - ✏️ `fileId`: 说明 "" → "文件ID" - -#### ✏️ FileUploadTokenRequest - - - ✏️ `fileName`: 说明 "" → "文件名" - - ✏️ `fileSize`: 说明 "" → "文件大小(字节)" - - ✏️ `fileHash`: 说明 "" → "文件哈希值" - - ✏️ `groupKey`: 说明 "" → "分组标识" - - ✏️ `forcePresigned`: 说明 "" → "是否强制使用预签名URL" - -#### ✏️ FileUploadTokenVO - - - ✏️ `fileId`: 说明 "" → "文件ID" - - ✏️ `contentType`: 说明 "" → "文件MIME类型" - - ✏️ `uploadMode`: 说明 "" → "上传模式" - - ✏️ `presignedUrl`: 说明 "" → "预签名上传URL" - - ✏️ `ossKey`: 说明 "" → "OSS对象Key" - - ✏️ `expireAt`: 说明 "" → "过期时间" - - ✏️ `stsToken`: 说明 "" → "STS临时凭证" - - ✏️ `bucket`: 说明 "" → "OSS存储桶名称" - - ✏️ `region`: 说明 "" → "OSS区域" - - ✏️ `file`: 说明 "" → "文件信息(秒传时返回)" - - ✏️ `accessKeyId`: 说明 "" → "访问密钥ID" - - ✏️ `accessKeySecret`: 说明 "" → "访问密钥Secret" - - ✏️ `securityToken`: 说明 "" → "安全令牌" - - ✏️ `expiration`: 说明 "" → "过期时间" - -#### ✏️ FileVO - - - ✏️ `fileId`: 说明 "" → "文件ID" - - ✏️ `fileName`: 说明 "" → "文件名" - - ✏️ `fileType`: 说明 "" → "文件类型" - - ✏️ `mimeType`: 说明 "" → "MIME类型" - - ✏️ `fileSize`: 说明 "" → "文件大小(字节)" - - ✏️ `fileHash`: 说明 "" → "文件哈希值" - - ✏️ `ossUrl`: 说明 "" → "OSS访问URL" - - ✏️ `thumbnailUrl`: 说明 "" → "缩略图URL" - - ✏️ `previewUrl`: 说明 "" → "预览URL" - - ✏️ `groupKey`: 说明 "" → "分组标识" - - ✏️ `status`: 说明 "" → "文件状态" - - ✏️ `refCount`: 说明 "" → "引用次数" - - ✏️ `createdAt`: 说明 "" → "创建时间" - -### 订单服务 - -#### ✏️ AdminCreateOrderRequest - - - ✏️ `userPhone`: 说明 "用户手机号(可选,用于关联C端用户)" → "用户手机号(可选,用于关联C端用户)。如匹配到已注册用户则自动绑定订单" - - ✏️ `expiryMinutes`: 说明 "支付时限(分钟),不传则使用全局默认值" → "支付时限(分钟),不传则使用全局默认值。超时未支付订单自动取消" - -#### ✏️ AdminRefundReviewRequest - - - ✏️ `action`: 说明 "审批结果(APPROVE/REJECT)" → "审批结果:APPROVE=通过(自动调起微信退款)、REJECT=拒绝(用户可发起申诉)" - - ✏️ `actualAmount`: 说明 "实际退款金额(审批通过时可调整)" → "实际退款金额(审批通过时可调整,不传则使用申请金额)。不能超过订单已付金额" - -#### ✏️ AdminUpdateOrderRequest - - - ✏️ `mchId`: 说明 "商户号" → "商户号(微信支付商户号,多商户场景使用)" - -#### ✏️ CreateWorkOrderRequest - - - ✏️ `type`: 说明 "工单类型: ROOM_CHANGE/ROOM_ADD/CHECKOUT_CHANGE/HOTEL_ISSUE/VEHICLE_CHANGE/SCENIC_ADD/SCENIC_REMOVE/OTHER" → "工单类型: ROOM_CHANGE(换房)/ROOM_ADD(加房)/CHECKOUT_CHANGE(改退房日期)/" - - ✏️ `priority`: 说明 "优先级: URGENT/NORMAL" → "优先级: URGENT(紧急,如当天出发需处理)/NORMAL(普通)" - - ✏️ `costDifference`: 说明 "差价(正数=加价, 负数=退费)" → "差价(正数=客户需补差价, 负数=需退费给客户)" - -#### ✏️ EarlyBirdPlanRequest - - - ✏️ `minPeople`: 说明 "最低人数" → "最低出行人数(含成人+儿童),订单人数>=此值才能享受优惠" - - ✏️ `discountAmount`: 说明 "优惠金额" → "优惠金额(从订单总价中扣减的固定金额)" - -#### ✏️ MpOrderQueryRequest - - - ✏️ `status`: 说明 "订单状态" → "订单状态(不传则查全部)。可选值:PENDING_PAY/DEPOSIT_PAID/PAID/CONFIRMED/PENDING_BALANCE/PENDING_DEPARTURE/TRAVELLING/COMPLETED/AFTER_SALE/REFUNDING/REFUNDED/CANCELLED" - -#### ✏️ MpUpdateOrderRequest - - - ✏️ `departureDate`: 说明 "出发日期" → "出发日期(修改出发日期会触发价格重算)" - -#### ✏️ RefundApplyRequest - - - ✏️ `refundType`: 说明 "退款类型(字典:refund_type)" → "退款类型:FULL=全额退款、PARTIAL=部分退款" - - ✏️ `reasonId`: 说明 "退款原因ID" → "退款原因ID(从退款原因列表接口获取)" - -#### ✏️ RefundPolicyRequest - - - ✏️ `minDays`: 说明 "距出发最少天数" → "距出发最少天数(含当天)。例如:minDays=7表示出发前7天及以上适用此规则" - - ✏️ `refundRatio`: 说明 "退款比例(百分比)" → "退款比例(百分比,0-100)。例如:80表示退已付金额的80%" - -#### ✏️ UpdateOrderStatusRequest - - - ✏️ `status`: 说明 "目标状态(字典:order_status)" → "目标状态。可选值:PENDING_PAY(待支付)/DEPOSIT_PAID(已付定金)/PAID(已全额支付)/" - -#### ✏️ WorkOrderVO - - - ✏️ `logId`: 说明 "" → "日志ID" - - ✏️ `action`: 说明 "" → "操作动作" - - ✏️ `actionLabel`: 说明 "" → "操作动作标签" - - ✏️ `content`: 说明 "" → "操作内容" - - ✏️ `operatorName`: 说明 "" → "操作人姓名" - - ✏️ `createdAt`: 说明 "" → "操作时间" - -### 资源服务 - -#### ✏️ RestaurantCreateRequest - - - ✏️ `cityName`: 说明 "城市标签" → "城市名称(纯文本输入)" - -#### ✏️ RestaurantListVO - - - ✏️ `cityName`: 说明 "城市标签" → "城市名称(纯文本)" - -#### ✏️ RestaurantQueryRequest - - - ✏️ `cityName`: 说明 "城市标签" → "城市名称筛选(纯文本)" - -#### ✏️ RestaurantUpdateRequest - - - ✏️ `cityName`: 说明 "城市标签" → "城市名称(纯文本输入)" - -#### ✏️ RestaurantVO - - - ✏️ `cityName`: 说明 "城市标签" → "城市名称(纯文本)" - -## 🗄️ 数据库变更 - -### `add_customer_service_role.sql` (新增) - -```sql --- 新增客服角色 --- 权限:查看全部订单、全部产品(含定制产品)、配置保险、配置合同、查看素材 - --- 1. 创建角色 -INSERT INTO sys_role (role_id, role_name, role_key, sort_order, status) -VALUES (8, '客服', 'CUSTOMER_SERVICE', 8, 'ACTIVE'); - --- 2. 分配菜单权限 -INSERT INTO sys_role_menu (role_id, menu_id) VALUES --- 订单管理(查看,不含创建) -(8, 700), -- 订单管理(目录) -(8, 710), -- 订单列表 -(8, 730), -- 订单详情 -(8, 740), -- 早鸟优惠 -(8, 750), -- 工单管理 --- 退款管理(查看) -(8, 6001), -- 退款管理(目录) -(8, 6010), -- 退款申请 -(8, 6020), -- 退款政策 -(8, 6030), -- 退款原因 --- 产品管理(查看全部,含定制产品,不含增删改按钮) -(8, 500), -- 产品管理(目录) -(8, 510), -- 产品列表 -(8, 520), -- 产品线管理 -(8, 530), -- 团期管理 --- 保险管理(配置) -(8, 800), -- 保险管理(目录) -(8, 810), -- 保险产品 -(8, 820), -- 保险订单 -(8, 830), -- 保险方案 --- 合同管理(配置) -(8, 850), -- 合同管理(目录) -(8, 851), -- 合同列表 -(8, 852), -- 补充约定模板 --- 素材库(查看) -(8, 1890000000000000100); -- 素材库 -``` - -### `dict_data_seed.sql` (修改) - -```sql --- Dict Types (9 types) - (7, '任务日志状态', 'job_log_status', 'BASE', 'ACTIVE', NULL, NOW(), NOW()), - (8, '任务状态', 'job_status', 'BASE', 'ACTIVE', NULL, NOW(), NOW()), - (9, '任务分组', 'job_group', 'BASE', 'ACTIVE', NULL, NOW(), NOW()); --- job_status -INSERT IGNORE INTO sys_dict_data (dict_data_id, dict_type, dict_label, dict_value, sort_order, status, remark, created_at, updated_at) -VALUES - (801, 'job_status', '启用', 'ACTIVE', 1, 'ACTIVE', 'success', NOW(), NOW()), - (802, 'job_status', '已暂停', 'PAUSED', 2, 'ACTIVE', 'info', NOW(), NOW()); - --- job_group -INSERT IGNORE INTO sys_dict_data (dict_data_id, dict_type, dict_label, dict_value, sort_order, status, remark, created_at, updated_at) -VALUES - (901, 'job_group', '默认分组', 'DEFAULT', 1, 'ACTIVE', '', NOW(), NOW()), - (902, 'job_group', '系统任务', 'SYSTEM', 2, 'ACTIVE', 'primary', NOW(), NOW()), - (903, 'job_group', '企微同步', 'WECHAT', 3, 'ACTIVE', 'success', NOW(), NOW()), - (904, 'job_group', '保险同步', 'INSURANCE', 4, 'ACTIVE', 'warning', NOW(), NOW()); - -``` - -### `dict_fix_frontend.sql` (新增) - -```sql --- ============================================================ --- 前端缺失的字典类型和字典数据补齐 --- 对比前端 hl-ui 代码 vs 后端 sys_dict_type 表 --- ============================================================ - --- 1. cities - 城市(树形字典,MobilePreview/useLocation用) -INSERT IGNORE INTO sys_dict_type (dict_type_id, dict_name, dict_type, category, status) -VALUES (1900000001, '城市', 'cities', 'BASE', 'ACTIVE'); - -INSERT IGNORE INTO sys_dict_data (dict_data_id, dict_type, dict_label, dict_value, sort_order, status) -VALUES -(1900100001, 'cities', '海拉尔', 'hailar', 1, 'ACTIVE'), -(1900100002, 'cities', '满洲里', 'manzhouli', 2, 'ACTIVE'), -(1900100003, 'cities', '额尔古纳', 'eergu', 3, 'ACTIVE'), -(1900100004, 'cities', '根河', 'genhe', 4, 'ACTIVE'), -(1900100005, 'cities', '牙克石', 'yakeshi', 5, 'ACTIVE'), -(1900100006, 'cities', '扎兰屯', 'zhalantun', 6, 'ACTIVE'), -(1900100007, 'cities', '阿尔山', 'aershan', 7, 'ACTIVE'), -(1900100008, 'cities', '室韦', 'shiwei', 8, 'ACTIVE'), -(1900100009, 'cities', '恩和', 'enhe', 9, 'ACTIVE'), -(1900100010, 'cities', '黑山头', 'heishantou', 10, 'ACTIVE'), -(1900100011, 'cities', '陈巴尔虎旗', 'chenbaerhu', 11, 'ACTIVE'), -(1900100012, 'cities', '新巴尔虎左旗', 'xinbaerhuzuo', 12, 'ACTIVE'), -(1900100013, 'cities', '新巴尔虎右旗', 'xinbaerhuyou', 13, 'ACTIVE'), -(1900100014, 'cities', '鄂温克旗', 'ewenke', 14, 'ACTIVE'), -(1900100015, 'cities', '莫尔道嘎', 'moerdaoga', 15, 'ACTIVE'); - --- 2. city - 城市筛选(产品行程资源面板用) -INSERT IGNORE INTO sys_dict_type (dict_type_id, dict_name, dict_type, category, status) -VALUES (1900000002, '城市筛选', 'city', 'BASE', 'ACTIVE'); - -INSERT IGNORE INTO sys_dict_data (dict_data_id, dict_type, dict_label, dict_value, sort_order, status) -VALUES -(1900200001, 'city', '海拉尔', 'hailar', 1, 'ACTIVE'), -(1900200002, 'city', '满洲里', 'manzhouli', 2, 'ACTIVE'), -(1900200003, 'city', '额尔古纳', 'eergu', 3, 'ACTIVE'), -(1900200004, 'city', '根河', 'genhe', 4, 'ACTIVE'), -(1900200005, 'city', '阿尔山', 'aershan', 5, 'ACTIVE'), -(1900200006, 'city', '室韦', 'shiwei', 6, 'ACTIVE'), -(1900200007, 'city', '恩和', 'enhe', 7, 'ACTIVE'), -(1900200008, 'city', '黑山头', 'heishantou', 8, 'ACTIVE'); - --- 3. city_label - 城市标签(餐厅列表筛选用) -INSERT IGNORE INTO sys_dict_type (dict_type_id, dict_name, dict_type, category, status) -VALUES (1900000003, '城市标签', 'city_label', 'BASE', 'ACTIVE'); - -INSERT IGNORE INTO sys_dict_data (dict_data_id, dict_type, dict_label, dict_value, sort_order, status) -VALUES -(1900300001, 'city_label', '海拉尔', 'hailar', 1, 'ACTIVE'), -(1900300002, 'city_label', '满洲里', 'manzhouli', 2, 'ACTIVE'), -(1900300003, 'city_label', '额尔古纳', 'eergu', 3, 'ACTIVE'), -(1900300004, 'city_label', '根河', 'genhe', 4, 'ACTIVE'), -(1900300005, 'city_label', '阿尔山', 'aershan', 5, 'ACTIVE'), -(1900300006, 'city_label', '室韦', 'shiwei', 6, 'ACTIVE'), -(1900300007, 'city_label', '恩和', 'enhe', 7, 'ACTIVE'), -(1900300008, 'city_label', '黑山头', 'heishantou', 8, 'ACTIVE'); - --- 4. environment_type - 环境类型(餐厅编辑用,前端key是environment_type) -INSERT IGNORE INTO sys_dict_type (dict_type_id, dict_name, dict_type, category, status) -VALUES (1900000004, '环境类型', 'environment_type -``` - -## ⚙️ 配置变更 - -- `hl-callback-service/src/main/resources/bootstrap.yml` (修改) -- `hl-contract-service/src/main/resources/bootstrap.yml` (修改) -- `hl-file-service/src/main/resources/bootstrap.yml` (修改) -- `hl-gateway/src/main/resources/bootstrap.yml` (修改) -- `hl-guide-service/src/main/resources/bootstrap.yml` (修改) -- `hl-insurance-service/src/main/resources/bootstrap.yml` (修改) -- `hl-material-service/src/main/resources/bootstrap.yml` (修改) -- `hl-monitor-service/src/main/resources/bootstrap.yml` (修改) -- `hl-mp-service/src/main/resources/bootstrap.yml` (修改) -- `hl-order-service/src/main/resources/bootstrap.yml` (修改) -- `hl-payment-service/src/main/resources/bootstrap.yml` (修改) -- `hl-product-service/src/main/resources/bootstrap.yml` (修改) -- `hl-resource-service/src/main/resources/bootstrap.yml` (修改) -- `hl-review-service/src/main/resources/bootstrap.yml` (修改) -- `hl-task-service/src/main/resources/bootstrap.yml` (修改) -- `hl-user-service/src/main/resources/bootstrap.yml` (修改) - -
-📁 全部变更文件 (点击展开) - -``` -A design-01-mengma-detail.jpg -A design-mengma-100pct.jpg -A design-mengma-detail.jpg -M docs/CLAUDE_WORKFLOW/CODE_STANDARDS.md -M docs/CLAUDE_WORKFLOW/architect/GUIDE.md -M docs/CLAUDE_WORKFLOW/qa/GUIDE.md -M docs/CLAUDE_WORKFLOW/reviewer/GUIDE.md -M docs/CLAUDE_WORKFLOW/senior-dev/GUIDE.md -M hl-callback-service/src/main/java/com/hulalv/callback/config/Knife4jConfig.java -M hl-callback-service/src/main/java/com/hulalv/callback/controller/MsgAuditCallbackController.java -M hl-callback-service/src/main/java/com/hulalv/callback/controller/WxCallbackController.java -M hl-callback-service/src/main/java/com/hulalv/callback/feign/UserServiceClient.java -M hl-callback-service/src/main/java/com/hulalv/callback/feign/UserServiceClientFallback.java -M hl-callback-service/src/main/java/com/hulalv/callback/handler/ApprovalEventHandler.java -M hl-callback-service/src/main/java/com/hulalv/callback/handler/ContactChangeHandler.java -M hl-callback-service/src/main/java/com/hulalv/callback/handler/ExternalContactHandler.java -M hl-callback-service/src/main/java/com/hulalv/callback/msgaudit/InternalChatMessageController.java -M hl-callback-service/src/main/java/com/hulalv/callback/msgaudit/MsgAuditController.java -M hl-callback-service/src/main/java/com/hulalv/callback/msgaudit/vo/ChatMessageVO.java -M hl-callback-service/src/main/resources/bootstrap.yml -M hl-common/src/main/java/com/hulalv/common/dto/AdminBasicDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/DepartmentDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/ExternalContactEventDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/FileBindRefsDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/FileUnbindRefsDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/OrderPayInfoDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/PaymentResultDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/RefundResultDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/ResourceDetailDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/TravelerValidationDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/WechatDeptSyncDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/WechatMessageDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/WechatUserSyncDTO.java -M hl-common/src/main/java/com/hulalv/common/feign/MonitorFeignClient.java -M hl-common/src/main/java/com/hulalv/common/feign/MonitorFeignFallbackFactory.java -M hl-common/src/main/java/com/hulalv/common/feign/OrderRefundFeignClient.java -M hl-common/src/main/java/com/hulalv/common/feign/OrderRefundFeignFallbackFactory.java -M hl-common/src/main/java/com/hulalv/common/feign/ProductApprovalFeignClient.java -M hl-common/src/main/java/com/hulalv/common/feign/ProductApprovalFeignFallbackFactory.java -M hl-common/src/main/java/com/hulalv/common/feign/ResourceApprovalFeignClient.java -M hl-common/src/main/java/com/hulalv/common/feign/ResourceApprovalFeignFallbackFactory.java -M hl-common/src/main/java/com/hulalv/common/weather/AmapWeatherClient.java -M hl-contract-service/src/main/java/com/hulalv/contract/config/Knife4jConfig.java -M hl-contract-service/src/main/java/com/hulalv/contract/controller/AdminClauseTemplateController.java -M hl-contract-service/src/main/java/com/hulalv/contract/controller/AdminContractController.java -M hl-contract-service/src/main/java/com/hulalv/contract/controller/ContractCallbackController.java -M hl-contract-service/src/main/java/com/hulalv/contract/controller/InternalContractController.java -M hl-contract-service/src/main/java/com/hulalv/contract/controller/InternalMpContractController.java -M hl-contract-service/src/main/resources/bootstrap.yml -M hl-file-service/src/main/java/com/hulalv/file/config/Knife4jConfig.java -M hl-file-service/src/main/java/com/hulalv/file/controller/FileController.java -M hl-file-service/src/main/java/com/hulalv/file/controller/InternalFileController.java -M hl-file-service/src/main/java/com/hulalv/file/controller/MpFileController.java -M hl-file-service/src/main/resources/bootstrap.yml -A hl-gateway/src/main/java/com/hulalv/gateway/config/WebResourceConfig.java -M hl-gateway/src/main/resources/bootstrap.yml -M hl-guide-service/src/main/java/com/hulalv/guide/controller/AdminGuideArticleController.java -M hl-guide-service/src/main/java/com/hulalv/guide/controller/AdminGuideCategoryController.java -M hl-guide-service/src/main/java/com/hulalv/guide/controller/AdminGuideTagController.java -M hl-guide-service/src/main/java/com/hulalv/guide/controller/InternalWikiController.java -M hl-guide-service/src/main/resources/bootstrap.yml -M hl-insurance-service/src/main/java/com/hulalv/insurance/config/Knife4jConfig.java -M hl-insurance-service/src/main/java/com/hulalv/insurance/controller/AdminInsuranceController.java -M hl-insurance-service/src/main/java/com/hulalv/insurance/controller/AdminInsuranceSchemeController.java -M hl-insurance-service/src/main/java/com/hulalv/insurance/controller/InternalInsuranceController.java -M hl-insurance-service/src/main/resources/bootstrap.yml -M hl-material-service/src/main/java/com/hulalv/material/config/Knife4jConfig.java -M hl-material-service/src/main/java/com/hulalv/material/controller/InternalMaterialController.java -M hl-material-service/src/main/java/com/hulalv/material/controller/MaterialCategoryPermissionController.java -M hl-material-service/src/main/java/com/hulalv/material/controller/MaterialController.java -M hl-material-service/src/main/java/com/hulalv/material/controller/MaterialTagController.java -M hl-material-service/src/main/java/com/hulalv/material/controller/MpMaterialController.java -M hl-material-service/src/main/java/com/hulalv/material/feign/dto/ChunkUploadCancelRequest.java -M hl-material-service/src/main/java/com/hulalv/material/feign/dto/ChunkUploadCompleteRequest.java -M hl-material-service/src/main/java/com/hulalv/material/feign/dto/ChunkUploadInitRequest.java -M hl-material-service/src/main/java/com/hulalv/material/feign/dto/FileBatchIdsRequest.java -M hl-material-service/src/main/java/com/hulalv/material/feign/dto/FileUploadConfirmRequest.java -M hl-material-service/src/main/java/com/hulalv/material/feign/dto/FileUploadTokenRequest.java -M hl-material-service/src/main/java/com/hulalv/material/feign/vo/ChunkUploadInitVO.java -M hl-material-service/src/main/java/com/hulalv/material/feign/vo/ChunkUploadPartVO.java -M hl-material-service/src/main/java/com/hulalv/material/feign/vo/FileUploadTokenVO.java -M hl-material-service/src/main/java/com/hulalv/material/feign/vo/FileVO.java -M hl-material-service/src/main/resources/bootstrap.yml -M hl-monitor-service/src/main/java/com/hulalv/monitor/config/Knife4jConfig.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/ApprovalLogController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/DataRetentionController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/ErrorLogController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/InternalLogController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/LoginLogController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/MysqlMonitorController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/NotificationLogController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/OperationLogController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/RedisMonitorController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/RocketMqMonitorController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/ServiceMonitorController.java -M hl-monitor-service/src/main/resources/bootstrap.yml -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpActivityController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpBadgeController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpBannerController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpConfigController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpContractController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpDesignerController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpDictController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpExploreController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpFavoriteController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpFootprintController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpHomeController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpHotelController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpInsuranceController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpInvoiceController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpLikeController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpOrderController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpPaymentController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpProductController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpRefundController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpRestaurantController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpReviewController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpScenicController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpSearchController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpTravelerController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpTripController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpUserController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpWeatherController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpWikiController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpWishController.java -M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpPaymentFeignClient.java -M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpPaymentFeignFallbackFactory.java -M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpUserFeignClient.java -M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpUserFeignFallbackFactory.java -M hl-mp-service/src/main/resources/bootstrap.yml -M hl-order-service/src/main/java/com/hulalv/order/config/Knife4jConfig.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminAlbumController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminEarlyBirdController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminOrderConfigController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminOrderController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminOrderItineraryController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminOrderTodoController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminRefundController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminRefundPolicyController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminWorkOrderController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalAlbumController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalDashboardController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalDesignerOrderController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalEarlyBirdController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalInvoiceController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalMpOrderController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalMpTripController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalOrderStatsController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalOrderTravelerController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalPaymentOrderController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalRefundController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/MpOrderController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/MpWeatherController.java -M hl-order-service/src/main/java/com/hulalv/order/dto/AdminCreateOrderRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/AdminRefundReviewRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/AdminUpdateOrderRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/CreateWorkOrderRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/EarlyBirdPlanRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/InvoiceApplyRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/MpOrderQueryRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/MpUpdateOrderRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/RefundApplyRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/RefundPolicyRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/UpdateOrderStatusRequest.java -M hl-order-service/src/main/java/com/hulalv/order/service/WeatherService.java -M hl-order-service/src/main/java/com/hulalv/order/vo/WorkOrderVO.java -M hl-order-service/src/main/resources/bootstrap.yml -M hl-payment-service/src/main/java/com/hulalv/payment/config/Knife4jConfig.java -M hl-payment-service/src/main/java/com/hulalv/payment/controller/AdminPaymentController.java -M hl-payment-service/src/main/java/com/hulalv/payment/controller/InternalPaymentController.java -M hl-payment-service/src/main/java/com/hulalv/payment/controller/PaymentCallbackController.java -M hl-payment-service/src/main/resources/bootstrap.yml -M hl-product-service/src/main/java/com/hulalv/product/config/Knife4jConfig.java -M hl-product-service/src/main/java/com/hulalv/product/controller/DistrictController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/FamilyController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/FormulaController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/GroupBatchController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/InternalMpProductController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/InternalProductController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/ItineraryController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/MpProductController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/PricingController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/ProductController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/ProductFolderController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/ProductLineController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/QuoteController.java -M hl-product-service/src/main/java/com/hulalv/product/dto/FamilySaveRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/FormulaStepRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/GroupBatchCreateRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/GroupBatchDisbandRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/GroupBatchStaffRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/GroupBatchUpdateRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/NodeCreateRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/PriceCalendarRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/PricingRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/ProductStatusRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/QuoteRequest.java -M hl-product-service/src/main/java/com/hulalv/product/feign/dto/BatchMaterialIdsRequest.java -M hl-product-service/src/main/java/com/hulalv/product/feign/dto/RefBatchBindRequest.java -M hl-product-service/src/main/java/com/hulalv/product/feign/dto/RefBatchUnbindRequest.java -M hl-product-service/src/main/java/com/hulalv/product/feign/dto/RefBindRequest.java -M hl-product-service/src/main/java/com/hulalv/product/feign/dto/RefUnbindRequest.java -M hl-product-service/src/main/java/com/hulalv/product/feign/dto/ResourceCoverQuery.java -M hl-product-service/src/main/java/com/hulalv/product/feign/dto/ResourcePriceQuery.java -M hl-product-service/src/main/java/com/hulalv/product/feign/vo/MaterialVO.java -M hl-product-service/src/main/java/com/hulalv/product/feign/vo/ResourcePriceVO.java -M hl-product-service/src/main/resources/bootstrap.yml -M hl-resource-service/src/main/java/com/hulalv/resource/activity/controller/ActivityController.java -M hl-resource-service/src/main/java/com/hulalv/resource/activity/controller/ActivityPriceCalendarController.java -M hl-resource-service/src/main/java/com/hulalv/resource/activity/controller/ActivityTagController.java -M hl-resource-service/src/main/java/com/hulalv/resource/activity/controller/InternalActivityController.java -M hl-resource-service/src/main/java/com/hulalv/resource/activity/controller/InternalMpActivityController.java -M hl-resource-service/src/main/java/com/hulalv/resource/config/Knife4jConfig.java -M hl-resource-service/src/main/java/com/hulalv/resource/controller/InternalMpResourceBriefController.java -M hl-resource-service/src/main/java/com/hulalv/resource/controller/InternalResourceController.java -M hl-resource-service/src/main/java/com/hulalv/resource/controller/InternalResourceDetailController.java -M hl-resource-service/src/main/java/com/hulalv/resource/controller/InternalResourcePriceController.java -M hl-resource-service/src/main/java/com/hulalv/resource/controller/InternalResourceStatsController.java -M hl-resource-service/src/main/java/com/hulalv/resource/cost/controller/CostItemController.java -M hl-resource-service/src/main/java/com/hulalv/resource/cost/controller/CostPriceCalendarController.java -M hl-resource-service/src/main/java/com/hulalv/resource/cost/controller/InternalCostController.java -M hl-resource-service/src/main/java/com/hulalv/resource/hotel/controller/HotelController.java -M hl-resource-service/src/main/java/com/hulalv/resource/hotel/controller/HotelTagController.java -M hl-resource-service/src/main/java/com/hulalv/resource/hotel/controller/InternalHotelController.java -M hl-resource-service/src/main/java/com/hulalv/resource/hotel/controller/InternalMpHotelController.java -M hl-resource-service/src/main/java/com/hulalv/resource/hotel/controller/RoomPriceCalendarController.java -M hl-resource-service/src/main/java/com/hulalv/resource/hotel/controller/RoomTypeController.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/controller/InternalMpRestaurantController.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/controller/InternalRestaurantController.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/controller/RestaurantController.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/controller/RestaurantTagController.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/dto/RestaurantCreateRequest.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/dto/RestaurantQueryRequest.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/dto/RestaurantUpdateRequest.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/vo/RestaurantListVO.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/vo/RestaurantVO.java -M hl-resource-service/src/main/java/com/hulalv/resource/scenic/controller/InternalMpScenicController.java -M hl-resource-service/src/main/java/com/hulalv/resource/scenic/controller/InternalScenicController.java -M hl-resource-service/src/main/java/com/hulalv/resource/scenic/controller/ScenicPriceCalendarController.java -M hl-resource-service/src/main/java/com/hulalv/resource/scenic/controller/ScenicSeasonController.java -M hl-resource-service/src/main/java/com/hulalv/resource/scenic/controller/ScenicSpotController.java -M hl-resource-service/src/main/java/com/hulalv/resource/scenic/controller/ScenicTagController.java -M hl-resource-service/src/main/java/com/hulalv/resource/service/controller/InternalServiceController.java -M hl-resource-service/src/main/java/com/hulalv/resource/service/controller/ServiceItemController.java -M hl-resource-service/src/main/java/com/hulalv/resource/service/controller/ServicePriceCalendarController.java -M hl-resource-service/src/main/java/com/hulalv/resource/service/controller/ServiceTagController.java -M hl-resource-service/src/main/java/com/hulalv/resource/staff/controller/InternalStaffController.java -M hl-resource-service/src/main/java/com/hulalv/resource/staff/controller/StaffController.java -M hl-resource-service/src/main/java/com/hulalv/resource/staff/controller/StaffPriceCalendarController.java -M hl-resource-service/src/main/java/com/hulalv/resource/staff/controller/StaffTagController.java -M hl-resource-service/src/main/java/com/hulalv/resource/supplies/controller/InternalSuppliesController.java -M hl-resource-service/src/main/java/com/hulalv/resource/supplies/controller/SuppliesController.java -M hl-resource-service/src/main/java/com/hulalv/resource/supplies/controller/SuppliesTagController.java -M hl-resource-service/src/main/java/com/hulalv/resource/vehicle/controller/InternalVehicleController.java -M hl-resource-service/src/main/java/com/hulalv/resource/vehicle/controller/VehicleModelController.java -M hl-resource-service/src/main/java/com/hulalv/resource/vehicle/controller/VehiclePriceCalendarController.java -M hl-resource-service/src/main/java/com/hulalv/resource/vehicle/controller/VehicleTagController.java -M hl-resource-service/src/main/resources/bootstrap.yml -M hl-review-service/src/main/java/com/hulalv/review/config/Knife4jConfig.java -M hl-review-service/src/main/java/com/hulalv/review/controller/AdminReviewController.java -M hl-review-service/src/main/java/com/hulalv/review/controller/InternalMpReviewController.java -M hl-review-service/src/main/java/com/hulalv/review/controller/InternalReviewController.java -M hl-review-service/src/main/resources/bootstrap.yml -M hl-task-service/src/main/java/com/hulalv/task/controller/BoardController.java -M hl-task-service/src/main/java/com/hulalv/task/controller/TaskController.java -M hl-task-service/src/main/resources/bootstrap.yml -M hl-user-service/src/main/java/com/hulalv/user/config/Knife4jConfig.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminAgreementController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminBannerController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminContactController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminCustomerController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminDesignerController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminExploreCategoryController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminFaqController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminFrontendConfigController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminProfileController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminTopicController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminUserController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AuthController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/FavoriteController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/FootprintController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalApprovalController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalBadgeController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalBannerController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalContactController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalDesignerController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalExploreCategoryController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalFaqController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalFrontendConfigController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalLikeController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalLoginLogController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalMpCommonController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalMpDictController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalMpMessageController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalMpUserController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalOrderUserController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalTopicController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalUserController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalWechatController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalWishController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/OfficialAccountCallbackController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/PublicDictController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/SysDictController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/SysJobController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/SysMenuController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/SysRoleController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/TravelerController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/UserController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/WechatSyncController.java -M hl-user-service/src/main/java/com/hulalv/user/dto/AdminLoginRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/ContactRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/CreateAdminRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/CreateJobRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/FavoriteRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/FootprintRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/LoginRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/SwitchRoleRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/TravelerRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/UpdateAvatarRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/UpdateJobRequest.java -M hl-user-service/src/main/java/com/hulalv/user/notification/controller/AdminNotificationController.java -M hl-user-service/src/main/java/com/hulalv/user/notification/dto/CustomPushRequest.java -M hl-user-service/src/main/java/com/hulalv/user/notification/vo/CustomPushResultVO.java -M hl-user-service/src/main/java/com/hulalv/user/notification/vo/EventConfigVO.java -M hl-user-service/src/main/java/com/hulalv/user/notification/vo/SendLogVO.java -M hl-user-service/src/main/java/com/hulalv/user/notification/vo/UserSimpleVO.java -M hl-user-service/src/main/java/com/hulalv/user/service/SysJobService.java -M hl-user-service/src/main/java/com/hulalv/user/vo/ContactVO.java -M hl-user-service/src/main/java/com/hulalv/user/vo/CustomerVO.java -M hl-user-service/src/main/java/com/hulalv/user/vo/LoginLogVO.java -A hl-user-service/src/main/java/com/hulalv/user/vo/SysJobLogVO.java -A hl-user-service/src/main/java/com/hulalv/user/vo/SysJobVO.java -M hl-user-service/src/main/java/com/hulalv/user/vo/UserVO.java -M hl-user-service/src/main/resources/bootstrap.yml -M hl-user-service/src/test/java/com/hulalv/user/service/SysJobServiceTest.java -A mastergo-overview.jpg -A scripts/ai-bridge/ai_bridge.py -A scripts/ai-bridge/ai_bridge.service -A scripts/ai-bridge/mg-mengma-detail.jpg -A scripts/ai-bridge/mg-preview.jpg -A scripts/ai-bridge/setup.sh -A scripts/ai-bridge/state.json -A scripts/api-changelog-sync.sh -A sql/add_customer_service_role.sql -M sql/dict_data_seed.sql -A sql/dict_fix_frontend.sql -``` -
\ No newline at end of file