Appointment.appoint.manage module¶
- Appointment.appoint.manage.cancel_appoint(appoint: Appoint, record: bool = True, lock: bool = True)[源代码]¶
原子化取消预约,不加锁时使用原对象
- Appointment.appoint.manage.create_appoint(appointer: Participant, room: Room, start: datetime, finish: datetime, usage: str, students: Iterable[Participant] | None = None, announce: str = '', outer_num: int = 0, *, type: Type = Appoint.Type.NORMAL, notify: bool = True) tuple[Appoint, Literal['']] [源代码]¶
创建预约
创建预约并设置所有可以独立执行的功能,如状态切换等,无需额外调用。 预约信息必须逻辑上正确,且满足预约的通用条件,如房间可用、时间有序、人数合法等。 发起者必须有足够的信用分,否则无法创建预约。
- 参数:
appointer (Participant) -- 发起人
room (Room) -- 预约房间
start (datetime) -- 预约开始时间
finish (datetime) -- 预约结束时间
usage (str) -- 预约用途
students (Iterable[Participant], optional) -- 预约参与人,发起人默认参与
announce (str, optional) -- 预约内部公告
outer_num (int, optional) -- 预约外部人数
- Keyword Args
type (Appoint.Type): 预约类型,默认为普通预约 notify (bool): 是否发送通知,默认为发送
- 返回:
预约对象和空错误信息 tuple[None, str]: 错误信息
- 返回类型:
tuple[Appoint, Literal['']]