From 5af1194755100bd05556a3d7e8a1455c11986dd7 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期一, 20 七月 2026 16:13:36 +0800
Subject: [PATCH] 修复查询过慢的问题

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java |   43 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 40 insertions(+), 3 deletions(-)

diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
index a0a1f82..d663f00 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -967,8 +967,45 @@
 		if (CollectionUtils.isEmpty(ids)) {
 			return;
 		}
-		for (Integer id : ids) {
-			setAccountingStrategy(id, accountingStrategyId);
-		}
+		this.lambdaUpdate()
+				.in(Site::getId, ids)
+				.set(Site::getAccountingStrategyId, accountingStrategyId)
+				.update();
+		chargingGunService.lambdaUpdate()
+				.in(TChargingGun::getSiteId, ids)
+				.eq(TChargingGun::getDelFlag, 0)
+				.set(TChargingGun::getAccountingStrategyId, accountingStrategyId)
+				.update();
+		List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailService.list(new LambdaQueryWrapper<TAccountingStrategyDetail>().eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategyId));
+		List<TChargingPile> chargingPiles = chargingPileService.lambdaQuery().in(TChargingPile::getSiteId, ids).eq(TChargingPile::getDelFlag, 0).list();
+		List<Integer> syncSiteIds = this.lambdaQuery()
+				.select(Site::getId, Site::getIsOpenSynchronization)
+				.in(Site::getId, ids)
+				.eq(Site::getIsOpenSynchronization, 1)
+				.list()
+				.stream()
+				.map(Site::getId)
+				.collect(Collectors.toList());
+		new Thread(() -> {
+			for (TChargingPile chargingPile : chargingPiles) {
+				try {
+					integrationClient.setupBillingModel1(chargingPile.getCode(), JSON.toJSONString(accountingStrategyDetails));
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+				try {
+					chengDuJianGuanClient.notificationStationFee(chargingPile.getId());
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+			if (!CollectionUtils.isEmpty(syncSiteIds)) {
+				try {
+					tcecClient.notificationStationChange(syncSiteIds);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+		}).start();
 	}
 }

--
Gitblit v1.7.1