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