Przeglądaj źródła

Merge branch 'master-jdk17' of https://gitee.com/zhijiantianya/ruoyi-vue-pro

# Conflicts:
#	yudao-module-pay/yudao-module-pay-biz/src/test-integration/java/cn/iocoder/yudao/module/pay/dal/mysql/merchant/PayChannelMapperIntegrationTest.java
#	yudao-module-pay/yudao-module-pay-biz/src/test-integration/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceIntegrationTest.java
#	yudao-module-pay/yudao-module-pay-biz/src/test-integration/resources/application-integration-test.yaml
YunaiV 9 miesięcy temu
rodzic
commit
14cc447ae4

+ 0 - 29
yudao-module-pay/yudao-module-pay-biz/src/test-integration/java/cn/iocoder/yudao/module/pay/dal/dataobject/merchant/PayChannelDOTest.java

@@ -1,29 +0,0 @@
-package cn.iocoder.yudao.module.pay.dal.dataobject.merchant;
-
-import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
-import cn.iocoder.yudao.framework.pay.core.client.impl.weixin.WXPayClientConfig;
-import org.junit.jupiter.api.Test;
-
-public class PayChannelDOTest {
-
-    @Test
-    public void testSerialization() {
-        PayChannelDO payChannelDO = new PayChannelDO();
-        // 创建配置
-        WXPayClientConfig config = new WXPayClientConfig();
-        config.setAppId("wx041349c6f39b268b");
-        config.setMchId("1545083881");
-        config.setApiVersion(WXPayClientConfig.API_VERSION_V2);
-        config.setMchKey("0alL64UDQdlCwiKZ73ib7ypaIjMns06p");
-        payChannelDO.setConfig(config);
-
-        // 序列化
-        String text = JsonUtils.toJsonString(payChannelDO);
-        System.out.println(text);
-
-        // 反序列化
-        payChannelDO = JsonUtils.parseObject(text, PayChannelDO.class);
-        System.out.println(payChannelDO.getConfig().getClass());
-    }
-
-}

+ 0 - 80
yudao-module-pay/yudao-module-pay-biz/src/test-integration/java/cn/iocoder/yudao/module/pay/dal/mysql/merchant/PayChannelMapperIntegrationTest.java

@@ -1,80 +0,0 @@
-package cn.iocoder.yudao.module.pay.dal.mysql.merchant;
-
-import cn.hutool.core.io.IoUtil;
-import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayChannelDO;
-import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
-import cn.iocoder.yudao.framework.pay.core.client.impl.alipay.AlipayPayClientConfig;
-import cn.iocoder.yudao.framework.pay.core.client.impl.weixin.WXPayClientConfig;
-import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
-import cn.iocoder.yudao.module.pay.test.BaseDbIntegrationTest;
-import org.junit.jupiter.api.Test;
-
-import javax.annotation.Resource;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.util.List;
-
-@Resource
-public class PayChannelMapperIntegrationTest extends BaseDbIntegrationTest {
-
-    @Resource
-    private PayChannelMapper payChannelMapper;
-
-    /**
-     * 插入 {@link PayChannelEnum#WX_PUB} 初始配置
-     */
-    @Test
-    public void testInsertWxPub() throws FileNotFoundException {
-        PayChannelDO payChannelDO = new PayChannelDO();
-        payChannelDO.setCode(PayChannelEnum.WX_PUB.getCode());
-        payChannelDO.setStatus(CommonStatusEnum.ENABLE.getStatus());
-        payChannelDO.setFeeRate(1D);
-        payChannelDO.setAppId(6L);
-        // 配置
-        WXPayClientConfig config = new WXPayClientConfig();
-        config.setAppId("wx041349c6f39b268b");
-        config.setMchId("1545083881");
-        config.setApiVersion(WXPayClientConfig.API_VERSION_V2);
-        config.setMchKey("0alL64UDQdlCwiKZ73ib7ypaIjMns06p");
-        config.setPrivateKeyContent(IoUtil.readUtf8(new FileInputStream("/Users/yunai/Downloads/wx_pay/apiclient_key.pem")));
-        config.setPrivateCertContent(IoUtil.readUtf8(new FileInputStream("/Users/yunai/Downloads/wx_pay/apiclient_cert.pem")));
-        config.setApiV3Key("joerVi8y5DJ3o4ttA0o1uH47Xz1u2Ase");
-        payChannelDO.setConfig(config);
-        // 执行插入
-        payChannelMapper.insert(payChannelDO);
-    }
-
-    // TODO @ouyang:Zfb 改成 AlipayQr
-    /**
-     * 插入 {@link PayChannelEnum#ALIPAY_QR} 初始配置
-     */
-    @Test
-    public void testInsertZfb() {
-        PayChannelDO payChannelDO = new PayChannelDO();
-        payChannelDO.setCode(PayChannelEnum.ALIPAY_QR.getCode());
-        payChannelDO.setStatus(CommonStatusEnum.ENABLE.getStatus());
-        payChannelDO.setFeeRate(1D);
-        payChannelDO.setAppId(6L);
-        // 配置
-        AlipayPayClientConfig config = new AlipayPayClientConfig();
-        config.setAppId("2021000118634035");
-        config.setServerUrl(AlipayPayClientConfig.SERVER_URL_SANDBOX);
-        config.setSignType(AlipayPayClientConfig.SIGN_TYPE_DEFAULT);
-        config.setPrivateKey("MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCHsEV1cDupwJv890x84qbppUtRIfhaKSwSVN0thCcsDCaAsGR5MZslDkO8NCT9V4r2SVXjyY7eJUZlZd1M0C8T01Tg4UOx5LUbic0O3A1uJMy6V1n9IyYwbAW3AEZhBd5bSbPgrqvmv3NeWSTQT6Anxnllf+2iDH6zyA2fPl7cYyQtbZoDJQFGqr4F+cGh2R6akzRKNoBkAeMYwoY6es2lX8sJxCVPWUmxNUoL3tScwlSpd7Bxw0q9c/X01jMwuQ0+Va358zgFiGERTE6yD01eu40OBDXOYO3z++y+TAYHlQQ2toMO63trepo88X3xV3R44/1DH+k2pAm2IF5ixiLrAgMBAAECggEAPx3SoXcseaD7rmcGcE0p4SMfbsUDdkUSmBBbtfF0GzwnqNLkWa+mgE0rWt9SmXngTQH97vByAYmLPl1s3G82ht1V7Sk7yQMe74lhFllr8eEyTjeVx3dTK1EEM4TwN+936DTXdFsr4TELJEcJJdD0KaxcCcfBLRDs2wnitEFZ9N+GoZybVmY8w0e0MI7PLObUZ2l0X4RurQnfG9ZxjXjC7PkeMVv7cGGylpNFi3BbvkRhdhLPDC2E6wqnr9e7zk+hiENivAezXrtxtwKovzCtnWJ1r0IO14Rh47H509Ic0wFnj+o5YyUL4LdmpL7yaaH6fM7zcSLFjNZPHvZCKPwYcQKBgQDQFho98QvnL8ex4v6cry4VitGpjSXm1qP3vmMQk4rTsn8iPWtcxPjqGEqOQJjdi4Mi0VZKQOLFwlH0kl95wNrD/isJ4O1yeYfX7YAXApzHqYNINzM79HemO3Yx1qLMW3okRFJ9pPRzbQ9qkTpsaegsmyX316zOBhzGRYjKbutTYwKBgQCm7phr9XdFW5Vh+XR90mVs483nrLmMiDKg7YKxSLJ8amiDjzPejCn7i95Hah08P+2MIZLIPbh2VLacczR6ltRRzN5bg5etFuqSgfkuHyxpoDmpjbe08+Q2h8JBYqcC5Nhv1AKU4iOUhVLHo/FBAQliMcGc/J3eiYTFC7EsNx382QKBgClb20doe7cttgFTXswBvaUmfFm45kmla924B7SpvrQpDD/f+VDtDZRp05fGmxuduSjYdtA3aVtpLiTwWu22OUUvZZqHDGruYOO4Hvdz23mL5b4ayqImCwoNU4bAZIc9v18p/UNf3/55NNE3oGcf/bev9rH2OjCQ4nM+Ktwhg8CFAoGACSgvbkShzUkv0ZcIf9ppu+ZnJh1AdGgINvGwaJ8vQ0nm/8h8NOoFZ4oNoGc+wU5Ubops7dUM6FjPR5e+OjdJ4E7Xp7d5O4J1TaIZlCEbo5OpdhaTDDcQvrkFu+Z4eN0qzj+YAKjDAOOrXc4tbr5q0FsgXscwtcNfaBuzFVTUrUkCgYEAwzPnMNhWG3zOWLUs2QFA2GP4Y+J8cpUYfj6pbKKzeLwyG9qBwF1NJpN8m+q9q7V9P2LY+9Lp9e1mGsGeqt5HMEA3P6vIpcqLJLqE/4PBLLRzfccTcmqb1m71+erxTRhHBRkGS+I7dZEb3olQfnS1Y1tpMBxiwYwR3LW4oXuJwj8=");
-        config.setAlipayPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnq90KnF4dTnlzzmxpujbI05OYqi5WxAS6cL0gnZFv2gK51HExF8v/BaP7P979PhFMgWTqmOOI+Dtno5s+yD09XTY1WkshbLk6i4g2Xlr8fyW9ODnkU88RI2w9UdPhQU4cPPwBNlrsYhKkVK2OxwM3kFqjoBBY0CZoZCsSQ3LDH5WeZqPArlsS6xa2zqJBuuoKjMrdpELl3eXSjP8K54eDJCbeetCZNKWLL3DPahTPB7LZikfYmslb0QUvCgGapD0xkS7eVq70NaL1G57MWABs4tbfWgxike4Daj3EfUrzIVspQxj7w8HEj9WozJPgL88kSJSits0pqD3n5r8HSuseQIDAQAB");
-        // 创建客户端
-        payChannelDO.setConfig(config);
-        // 执行插入
-        payChannelMapper.insert(payChannelDO);
-    }
-
-    /**
-     * 查询所有支付配置,看看是否都是 ok 的
-     */
-    @Test
-    public void testSelectList() {
-        List<PayChannelDO> payChannels = payChannelMapper.selectList();
-        System.out.println(payChannels.size());
-    }
-
-}

+ 0 - 51
yudao-module-pay/yudao-module-pay-biz/src/test-integration/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceIntegrationTest.java

@@ -1,51 +0,0 @@
-package cn.iocoder.yudao.module.pay.service.order;
-
-import cn.iocoder.yudao.module.pay.service.channel.PayAppServiceImpl;
-import cn.iocoder.yudao.module.pay.service.channel.PayChannelServiceImpl;
-import cn.iocoder.yudao.module.pay.service.order.dto.PayOrderCreateReqDTO;
-import cn.iocoder.yudao.module.pay.service.order.dto.PayOrderSubmitReqDTO;
-import cn.iocoder.yudao.module.pay.test.BaseDbIntegrationTest;
-import cn.iocoder.yudao.framework.common.util.date.DateUtils;
-import cn.iocoder.yudao.framework.pay.config.YudaoPayAutoConfiguration;
-import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
-import org.junit.jupiter.api.Test;
-import org.springframework.context.annotation.Import;
-
-import javax.annotation.Resource;
-import java.time.Duration;
-
-@Import({PayOrderServiceImpl.class, PayAppServiceImpl.class,
-        PayChannelServiceImpl.class, YudaoPayAutoConfiguration.class})
-public class PayOrderServiceIntegrationTest extends BaseDbIntegrationTest {
-
-    @Resource
-    private PayOrderService payOrderService;
-
-    @Test
-    public void testCreatePayOrder() {
-        // 构造请求
-        PayOrderCreateReqDTO reqDTO = new PayOrderCreateReqDTO();
-        reqDTO.setAppId(6L);
-        reqDTO.setUserIp("127.0.0.1");
-        reqDTO.setMerchantOrderId(String.valueOf(System.currentTimeMillis()));
-        reqDTO.setSubject("标题");
-        reqDTO.setBody("内容");
-        reqDTO.setPrice(100);
-        reqDTO.setExpireTime(DateUtils.addTime(Duration.ofDays(1)));
-        // 发起请求
-        payOrderService.createPayOrder(reqDTO);
-    }
-
-    @Test
-    public void testSubmitPayOrder() {
-        // 构造请求
-        PayOrderSubmitReqDTO reqDTO = new PayOrderSubmitReqDTO();
-        reqDTO.setId(10L);
-        reqDTO.setAppId(6L);
-        reqDTO.setChannelCode(PayChannelEnum.WX_PUB.getCode());
-        reqDTO.setUserIp("127.0.0.1");
-        // 发起请求
-        payOrderService.submitPayOrder(reqDTO);
-    }
-
-}

+ 0 - 1
yudao-module-pay/yudao-module-pay-biz/src/test-integration/java/cn/iocoder/yudao/module/pay/service/package-info.java

@@ -1 +0,0 @@
-package cn.iocoder.yudao.module.pay.service;

+ 0 - 38
yudao-module-pay/yudao-module-pay-biz/src/test-integration/java/cn/iocoder/yudao/module/pay/test/BaseDbAndRedisIntegrationTest.java

@@ -1,38 +0,0 @@
-package cn.iocoder.yudao.module.pay.test;
-
-import cn.iocoder.yudao.framework.datasource.config.YudaoDataSourceAutoConfiguration;
-import cn.iocoder.yudao.framework.mybatis.config.YudaoMybatisAutoConfiguration;
-import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration;
-import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration;
-import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
-import org.redisson.spring.starter.RedissonAutoConfiguration;
-import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.context.annotation.Import;
-import org.springframework.test.context.ActiveProfiles;
-
-@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = BaseDbAndRedisIntegrationTest.Application.class)
-@ActiveProfiles("integration-test") // 设置使用 application-integration-test 配置文件
-public class BaseDbAndRedisIntegrationTest {
-
-    @Import({
-            // DB 配置类
-            DynamicDataSourceAutoConfiguration.class, // Dynamic Datasource 配置类
-            YudaoDataSourceAutoConfiguration.class, // 自己的 DB 配置类
-            DataSourceAutoConfiguration.class, // Spring DB 自动配置类
-            DataSourceTransactionManagerAutoConfiguration.class, // Spring 事务自动配置类
-            // MyBatis 配置类
-            YudaoMybatisAutoConfiguration.class, // 自己的 MyBatis 配置类
-            MybatisPlusAutoConfiguration.class, // MyBatis 的自动配置类
-
-            // Redis 配置类
-            RedisAutoConfiguration.class, // Spring Redis 自动配置类
-            YudaoRedisAutoConfiguration.class, // 自己的 Redis 配置类
-            RedissonAutoConfiguration.class, // Redisson 自动配置类
-    })
-    public static class Application {
-    }
-
-}

+ 0 - 30
yudao-module-pay/yudao-module-pay-biz/src/test-integration/java/cn/iocoder/yudao/module/pay/test/BaseDbIntegrationTest.java

@@ -1,30 +0,0 @@
-package cn.iocoder.yudao.module.pay.test;
-
-import cn.iocoder.yudao.framework.datasource.config.YudaoDataSourceAutoConfiguration;
-import cn.iocoder.yudao.framework.mybatis.config.YudaoMybatisAutoConfiguration;
-import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration;
-import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.context.annotation.Import;
-import org.springframework.test.context.ActiveProfiles;
-
-@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = BaseDbIntegrationTest.Application.class)
-@ActiveProfiles("integration-test") // 设置使用 application-integration-test 配置文件
-public class BaseDbIntegrationTest {
-
-    @Import({
-            // DB 配置类
-            DynamicDataSourceAutoConfiguration.class, // Dynamic Datasource 配置类
-            YudaoDataSourceAutoConfiguration.class, // 自己的 DB 配置类
-            DataSourceAutoConfiguration.class, // Spring DB 自动配置类
-            DataSourceTransactionManagerAutoConfiguration.class, // Spring 事务自动配置类
-            // MyBatis 配置类
-            YudaoMybatisAutoConfiguration.class, // 自己的 MyBatis 配置类
-            MybatisPlusAutoConfiguration.class, // MyBatis 的自动配置类
-    })
-    public static class Application {
-    }
-
-}

+ 0 - 23
yudao-module-pay/yudao-module-pay-biz/src/test-integration/java/cn/iocoder/yudao/module/pay/test/BaseRedisIntegrationTest.java

@@ -1,23 +0,0 @@
-package cn.iocoder.yudao.module.pay.test;
-
-import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration;
-import org.redisson.spring.starter.RedissonAutoConfiguration;
-import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.context.annotation.Import;
-import org.springframework.test.context.ActiveProfiles;
-
-@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = BaseRedisIntegrationTest.Application.class)
-@ActiveProfiles("integration-test") // 设置使用 application-integration-test 配置文件
-public class BaseRedisIntegrationTest {
-
-    @Import({
-            // Redis 配置类
-            RedisAutoConfiguration.class, // Spring Redis 自动配置类
-            YudaoRedisAutoConfiguration.class, // 自己的 Redis 配置类
-            RedissonAutoConfiguration.class, // Redisson 自动配置类
-    })
-    public static class Application {
-    }
-
-}

+ 0 - 83
yudao-module-pay/yudao-module-pay-biz/src/test-integration/resources/application-integration-test.yaml

@@ -1,83 +0,0 @@
-spring:
-  main:
-    lazy-initialization: true # 开启懒加载,加快速度
-    banner-mode: off # 单元测试,禁用 Banner
-
---- #################### 数据库相关配置 ####################
-
-spring:
-  # 数据源配置项
-  autoconfigure:
-    exclude:
-      - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源
-  datasource:
-    druid: # Druid 【监控】相关的全局配置
-      web-stat-filter:
-        enabled: true
-    dynamic: # 多数据源配置
-      druid: # Druid 【连接池】相关的全局配置
-        initial-size: 5 # 初始连接数
-        min-idle: 10 # 最小连接池数量
-        max-active: 20 # 最大连接池数量
-        max-wait: 600000 # 配置获取连接等待超时的时间,单位:毫秒
-        time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位:毫秒
-        min-evictable-idle-time-millis: 300000 # 配置一个连接在池中最小生存的时间,单位:毫秒
-        max-evictable-idle-time-millis: 900000 # 配置一个连接在池中最大生存的时间,单位:毫秒
-        validation-query: SELECT 1 FROM DUAL # 配置检测连接是否有效
-        test-while-idle: true
-        test-on-borrow: false
-        test-on-return: false
-      primary: master
-      datasource:
-        master:
-          name: ruoyi-vue-pro
-          url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT
-          driver-class-name: com.mysql.jdbc.Driver
-          username: root
-          password: 123456
-        slave: # 模拟从库,可根据自己需要修改
-          name: ruoyi-vue-pro
-          url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT
-          driver-class-name: com.mysql.jdbc.Driver
-          username: root
-          password: 123456
-
-  # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
-  redis:
-    host: 127.0.0.1 # 地址
-    port: 6379 # 端口
-    database: 0 # 数据库索引
-
-mybatis:
-  lazy-initialization: true # 单元测试,设置 MyBatis Mapper 延迟加载,加速每个单元测试
-mybatis-plus:
-  configuration:
-    map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 打印日志
-  global-config:
-    db-config:
-      id-type: AUTO # 自增 ID
-      logic-delete-value: 1 # 逻辑已删除值(默认为 1)
-      logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
-  mapper-locations: classpath*:mapper/*.xml
-  type-aliases-package: ${yudao.info.base-package}.module.*.dal.dataobject
-
---- #################### 定时任务相关配置 ####################
-
---- #################### 配置中心相关配置 ####################
-
---- #################### 服务保障相关配置 ####################
-
-# Lock4j 配置项(单元测试,禁用 Lock4j)
-
---- #################### 监控相关配置 ####################
-
---- #################### 芋道相关配置 ####################
-
-yudao:
-  info:
-    version: 1.0.0
-    base-package: cn.iocoder.yudao.module
-  pay:
-    pay-notify-url: http://niubi.natapp1.cc/api/pay/order/notify
-    refund-notify-url: http://niubi.natapp1.cc/api/pay/refund/notify