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