From 466c1a085590a6f527e2be91ed415b9656368902 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 24 九月 2024 13:38:14 +0800
Subject: [PATCH] 添加生产环境配置
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 3
ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/properties/AntiShakeProperties.java | 34 ++
ruoyi-api/ruoyi-api-chargingPile/pom.xml | 5
ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/factory/WxPaymentFallbackFactory.java | 33 +
ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml | 56 +-
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java | 18 +
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java | 26 +
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/AccountingStrategyFallbackFactory.java | 10
ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml | 56 +-
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java | 10
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/CouponFallbackFactory.java | 10
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/AccountingStrategyDetailFallbackFactory.java | 10
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/UserSiteFallbackFactory.java | 18 +
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsFallbackFactory.java | 10
ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/model/WeixinProperties.java | 8
ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java | 12
ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/utils/WxAbstractPay.java | 48 ++
ruoyi-api/ruoyi-api-order/pom.xml | 5
ruoyi-api/ruoyi-api-account/pom.xml | 5
ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml | 56 +-
ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/model/V3.java | 11
ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/utils/WxV3Pay.java | 2
ruoyi-service/ruoyi-account/src/main/resources/bootstrap.yml | 56 +-
ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/properties/SignProperties.java | 27 +
ruoyi-gateway/src/main/resources/bootstrap.yml | 5
ruoyi-api/ruoyi-api-other/pom.xml | 4
ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/factory/AliPaymentFallbackFactory.java | 34 ++
ruoyi-auth/src/main/resources/bootstrap.yml | 56 +-
ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java | 21
ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml | 56 +-
ruoyi-service/ruoyi-payment/src/main/resources/bootstrap.yml | 56 +-
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java | 10
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserVipDetailFallbackFactory.java | 18 +
ruoyi-gateway/pom.xml | 12
ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml | 56 +-
ruoyi-api/ruoyi-api-integration/pom.xml | 5
ruoyi-api/ruoyi-api-payment/pom.xml | 5
ruoyi-api/ruoyi-api-system/pom.xml | 4
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/InvoiceTypeFallbackFactory.java | 10
39 files changed, 594 insertions(+), 287 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-account/pom.xml b/ruoyi-api/ruoyi-api-account/pom.xml
index 20ad28e..526cd85 100644
--- a/ruoyi-api/ruoyi-api-account/pom.xml
+++ b/ruoyi-api/ruoyi-api-account/pom.xml
@@ -28,7 +28,10 @@
</exclusion>
</exclusions>
</dependency>
-
+ <dependency>
+ <groupId>com.alibaba.cloud</groupId>
+ <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
index 5c3fc3f..e0b6d42 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
@@ -7,6 +7,8 @@
import com.ruoyi.account.api.model.TAppUserAddress;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.dto.PointChangeDto;
+import io.seata.core.exception.TransactionException;
+import io.seata.tm.api.GlobalTransactionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -36,7 +38,13 @@
@Override
public R<TAppUser> getUserById(Long id) {
- throw new RuntimeException("根据id查询用户失败:"+throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("根据id查询用户失败:"+throwable.getMessage());
}
@Override
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserVipDetailFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserVipDetailFallbackFactory.java
index ebd90f7..21f6809 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserVipDetailFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserVipDetailFallbackFactory.java
@@ -4,6 +4,8 @@
import com.ruoyi.account.api.model.TAppUserVipDetail;
import com.ruoyi.account.api.vo.GetAppUserVipDetail;
import com.ruoyi.common.core.domain.R;
+import io.seata.core.exception.TransactionException;
+import io.seata.tm.api.GlobalTransactionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -26,12 +28,24 @@
@Override
public R<TAppUserVipDetail> getAppUserVipDetail(GetAppUserVipDetail getAppUserVipDetail) {
- throw new RuntimeException("获取用户当前有效的VIP明细调用失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("获取用户当前有效的VIP明细调用失败:" + throwable.getMessage());
}
@Override
public void updateAppUserVipDetail(TAppUserVipDetail appUserVipDetail) {
- throw new RuntimeException(throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ R.fail(throwable.getMessage());
}
};
}
diff --git a/ruoyi-api/ruoyi-api-chargingPile/pom.xml b/ruoyi-api/ruoyi-api-chargingPile/pom.xml
index f8da29f..c39d339 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/pom.xml
+++ b/ruoyi-api/ruoyi-api-chargingPile/pom.xml
@@ -28,7 +28,10 @@
</exclusion>
</exclusions>
</dependency>
-
+ <dependency>
+ <groupId>com.alibaba.cloud</groupId>
+ <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/AccountingStrategyDetailFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/AccountingStrategyDetailFallbackFactory.java
index 844dbb9..d8a1054 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/AccountingStrategyDetailFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/AccountingStrategyDetailFallbackFactory.java
@@ -4,6 +4,8 @@
import com.ruoyi.chargingPile.api.feignClient.AccountingStrategyDetailClient;
import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail;
import com.ruoyi.common.core.domain.R;
+import io.seata.core.exception.TransactionException;
+import io.seata.tm.api.GlobalTransactionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -42,7 +44,13 @@
@Override
public R<List<TAccountingStrategyDetail>> getListByAccountingStrategyId(Integer id) {
- throw new RuntimeException("根据计费策略主表id策略明细失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("根据计费策略主表id策略明细失败:" + throwable.getMessage());
}
@Override
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/AccountingStrategyFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/AccountingStrategyFallbackFactory.java
index 108ab7d..8d883c3 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/AccountingStrategyFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/AccountingStrategyFallbackFactory.java
@@ -3,6 +3,8 @@
import com.ruoyi.chargingPile.api.feignClient.AccountingStrategyClient;
import com.ruoyi.chargingPile.api.model.TAccountingStrategy;
import com.ruoyi.common.core.domain.R;
+import io.seata.core.exception.TransactionException;
+import io.seata.tm.api.GlobalTransactionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -25,7 +27,13 @@
@Override
public R<TAccountingStrategy> getAccountingStrategyById(Integer id) {
- throw new RuntimeException("根据id查询计费策略失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("根据id查询计费策略失败:" + throwable.getMessage());
}
};
}
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java
index a070ffd..ad57df7 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java
@@ -7,6 +7,8 @@
import com.ruoyi.chargingPile.api.model.TFaultMessage;
import com.ruoyi.chargingPile.api.vo.SiteNameVO;
import com.ruoyi.common.core.domain.R;
+import io.seata.core.exception.TransactionException;
+import io.seata.tm.api.GlobalTransactionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -36,7 +38,13 @@
@Override
public R<TChargingGun> getChargingGunById(Integer id) {
- throw new RuntimeException("根据id获取充电枪失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("根据id获取充电枪失败:" + throwable.getMessage());
}
@Override
diff --git a/ruoyi-api/ruoyi-api-integration/pom.xml b/ruoyi-api/ruoyi-api-integration/pom.xml
index 36aa47d..ac96969 100644
--- a/ruoyi-api/ruoyi-api-integration/pom.xml
+++ b/ruoyi-api/ruoyi-api-integration/pom.xml
@@ -32,7 +32,10 @@
</exclusion>
</exclusions>
</dependency>
-
+ <dependency>
+ <groupId>com.alibaba.cloud</groupId>
+ <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java
index 9db561c..c88ddbe 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java
@@ -6,6 +6,8 @@
import com.ruoyi.integration.api.model.ChargingHandshake;
import com.ruoyi.integration.api.model.PlatformStartCharging;
import com.ruoyi.integration.api.model.PlatformStopCharging;
+import io.seata.core.exception.TransactionException;
+import io.seata.tm.api.GlobalTransactionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -29,12 +31,24 @@
@Override
public String platformStartCharging(PlatformStartCharging platformStartCharging) {
- throw new RuntimeException("远程启机失败" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return "远程启机失败";
}
@Override
public String platformStopCharging(PlatformStopCharging platformStopCharging) {
- throw new RuntimeException("远程停机失败" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return "远程停机失败";
}
};
}
diff --git a/ruoyi-api/ruoyi-api-order/pom.xml b/ruoyi-api/ruoyi-api-order/pom.xml
index 6bdc239..d3feb2c 100644
--- a/ruoyi-api/ruoyi-api-order/pom.xml
+++ b/ruoyi-api/ruoyi-api-order/pom.xml
@@ -32,7 +32,10 @@
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-api-other</artifactId>
</dependency>
-
+ <dependency>
+ <groupId>com.alibaba.cloud</groupId>
+ <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/ruoyi-api/ruoyi-api-other/pom.xml b/ruoyi-api/ruoyi-api-other/pom.xml
index df1d49e..3f6a651 100644
--- a/ruoyi-api/ruoyi-api-other/pom.xml
+++ b/ruoyi-api/ruoyi-api-other/pom.xml
@@ -32,6 +32,10 @@
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-api-account</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.alibaba.cloud</groupId>
+ <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/CouponFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/CouponFallbackFactory.java
index ba006ed..e61f478 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/CouponFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/CouponFallbackFactory.java
@@ -5,6 +5,8 @@
import com.ruoyi.other.api.domain.TGoods;
import com.ruoyi.other.api.feignClient.CouponClient;
import com.ruoyi.other.api.feignClient.GoodsClient;
+import io.seata.core.exception.TransactionException;
+import io.seata.tm.api.GlobalTransactionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -38,7 +40,13 @@
@Override
public R updateCoupon(TCoupon coupon) {
- throw new RuntimeException("修改优惠券失败");
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("修改优惠券失败");
}
};
}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsFallbackFactory.java
index e9002f4..bb82c32 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsFallbackFactory.java
@@ -3,6 +3,8 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.other.api.domain.TGoods;
import com.ruoyi.other.api.feignClient.GoodsClient;
+import io.seata.core.exception.TransactionException;
+import io.seata.tm.api.GlobalTransactionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -36,7 +38,13 @@
@Override
public R updateGoods(TGoods goods) {
- throw new RuntimeException("修改商品异常");
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("修改商品异常");
}
};
}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/InvoiceTypeFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/InvoiceTypeFallbackFactory.java
index d1a16c0..1a7c645 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/InvoiceTypeFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/InvoiceTypeFallbackFactory.java
@@ -3,6 +3,8 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.other.api.domain.TInvoiceType;
import com.ruoyi.other.api.feignClient.InvoiceTypeClient;
+import io.seata.core.exception.TransactionException;
+import io.seata.tm.api.GlobalTransactionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -27,7 +29,13 @@
@Override
public R<TInvoiceType> getInvoiceType(Integer id) {
- throw new RuntimeException(throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail(throwable.getMessage());
}
};
}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/UserSiteFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/UserSiteFallbackFactory.java
index f36972c..06e0917 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/UserSiteFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/UserSiteFallbackFactory.java
@@ -3,6 +3,8 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.other.api.domain.TUserSite;
import com.ruoyi.other.api.feignClient.UserSiteClient;
+import io.seata.core.exception.TransactionException;
+import io.seata.tm.api.GlobalTransactionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -31,12 +33,24 @@
@Override
public R addUserSite(List<TUserSite> userSite) {
- throw new RuntimeException("添加用户站点失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("添加用户站点失败:" + throwable.getMessage());
}
@Override
public R delUserSite(Long userId) {
- throw new RuntimeException("删除用户站点失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("删除用户站点失败:" + throwable.getMessage());
}
};
}
diff --git a/ruoyi-api/ruoyi-api-payment/pom.xml b/ruoyi-api/ruoyi-api-payment/pom.xml
index dbbea4c..31bbeee 100644
--- a/ruoyi-api/ruoyi-api-payment/pom.xml
+++ b/ruoyi-api/ruoyi-api-payment/pom.xml
@@ -28,7 +28,10 @@
</exclusion>
</exclusions>
</dependency>
-
+ <dependency>
+ <groupId>com.alibaba.cloud</groupId>
+ <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/factory/AliPaymentFallbackFactory.java b/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/factory/AliPaymentFallbackFactory.java
index 97ebf3e..3c7b402 100644
--- a/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/factory/AliPaymentFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/factory/AliPaymentFallbackFactory.java
@@ -7,6 +7,8 @@
import com.ruoyi.payment.api.vo.AliPaymentReq;
import com.ruoyi.payment.api.vo.AliPaymentResp;
import com.ruoyi.payment.api.vo.AliQueryOrder;
+import io.seata.core.exception.TransactionException;
+import io.seata.tm.api.GlobalTransactionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -30,22 +32,46 @@
@Override
public R<AliPaymentResp> payment(AliPaymentReq req) {
- throw new RuntimeException("调起支付宝小程序支付失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("调起支付宝小程序支付失败:" + throwable.getMessage());
}
@Override
public R<AliQueryOrder> query(String outTradeNo) {
- throw new RuntimeException("查询支付订单失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("查询支付订单失败:" + throwable.getMessage());
}
@Override
public void close(String outTradeNo) {
- throw new RuntimeException("关闭支付订单失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ R.fail("关闭支付订单失败:" + throwable.getMessage());
}
@Override
public R<RefundResp> refund(RefundReq dto) {
- throw new RuntimeException("支付宝退款失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("支付宝退款失败:" + throwable.getMessage());
}
};
}
diff --git a/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/factory/WxPaymentFallbackFactory.java b/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/factory/WxPaymentFallbackFactory.java
index 6ed2018..bab0b46 100644
--- a/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/factory/WxPaymentFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/factory/WxPaymentFallbackFactory.java
@@ -6,6 +6,8 @@
import com.ruoyi.payment.api.vo.NotifyV3PayDecodeRespBody;
import com.ruoyi.payment.api.vo.PaymentOrder;
import com.ruoyi.payment.api.vo.WxRefundNotifyResp;
+import io.seata.core.exception.TransactionException;
+import io.seata.tm.api.GlobalTransactionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -31,12 +33,24 @@
@Override
public R<NotifyV3PayDecodeRespBody> queryOrderInfo(String orderId) {
- throw new RuntimeException("查询支付订单信息失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("查询支付订单信息失败:" + throwable.getMessage());
}
@Override
public R<Map<String, Object>> orderPay(PaymentOrder paymentOrder) {
- throw new RuntimeException("调起微信支付失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("调起微信支付失败:" + throwable.getMessage());
}
@Override
@@ -51,13 +65,24 @@
@Override
public void close(String outTradeNo) {
- throw new RuntimeException("关闭支付订单失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ R.fail("关闭支付订单失败:" + throwable.getMessage());
}
@Override
public R<String> refundOrderR(WxPaymentRefundModel model) {
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
return R.fail("微信退款失败:" + throwable.getMessage());
-
}
@Override
diff --git a/ruoyi-api/ruoyi-api-system/pom.xml b/ruoyi-api/ruoyi-api-system/pom.xml
index 2670f57..b2f0bcd 100644
--- a/ruoyi-api/ruoyi-api-system/pom.xml
+++ b/ruoyi-api/ruoyi-api-system/pom.xml
@@ -28,6 +28,10 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>com.alibaba.cloud</groupId>
+ <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java
index 9a8a1f6..377c0da 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java
@@ -5,6 +5,8 @@
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
import com.ruoyi.system.api.model.*;
+import io.seata.core.exception.TransactionException;
+import io.seata.tm.api.GlobalTransactionContext;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
@@ -27,7 +29,13 @@
@Override
public R<Boolean> updateSysUser(SysUser sysUser) {
- throw new RuntimeException("更新用户失败:" + cause.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("更新用户失败:" + cause.getMessage());
}
@Override
@@ -92,12 +100,24 @@
@Override
public R addSysUser(SysUser user) {
- throw new RuntimeException("添加用户失败:" + cause.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("添加用户失败:" + cause.getMessage());
}
@Override
public R resetPassword(SysUser user) {
- throw new RuntimeException("重置用户密码失败:" + cause.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("重置用户密码失败:" + cause.getMessage());
}
};
}
diff --git a/ruoyi-auth/src/main/resources/bootstrap.yml b/ruoyi-auth/src/main/resources/bootstrap.yml
index 56494a5..0122628 100644
--- a/ruoyi-auth/src/main/resources/bootstrap.yml
+++ b/ruoyi-auth/src/main/resources/bootstrap.yml
@@ -1,10 +1,12 @@
server:
port: 9100
+ tomcat:
+ basedir: /data/tomcat
# Spring
spring:
profiles:
# 环境配置
- active: prod
+ active: dev
application:
# 应用名称
name: ruoyi-auth
@@ -53,52 +55,52 @@
type: nacos
nacos:
# 开发环境
-# server-addr: 192.168.110.169:8848
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
-# group: DEFAULT_GROUP
-# data-id: seata-server.properties
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
data-id: seata-server.properties
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# data-id: seata-server.properties
+# username: nacos
+# password: nacos
registry:
type: nacos
nacos:
application: seata-server
# 开发环境
-# server-addr: 192.168.110.169:8848
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
-# group: DEFAULT_GROUP
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# username: nacos
+# password: nacos
cloud:
nacos:
discovery:
# 开发环境
- # server-addr: 192.168.110.169:8848 # nacos注册中心地址
- # namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
- # group: DEFAULT_GROUP
- # application: seata-server #Nacos 中 Seata 名称
- # username: nacos
- # password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848 # nacos注册中心地址
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
group: DEFAULT_GROUP
application: seata-server #Nacos 中 Seata 名称
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# application: seata-server #Nacos 中 Seata 名称
+# username: nacos
+# password: nacos
sentinel:
transport:
dashboard: 127.0.0.1:8080 # Sentinel控制台地址
diff --git a/ruoyi-gateway/pom.xml b/ruoyi-gateway/pom.xml
index 35f7df5..f858a41 100644
--- a/ruoyi-gateway/pom.xml
+++ b/ruoyi-gateway/pom.xml
@@ -114,18 +114,6 @@
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
- <dependency>
- <groupId>com.ruoyi</groupId>
- <artifactId>ruoyi-api-account</artifactId>
- <version>3.6.2</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.ruoyi</groupId>
- <artifactId>ruoyi-api-system</artifactId>
- <version>3.6.2</version>
- <scope>compile</scope>
- </dependency>
</dependencies>
diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/properties/AntiShakeProperties.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/properties/AntiShakeProperties.java
new file mode 100644
index 0000000..4ae2c6f
--- /dev/null
+++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/properties/AntiShakeProperties.java
@@ -0,0 +1,34 @@
+package com.ruoyi.gateway.config.properties;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author ruoyi
+ */
+@Configuration
+@RefreshScope
+@ConfigurationProperties(prefix = "security.anti-shake")
+public class AntiShakeProperties {
+
+ private Boolean enable;
+
+ private Long interval;
+
+ public Boolean getEnable() {
+ return enable;
+ }
+
+ public void setEnable(Boolean enable) {
+ this.enable = enable;
+ }
+
+ public Long getInterval() {
+ return interval;
+ }
+
+ public void setInterval(Long interval) {
+ this.interval = interval;
+ }
+}
diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/properties/SignProperties.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/properties/SignProperties.java
new file mode 100644
index 0000000..bcb77e1
--- /dev/null
+++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/properties/SignProperties.java
@@ -0,0 +1,27 @@
+package com.ruoyi.gateway.config.properties;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author ruoyi
+ */
+@Configuration
+@RefreshScope
+@ConfigurationProperties(prefix = "security.sign")
+public class SignProperties {
+
+ private Boolean enable;
+
+ public Boolean getEnable() {
+ return enable;
+ }
+
+ public void setEnable(Boolean enable) {
+ this.enable = enable;
+ }
+}
diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
index 6aa40ff..bf60f1c 100644
--- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
+++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
@@ -1,5 +1,6 @@
package com.ruoyi.gateway.filter;
+import com.ruoyi.gateway.config.properties.AntiShakeProperties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -39,9 +40,12 @@
// 排除过滤的 uri 地址,nacos自行添加
@Autowired
private IgnoreWhiteProperties ignoreWhite;
+ @Autowired
+ private AntiShakeProperties antiShakeProperties;
@Autowired
private RedisService redisService;
+
@@ -59,7 +63,7 @@
try {
antiShake(request);
}catch (Exception e){
- log.error("[重复提交]请求路径:{}", exchange.getRequest().getPath());
+ log.error(e.getMessage());
return ServletUtils.webFluxResponseWriter(exchange.getResponse(), e.getMessage(), HttpStatus.SUCCESS);
}
@@ -129,7 +133,7 @@
*/
public void antiShake(ServerHttpRequest request) throws Exception{
HttpMethod method = request.getMethod();
- if(HttpMethod.OPTIONS == method){
+ if(HttpMethod.OPTIONS == method || !antiShakeProperties.getEnable()){
return;
}
HttpHeaders headers = request.getHeaders();
@@ -155,8 +159,8 @@
Long old_timestamp = Long.valueOf(o.toString());
Long new_timestamp = Long.valueOf(timestamp);
//两个请求时间差小于1秒,判定为重复提交
- if((new_timestamp - old_timestamp) <= 500){
- throw new RuntimeException("重复提交");
+ if((new_timestamp - old_timestamp) <= antiShakeProperties.getInterval()){
+ throw new RuntimeException(url + "----->重复提交");
}else{
cacheMap.put(url, timestamp);
}
diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java
index 11816ce..5b865dc 100644
--- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java
+++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java
@@ -3,27 +3,21 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
-import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.core.constant.HttpStatus;
-import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.constant.TokenConstants;
-import com.ruoyi.common.core.utils.JwtUtils;
import com.ruoyi.common.core.utils.ServletUtils;
import com.ruoyi.common.core.utils.StringUtils;
-import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.gateway.config.properties.IgnoreWhiteProperties;
-import io.jsonwebtoken.Claims;
+import com.ruoyi.gateway.config.properties.SignProperties;
import org.apache.commons.codec.binary.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered;
import org.springframework.core.io.buffer.DataBuffer;
import org.springframework.core.io.buffer.DataBufferUtils;
-import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.http.server.reactive.ServerHttpRequestDecorator;
@@ -37,7 +31,6 @@
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
-import java.util.concurrent.atomic.AtomicReference;
/**
* 网关鉴权
@@ -48,11 +41,11 @@
public class SignFilter implements GlobalFilter, Ordered {
private static final Logger log = LoggerFactory.getLogger(SignFilter.class);
- @Value("${security.sign}")
- private boolean parameter_signature;
-
@Autowired
private IgnoreWhiteProperties ignoreWhite;
+
+ @Autowired
+ private SignProperties signProperties;
@Override
@@ -71,13 +64,13 @@
}
String sign = request.getHeaders().getFirst(TokenConstants.SIGN);
String nonce_str = request.getHeaders().getFirst(TokenConstants.NONCE_STR);
- if (parameter_signature && StringUtils.isEmpty(sign)) {
+ if (signProperties.getEnable() && StringUtils.isEmpty(sign)) {
return unauthorizedResponse(exchange, "签名不能为空!");
}
- if (parameter_signature && StringUtils.isEmpty(nonce_str)) {
+ if (signProperties.getEnable() && StringUtils.isEmpty(nonce_str)) {
return unauthorizedResponse(exchange, "签名不能为空!");
}
- if(parameter_signature){
+ if(signProperties.getEnable()){
return authSign(exchange, chain, sign, nonce_str);
}
return chain.filter(exchange.mutate().request(mutate.build()).build());
diff --git a/ruoyi-gateway/src/main/resources/bootstrap.yml b/ruoyi-gateway/src/main/resources/bootstrap.yml
index 092b794..1beff53 100644
--- a/ruoyi-gateway/src/main/resources/bootstrap.yml
+++ b/ruoyi-gateway/src/main/resources/bootstrap.yml
@@ -1,5 +1,8 @@
server:
port: 9000
+ tomcat:
+ basedir: /data/tomcat
+ max-swallow-size: 100MB
# Spring
spring:
application:
@@ -9,7 +12,7 @@
allow-bean-definition-overriding: true
profiles:
# 环境配置
- active: prod
+ active: dev
---
spring:
config:
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
index 08fea37..1fd2cc8 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
@@ -1,5 +1,7 @@
server:
port: 9800
+ tomcat:
+ basedir: /data/tomcat
# Spring
spring:
application:
@@ -9,7 +11,7 @@
allow-bean-definition-overriding: true
profiles:
# 环境配置
- active: prod
+ active: dev
---
spring:
config:
@@ -52,52 +54,52 @@
type: nacos
nacos:
# 开发环境
-# server-addr: 192.168.110.169:8848
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
-# group: DEFAULT_GROUP
-# data-id: seata-server.properties
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
data-id: seata-server.properties
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# data-id: seata-server.properties
+# username: nacos
+# password: nacos
registry:
type: nacos
nacos:
application: seata-server
# 开发环境
-# server-addr: 192.168.110.169:8848
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
-# group: DEFAULT_GROUP
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# username: nacos
+# password: nacos
cloud:
nacos:
discovery:
# 开发环境
-# server-addr: 192.168.110.169:8848 # nacos注册中心地址
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
-# group: DEFAULT_GROUP
-# application: seata-server #Nacos 中 Seata 名称
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848 # nacos注册中心地址
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
group: DEFAULT_GROUP
application: seata-server #Nacos 中 Seata 名称
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# application: seata-server #Nacos 中 Seata 名称
+# username: nacos
+# password: nacos
sentinel:
transport:
dashboard: 127.0.0.1:8080 # Sentinel控制台地址
diff --git a/ruoyi-service/ruoyi-account/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-account/src/main/resources/bootstrap.yml
index 9aa8ddd..4631e31 100644
--- a/ruoyi-service/ruoyi-account/src/main/resources/bootstrap.yml
+++ b/ruoyi-service/ruoyi-account/src/main/resources/bootstrap.yml
@@ -1,5 +1,7 @@
server:
port: 9200
+ tomcat:
+ basedir: /data/tomcat
# Spring
spring:
application:
@@ -10,7 +12,7 @@
allow-circular-references: true
profiles:
# 环境配置
- active: prod
+ active: dev
---
spring:
config:
@@ -53,52 +55,52 @@
type: nacos
nacos:
# 开发环境
-# server-addr: 192.168.110.169:8848
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
-# group: DEFAULT_GROUP
-# data-id: seata-server.properties
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
data-id: seata-server.properties
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# data-id: seata-server.properties
+# username: nacos
+# password: nacos
registry:
type: nacos
nacos:
application: seata-server
# 开发环境
- # server-addr: 192.168.110.169:8848
- # namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
- # group: DEFAULT_GROUP
- # username: nacos
- # password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# username: nacos
+# password: nacos
cloud:
nacos:
discovery:
# 开发环境
- # server-addr: 192.168.110.169:8848 # nacos注册中心地址
- # namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
- # group: DEFAULT_GROUP
- # application: seata-server #Nacos 中 Seata 名称
- # username: nacos
- # password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848 # nacos注册中心地址
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
group: DEFAULT_GROUP
application: seata-server #Nacos 中 Seata 名称
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# application: seata-server #Nacos 中 Seata 名称
+# username: nacos
+# password: nacos
sentinel:
transport:
dashboard: 192.168.0.137:8080 # Sentinel控制台地址
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml
index c24df46..610874d 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml
@@ -1,5 +1,7 @@
server:
port: 9300
+ tomcat:
+ basedir: /data/tomcat
# Spring
spring:
application:
@@ -10,7 +12,7 @@
allow-circular-references: true
profiles:
# 环境配置
- active: prod
+ active: dev
---
spring:
config:
@@ -53,52 +55,52 @@
type: nacos
nacos:
# 开发环境
-# server-addr: 192.168.110.169:8848
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
-# group: DEFAULT_GROUP
-# data-id: seata-server.properties
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
data-id: seata-server.properties
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# data-id: seata-server.properties
+# username: nacos
+# password: nacos
registry:
type: nacos
nacos:
application: seata-server
# 开发环境
-# server-addr: 192.168.110.169:8848
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
-# group: DEFAULT_GROUP
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# username: nacos
+# password: nacos
cloud:
nacos:
discovery:
# 开发环境
-# server-addr: 192.168.110.169:8848 # nacos注册中心地址
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
-# group: DEFAULT_GROUP
-# application: seata-server #Nacos 中 Seata 名称
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848 # nacos注册中心地址
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
group: DEFAULT_GROUP
application: seata-server #Nacos 中 Seata 名称
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# application: seata-server #Nacos 中 Seata 名称
+# username: nacos
+# password: nacos
sentinel:
transport:
dashboard: 127.0.0.1:8080 # Sentinel控制台地址
diff --git a/ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml
index adf78b9..20bdc83 100644
--- a/ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml
+++ b/ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml
@@ -1,5 +1,7 @@
server:
port: 9700
+ tomcat:
+ basedir: /data/tomcat
# Spring
spring:
application:
@@ -10,7 +12,7 @@
allow-circular-references: true
profiles:
# 环境配置
- active: prod
+ active: dev
---
spring:
@@ -61,52 +63,52 @@
type: nacos
nacos:
# 开发环境
-# server-addr: 192.168.110.169:8848
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
-# group: DEFAULT_GROUP
-# data-id: seata-server.properties
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
data-id: seata-server.properties
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# data-id: seata-server.properties
+# username: nacos
+# password: nacos
registry:
type: nacos
nacos:
application: seata-server
# 开发环境
-# server-addr: 192.168.110.169:8848
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
-# group: DEFAULT_GROUP
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# username: nacos
+# password: nacos
cloud:
nacos:
discovery:
# 开发环境
-# server-addr: 192.168.110.169:8848 # nacos注册中心地址
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
-# group: DEFAULT_GROUP
-# application: seata-server #Nacos 中 Seata 名称
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848 # nacos注册中心地址
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
group: DEFAULT_GROUP
application: seata-server #Nacos 中 Seata 名称
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# application: seata-server #Nacos 中 Seata 名称
+# username: nacos
+# password: nacos
sentinel:
transport:
dashboard: 127.0.0.1:8080 # Sentinel控制台地址
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index 3d0b7e4..61b4ae3 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -70,6 +70,7 @@
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
@@ -650,7 +651,7 @@
model.setOut_trade_no(chargingOrder.getCode());
model.setOut_refund_no(chargingOrderRefund.getRefundCode());
model.setReason("充电失败,取消充电订单");
- model.setNotify_url("http://221.182.45.100:9000/order/t-charging-order/chargingOrderStartupFailureWxRefund");
+ model.setNotify_url("/order/t-charging-order/chargingOrderStartupFailureWxRefund");
WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount();
amount.setRefund(rechargeAmount.multiply(new BigDecimal(100)).intValue());
amount.setTotal(rechargeAmount.multiply(new BigDecimal(100)).intValue());
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml
index 4d15611..a49dc2a 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml
@@ -1,5 +1,7 @@
server:
port: 9400
+ tomcat:
+ basedir: /data/tomcat
# Spring
spring:
application:
@@ -10,7 +12,7 @@
allow-circular-references: true
profiles:
# 环境配置
- active: prod
+ active: dev
---
spring:
config:
@@ -53,52 +55,52 @@
type: nacos
nacos:
# 开发环境
-# server-addr: 192.168.110.169:8848
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
-# group: DEFAULT_GROUP
-# data-id: seata-server.properties
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
data-id: seata-server.properties
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# data-id: seata-server.properties
+# username: nacos
+# password: nacos
registry:
type: nacos
nacos:
application: seata-server
# 开发环境
-# server-addr: 192.168.110.169:8848
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
-# group: DEFAULT_GROUP
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# username: nacos
+# password: nacos
cloud:
nacos:
discovery:
# 开发环境
-# server-addr: 192.168.110.169:8848 # nacos注册中心地址
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
-# group: DEFAULT_GROUP
-# application: seata-server #Nacos 中 Seata 名称
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848 # nacos注册中心地址
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
group: DEFAULT_GROUP
application: seata-server #Nacos 中 Seata 名称
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# application: seata-server #Nacos 中 Seata 名称
+# username: nacos
+# password: nacos
sentinel:
transport:
dashboard: 127.0.0.1:8080 # Sentinel控制台地址
diff --git a/ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml
index d8684e9..2c4088c 100644
--- a/ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml
+++ b/ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml
@@ -1,5 +1,7 @@
server:
port: 9600
+ tomcat:
+ basedir: /data/tomcat
# Spring
spring:
application:
@@ -10,7 +12,7 @@
allow-circular-references: true
profiles:
# 环境配置
- active: prod
+ active: dev
---
spring:
config:
@@ -53,52 +55,52 @@
type: nacos
nacos:
# 开发环境
-# server-addr: 192.168.110.169:8848
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
-# group: DEFAULT_GROUP
-# data-id: seata-server.properties
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
data-id: seata-server.properties
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# data-id: seata-server.properties
+# username: nacos
+# password: nacos
registry:
type: nacos
nacos:
application: seata-server
# 开发环境
-# server-addr: 192.168.110.169:8848
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
-# group: DEFAULT_GROUP
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# username: nacos
+# password: nacos
cloud:
nacos:
discovery:
# 开发环境
-# server-addr: 192.168.110.169:8848 # nacos注册中心地址
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
-# group: DEFAULT_GROUP
-# application: seata-server #Nacos 中 Seata 名称
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848 # nacos注册中心地址
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
group: DEFAULT_GROUP
application: seata-server #Nacos 中 Seata 名称
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# application: seata-server #Nacos 中 Seata 名称
+# username: nacos
+# password: nacos
sentinel:
transport:
dashboard: 127.0.0.1:8080 # Sentinel控制台地址
diff --git a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/model/V3.java b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/model/V3.java
index b08ca9d..68aa7ec 100644
--- a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/model/V3.java
+++ b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/model/V3.java
@@ -61,12 +61,15 @@
certStream = new FileInputStream(this.privateKeyPath);
certData = IOUtils.toByteArray(certStream);
} catch (IOException e) {
+ e.printStackTrace();
throw new RuntimeException("私钥文件未找到");
}finally {
- try {
- certStream.close();
- } catch (IOException e) {
- log.error("私钥流关闭异常");
+ if(null != certStream){
+ try {
+ certStream.close();
+ } catch (IOException e) {
+ log.error("私钥流关闭异常");
+ }
}
}
return new ByteArrayInputStream(certData);
diff --git a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/model/WeixinProperties.java b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/model/WeixinProperties.java
index 6bf8113..782690b 100644
--- a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/model/WeixinProperties.java
+++ b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/model/WeixinProperties.java
@@ -103,4 +103,12 @@
public void setMchId(String mchId) {
this.mchId = mchId;
}
+
+ public String getCallBackUrl() {
+ return callBackUrl;
+ }
+
+ public void setCallBackUrl(String callBackUrl) {
+ this.callBackUrl = callBackUrl;
+ }
}
diff --git a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/utils/WxAbstractPay.java b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/utils/WxAbstractPay.java
index 3a3d081..629c51f 100644
--- a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/utils/WxAbstractPay.java
+++ b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/utils/WxAbstractPay.java
@@ -1,5 +1,7 @@
package com.ruoyi.payment.wx.utils;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.type.TypeReference;
import com.ruoyi.common.core.utils.WebUtils;
import com.ruoyi.payment.wx.model.WxCloseOrderModel;
@@ -69,7 +71,7 @@
*/
protected String buildBaseParam(WxPaymentInfoModel requestBody, String notifyUrl) {
// 封装基础数据
-// requestBody.setNotify_url(notifyUrl);
+ requestBody.setNotify_url(notifyUrl + requestBody.getNotify_url());
String reqBody = WxJsonUtils.toJsonString(requestBody);
return reqBody;
}
@@ -199,9 +201,46 @@
url
, socketTimeout
, connectTimeout);
- String repBody = result(httpClient, httpGet);
- NotifyV3PayDecodeRespBody body = WxJsonUtils.parseObject(repBody, NotifyV3PayDecodeRespBody.class);
- return body;
+ CloseableHttpResponse response = null;
+ try {
+ response = httpClient.execute(httpGet);
+ int statusCode = response.getStatusLine().getStatusCode();
+ String respBodyStr = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8);
+ if (WxUtils.getLogger().isDebugEnabled()) {
+ WxUtils.debug("请求成功:{}", respBodyStr);
+ }
+ if(404 == statusCode){
+ return null;
+ }
+ // 成功相应
+ if (STATUS_CODE == statusCode || OTHER_STATUS_CODE == statusCode ) {
+ NotifyV3PayDecodeRespBody body = WxJsonUtils.parseObject(respBodyStr, NotifyV3PayDecodeRespBody.class);
+ return body;
+ } else {
+ WxUtils.error("failed,resp code = {},return body = {}", statusCode, respBodyStr);
+ throw new RuntimeException(respBodyStr);
+ }
+ } catch (ConnectTimeoutException e) {
+ e.printStackTrace();
+ throw new RuntimeException("接口超时");
+ } catch (SocketTimeoutException e) {
+ e.printStackTrace();
+ throw new RuntimeException("读取接口数据超时");
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new RuntimeException("接口请求失败,请尝试检查网络环境或请求接口是否能正常访问");
+ } finally {
+ // 关闭响应
+ try {
+ if (response != null) {
+ //关闭结果集
+ response.getEntity().getContent().close();
+ response.close();
+ }
+ } catch (IOException e) {
+ throw new RuntimeException("关闭流异常");
+ }
+ }
}
/**
@@ -251,7 +290,6 @@
Map<String, Object> body = WxJsonUtils.parseObject(repBody, Map.class);
return body;
}
-
/**
* 请求结果
diff --git a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/utils/WxV3Pay.java b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/utils/WxV3Pay.java
index af10ca3..818f242 100644
--- a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/utils/WxV3Pay.java
+++ b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/utils/WxV3Pay.java
@@ -191,7 +191,7 @@
*/
@Override
public Map<String, Object> refund(WxPaymentRefundModel refundModel) {
-// refundModel.setNotify_url(this.config.getV3().getNotifyRefundUrl());
+ refundModel.setNotify_url(this.config.getV3().getNotifyRefundUrl() + refundModel.getNotify_url());
return refund(this.httpClient, "/v3/refund/domestic/refunds", this.config.getHttpReadTimeoutMs(), this.config.getHttpConnectTimeoutMs(), refundModel);
}
diff --git a/ruoyi-service/ruoyi-payment/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-payment/src/main/resources/bootstrap.yml
index cc0a0b8..c1e6944 100644
--- a/ruoyi-service/ruoyi-payment/src/main/resources/bootstrap.yml
+++ b/ruoyi-service/ruoyi-payment/src/main/resources/bootstrap.yml
@@ -1,5 +1,7 @@
server:
port: 9500
+ tomcat:
+ basedir: /data/tomcat
# Spring
spring:
application:
@@ -10,7 +12,7 @@
allow-circular-references: true
profiles:
# 环境配置
- active: prod
+ active: dev
---
spring:
config:
@@ -53,52 +55,52 @@
type: nacos
nacos:
# 开发环境
-# server-addr: 192.168.110.169:8848
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
-# group: DEFAULT_GROUP
-# data-id: seata-server.properties
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
data-id: seata-server.properties
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# data-id: seata-server.properties
+# username: nacos
+# password: nacos
registry:
type: nacos
nacos:
application: seata-server
# 开发环境
-# server-addr: 192.168.110.169:8848
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
-# group: DEFAULT_GROUP
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
group: DEFAULT_GROUP
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# username: nacos
+# password: nacos
cloud:
nacos:
discovery:
# 开发环境
-# server-addr: 192.168.110.169:8848 # nacos注册中心地址
-# namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
-# group: DEFAULT_GROUP
-# application: seata-server #Nacos 中 Seata 名称
-# username: nacos
-# password: nacos
- # 生产环境
- server-addr: 192.168.0.137:8848,192.168.0.123:8848
- namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+ server-addr: 192.168.110.169:8848 # nacos注册中心地址
+ namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
group: DEFAULT_GROUP
application: seata-server #Nacos 中 Seata 名称
username: nacos
password: nacos
+ # 生产环境
+# server-addr: 192.168.0.137:8848,192.168.0.123:8848
+# namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
+# group: DEFAULT_GROUP
+# application: seata-server #Nacos 中 Seata 名称
+# username: nacos
+# password: nacos
sentinel:
transport:
dashboard: 127.0.0.1:8080 # Sentinel控制台地址
--
Gitblit v1.7.1