app.activity_utils module¶
activity_utils.py
这个文件应该只被 ./activity_views.py, ./scheduler_func.py 依赖 依赖于 ./utils.py, ./wechat_send.py, ./notification_utils.py
scheduler_func 依赖于 wechat_send 依赖于 utils
文件中参数存在 activity 的函数需要在 transaction.atomic() 块中进行。 如果存在预期异常,抛出 ActivityException,否则抛出其他异常
- app.activity_utils.apply_activity(request, activity: Activity)[源代码]¶
这个函数在正常情况下只应该抛出提示错误信息的ActivityException
- app.activity_utils.changeActivityStatus(aid, cur_status, to_status)[源代码]¶
幂等;可能发生异常;包装器负责处理异常 必须提供cur_status,则会在转换状态前检查前后状态,每次只能变更一个阶段 即:报名中->等待中->进行中->结束 状态不符合时,抛出AssertionError
- app.activity_utils.create_activity(request)[源代码]¶
检查活动,合法时寻找该活动,不存在时创建 返回(activity.id, created)
--- 检查不合格时抛出AssertionError - 不再假设ActivityException特定语义,暂不抛出该类异常
- app.activity_utils.create_participate_infos(activity: Activity, persons: Iterable[NaturalPerson], **fields)[源代码]¶
批量创建一系列参与信息,并返回创建的参与信息