diff --git a/pom.xml b/pom.xml
index 82de1e8b7..4634d345e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,14 +16,14 @@
yudao-module-system
yudao-module-infra
yudao-module-member
- yudao-module-bpm
- yudao-module-report
- yudao-module-mp
+
+
+
yudao-module-pay
yudao-module-mall
- yudao-module-crm
- yudao-module-erp
- yudao-module-ai
+
+
+
${project.artifactId}
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/order/TradeOrderConvert.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/order/TradeOrderConvert.java
index aa36eeeec..d91969481 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/order/TradeOrderConvert.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/order/TradeOrderConvert.java
@@ -101,7 +101,7 @@ public interface TradeOrderConvert {
default PayOrderCreateReqDTO convert(TradeOrderDO order, List orderItems,
TradeOrderProperties orderProperties) {
PayOrderCreateReqDTO createReqDTO = new PayOrderCreateReqDTO()
- .setAppKey(orderProperties.getAppKey()).setUserIp(order.getUserIp());
+ .setAppKey(orderProperties.getPayAppKey()).setUserIp(order.getUserIp());
// 商户相关字段
createReqDTO.setMerchantOrderId(String.valueOf(order.getId()));
String subject = orderItems.get(0).getSpuName();
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/framework/order/config/TradeOrderProperties.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/framework/order/config/TradeOrderProperties.java
index c88e93933..0d7b271d9 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/framework/order/config/TradeOrderProperties.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/framework/order/config/TradeOrderProperties.java
@@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.trade.framework.order.config;
+import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.validation.annotation.Validated;
@@ -19,17 +20,15 @@ import java.time.Duration;
@Validated
public class TradeOrderProperties {
- /**
- * 默认应用标识
- */
- private static final String APP_KEY_DEFAULT = "mall";
+ private static final String PAY_APP_KEY_DEFAULT = "mall";
/**
- * 应用标识,用于区分不同的应用程序
- * 通过注解@NotNull确保应用标识不能为空
+ * 支付应用标识
+ *
+ * 在 pay 模块的 [支付管理 -> 应用信息] 里添加
*/
- @NotNull(message = "应用标识不能为空")
- private String appKey = APP_KEY_DEFAULT;
+ @NotEmpty(message = "Pay 应用标识不能为空")
+ private String payAppKey = PAY_APP_KEY_DEFAULT;
/**
* 支付超时时间
diff --git a/yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceTest.java b/yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceTest.java
index fa15b7e52..fb19f074b 100644
--- a/yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceTest.java
+++ b/yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceTest.java
@@ -99,7 +99,7 @@ public class TradeOrderUpdateServiceTest extends BaseDbUnitTest {
@BeforeEach
public void setUp() {
- when(tradeOrderProperties.getAppKey()).thenReturn("demo");
+ when(tradeOrderProperties.getPayAppKey()).thenReturn("mall");
when(tradeOrderProperties.getPayExpireTime()).thenReturn(Duration.ofDays(1));
when(tradeNoRedisDAO.generate(anyString())).thenReturn(IdUtil.randomUUID());
}
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppBaseVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppBaseVO.java
index a95242a9f..d6cabdc50 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppBaseVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppBaseVO.java
@@ -14,6 +14,10 @@ import jakarta.validation.constraints.*;
@Data
public class PayAppBaseVO {
+ @Schema(description = "应用标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao")
+ @NotEmpty(message = "应用标识不能为空")
+ private String appKey;
+
@Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "小豆")
@NotNull(message = "应用名不能为空")
private String name;
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppCreateReqVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppCreateReqVO.java
index db0dcde8b..f1a5dddaf 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppCreateReqVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppCreateReqVO.java
@@ -1,7 +1,9 @@
package cn.iocoder.yudao.module.pay.controller.admin.app.vo;
+
import io.swagger.v3.oas.annotations.media.Schema;
-import jakarta.validation.constraints.NotNull;
-import lombok.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
@Schema(description = "管理后台 - 支付应用信息创建 Request VO")
@Data
@@ -9,8 +11,4 @@ import lombok.*;
@ToString(callSuper = true)
public class PayAppCreateReqVO extends PayAppBaseVO {
- @Schema(description = "应用标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao")
- @NotNull(message = "应用标识不能为空")
- private String appKey;
-
}
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppPageItemRespVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppPageItemRespVO.java
index 29931b14f..76b62003c 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppPageItemRespVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppPageItemRespVO.java
@@ -17,9 +17,6 @@ public class PayAppPageItemRespVO extends PayAppBaseVO {
@Schema(description = "应用编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
private Long id;
- @Schema(description = "应用标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao")
- private String appKey;
-
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createTime;
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppPageReqVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppPageReqVO.java
index 7a9931ac5..e433c85e9 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppPageReqVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppPageReqVO.java
@@ -20,7 +20,7 @@ public class PayAppPageReqVO extends PageParam {
@Schema(description = "应用名", example = "小豆")
private String name;
- @Schema(description = "应用标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao")
+ @Schema(description = "应用标识", example = "yudao")
private String appKey;
@Schema(description = "开启状态", example = "0")
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppUpdateReqVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppUpdateReqVO.java
index 4ea50df27..c4e50bd44 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppUpdateReqVO.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/app/vo/PayAppUpdateReqVO.java
@@ -14,8 +14,4 @@ public class PayAppUpdateReqVO extends PayAppBaseVO {
@NotNull(message = "应用编号不能为空")
private Long id;
- @Schema(description = "应用标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao")
- @NotNull(message = "应用标识不能为空")
- private String appKey;
-
}
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/config/PayProperties.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/config/PayProperties.java
index 02254ca0b..d124bbfc5 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/config/PayProperties.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/config/PayProperties.java
@@ -15,6 +15,8 @@ public class PayProperties {
private static final String ORDER_NO_PREFIX = "P";
private static final String REFUND_NO_PREFIX = "R";
+ private static final String WALLET_PAY_APP_KEY_DEFAULT = "wallet";
+
/**
* 支付回调地址
*
@@ -49,4 +51,10 @@ public class PayProperties {
@NotEmpty(message = "退款订单 no 的前缀不能为空")
private String refundNoPrefix = REFUND_NO_PREFIX;
+ /**
+ * 钱包支付应用 AppKey
+ */
+ @NotEmpty(message = "钱包支付应用 AppKey 不能为空")
+ private String walletPayAppKey = WALLET_PAY_APP_KEY_DEFAULT;
+
}
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/app/PayAppServiceImpl.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/app/PayAppServiceImpl.java
index 9809b5057..6774c442e 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/app/PayAppServiceImpl.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/app/PayAppServiceImpl.java
@@ -1,9 +1,7 @@
package cn.iocoder.yudao.module.pay.service.app;
-import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.pay.controller.admin.app.vo.PayAppCreateReqVO;
import cn.iocoder.yudao.module.pay.controller.admin.app.vo.PayAppPageReqVO;
import cn.iocoder.yudao.module.pay.controller.admin.app.vo.PayAppUpdateReqVO;
@@ -20,7 +18,6 @@ import org.springframework.validation.annotation.Validated;
import java.util.Collection;
import java.util.List;
-import java.util.Objects;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.pay.enums.ErrorCodeConstants.*;
@@ -46,8 +43,9 @@ public class PayAppServiceImpl implements PayAppService {
@Override
public Long createApp(PayAppCreateReqVO createReqVO) {
- // 验证appKey是否重复
- validateAppKeyDuplicate(null, createReqVO.getAppKey());
+ // 验证 appKey 是否重复
+ validateEmailUnique(null, createReqVO.getAppKey());
+
// 插入
PayAppDO app = PayAppConvert.INSTANCE.convert(createReqVO);
appMapper.insert(app);
@@ -59,13 +57,28 @@ public class PayAppServiceImpl implements PayAppService {
public void updateApp(PayAppUpdateReqVO updateReqVO) {
// 校验存在
validateAppExists(updateReqVO.getId());
- // 验证appKey是否重复
- validateAppKeyDuplicate(updateReqVO.getId(), updateReqVO.getAppKey());
+ // 验证 appKey 是否重复
+ validateEmailUnique(updateReqVO.getId(), updateReqVO.getAppKey());
+
// 更新
PayAppDO updateObj = PayAppConvert.INSTANCE.convert(updateReqVO);
appMapper.updateById(updateObj);
}
+ void validateEmailUnique(Long id, String appKey) {
+ PayAppDO app = appMapper.selectByAppKey(appKey);
+ if (app == null) {
+ return;
+ }
+ // 如果 id 为空,说明不用比较是否为相同 appKey 的应用
+ if (id == null) {
+ throw exception(APP_KEY_EXISTS);
+ }
+ if (!app.getId().equals(id)) {
+ throw exception(APP_KEY_EXISTS);
+ }
+ }
+
@Override
public void updateAppStatus(Long id, Integer status) {
// 校验商户存在
@@ -119,63 +132,31 @@ public class PayAppServiceImpl implements PayAppService {
@Override
public PayAppDO validPayApp(Long appId) {
PayAppDO app = appMapper.selectById(appId);
- // 校验支付应用数据是否存在以及可用
- return validatePayAppDO(app);
+ return validatePayApp(app);
}
@Override
public PayAppDO validPayApp(String appKey) {
PayAppDO app = appMapper.selectByAppKey(appKey);
- // 校验支付应用数据是否存在以及可用
- return validatePayAppDO(app);
+ return validatePayApp(app);
}
/**
- * 校验支付应用实体的有效性
- * 主要包括存在性检查和禁用状态检查
+ * 校验支付应用实体的有效性:存在 + 开启
*
* @param app 待校验的支付应用实体
* @return 校验通过的支付应用实体
- * @throws IllegalArgumentException 如果支付应用实体不存在或已被禁用
*/
- private PayAppDO validatePayAppDO(PayAppDO app) {
+ private PayAppDO validatePayApp(PayAppDO app) {
// 校验是否存在
if (app == null) {
throw exception(ErrorCodeConstants.APP_NOT_FOUND);
}
// 校验是否禁用
- if (CommonStatusEnum.DISABLE.getStatus().equals(app.getStatus())) {
+ if (CommonStatusEnum.isDisable(app.getStatus())) {
throw exception(ErrorCodeConstants.APP_IS_DISABLE);
}
return app;
}
-
- /**
- * 校验应用密钥是否重复
- * 在新增或更新支付应用时,确保应用密钥(appKey)的唯一性
- * 如果是在新增情况下,检查数据库中是否已存在相同的appKey
- * 如果是在更新情况下,检查数据库中是否存在除当前应用外的其他应用使用了相同的appKey
- *
- * @param payAppId 支付应用的ID,更新时使用,新增时可能为null
- * @param payAppKey 支付应用的密钥,用于校验是否重复
- * @throws RuntimeException 如果发现appKey重复,抛出运行时异常
- */
- private void validateAppKeyDuplicate(Long payAppId, String payAppKey) {
- // 新增时,校验appKey是否重复
- if (Objects.isNull(payAppId) && StrUtil.isNotBlank(payAppKey)) {
- if (appMapper.selectCount(PayAppDO::getAppKey, payAppKey) > 0) {
- throw exception(APP_KEY_EXISTS);
- }
- // 更新时,校验appKey是否重复
- } else if (Objects.nonNull(payAppId) && StrUtil.isNotBlank(payAppKey)) {
- LambdaQueryWrapperX queryWrapper = new LambdaQueryWrapperX<>();
- queryWrapper.eq(PayAppDO::getAppKey, payAppKey)
- .ne(PayAppDO::getId, payAppId);
- if (appMapper.selectCount(queryWrapper) > 0) {
- throw exception(APP_KEY_EXISTS);
- }
- }
- }
-
}
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/demo/PayDemoOrderServiceImpl.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/demo/PayDemoOrderServiceImpl.java
index c2067c838..29a9e9aec 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/demo/PayDemoOrderServiceImpl.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/demo/PayDemoOrderServiceImpl.java
@@ -43,7 +43,7 @@ import static cn.iocoder.yudao.module.pay.enums.ErrorCodeConstants.*;
public class PayDemoOrderServiceImpl implements PayDemoOrderService {
/**
- * 接入的实力应用编号
+ * 接入的支付应用标识
*
* 从 [支付管理 -> 应用信息] 里添加
*/
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/refund/PayRefundServiceImpl.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/refund/PayRefundServiceImpl.java
index e52d91f18..39179dfa0 100755
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/refund/PayRefundServiceImpl.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/refund/PayRefundServiceImpl.java
@@ -199,8 +199,8 @@ public class PayRefundServiceImpl implements PayRefundService {
* @param channel 支付渠道
* @param notify 通知
*/
- @Transactional(rollbackFor = Exception.class)
// 注意,如果是方法内调用该方法,需要通过 getSelf().notifyRefund(channel, notify) 调用,否则事务不生效
+ @Transactional(rollbackFor = Exception.class)
public void notifyRefund(PayChannelDO channel, PayRefundRespDTO notify) {
// 情况一:退款成功
if (PayRefundStatusRespEnum.isSuccess(notify.getStatus())) {
diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java
index b62c8cfcf..98e32ec79 100644
--- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java
+++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java
@@ -18,6 +18,7 @@ import cn.iocoder.yudao.module.pay.dal.mysql.wallet.PayWalletRechargeMapper;
import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum;
import cn.iocoder.yudao.module.pay.enums.refund.PayRefundStatusEnum;
import cn.iocoder.yudao.module.pay.enums.wallet.PayWalletBizTypeEnum;
+import cn.iocoder.yudao.module.pay.framework.pay.config.PayProperties;
import cn.iocoder.yudao.module.pay.service.order.PayOrderService;
import cn.iocoder.yudao.module.pay.service.refund.PayRefundService;
import cn.iocoder.yudao.module.system.api.social.SocialClientApi;
@@ -51,11 +52,6 @@ import static cn.iocoder.yudao.module.pay.enums.refund.PayRefundStatusEnum.*;
@Slf4j
public class PayWalletRechargeServiceImpl implements PayWalletRechargeService {
- /**
- * TODO 芋艿:放到 payconfig
- */
- private static final String WALLET_PAY_APP_KEY = "wallet";
-
private static final String WALLET_RECHARGE_ORDER_SUBJECT = "钱包余额充值";
@Resource
@@ -68,9 +64,13 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService {
private PayRefundService payRefundService;
@Resource
private PayWalletRechargePackageService payWalletRechargePackageService;
+
@Resource
public SocialClientApi socialClientApi;
+ @Resource
+ private PayProperties payProperties;
+
@Override
@Transactional(rollbackFor = Exception.class)
public PayWalletRechargeDO createWalletRecharge(Long userId, Integer userType, String userIp,
@@ -92,7 +92,7 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService {
// 2.1 创建支付单
Long payOrderId = payOrderService.createOrder(new PayOrderCreateReqDTO()
- .setAppKey(WALLET_PAY_APP_KEY).setUserIp(userIp)
+ .setAppKey(payProperties.getWalletPayAppKey()).setUserIp(userIp)
.setMerchantOrderId(recharge.getId().toString()) // 业务的订单编号
.setSubject(WALLET_RECHARGE_ORDER_SUBJECT).setBody("")
.setPrice(recharge.getPayPrice())
@@ -174,7 +174,7 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService {
String walletRechargeId = String.valueOf(id);
String refundId = walletRechargeId + "-refund";
Long payRefundId = payRefundService.createPayRefund(new PayRefundCreateReqDTO()
- .setAppKey(WALLET_PAY_APP_KEY).setUserIp(userIp)
+ .setAppKey(payProperties.getWalletPayAppKey()).setUserIp(userIp)
.setMerchantOrderId(walletRechargeId)
.setMerchantRefundId(refundId)
.setReason("想退钱").setPrice(walletRecharge.getPayPrice()));
diff --git a/yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayPayClientConfig.java b/yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayPayClientConfig.java
index 3cb2bc242..9980fb71e 100644
--- a/yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayPayClientConfig.java
+++ b/yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AlipayPayClientConfig.java
@@ -98,9 +98,12 @@ public class AlipayPayClientConfig implements PayClientConfig {
private String rootCertContent;
/**
- * 接口内容加密方式,如果为空,将使用无加密方式
- * 如果要加密,目前支付宝只有 AES 一种加密方式
- * 支付宝开放平台
+ * 接口内容加密方式
+ *
+ * 1. 如果为空,将使用无加密方式
+ * 2. 如果要加密,目前支付宝只有 AES 一种加密方式
+ *
+ * @see 支付宝开放平台
* @see AlipayPayClientConfig#ENC_TYPE_AES
*/
private String encryptType;
diff --git a/yudao-server/pom.xml b/yudao-server/pom.xml
index b161ee79c..d0c429aab 100644
--- a/yudao-server/pom.xml
+++ b/yudao-server/pom.xml
@@ -40,17 +40,17 @@
-
- cn.iocoder.boot
- yudao-module-report-biz
- ${revision}
-
+
+
+
+
+
-
- cn.iocoder.boot
- yudao-module-bpm-biz
- ${revision}
-
+
+
+
+
+
cn.iocoder.boot
@@ -59,11 +59,11 @@
-
- cn.iocoder.boot
- yudao-module-mp-biz
- ${revision}
-
+
+
+
+
+
@@ -88,25 +88,25 @@
-
- cn.iocoder.boot
- yudao-module-crm-biz
- ${revision}
-
+
+
+
+
+
-
- cn.iocoder.boot
- yudao-module-erp-biz
- ${revision}
-
+
+
+
+
+
-
- cn.iocoder.boot
- yudao-module-ai-biz
- ${revision}
-
+
+
+
+
+
diff --git a/yudao-server/src/main/resources/application-local.yaml b/yudao-server/src/main/resources/application-local.yaml
index 9847131b0..0c27aeac8 100644
--- a/yudao-server/src/main/resources/application-local.yaml
+++ b/yudao-server/src/main/resources/application-local.yaml
@@ -45,7 +45,7 @@ spring:
primary: master
datasource:
master:
- url: jdbc:mysql://39.105.15.179:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
+ url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
# url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=true&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai # MySQL Connector/J 5.X 连接的示例
# url: jdbc:postgresql://127.0.0.1:5432/ruoyi-vue-pro # PostgreSQL 连接的示例
# url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例
@@ -54,26 +54,26 @@ spring:
# url: jdbc:kingbase8://127.0.0.1:54321/test # 人大金仓 KingbaseES 连接的示例
# url: jdbc:postgresql://127.0.0.1:5432/postgres # OpenGauss 连接的示例
username: root
- password: 3WLiVUBEwTbvAfsh
+ password: 123456
# username: sa # SQL Server 连接的示例
# password: Yudao@2024 # SQL Server 连接的示例
# username: SYSDBA # DM 连接的示例
# password: SYSDBA001 # DM 连接的示例
# username: root # OpenGauss 连接的示例
# password: Yudao@2024 # OpenGauss 连接的示例
-# slave: # 模拟从库,可根据自己需要修改
-# lazy: true # 开启懒加载,保证启动速度
-# url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
-# username: root
-# password: 123456
+ slave: # 模拟从库,可根据自己需要修改
+ lazy: true # 开启懒加载,保证启动速度
+ url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
+ username: root
+ password: 123456
# Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
data:
redis:
- host: 39.105.15.179 # 地址
+ host: 127.0.0.1 # 地址
port: 6379 # 端口
database: 0 # 数据库索引
- password: 3WLiVUBEwTbvAfsh # 密码,建议生产环境开启
+# password: dev # 密码,建议生产环境开启
--- #################### 定时任务相关配置 ####################
@@ -110,18 +110,18 @@ spring:
# rocketmq 配置项,对应 RocketMQProperties 配置类
rocketmq:
- name-server: 117.72.39.77:9876 # RocketMQ Namesrv
+ name-server: 127.0.0.1:9876 # RocketMQ Namesrv
-#spring:
-# # RabbitMQ 配置项,对应 RabbitProperties 配置类
-# rabbitmq:
-# host: 127.0.0.1 # RabbitMQ 服务的地址
-# port: 5672 # RabbitMQ 服务的端口
-# username: rabbit # RabbitMQ 服务的账号
-# password: rabbit # RabbitMQ 服务的密码
-# # Kafka 配置项,对应 KafkaProperties 配置类
-# kafka:
-# bootstrap-servers: 127.0.0.1:9092 # 指定 Kafka Broker 地址,可以设置多个,以逗号分隔
+spring:
+ # RabbitMQ 配置项,对应 RabbitProperties 配置类
+ rabbitmq:
+ host: 127.0.0.1 # RabbitMQ 服务的地址
+ port: 5672 # RabbitMQ 服务的端口
+ username: rabbit # RabbitMQ 服务的账号
+ password: rabbit # RabbitMQ 服务的密码
+ # Kafka 配置项,对应 KafkaProperties 配置类
+ kafka:
+ bootstrap-servers: 127.0.0.1:9092 # 指定 Kafka Broker 地址,可以设置多个,以逗号分隔
--- #################### 服务保障相关配置 ####################
diff --git a/yudao-server/src/main/resources/application.yaml b/yudao-server/src/main/resources/application.yaml
index f294b8010..7a42906f9 100644
--- a/yudao-server/src/main/resources/application.yaml
+++ b/yudao-server/src/main/resources/application.yaml
@@ -309,7 +309,6 @@ yudao:
end-code: 9999 # 这里配置 9999 的原因是,测试方便。
trade:
order:
- app-key: mall
pay-expire-time: 2h # 支付的过期时间
receive-expire-time: 14d # 收货的过期时间
comment-expire-time: 7d # 评论的过期时间