ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 组件源码 /** * <b>方法描述:</b> 分布式调用交易 <br/> * <b>创建者:</b> admin <br/> * <b>创建时间:</b> 2020-07-06 10:04:52 <br/> * * @param runService 入参|运行平台服务名|{@link java.lang.String} * @param appName 入参|应用名称|{@link java.lang.String} * @param tradeNo 入参|交易号|{@link java.lang.String} * @param req 入参|请求参数|{@link java.util.Map} * @param result 出参|返回参数|{@link java.util.Map} * @return -1 异常<br/> * 0 失败<br/> * 1 成功<br/> */ @Component(label = "交易调用(分布式)", style = "判断型", type = "同步组件", comment = "分布式调用同一个注册中心下的其他运行平台节点部署的交易,支持负载,单体应用不支持该组件。仅限于本IDE开发的交易", version = "1.0.0", deprecated = false, author = "admin", date = "2020-07-06 10:04:52") @InParams(param = { @Param(name = "runService", comment = "运行平台服务名", type = java.lang.String.class), @Param(name = "appName", comment = "应用名称", type = java.lang.String.class), @Param(name = "tradeNo", comment = "交易号", type = java.lang.String.class), @Param(name = "req", comment = "请求参数", type = java.util.Map.class) }) @OutParams(param = { @Param(name = "result", comment = "返回参数", type = java.util.Map.class) }) @Returns(returns = { @Return(id = "-1", desp = "异常"), @Return(id = "0", desp = "失败"), @Return(id = "1", desp = "成功") }) public static ResultBase P_distributedCall(String runService, String appName, String tradeNo, Map req) { try { Map<String, Object> mapResp = null; if (DebugUtil.debug) { String url = DebugUtil.getYfaServiceUrl() + "/" + appName + "/" + tradeNo; mapResp = HttpClientUtil.doPost(url, Map.class, req, null); } else mapResp = BundleUtil.invokeRpc(runService, appName, tradeNo, req); return ResultBase.newSuccessResult(mapResp); } catch (Exception e) { AppLog.error(e); return ResultBase.newExceptionResult("TPTK0009", "分布式调用交易异常:" + AppLog.errorMsg(e)); } } # 交易中组件使用方式 ![](https://img.kancloud.cn/0f/34/0f3475064b3657844380f034bb863079_1046x750.jpg) # 参数说明及示例 ## 入口参数 运行平台服务名:微服务的服务名,示例: `"sca-runservice"` 应用名称:IDE中的交易的应用名称,示例: `"application"` 交易号:IDE中的交易号,示例: `"TgetUserName"` 请求参数:请求参数,示例: `{"sex":"男","add":"重庆"}` ## 出口参数 返回参数:调用交易返回结果,示例: `__INNER__["result"]` > 分布式调用同一个注册中心下的其他运行平台节点部署的交易,支持负载,单体应用不支持该组件。仅限于本IDE开发的交易