From cdd88cf499248f528168101d05418520043962a9 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 17 二月 2025 10:59:44 +0800
Subject: [PATCH] 优化三方数据同步

---
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/SystemConfigurationClient.java                        |   23 +++++++++++
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Ping.java                                       |    2 +
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PingServiceImpl.java                 |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Pong.java                                       |    2 +
 ruoyi-api/ruoyi-api-other/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports |    3 +
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java                              |    8 +++-
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/SystemConfigurationClientFallbackFactory.java             |   21 ++++++++++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java                                    |    9 +++-
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TSystemConfigurationController.java                        |   16 ++++++++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java                              |   12 ++++++
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/util/TaskUtil.java                                        |    6 +-
 11 files changed, 95 insertions(+), 9 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Ping.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Ping.java
index d2b4e9e..584d5a4 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Ping.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Ping.java
@@ -13,6 +13,8 @@
 @Document(collection = "ping") //指定要对应的文档名(表名)
 @Accessors(chain = true)
 public class Ping extends BaseModel {
+    @Id
+    private String id;
     private String charging_pile_code;// 桩编码
     private String charging_gun_code;// 抢号
     private Integer charging_gun_status;// 抢状态(0:正常,1:故障)
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Pong.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Pong.java
index 2978938..9282616 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Pong.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Pong.java
@@ -13,6 +13,8 @@
 @Document(collection = "pong") //指定要对应的文档名(表名)
 @Accessors(chain = true)
 public class Pong extends BaseModel {
+    @Id
+    private String id;
     private String charging_pile_code;// 桩编码
     private String charging_gun_code;// 抢号
     private Integer charging_gun_status;// 心跳应答(0)
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/SystemConfigurationClientFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/SystemConfigurationClientFallbackFactory.java
new file mode 100644
index 0000000..2c2af15
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/SystemConfigurationClientFallbackFactory.java
@@ -0,0 +1,21 @@
+package com.ruoyi.other.api.factory;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.other.api.feignClient.SystemConfigurationClient;
+import org.springframework.cloud.openfeign.FallbackFactory;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/2/17 9:46
+ */
+public class SystemConfigurationClientFallbackFactory  implements FallbackFactory<SystemConfigurationClient> {
+	@Override
+	public SystemConfigurationClient create(Throwable cause) {
+		return new SystemConfigurationClient() {
+			@Override
+			public R<String> getServerPhone() {
+				return R.fail("获取客服电话失败:" + cause.getMessage());
+			}
+		};
+	}
+}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/SystemConfigurationClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/SystemConfigurationClient.java
new file mode 100644
index 0000000..c5ecec2
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/SystemConfigurationClient.java
@@ -0,0 +1,23 @@
+package com.ruoyi.other.api.feignClient;
+
+import com.ruoyi.common.core.constant.ServiceNameConstants;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.other.api.factory.SystemConfigurationClientFallbackFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+/**
+ * @author zhibing.pu
+ * @Date 2025/2/17 9:45
+ */
+@FeignClient(contextId = "SystemConfigurationClient", value = ServiceNameConstants.OTHER_SERVICE, fallbackFactory = SystemConfigurationClientFallbackFactory.class)
+public interface SystemConfigurationClient {
+	
+	
+	/**
+	 * 获取客服电话
+	 * @return
+	 */
+	@PostMapping(value = "/t-system-configuration/getServerPhone")
+	R<String> getServerPhone();
+}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-api/ruoyi-api-other/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index 9d2a866..2f67b78 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/ruoyi-api/ruoyi-api-other/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -9,4 +9,5 @@
 com.ruoyi.other.api.factory.InvoiceTypeFallbackFactory
 com.ruoyi.other.api.factory.WebSocketFallbackFactory
 com.ruoyi.other.api.factory.UserTagFallbackFactory
-com.ruoyi.other.api.factory.OperatorFallbackFactory
\ No newline at end of file
+com.ruoyi.other.api.factory.OperatorFallbackFactory
+com.ruoyi.other.api.factory.SystemConfigurationClientFallbackFactory
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
index 1992e6b..d93bf73 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
@@ -22,6 +22,7 @@
 import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy;
 import com.ruoyi.other.api.domain.Operator;
 import com.ruoyi.other.api.feignClient.OperatorClient;
+import com.ruoyi.other.api.feignClient.SystemConfigurationClient;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.web.bind.annotation.*;
@@ -78,6 +79,9 @@
 	
 	@Resource
 	private ParkingRecordClient parkingRecordClient;
+	
+	@Resource
+	private SystemConfigurationClient systemConfigurationClient;
 	
 	
 	
@@ -268,7 +272,7 @@
 		List<TChargingPile> tChargingPiles = chargingPileClient.getChargingPileBySiteIds(siteIds).getData();
 		List<Integer> collect1 = tChargingPiles.stream().map(TChargingPile::getId).collect(Collectors.toList());
 		List<TChargingGun> chargingGunList = chargingGunClient.getChargingGunByChargingPileIds(collect1).getData();
-		
+		String serviceTel = systemConfigurationClient.getServerPhone().getData();
 		List<StationInfo> StationInfos = new ArrayList<>();
 		for (Site datum : sites) {
 			StationInfo stationInfo = new StationInfo();
@@ -280,7 +284,7 @@
 			stationInfo.setAreaCode(datum.getDistrictsCode());
 			stationInfo.setAddress(datum.getAddress());
 			stationInfo.setStationTel(datum.getPhone());
-			stationInfo.setServiceTel(datum.getServicePhone());
+			stationInfo.setServiceTel(serviceTel);
 			switch (datum.getSiteType()){
 				case 0:
 					stationInfo.setStationType(StationTypeEnum.OTHER.getType());
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PingServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PingServiceImpl.java
index baa6451..9489e96 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PingServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PingServiceImpl.java
@@ -37,6 +37,6 @@
     
     @Override
     public void delPing() {
-        mongoTemplate.remove(new Query().addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusDays(1))));
+        mongoTemplate.remove(new Query().addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusDays(1))), Ping.class);
     }
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/util/TaskUtil.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/util/TaskUtil.java
index de47e18..09ac391 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/util/TaskUtil.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/util/TaskUtil.java
@@ -36,9 +36,9 @@
     
     
     
-    @Scheduled(cron = "0 0 0 * * ?")
+    @Scheduled(cron = "0 0 3 * * ?")
     public void task2() {
-        pingService.delPing();
-        pongService.delPong();
+//        pingService.delPing();
+//        pongService.delPong();
     }
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index d9a3cb9..6fa5826 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -761,6 +761,18 @@
     
     
     /**
+     *
+     * @param code
+     */
+    @ResponseBody
+    @PostMapping(value = "/refund")
+    public R refund(@RequestParam(value = "code") String code){
+        chargingOrderService.refund(code);
+        return R.ok();
+    }
+    
+    
+    /**
      * 远程启动失败后退款回调
      */
     @ResponseBody
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
index 9689489..6bce088 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -100,8 +100,13 @@
 	 * @return
 	 */
 	AjaxResult chargingOrderStartupFailureWxRefund(String out_refund_no, String refund_id, String tradeState, String success_time);
-
-
+	
+	
+	/**
+	 * 启动失败退款操作
+	 * @param code
+	 */
+	void refund(String code);
 
 	/**
 	 * 获取充电中的详情
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TSystemConfigurationController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TSystemConfigurationController.java
index 8770c49..b40c79e 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TSystemConfigurationController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TSystemConfigurationController.java
@@ -1,7 +1,9 @@
 package com.ruoyi.other.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.log.annotation.Log;
 import com.ruoyi.common.log.enums.BusinessType;
@@ -65,6 +67,20 @@
         systemConfigurationService.saveOrUpdate(systemConfiguration);
         return AjaxResult.success();
     }
+    
+    
+    /**
+     * 获取客服电话
+     * @return
+     */
+    @PostMapping(value = "/getServerPhone")
+    public R<String> getServerPhone(){
+        TSystemConfiguration one = systemConfigurationService.getOne(new LambdaQueryWrapper<TSystemConfiguration>().eq(TSystemConfiguration::getType, 1));
+        if(null != one){
+            return R.ok(one.getContent());
+        }
+        return R.ok();
+    }
 
 }
 

--
Gitblit v1.7.1