From 753c4aede53b07041841d9aa94859b59e366bd5d Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 14 八月 2023 18:47:39 +0800
Subject: [PATCH] Merge branch '1.1' of http://120.76.84.145:10101/gitblit/r/java/SuperSaveDriving

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/MallBook/model/InterfaceRequest.java |  176 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 176 insertions(+), 0 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/MallBook/model/InterfaceRequest.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/MallBook/model/InterfaceRequest.java
new file mode 100644
index 0000000..1c52ff0
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/MallBook/model/InterfaceRequest.java
@@ -0,0 +1,176 @@
+/**
+ *
+ */
+package com.stylefeng.guns.modular.system.util.MallBook.model;
+
+import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
+import com.stylefeng.guns.modular.system.util.MallBook.config.ChannelConfig;
+import com.stylefeng.guns.modular.system.util.MallBook.util.RSASignature;
+import com.stylefeng.guns.modular.system.util.MallBook.util.StringUtil;
+
+import java.io.Serializable;
+
+/**
+ * 接口请求包
+ *
+ */
+public class InterfaceRequest<T> implements Serializable {
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = -8130938432046696213L;
+
+
+    /**
+     * 商户平台编号
+     */
+    private String merchantNo = ChannelConfig.merchantNo;
+
+    /**
+     * 接口版本号,不同版本号触发不同接口业务
+     */
+    private String version = ChannelConfig.version;
+    /*
+     * 渠道类型  HF:汇付
+     */
+    private String channelType = ChannelConfig.channelType;
+
+
+    /**
+     * 业务系统订单ID
+     */
+    private String merOrderId;
+
+    /**
+     * 签名
+     */
+    private String sign;
+
+    /**
+     * 业务类型编号
+     */
+    private String serverCode;
+
+    /**
+     * 业务参数,json格式
+     */
+    private String params;
+
+    /**
+     * 时间戳
+     */
+    private String date;
+
+
+    public String getChannelType() {
+        return channelType;
+    }
+
+    public void setChannelType(String channelType) {
+        this.channelType = channelType;
+    }
+
+    public String getMerOrderId() {
+        return merOrderId;
+    }
+
+    public void setMerOrderId(String merOrderId) {
+        this.merOrderId = merOrderId;
+    }
+
+    public String getMerchantNo() {
+        return merchantNo;
+    }
+
+    public void setMerchantNo(String merchantNo) {
+        this.merchantNo = merchantNo;
+    }
+
+    public String getSign() {
+        return sign;
+    }
+
+    public void setSign(String sign) {
+        this.sign = sign;
+    }
+
+    public String getServerCode() {
+        return serverCode;
+    }
+
+    public void setServerCode(String serverCode) {
+        this.serverCode = serverCode;
+    }
+
+    public String getParams() {
+        return params;
+    }
+
+    public void setParams(String params) {
+        this.params = params;
+    }
+
+    public String getDate() {
+        return date;
+    }
+
+    public void setDate(String date) {
+        this.date = date;
+    }
+
+    public String getVersion() {
+        return version;
+    }
+
+    public void setVersion(String version) {
+        this.version = version;
+    }
+
+
+    /**
+     * 签名顺序必须一致!!!
+     * 签名顺序必须一致!!!
+     * 签名顺序必须一致!!!
+     *  订单号 + 商户号 + 渠道类型 +  时间戳 + 业务参数json
+     * @return 待签名字符串
+     */
+    public String content() {
+        return StrUtil.builder()
+                .append(StringUtil.convertNull(merOrderId))
+                .append(StringUtil.convertNull(merchantNo))
+                .append(StringUtil.convertNull(channelType))
+                .append(StringUtil.convertNull(date))
+                .append(StringUtil.convertNull(params))
+                .toString();
+    }
+
+    public InterfaceRequest() {
+    }
+
+    public InterfaceRequest(T obj, String serverCode) {
+        this.merOrderId = IdUtil.fastSimpleUUID();
+        this.serverCode = serverCode;
+        this.date = System.currentTimeMillis() + "";
+        this.params = JSONUtil.toJsonStr(obj);
+        // todo 使用商户平台私钥生成sign,需要修改证书对应路径
+        this.sign = RSASignature.sign(content());
+    }
+
+
+    @Override
+    public String toString() {
+        return "InterfaceRequest{" +
+                "merOrderId='" + merOrderId + '\'' +
+                ", merchantNo='" + merchantNo + '\'' +
+                ", sign='" + sign + '\'' +
+                ", serverCode='" + serverCode + '\'' +
+                ", params='" + params + '\'' +
+                ", date='" + date + '\'' +
+                ", version='" + version + '\'' +
+                ", channelType='" + channelType + '\'' +
+                '}';
+    }
+}

--
Gitblit v1.7.1