# 学术活动模块 ## 业务范围 学术活动覆盖三类场景: 1. 科室/学科学术活动:活动申请、总经理/市场部/合规部审批、客户扫码签到、会后总结、费用明细、合规附件与归档。 2. 店员贴柜培训:药店覆盖、培训签到、讲者议程、费用与会后资料留痕。 3. 大型学术会议:立项与预算、专家及议程、会前筹备、扫码签到、会后总结、结算费用与合规归档。 ## 已交付功能 1. 学术活动主档:活动编码、类型、名称、覆盖医院/科室/药店、时间地点、参会人数、讲者、主题、目的、问题、预算和申请信息。 2. 三方审批状态:总经理、市场部、合规部审批状态;支持草稿、提交审批、审批通过或驳回的后端接口。 3. 讲者与议程:支持讲者角色、学术背景、讲座题目和时长的多行录入。 4. 费用明细:支持餐饮、交通、场租、物料等费用项目的标准、数量、金额和备注。 5. 签到:活动生成唯一签到令牌;详情页实时生成二维码,扫码进入独立签到页,记录医院/药店、科室、姓名、职称、联系方式与签到时间。 6. 前端工作台:活动类型分区、申请表、草稿/待审批/已通过统计、活动查询表格、详情弹框与编辑入口。 7. 审批处理:待审批活动在详情内展示总经理、市场部、合规部三个审批位,可分别执行通过或驳回,并即时同步活动状态。 ## 数据库 执行 `sairui-server/src/main/resources/db/schema/V3__academic_activities.sql`,创建以下表: - `academic_activity` - `academic_activity_agenda` - `academic_activity_expense` - `academic_activity_check_in` ## API | 方法 | 地址 | 说明 | | --- | --- | --- | | GET | `/api/v1/activities` | 查询活动,可按关键字、类型、流程状态过滤 | | GET | `/api/v1/activities/{id}` | 获取活动、议程、费用和签到详情 | | POST | `/api/v1/activities` | 创建活动草稿 | | PUT | `/api/v1/activities/{id}` | 更新活动及其议程、费用 | | POST | `/api/v1/activities/{id}/submit` | 提交三方审批 | | POST | `/api/v1/activities/{id}/approve` | 审批动作,参数为角色和结果 | | POST | `/api/v1/activities/check-in/{token}` | 客户扫码签到 | 审批角色:`GENERAL_MANAGER`、`MARKETING`、`COMPLIANCE`;审批结果:`APPROVED`、`REJECTED`。 ## 联调步骤 1. 导入 V3 数据库脚本并重启后端。 2. 打开 `http://127.0.0.1:5173/activities`。 3. 选择活动类型,填写申请、议程及费用后保存草稿或提交审批。 4. 在“全部活动”查看详情和签到二维码。 5. 审批状态为“已通过”后,使用二维码进入 `/activity-check-in/{token}` 完成客户签到。 ## 当前边界 真实钉钉审批、电子签章、文件上传、合同款票、活动任务协同和参会人敏感信息脱敏将在后续权限、附件、付款和大型会议协同功能中接入。本模块已预留审批状态、电子签章人、附件地址和费用明细字段。