From 14fb187e3fba39d0978871ac0e0770058de2aea2 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期四, 17 七月 2025 18:21:26 +0800 Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java | 19 ++++++++- ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/GovernmentCloudTask.java | 50 ++++++++++++++++++++---- 2 files changed, 57 insertions(+), 12 deletions(-) diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java index ef85729..f21d309 100644 --- a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java +++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java @@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.integration.api.model.*; import com.ruoyi.jianguan.mongodb.service.*; import com.ruoyi.jianguan.mqtt.config.TopicConstants; @@ -13,11 +14,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.util.Date; import java.util.List; +import java.util.Objects; import java.util.concurrent.*; /** @@ -31,15 +34,25 @@ private UploadRealTimeMonitoringDataService uploadRealTimeMonitoringDataService; @Autowired private MqttPushUtil mqttPushUtil; + @Autowired + private RedisService redisService; /** * 每天的9点执行的任务 */ - @Scheduled(cron = "0 0 12 * * ?") + @Scheduled(fixedRate = 86400000) public void taskDay(){ try { - // 传输mongodb的硬件数据 - createCustomThreadPool(); + // 判断是否存在标识 + Thread.sleep(1000); + String flag = redisService.getCacheObject("cloud_integration"); + System.out.println("市政云硬件数据传输标识:" + flag); + if (Objects.isNull(flag)) { + log.info("市政云硬件数据传输无标识,开始传输硬件数据"); + redisService.setCacheObject("cloud_integration", "1",24L,TimeUnit.HOURS); + // 传输mongodb的硬件数据 + createCustomThreadPool(); + } }catch (Exception e){ e.printStackTrace(); } diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/GovernmentCloudTask.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/GovernmentCloudTask.java index 74da343..13f2e9b 100644 --- a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/GovernmentCloudTask.java +++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/GovernmentCloudTask.java @@ -299,6 +299,10 @@ log.info("用户优惠券"+appCoupons.size()); // 将id 设置为null log.info("策略"+appCoupons.size()); + appCoupons = appCoupons.stream() + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isAfter(startOfDay)) + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isBefore(endOfDay)) + .collect(Collectors.toList()); // 分批插入数据 每次最多700条 for (int i = 0; i < appCoupons.size(); i += 700) { appCouponService.saveOrUpdateBatch(appCoupons.subList(i, Math.min(i + 700, appCoupons.size()))); @@ -307,16 +311,23 @@ List<TAppUser> appUsers = data.getAppUsers(); if (!appUsers.isEmpty()) { log.info("用户"+appUsers.size()); - + appUsers = appUsers.stream() + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isAfter(startOfDay)) + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isBefore(endOfDay)) + .collect(Collectors.toList()); // 分批插入数据 每次最多700条 for (int i = 0; i < appUsers.size(); i += 700) { appUserService.saveOrUpdateBatch(appUsers.subList(i, Math.min(i + 700, appUsers.size()))); } + } List<TAppUserAddress> appUserAddresses = data.getAppUserAddresses(); if (!appUserAddresses.isEmpty()) { log.info("用户地址"+appUserAddresses.size()); - + appUserAddresses = appUserAddresses.stream() + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isAfter(startOfDay)) + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isBefore(endOfDay)) + .collect(Collectors.toList()); // 分批插入数据 每次最多700条 for (int i = 0; i < appUserAddresses.size(); i += 700) { appUserAddressService.saveOrUpdateBatch(appUserAddresses.subList(i, Math.min(i + 700, appUserAddresses.size()))); @@ -325,7 +336,10 @@ List<TAppUserCar> appUserCars = data.getAppUserCars(); if (!appUserCars.isEmpty()) { log.info("用户车辆"+appUserCars.size()); - appUserCarService.saveOrUpdateBatch(appUserCars); + appUserCars = appUserCars.stream() + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isAfter(startOfDay)) + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isBefore(endOfDay)) + .collect(Collectors.toList()); // 分批插入数据 每次最多700条 for (int i = 0; i < appUserCars.size(); i += 700) { appUserCarService.saveOrUpdateBatch(appUserCars.subList(i, Math.min(i + 700, appUserCars.size()))); @@ -334,7 +348,10 @@ List<TAppUserIntegralChange> appUserIntegralChanges = data.getAppUserIntegralChanges(); if (!appUserIntegralChanges.isEmpty()) { log.info("用户积分变动"+appUserIntegralChanges.size()); - + appUserIntegralChanges = appUserIntegralChanges.stream() + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isAfter(startOfDay)) + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isBefore(endOfDay)) + .collect(Collectors.toList()); // 分批插入数据 每次最多700条 for (int i = 0; i < appUserIntegralChanges.size(); i += 700) { appUserIntegralChangeService.saveOrUpdateBatch(appUserIntegralChanges.subList(i, Math.min(i + 700, appUserIntegralChanges.size()))); @@ -343,7 +360,10 @@ List<TAppUserSign> appUserSigns = data.getAppUserSigns(); if (!appUserSigns.isEmpty()) { log.info("用户签到"+appUserSigns.size()); - + appUserSigns = appUserSigns.stream() + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isAfter(startOfDay)) + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isBefore(endOfDay)) + .collect(Collectors.toList()); // 分批插入数据 每次最多700条 for (int i = 0; i < appUserSigns.size(); i += 700) { appUserSignService.saveOrUpdateBatch(appUserSigns.subList(i, Math.min(i + 700, appUserSigns.size()))); @@ -353,7 +373,10 @@ if (!appUserTags.isEmpty()) { log.info("用户标签"+appUserTags.size()); - + appUserTags = appUserTags.stream() + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isAfter(startOfDay)) + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isBefore(endOfDay)) + .collect(Collectors.toList()); // 分批插入数据 每次最多700条 for (int i = 0; i < appUserTags.size(); i += 700) { appUserTagService.saveOrUpdateBatch(appUserTags.subList(i, Math.min(i + 700, appUserTags.size()))); @@ -363,7 +386,10 @@ if (!appUserVipDetails.isEmpty()) { log.info("用户会员明细"+appUserVipDetails.size()); - + appUserVipDetails = appUserVipDetails.stream() + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isAfter(startOfDay)) + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isBefore(endOfDay)) + .collect(Collectors.toList()); // 分批插入数据 每次最多700条 for (int i = 0; i < appUserVipDetails.size(); i += 700) { appUserVipDetailService.saveOrUpdateBatch(appUserVipDetails.subList(i, Math.min(i + 700, appUserVipDetails.size()))); @@ -372,7 +398,10 @@ List<TInviteUser> inviteUsers = data.getInviteUsers(); if (!inviteUsers.isEmpty()) { log.info("邀请用户"+inviteUsers.size()); - + inviteUsers = inviteUsers.stream() + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isAfter(startOfDay)) + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isBefore(endOfDay)) + .collect(Collectors.toList()); // 分批插入数据 每次最多700条 for (int i = 0; i < inviteUsers.size(); i += 700) { inviteUserService.saveOrUpdateBatch(inviteUsers.subList(i, Math.min(i + 700, inviteUsers.size()))); @@ -381,7 +410,10 @@ List<TInvoiceInformation> invoiceInformations = data.getInvoiceInformations(); if (!invoiceInformations.isEmpty()) { log.info("开票"+invoiceInformations.size()); - + invoiceInformations = invoiceInformations.stream() + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isAfter(startOfDay)) + .filter(accountingStrategy -> accountingStrategy.getCreateTime().isBefore(endOfDay)) + .collect(Collectors.toList()); // 分批插入数据 每次最多700条 for (int i = 0; i < invoiceInformations.size(); i += 700) { tInvoiceInformationService.saveOrUpdateBatch(invoiceInformations.subList(i, Math.min(i + 700, invoiceInformations.size()))); -- Gitblit v1.7.1