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['']]

Appointment.appoint.manage.create_require_num(room: Room, type: Type) int[源代码]

创建预约的最小人数要求