66 lines
3.8 KiB
Markdown
66 lines
3.8 KiB
Markdown
# 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`,支持按租户、状态和发放时间查询。
|