From 70c9b3345efac2fc4d1ddd7fc3a824ec40990678 Mon Sep 17 00:00:00 2001 From: tanghc Date: Wed, 15 May 2019 17:14:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=AF=E8=BF=BD=E5=8A=A0=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sop/gatewaycommon/bean/ApiConfig.java | 6 ++++++ .../result/BaseExecutorAdapter.java | 9 +++++++-- .../gatewaycommon/result/ResultAppender.java | 18 ++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/result/ResultAppender.java diff --git a/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/bean/ApiConfig.java b/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/bean/ApiConfig.java index 5f198eab..81195ecc 100644 --- a/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/bean/ApiConfig.java +++ b/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/bean/ApiConfig.java @@ -12,6 +12,7 @@ import com.gitee.sop.gatewaycommon.manager.RouteConfigManager; import com.gitee.sop.gatewaycommon.param.ParamBuilder; import com.gitee.sop.gatewaycommon.result.DataNameBuilder; import com.gitee.sop.gatewaycommon.result.DefaultDataNameBuilder; +import com.gitee.sop.gatewaycommon.result.ResultAppender; import com.gitee.sop.gatewaycommon.result.ResultExecutor; import com.gitee.sop.gatewaycommon.secret.CacheIsvManager; import com.gitee.sop.gatewaycommon.secret.IsvManager; @@ -115,6 +116,11 @@ public class ApiConfig { */ private DataNameBuilder dataNameBuilder = new DefaultDataNameBuilder(); + /** + * 追加结果 + */ + private ResultAppender resultAppender; + // -------- fields --------- /** diff --git a/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/result/BaseExecutorAdapter.java b/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/result/BaseExecutorAdapter.java index 894f5411..f40d39e2 100644 --- a/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/result/BaseExecutorAdapter.java +++ b/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/result/BaseExecutorAdapter.java @@ -132,12 +132,17 @@ public abstract class BaseExecutorAdapter implements ResultExecutor sign = String.valueOf(clientSign); } } - + ApiConfig apiConfig = ApiConfig.getInstance(); // 点换成下划线 - DataNameBuilder dataNameBuilder = ApiConfig.getInstance().getDataNameBuilder(); + DataNameBuilder dataNameBuilder = apiConfig.getDataNameBuilder(); String method = dataNameBuilder.build(name); ret.put(method, jsonObjectService); + // 先隐藏返回签名字段 ret.put(ParamNames.SIGN_NAME, sign); + ResultAppender resultAppender = apiConfig.getResultAppender(); + if (resultAppender != null) { + resultAppender.append(ret, params); + } return ret.toJSONString(); } diff --git a/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/result/ResultAppender.java b/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/result/ResultAppender.java new file mode 100644 index 00000000..210079de --- /dev/null +++ b/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/result/ResultAppender.java @@ -0,0 +1,18 @@ +package com.gitee.sop.gatewaycommon.result; + +import com.alibaba.fastjson.JSONObject; + +import java.util.Map; + +/** + * 对结果进行追加 + * @author tanghc + */ +public interface ResultAppender { + /** + * 追加最终结果 + * @param result 最终结果 + * @param params 请求参数 + */ + void append(JSONObject result, Map params); +}