Files
qipai/docs/db-changelog/2026-06-25-M08-B-cleaning.md

77 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-06-25 M08-B 保洁端数据库变更
## 新增迁移
- `database/migrations/2026062525_m08b_cleaner_tasks.up.sql`
- `database/migrations/2026062525_m08b_cleaner_tasks.down.sql`
- `database/migrations/2026062525_m08b_cleaner_tasks.verify.sql`
- `database/migrations/2026062626_m08b_cleaning_settlements.up.sql`
- `database/migrations/2026062626_m08b_cleaning_settlements.down.sql`
- `database/migrations/2026062626_m08b_cleaning_settlements.verify.sql`
## 新增表
- `qipai_cleaning_tasks`
- 保洁任务主表,包含租户、门店、房间、订单、任务号、状态、保洁员、奖励金额、要求、照片 URL、驳回原因和关键时间戳。
- 状态约束:`WAITING``CLAIMED``STARTED``SUBMITTED``COMPLETED``REJECTED``EXEMPT``SETTLED``CANCELLED`
- 唯一约束:租户内任务号唯一;订单关联唯一。
- 索引:任务大厅、保洁员任务、房间任务。
- `qipai_cleaning_task_events`
- 保洁任务状态事件表,记录 from/to 状态、动作、操作人、trace、备注和 metadata。
- 租户、任务、trace 唯一,便于幂等追踪。
- `qipai_cleaning_settlements`
- 保洁结算单主表,包含结算号、保洁员、门店、状态、任务数、总奖励金额、结算周期、生成人、确认人、确认/支付时间和备注。
- 状态约束:`DRAFT``CONFIRMED``PAID``CANCELLED`
- 唯一约束:租户内结算号唯一。
- `qipai_cleaning_settlement_items`
- 保洁结算单明细表,关联结算单与任务并固化任务奖励金额。
- 唯一约束:同一租户内同一任务只能进入一个结算单。
## 权限
- 新增 `cleaning.task.write`
- 新增 `cleaning.statistics.read`
-`cleaning.task.read``cleaning.task.write``cleaning.statistics.read` 授予现有 `CLEANER``STORE_ADMIN``TENANT_ADMIN``PLATFORM_ADMIN` 角色。
- 新增 `cleaning.settlement.read``cleaning.settlement.write`
-`cleaning.settlement.read` 授予 `CLEANER``STORE_ADMIN``TENANT_ADMIN``PLATFORM_ADMIN`;将 `cleaning.settlement.write` 授予 `STORE_ADMIN``TENANT_ADMIN``PLATFORM_ADMIN`
## 2026-06-26 多保洁员协作增量
- 新增迁移:
- `database/migrations/2026062627_m08b_cleaning_collaboration.up.sql`
- `database/migrations/2026062627_m08b_cleaning_collaboration.down.sql`
- `database/migrations/2026062627_m08b_cleaning_collaboration.verify.sql`
- 新增 `qipai_cleaning_task_members`
- 记录任务保洁成员,`member_role` 支持 `LEAD``ASSIST`
- `reward_cents` 记录成员分账金额,`removed_at` 记录移除,`settled_at` 记录成员维度结算完成。
- 同一租户、任务、用户唯一,支持负责人和协作者查询索引。
- 调整 `qipai_cleaning_settlement_items`
- 新增 `cleaner_user_id`,结算明细从“任务唯一”升级为“任务 + 保洁员唯一”。
-`uq_qipai_cleaning_settlement_item_task` 替换为 `uq_qipai_cleaning_settlement_item_task_user`,支持同一协作任务按不同成员分别结算。
## 2026-06-27 发放闭环增量
- 新增迁移:
- `database/migrations/2026062728_m08b_cleaning_payouts.up.sql`
- `database/migrations/2026062728_m08b_cleaning_payouts.down.sql`
- `database/migrations/2026062728_m08b_cleaning_payouts.verify.sql`
- 调整 `qipai_cleaning_settlements`
- 新增 `paid_by`,关联发放确认操作人。
- 新增 `payout_channel`,记录发放渠道,例如微信零钱、企业付款或线下人工发放。
- 新增 `payout_reference`,记录外部付款流水或人工凭证号。
- 新增 `payout_error`,记录最近一次发放失败原因,成功标记为 `PAID` 时清空。
- 新增 `idx_qipai_cleaning_settlement_payout`,支持按租户、状态和发放时间查询。
## 2026-06-27 微信转账适配增量
- 新增迁移:
- `database/migrations/2026062729_m08b_cleaning_transfer_state.up.sql`
- `database/migrations/2026062729_m08b_cleaning_transfer_state.down.sql`
- `database/migrations/2026062729_m08b_cleaning_transfer_state.verify.sql`
- 调整 `qipai_cleaning_settlements`
- 新增 `payout_state`,记录微信转账结果或中间态,例如 `SUCCESS``FAIL``WAIT_USER_CONFIRM``PROCESSING`
- 新增 `payout_package_info`,保存微信待用户确认等场景返回的 package 信息。
- 新增 `idx_qipai_cleaning_settlement_transfer_state`,支持按租户、转账状态和更新时间筛选待跟进结算单。
- 既有 `payout_channel``payout_reference``payout_error` 继续保存发放渠道、外部流水和最近失败原因;`PAID` 时同步将 `payout_state` 标记为 `SUCCESS`