2.3 KiB
2.3 KiB
明确时间分支:room-find + freebusy + 冲突处理
本文档处理时间已明确的场景。"明确时间"来源:用户直接表达(如"明天下午3点")、编辑流中已定位日程的原始 start/end、或经用户确认的 suggestion 时间块。
前置条件
进入此分支前,调度器(schedule-meeting.md)已完成:
- 任务类型判定(新建 / 编辑)
- 编辑流:目标 event_id 已定位
- 新建流:默认值已补全
- 时间已判定为明确
流程
1. 查询会议室(如需)
若用户需要会议室,先调用 +room-find。详见 lark-calendar-room-find.md。
lark-cli calendar +room-find \
--slot "<start>~<end>" \
--attendee-ids "<ids>" \
--city "<city>" \
--building "<building>" \
--floor "<F2>" \
--room-name "<room_name>"
时间块确定规则:
- 编辑流且不改时间,只新增会议室:
--slot必须来自已定位日程的当前start/end - 编辑流且既改时间又加会议室:
--slot必须来自候选新时间,而不是旧时间
详见 lark-calendar-room-find.md。
2. 查询忙闲
lark-cli calendar +freebusy --start "<start>" --end "<end>"
规则:
- 参与人含 bot:无需为 bot 查询忙闲。bot 是虚拟身份,可并行多个会议、无忙闲语义,检查它没有意义。
- 参与人过多(超过 5 人):仅查询当前用户及少数核心人员忙闲即可
- 参与人含群组:无需展开群组成员查询忙闲
- 如果用户是从
+suggestion确认了时间块后进入本分支的,无需再调用+freebusy
3. 冲突处理
- 无冲突:直接让用户选择会议室(如需),进入落地操作
- 有冲突:必须先说明冲突情况,询问用户:
- 继续当前时间 → 让用户选择会议室(如需),进入落地操作
- 换时间 → 转入 模糊时间分支
落地
根据任务类型:
落地规则详见 schedule-meeting.md § 落地日程变更。