From f0905587f5432607e9a56f9589942dc9b52392e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=AF=28004796=29?= Date: Fri, 12 Apr 2024 17:04:39 +0800 Subject: [PATCH] 123 --- .../java/com/ruoyi/proxy/PayProxyInit.java | 53 +++++++++++++++++++ .../src/main/resources/application-dev.yml | 3 ++ .../src/main/resources/application-prod.yml | 3 ++ .../com/ruoyi/cai/config/CaiProperties.java | 5 ++ .../ruoyi/cai/pay/AliPayApiConfigExtend.java | 18 +++++++ .../com/ruoyi/cai/pay/PayConfigManager.java | 4 +- .../resources/mapper/cai/DynamicMapper.xml | 2 +- 7 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/proxy/PayProxyInit.java create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/pay/AliPayApiConfigExtend.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/proxy/PayProxyInit.java b/ruoyi-admin/src/main/java/com/ruoyi/proxy/PayProxyInit.java new file mode 100644 index 00000000..ec74a651 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/proxy/PayProxyInit.java @@ -0,0 +1,53 @@ +package com.ruoyi.proxy; + +import cn.hutool.http.HttpRequest; +import com.ijpay.core.http.AbstractHttpDelegate; +import com.ijpay.core.kit.HttpKit; +import com.ruoyi.cai.config.CaiProperties; +import lombok.Setter; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.net.InetSocketAddress; +import java.net.Proxy; + +@Component +public class PayProxyInit { + @Autowired + private CaiProperties caiProperties; + + @PostConstruct + public void init(){ + boolean openPayProxy = caiProperties.isOpenPayProxy(); + if(openPayProxy){ + String proxyIp = caiProperties.getProxyIp(); + int proxyHost = caiProperties.getProxyHost(); + ProxyHttpKit proxyHttpKit = new ProxyHttpKit(); + Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyIp, proxyHost)); + proxyHttpKit.setCustomProxy(proxy); + HttpKit.setDelegate(proxyHttpKit); + } + } + + + @Setter + public static class ProxyHttpKit extends AbstractHttpDelegate { + + private Proxy customProxy; + + @Override + public Proxy getProxy(){ + return customProxy; + } + + @Override + public String post(String url, String data) { + return HttpRequest.post(url) + .setProxy(customProxy) + .body(data) + .execute().body(); +// return HttpUtil.post(url, data); + } + } +} diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 49771292..6cbcb293 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -113,3 +113,6 @@ knife4j: secret: 0rhEH2ILED2WiVReyXeWEXE5NklDARdWkerW9/IruLY= # 当前服务名称 service-name: oneToOne +cai: + enable-api-encryption: false + open-pay-proxy: false diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index a188ce75..3ad3df04 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -101,6 +101,9 @@ yunxin: app-secret: 470345ca2832 cai: enable-api-encryption: true + open-pay-proxy: false + proxy-ip: 159.75.218.177 + proxy-host: 7693 springdoc: api-docs: enabled: false diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/config/CaiProperties.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/config/CaiProperties.java index 381e0bce..0cd8835f 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/config/CaiProperties.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/config/CaiProperties.java @@ -9,8 +9,13 @@ import org.springframework.stereotype.Component; @ConfigurationProperties(prefix = "cai") public class CaiProperties { + private boolean openPayProxy; + private String proxyIp; + private int proxyHost; + private String homeName = "恋香"; private String coinName = "黄钻"; private boolean enableApiEncryption = true; private boolean websocket = true; + } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/pay/AliPayApiConfigExtend.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/pay/AliPayApiConfigExtend.java new file mode 100644 index 00000000..6204e779 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/pay/AliPayApiConfigExtend.java @@ -0,0 +1,18 @@ +package com.ruoyi.cai.pay; + +import com.alipay.api.AlipayClient; +import com.alipay.api.DefaultAlipayClient; +import com.ijpay.alipay.AliPayApiConfig; +import lombok.Data; + +@Data +public class AliPayApiConfigExtend extends AliPayApiConfig { + private String proxyIp; + private Integer proxyHost; + private AlipayClient alipayClient; + + public void init() { + alipayClient = new DefaultAlipayClient(getServiceUrl(), getAppId(), getPrivateKey(), getFormat(), + getCharset(), getAliPayPublicKey(), getSignType(), proxyIp, proxyHost); + } +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/pay/PayConfigManager.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/pay/PayConfigManager.java index 97b64a69..e8344d86 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/pay/PayConfigManager.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/pay/PayConfigManager.java @@ -12,9 +12,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import javax.annotation.PostConstruct; import java.util.*; -import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; @Component @@ -24,6 +22,8 @@ public class PayConfigManager { private PayTotalService payTotalService; @Autowired private PayConfigService payConfigService; + @Autowired + private CaiProperties caiProperties; public void deletePayConfigAli(PayConfig payConfig) { if(PayTypeEnum.ALI.getCode().equals(payConfig.getPayType())){ diff --git a/ruoyi-cai/src/main/resources/mapper/cai/DynamicMapper.xml b/ruoyi-cai/src/main/resources/mapper/cai/DynamicMapper.xml index b7b9bd9e..d821bad2 100644 --- a/ruoyi-cai/src/main/resources/mapper/cai/DynamicMapper.xml +++ b/ruoyi-cai/src/main/resources/mapper/cai/DynamicMapper.xml @@ -40,7 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"