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