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