在 b369527 之上增量移植 FL2.0 后端能力,不改既有线级停发/指派预览/流程图入口:
- 部门目录:FlowDepartmentController(/admin/department/{groups,options,resolve,members})
+ UserBaseDepartmentDirectory(先按会话校域解析引用,再读成员;目录不可用 fail-closed)
- 退回重提 D14:POST /oapi/flow/instance/{instanceId}/resubmit,仅原提交人 CAS 路径放行,
OAPI 侧 submitterId 路径继续 fail-closed
- 授权管理:/api/flow/admin/usage-grant/{schoolList,summary}(校域取管理员会话,无 schId 入参)
- 来源主体:解析器派生 ub-app:{applicationInfo.id},不再读取 UserBase 的 sourcePrincipalId 字段
- 回调来源策略:SELF 身份强校验;NULL 来源不广播;复合幂等键 (event_id,reg_id)
- 测试夹具:许可/主体/开通桩按新契约修正,FlowEngineIT/FormalApplyCommandIT/
CallbackDispatchIT/OapiFlowContractIT 共 117 例在真实 MySQL 8 通过
不含:FlSourceAuthorizationTest(其断言的两个 Repository 派生方法属另一实现线)
This commit is contained in:
@@ -125,6 +125,21 @@ public class FlowAdminController {
|
||||
return usageGrantAdminService.listByFlow(adminGuard.requireAdmin(user, null), flowGuid);
|
||||
}
|
||||
|
||||
/**
|
||||
* 本校全部授权行(应用使用许可管理页数据源,E6):校域取自管理员会话,
|
||||
* 不接受 body/query 指定学校,也不跨校拉取。
|
||||
*/
|
||||
@GetMapping("/usage-grant/schoolList")
|
||||
public List<com.yunhai.flowcenter.entity.FlwUsageGrant> usageGrantSchoolList(BoaUser user) {
|
||||
return usageGrantAdminService.listBySchool(adminGuard.requireAdmin(user, null));
|
||||
}
|
||||
|
||||
/** 流程线 → 生效授权应用数(流程列表的授权摘要列;仅本校范围) */
|
||||
@GetMapping("/usage-grant/summary")
|
||||
public java.util.Map<String, Long> usageGrantSummary(BoaUser user) {
|
||||
return usageGrantAdminService.grantedAppCounts(adminGuard.requireAdmin(user, null));
|
||||
}
|
||||
|
||||
/** 授予/重申使用授权(appKey 当场解析为 UserBase 稳定主体落库;enforce 开启时校学校开通) */
|
||||
@PostMapping("/usage-grant/grant")
|
||||
public com.yunhai.flowcenter.entity.FlwUsageGrant usageGrantGrant(
|
||||
|
||||
Reference in New Issue
Block a user