云
9 小时以前 b6c0dc29218252bf207440446276b53d66ba35e1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package cn.iocoder.yudao.module.system.api.agent.imports;
 
import cn.iocoder.yudao.module.system.framework.agent.AgentPrincipal;
 
import java.util.List;
 
/**
 * 业务模块导入适配器:system 模块负责幂等、逐行事务与回执,适配器只负责单行校验和写入。
 */
public interface AgentImportModuleAdapter {
 
    /** 与 Python 侧 ModuleSpec.module_id 对齐,如 srm.supplier。 */
    String moduleId();
 
    /** 提交该模块所需的业务权限。 */
    String permission();
 
    /** 模块写入可能同时创建依赖主数据;提交前必须同时具备这些按钮权限。 */
    default List<String> permissions() {
        return List.of(permission());
    }
 
    /** 只读预检;必须返回稳定的 preflightHash 供提交时比对。 */
    AgentImportPreflightRespVO preflight(AgentPrincipal principal, AgentImportPreflightReqVO request);
 
    /** 单行写入;失败时抛出异常,由编排层写入 FAILED 回执。 */
    AgentImportRowReceipt commitRow(AgentPrincipal principal, AgentImportCommitReqVO request,
                                    AgentImportPreflightRespVO.Row planned,
                                    AgentImportPreflightReqVO.Row row);
}