feat(spec58): 审批人解析组件 ReviewerResolver 与发起接线

- 新增 ReviewerResolver:USER:<userId> / COLLEGE_ROLE:<roleCode>,; 分隔多段取并集升序
- reviewer_rule 为空回退 review_user_id;按学院解析空集合抛 BusinessException,消息含学院名/层级/缺什么
- ReviewFlowStarterService 发起与驳回重提改由解析取人,解析为空不写任何节点
- ReviewFlow 增加 reviewerRule 字段;DeclareRecordMapper 增加 selectReviewContext(仅 4 张在跑表)
This commit is contained in:
2026-11-03 22:28:02 +08:00
parent 1f2a837609
commit f96613a0ee
7 changed files with 661 additions and 1 deletions
@@ -48,6 +48,11 @@ public interface DeclareRecordMapper {
+ "FROM ${table} WHERE id = #{id} AND deleted = 0")
Map<String, Object> selectRecord(@Param("table") String table, @Param("id") Integer id);
/** 审批人解析用:申报记录的申报人与学院标识(仅 4 张有 college_id 的在跑表可用) */
@Select("SELECT id AS id, user_id AS userId, college_id AS collegeId "
+ "FROM ${table} WHERE id = #{id} AND deleted = 0")
Map<String, Object> selectReviewContext(@Param("table") String table, @Param("id") Integer id);
/** 同项目下其他有效申报的负责人手机号与团队成员,用于团队重复校验 */
@Select("SELECT id AS id, phone AS phone, team_members AS teamMembers FROM gxmu_tzbcy_form "
+ "WHERE declare_id = #{declareId} AND declare_status IN (1, 2, 3) AND deleted = 0 "