package com.yunhai.svchall.service; import com.yunhai.svchall.model.svc.SvcModels; import java.util.List; import java.util.Map; /** * 流程中心客户端接缝(V2.0 Part B.4):Notice 同款托管模式的出站面。 * 默认实现经共享 IDHttp(出站自动签名,yh.app-auth 身份)调 flow-center /oapi/flow/**。 * enabled=false(本地未部署 flow-center)时所有方法抛业务异常,消费方按需降级 * (事项不绑流程=纯指南,不经过本接口)。 * *
纪律(2026-09-16 治理):用户面动作一律由本接缝中转,前端不得直连
* flow-center——浏览器直调外部应用的 /api/flow/** 依赖跨应用 CAS 票据与 CORS,既是
* 票据外溢面,也让"谁能撤"落在前端。前端只认 /api/** 同源接口(CAS 保护)。
*/
public interface FlowClient {
/** 流程中心是否已接入(未接入时管理端选择器降级提示,事项绑 flow_guid 校验跳过) */
boolean enabled();
/** 已发布流程列表(事项编辑页"办理流程"选择器数据源) */
List/api/** 图片流——免签 token 不落前端,前端也不需要知道 flow-center 地址。
*
* @param instanceId 办件口径(带运行时状态)与 flowGuid 定义口径二选一
*/
byte[] diagramImage(Long schId, Long instanceId, String flowGuid, String mode);
/** 代发起结果 */
class ApplyResult {
private final Long instanceId;
private final boolean duplicated;
public ApplyResult(Long instanceId, boolean duplicated) {
this.instanceId = instanceId;
this.duplicated = duplicated;
}
public Long getInstanceId() {
return instanceId;
}
public boolean isDuplicated() {
return duplicated;
}
}
}