From 8eab8bb1e259f4b0216b1d0f5ec4c89fc95bd6f6 Mon Sep 17 00:00:00 2001 From: GYJ <1157756119@qq.com> Date: Sat, 4 Jan 2025 21:44:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AD=A3=E5=BC=8F=E7=8E=AF=E5=A2=83=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sqx/modules/job/task/TempOrdersTask.java | 1 - src/main/resources/application-pay.yml | 179 +++++++++++++++--- src/main/resources/application-prod.yml | 75 ++++---- src/test/java/com/sqx/Tets.java | 18 +- 4 files changed, 209 insertions(+), 64 deletions(-) diff --git a/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java b/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java index 35e98ce8..30b4e291 100644 --- a/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java +++ b/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java @@ -90,7 +90,6 @@ public class TempOrdersTask { this.sysUserMoneyDetailsService = sysUserMoneyDetailsService; } - @Scheduled(cron = "0 0/10 * * * ? ") public void order() { if (!"pay".equals(profiles)) { diff --git a/src/main/resources/application-pay.yml b/src/main/resources/application-pay.yml index 0d94a784..75cd1d9c 100644 --- a/src/main/resources/application-pay.yml +++ b/src/main/resources/application-pay.yml @@ -1,3 +1,10 @@ +swagger: + enabled: true +pay: + h5BaseUrl: https://video-h5.hnsiyao.cn/me/detail/detail?allId= + orderNotifyUrl: https://video.hnsiyao.cn/czg/app/wuyou/notify + extractNotifyUrl: https://video.hnsiyao.cn/czg/app/wuyou/extractNotify + # 数据源的一些配置 driver-class-name: com.mysql.cj.jdbc.Driver # 最小空闲连接,默认值10,小于0或大于maximum-pool-size,都会重置为maximum-pool-size @@ -5,7 +12,7 @@ minimum-idle: 5 # 最大连接数,小于等于0会被重置为默认值10;大于零小于1会被重置为minimum-idle的值 maximum-pool-size: 15 # 空闲连接超时时间,默认值600000(10分钟),大于等于max-lifetime且max-lifetime>0,会被重置为0;不等于0且小于10秒,会被重置为10秒。 -idle-timeout: 30000 +idle-timeout: 20000 # 连接最大存活时间.不等于0且小于30秒,会被重置为默认值30分钟.设置应该比mysql设置的超时时间短 max-lifetime: 30000 # 连接超时时间:毫秒,小于250毫秒,否则被重置为默认值30秒 @@ -14,33 +21,139 @@ connection-timeout: 30000 spring: # sharding-jdbc 配置 shardingsphere: - center-tables-data-node: duanju.%s # 显示sharding-jdbc改写的sql语句 - show-sql: false + show-sql: true + + center-tables-data-node: duanju.%s + # 区域表的数据源节点 + region-tables-data-node: duanju-$->{0..4}.%s + # 区域分库策略的计算字段 + region-tables-sharding-database-column: user_id + # 分库的计算方法 + region-tables-sharding-database-algorithm: duanju-$->{user_id % 5} + + # 短剧集表 拆分 + course_details-sharding-database-column: course_id + course_details-sharding-database-algorithm: duanju-$->{course_id % 5} # 数据源名称 datasource: - # 数据源配置begin - master-0: + duanju: driver-class-name: ${driver-class-name} jdbc-url: jdbc:mysql://rm-gc7xx913734hv5w5qxo.mysql.cn-chengdu.rds.aliyuncs.com/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT username: video_user password: VideoUser@1 -# jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT -# username: video_user -# password: VideoUser@1 minimum-idle: ${minimum-idle} maximum-pool-size: ${maximum-pool-size} idle-timeout: ${idle-timeout} max-lifetime: ${max-lifetime} connection-timeout: ${connection-timeout} - slave-0: + # 数据源配置begin + duanju-0: driver-class-name: ${driver-class-name} - jdbc-url: jdbc:mysql://rm-gc7xx913734hv5w5qxo.mysql.cn-chengdu.rds.aliyuncs.com/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + jdbc-url: jdbc:mysql://rm-gc7xx913734hv5w5qxo.mysql.cn-chengdu.rds.aliyuncs.com/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT username: video_user password: VideoUser@1 -# jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT -# username: root -# password: 0fd6497c308ccfa8 + minimum-idle: ${minimum-idle} + maximum-pool-size: ${maximum-pool-size} + idle-timeout: ${idle-timeout} + max-lifetime: ${max-lifetime} + connection-timeout: ${connection-timeout} + duanju-1: + driver-class-name: ${driver-class-name} + jdbc-url: jdbc:mysql://rm-gc7xx913734hv5w5qxo.mysql.cn-chengdu.rds.aliyuncs.com/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: video_user + password: VideoUser@1 + minimum-idle: ${minimum-idle} + maximum-pool-size: ${maximum-pool-size} + idle-timeout: ${idle-timeout} + max-lifetime: ${max-lifetime} + connection-timeout: ${connection-timeout} + duanju-2: + driver-class-name: ${driver-class-name} + jdbc-url: jdbc:mysql://rm-gc7xx913734hv5w5qxo.mysql.cn-chengdu.rds.aliyuncs.com/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: video_user + password: VideoUser@1 + minimum-idle: ${minimum-idle} + maximum-pool-size: ${maximum-pool-size} + idle-timeout: ${idle-timeout} + max-lifetime: ${max-lifetime} + connection-timeout: ${connection-timeout} + duanju-3: + driver-class-name: ${driver-class-name} + jdbc-url: jdbc:mysql://rm-gc7xx913734hv5w5qxo.mysql.cn-chengdu.rds.aliyuncs.com/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: video_user + password: VideoUser@1 + minimum-idle: ${minimum-idle} + maximum-pool-size: ${maximum-pool-size} + idle-timeout: ${idle-timeout} + max-lifetime: ${max-lifetime} + connection-timeout: ${connection-timeout} + duanju-4: + driver-class-name: ${driver-class-name} + jdbc-url: jdbc:mysql://rm-gc7xx913734hv5w5qxo.mysql.cn-chengdu.rds.aliyuncs.com/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: video_user + password: VideoUser@1 + minimum-idle: ${minimum-idle} + maximum-pool-size: ${maximum-pool-size} + idle-timeout: ${idle-timeout} + max-lifetime: ${max-lifetime} + connection-timeout: ${connection-timeout} + + duanju-slave: + driver-class-name: ${driver-class-name} + jdbc-url: jdbc:mysql://47.122.30.120:3306/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: root + password: VideoUser1@ + minimum-idle: ${minimum-idle} + maximum-pool-size: ${maximum-pool-size} + idle-timeout: ${idle-timeout} + max-lifetime: ${max-lifetime} + connection-timeout: ${connection-timeout} + duanju-slave-0: + driver-class-name: ${driver-class-name} + jdbc-url: jdbc:mysql://47.122.30.120:3306/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: root + password: VideoUser1@ + minimum-idle: ${minimum-idle} + maximum-pool-size: ${maximum-pool-size} + idle-timeout: ${idle-timeout} + max-lifetime: ${max-lifetime} + connection-timeout: ${connection-timeout} + duanju-slave-1: + driver-class-name: ${driver-class-name} + jdbc-url: jdbc:mysql://47.122.30.120:3306/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: root + password: VideoUser1@ + minimum-idle: ${minimum-idle} + maximum-pool-size: ${maximum-pool-size} + idle-timeout: ${idle-timeout} + max-lifetime: ${max-lifetime} + connection-timeout: ${connection-timeout} + duanju-slave-2: + driver-class-name: ${driver-class-name} + jdbc-url: jdbc:mysql://47.122.30.120:3306/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: root + password: VideoUser1@ + minimum-idle: ${minimum-idle} + maximum-pool-size: ${maximum-pool-size} + idle-timeout: ${idle-timeout} + max-lifetime: ${max-lifetime} + connection-timeout: ${connection-timeout} + duanju-slave-3: + driver-class-name: ${driver-class-name} + jdbc-url: jdbc:mysql://47.122.30.120:3306/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: root + password: VideoUser1@ + minimum-idle: ${minimum-idle} + maximum-pool-size: ${maximum-pool-size} + idle-timeout: ${idle-timeout} + max-lifetime: ${max-lifetime} + connection-timeout: ${connection-timeout} + duanju-slave-4: + driver-class-name: ${driver-class-name} + jdbc-url: jdbc:mysql://47.122.30.120:3306/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: root + password: VideoUser1@ minimum-idle: ${minimum-idle} maximum-pool-size: ${maximum-pool-size} idle-timeout: ${idle-timeout} @@ -52,14 +165,32 @@ spring: master-slave-rules: #数据源 duanju: - master-data-source-name: master-0 - slave-data-source-names: slave-0 -# - master-0 -# - slave-0 - -swagger: - enabled: true -pay: - h5BaseUrl: https://video-h5.hnsiyao.cn/me/detail/detail?allId= - orderNotifyUrl: https://video.hnsiyao.cn/czg/app/wuyou/notify - extractNotifyUrl: https://video.hnsiyao.cn/czg/app/wuyou/extractNotify + masterDataSourceName: duanju + slaveDataSourceNames: + # - duanju + - duanju-slave + duanju-0: + masterDataSourceName: duanju-0 + slaveDataSourceNames: + # - duanju-0 + - duanju-slave-0 + duanju-1: + masterDataSourceName: duanju-1 + slaveDataSourceNames: + # - duanju-1 + - duanju-slave-1 + duanju-2: + masterDataSourceName: duanju-2 + slaveDataSourceNames: + # - duanju-2 + - duanju-slave-2 + duanju-3: + masterDataSourceName: duanju-3 + slaveDataSourceNames: + # - duanju-3 + - duanju-slave-3 + duanju-4: + masterDataSourceName: duanju-4 + slaveDataSourceNames: + # - duanju-4 + - duanju-slave-4 diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index b3ce2cef..77b2ee4d 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -1,9 +1,9 @@ swagger: - enabled: false + enabled: true pay: - h5BaseUrl: https://dj-h5.hnsiyao.cn/me/detail/detail?allId= - orderNotifyUrl: https://pay.hnsiyao.cn/czg/app/wuyou/notify - extractNotifyUrl: https://pay.hnsiyao.cn/czg/app/wuyou/extractNotify + h5BaseUrl: https://video-h5.hnsiyao.cn/me/detail/detail?allId= + orderNotifyUrl: https://video.hnsiyao.cn/czg/app/wuyou/notify + extractNotifyUrl: https://video.hnsiyao.cn/czg/app/wuyou/extractNotify # 数据源的一些配置 driver-class-name: com.mysql.cj.jdbc.Driver @@ -39,9 +39,9 @@ spring: datasource: duanju: driver-class-name: ${driver-class-name} - jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT - username: root - password: gongyijieqp002 + jdbc-url: jdbc:mysql://rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: video_user + password: VideoUser@1 minimum-idle: ${minimum-idle} maximum-pool-size: ${maximum-pool-size} idle-timeout: ${idle-timeout} @@ -50,9 +50,9 @@ spring: # 数据源配置begin duanju-0: driver-class-name: ${driver-class-name} - jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT - username: root - password: gongyijieqp002 + jdbc-url: jdbc:mysql://rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: video_user + password: VideoUser@1 minimum-idle: ${minimum-idle} maximum-pool-size: ${maximum-pool-size} idle-timeout: ${idle-timeout} @@ -60,9 +60,9 @@ spring: connection-timeout: ${connection-timeout} duanju-1: driver-class-name: ${driver-class-name} - jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT - username: root - password: gongyijieqp002 + jdbc-url: jdbc:mysql://rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: video_user + password: VideoUser@1 minimum-idle: ${minimum-idle} maximum-pool-size: ${maximum-pool-size} idle-timeout: ${idle-timeout} @@ -70,9 +70,9 @@ spring: connection-timeout: ${connection-timeout} duanju-2: driver-class-name: ${driver-class-name} - jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT - username: root - password: gongyijieqp002 + jdbc-url: jdbc:mysql://rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: video_user + password: VideoUser@1 minimum-idle: ${minimum-idle} maximum-pool-size: ${maximum-pool-size} idle-timeout: ${idle-timeout} @@ -80,9 +80,9 @@ spring: connection-timeout: ${connection-timeout} duanju-3: driver-class-name: ${driver-class-name} - jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT - username: root - password: gongyijieqp002 + jdbc-url: jdbc:mysql://rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: video_user + password: VideoUser@1 minimum-idle: ${minimum-idle} maximum-pool-size: ${maximum-pool-size} idle-timeout: ${idle-timeout} @@ -90,9 +90,9 @@ spring: connection-timeout: ${connection-timeout} duanju-4: driver-class-name: ${driver-class-name} - jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT - username: root - password: gongyijieqp002 + jdbc-url: jdbc:mysql://rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + username: video_user + password: VideoUser@1 minimum-idle: ${minimum-idle} maximum-pool-size: ${maximum-pool-size} idle-timeout: ${idle-timeout} @@ -101,9 +101,9 @@ spring: duanju-slave: driver-class-name: ${driver-class-name} - jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + jdbc-url: jdbc:mysql://172.18.96.8:3306/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT username: root - password: gongyijieqp002 + password: VideoUser1@ minimum-idle: ${minimum-idle} maximum-pool-size: ${maximum-pool-size} idle-timeout: ${idle-timeout} @@ -111,9 +111,9 @@ spring: connection-timeout: ${connection-timeout} duanju-slave-0: driver-class-name: ${driver-class-name} - jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + jdbc-url: jdbc:mysql://172.18.96.8:3306/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT username: root - password: gongyijieqp002 + password: VideoUser1@ minimum-idle: ${minimum-idle} maximum-pool-size: ${maximum-pool-size} idle-timeout: ${idle-timeout} @@ -121,9 +121,9 @@ spring: connection-timeout: ${connection-timeout} duanju-slave-1: driver-class-name: ${driver-class-name} - jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + jdbc-url: jdbc:mysql://172.18.96.8:3306/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT username: root - password: gongyijieqp002 + password: VideoUser1@ minimum-idle: ${minimum-idle} maximum-pool-size: ${maximum-pool-size} idle-timeout: ${idle-timeout} @@ -131,9 +131,9 @@ spring: connection-timeout: ${connection-timeout} duanju-slave-2: driver-class-name: ${driver-class-name} - jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + jdbc-url: jdbc:mysql://172.18.96.8:3306/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT username: root - password: gongyijieqp002 + password: VideoUser1@ minimum-idle: ${minimum-idle} maximum-pool-size: ${maximum-pool-size} idle-timeout: ${idle-timeout} @@ -141,9 +141,9 @@ spring: connection-timeout: ${connection-timeout} duanju-slave-3: driver-class-name: ${driver-class-name} - jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + jdbc-url: jdbc:mysql://172.18.96.8:3306/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT username: root - password: gongyijieqp002 + password: VideoUser1@ minimum-idle: ${minimum-idle} maximum-pool-size: ${maximum-pool-size} idle-timeout: ${idle-timeout} @@ -151,9 +151,9 @@ spring: connection-timeout: ${connection-timeout} duanju-slave-4: driver-class-name: ${driver-class-name} - jdbc-url: jdbc:mysql://192.168.1.41:3306/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT + jdbc-url: jdbc:mysql://172.18.96.8:3306/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT username: root - password: gongyijieqp002 + password: VideoUser1@ minimum-idle: ${minimum-idle} maximum-pool-size: ${maximum-pool-size} idle-timeout: ${idle-timeout} @@ -167,25 +167,30 @@ spring: duanju: masterDataSourceName: duanju slaveDataSourceNames: + # - duanju - duanju-slave duanju-0: masterDataSourceName: duanju-0 slaveDataSourceNames: + # - duanju-0 - duanju-slave-0 duanju-1: masterDataSourceName: duanju-1 slaveDataSourceNames: + # - duanju-1 - duanju-slave-1 duanju-2: masterDataSourceName: duanju-2 slaveDataSourceNames: + # - duanju-2 - duanju-slave-2 duanju-3: masterDataSourceName: duanju-3 slaveDataSourceNames: + # - duanju-3 - duanju-slave-3 duanju-4: masterDataSourceName: duanju-4 slaveDataSourceNames: + # - duanju-4 - duanju-slave-4 - diff --git a/src/test/java/com/sqx/Tets.java b/src/test/java/com/sqx/Tets.java index 875a5e89..f53d1a82 100644 --- a/src/test/java/com/sqx/Tets.java +++ b/src/test/java/com/sqx/Tets.java @@ -13,6 +13,7 @@ import com.aliyun.tea.TeaException; import com.aliyun.teaopenapi.models.Config; import com.aliyun.dytnsapi20200217.Client; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.sqx.modules.app.dao.UserDao; import com.sqx.modules.app.dao.UserMoneyDao; import com.sqx.modules.app.dao.UserMoneyDetailsDao; @@ -23,11 +24,13 @@ import com.sqx.modules.app.entity.UserMoneyDetails; import com.sqx.modules.app.service.InviteAchievementService; import com.sqx.modules.app.service.UserService; import com.sqx.modules.job.task.TempOrdersTask; +import com.sqx.modules.orders.service.OrdersService; import com.sqx.modules.pay.controller.app.WuyouController; import com.sqx.modules.pay.dao.PayDetailsDao; import com.sqx.modules.pay.entity.PayDetails; import com.sqx.modules.pay.service.PayDetailsService; import com.sqx.modules.pay.wuyou.BaseResp; +import com.sqx.modules.sys.service.SysUserService; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.slf4j.Logger; @@ -44,7 +47,7 @@ import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; -@ActiveProfiles("dev") +@ActiveProfiles("pay") @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class Tets { private static final Logger log = LoggerFactory.getLogger(Tets.class); @@ -67,6 +70,12 @@ public class Tets { @Autowired private UserDao userDao; + @Autowired + private SysUserService sysUserService; + + @Autowired + private OrdersService ordersService; + @Test public void test4() { UserEntity userEntity = userDao.selectById(1072962203591784209L); @@ -76,9 +85,10 @@ public class Tets { @Test public void test3() { - Set useridList = userMoneyDetailsDao.selectList(new LambdaQueryWrapper().eq(UserMoneyDetails::getClassify, 6).groupBy(UserMoneyDetails::getUserId).select(UserMoneyDetails::getUserId)).stream().map(UserMoneyDetails::getUserId).collect(Collectors.toSet()); + List userMoneyDetails = userMoneyDetailsDao.selectList(new LambdaQueryWrapper().in(UserMoneyDetails::getClassify, 6, 1).isNotNull(UserMoneyDetails::getUserId).groupBy(UserMoneyDetails::getUserId).select(UserMoneyDetails::getUserId)); + Set useridList = userMoneyDetails.stream().map(UserMoneyDetails::getUserId).collect(Collectors.toSet()); List userMoneyDetailsList = userMoneyDao.selectList(new LambdaQueryWrapper().in(UserMoney::getUserId, useridList)); - userMoneyDetailsList.forEach(userMoney -> { + userMoneyDetailsList.parallelStream().forEach(userMoney -> { BigDecimal coin = userMoneyDao.sumMoney(userMoney.getUserId()); BigDecimal money = userMoneyDao.sumMoney2(userMoney.getUserId()); log.info("用户: {}, 金币: {}, 金额: {}", userMoney.getUserId(), coin, money); @@ -92,7 +102,7 @@ public class Tets { @Test public void test2() { -// inviteAchievementService.remove(new LambdaQueryWrapper<>()); + inviteAchievementService.remove(new LambdaQueryWrapper<>()); List userinfoList = userService.list();