From 5f9bf98779e2c3e69324d75849efdda00868da4f Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 29 五月 2026 15:45:47 +0800
Subject: [PATCH] 新增智能电表、空调管理

---
 server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java |  105 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 101 insertions(+), 4 deletions(-)

diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java
index 8a7c380..739ac07 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java
@@ -3,16 +3,20 @@
 import com.alibaba.fastjson.JSONObject;
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.model.ApiResponse;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.HttpsUtil;
+import com.doumee.core.utils.redis.RedisUtil;
 import com.doumee.core.wx.WXConstant;
 import com.doumee.dao.business.model.YwContract;
-import com.doumee.service.business.PlatformJobService;
-import com.doumee.service.business.YwContractBillService;
-import com.doumee.service.business.YwContractService;
+import com.doumee.dao.business.model.YwOutinbound;
+import com.doumee.service.business.*;
+import com.doumee.service.business.impl.YwOutinboundServiceImpl;
+import com.doumee.service.business.impl.hksync.HkSyncDeviceServiceImpl;
 import com.doumee.service.system.SystemDictDataService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -39,6 +43,15 @@
     @Autowired
     private YwContractService ywContractService;
 
+    @Autowired
+    private YwPatrolSchemeService ywPatrolSchemeService;
+
+    @Autowired
+    private YwOutinboundService ywOutinboundService;
+
+    @Autowired
+    private RedisTemplate<String, Object> redisTemplate;
+
 
     @ApiOperation("瀹氭椂澶勭悊鍚堝悓璐﹀崟缂栫爜")
     @GetMapping("/ywDealContractBillCodeTimer")
@@ -60,9 +73,93 @@
                 .replace("APPSECRET","f228b9e3b49a37b881b51431a483c939");
         String response = HttpsUtil.get(url,false);
         JSONObject json = JSONObject.parseObject(response);
-        System.out.println(json);
+    }
 
 
+    @ApiOperation("瀹氭椂鐢熸垚浠婃棩宸℃浠诲姟浠诲姟")
+    @GetMapping("/ywPatrolSchemeTaskTimer")
+    public ApiResponse ywPatrolSchemeTaskTimer() {
+        ywPatrolSchemeService.timerAuto();
+        return ApiResponse.success("瀹氭椂鐢熸垚浠婃棩宸℃浠诲姟浠诲姟鎵ц涓�");
+    }
+
+    @Autowired
+    private YwElectricalService ywElectricalService;
+    @ApiOperation("寮�鍚畾鏃舵煡璇㈡櫤鎱х數琛ㄨ澶囩姸鎬�")
+    @GetMapping("/getElectricalStatus")
+    public ApiResponse getElectricalStatus() {
+        ywElectricalService.getElectricalStatus();
+        return ApiResponse.success("寮�鍚畾鏃舵煡璇㈡櫤鎱х數琛ㄨ澶囩姸鎬佹垚鍔�");
+    }
+
+    @Autowired
+    private com.doumee.service.business.YwElectricalBizService ywElectricalBizService;
+
+    @ApiOperation("瀹氭椂鎵归噺鎶勮〃鍏ュ簱")
+    @GetMapping("/syncElectricalMeterData")
+    public ApiResponse syncElectricalMeterData() {
+        ywElectricalBizService.syncMeterDataScheduled();
+        return ApiResponse.success("瀹氭椂鎵归噺鎶勮〃鎵ц鎴愬姛");
+    }
+
+    @ApiOperation("娓呯悊涓変釜鏈堝墠鐢佃〃鎺ュ彛鏃ュ織")
+    @GetMapping("/cleanElectricalLog")
+    public ApiResponse cleanElectricalLog() {
+        ywElectricalBizService.cleanLogBeforeThreeMonths();
+        return ApiResponse.success("鐢佃〃鎺ュ彛鏃ュ織娓呯悊鎴愬姛");
+    }
+
+    @ApiOperation("瀹氭椂鏌ヨ澶勭悊涓殑鐢佃〃寮傛浠诲姟鐘舵��")
+    @GetMapping("/syncElectricalAsyncStatus")
+    public ApiResponse syncElectricalAsyncStatus() {
+        ywElectricalBizService.syncPendingAsyncActionsScheduled();
+        return ApiResponse.success("鐢佃〃寮傛浠诲姟鐘舵�佸悓姝ユ垚鍔�");
+    }
+
+    @Autowired
+    private com.doumee.service.business.ConditionerBizService conditionerBizService;
+
+    @ApiOperation("瀹氭椂鍚屾鏅虹簿鐏电綉鍏冲湪绾跨姸鎬�")
+    @GetMapping("/syncConditionerGatewayStatus")
+    public ApiResponse syncConditionerGatewayStatus() {
+        conditionerBizService.syncGatewayStatus();
+        return ApiResponse.success("瀹氭椂鍚屾缃戝叧鐘舵�佹垚鍔�");
+    }
+
+    @ApiOperation("瀹氭椂鍚屾鏅虹簿鐏电┖璋冨唴鏈鸿繍琛屾��")
+    @GetMapping("/syncConditionerIndoorUnits")
+    public ApiResponse syncConditionerIndoorUnits() {
+        conditionerBizService.syncIndoorUnits();
+        return ApiResponse.success("瀹氭椂鍚屾绌鸿皟鍐呮満鐘舵�佹垚鍔�");
+    }
+
+    @ApiOperation("瀹氭椂鍚屾鍓嶄竴鏃ョ┖璋冨鑱旀満鐢ㄩ噺鎶ヨ〃")
+    @GetMapping("/syncConditionerUsagePreviousDay")
+    public ApiResponse syncConditionerUsagePreviousDay() {
+        String msg = conditionerBizService.syncUsagePreviousDay();
+        return ApiResponse.success(msg);
+    }
+
+    @ApiOperation("瀹氭椂鏇存柊鎴挎簮绉熻祦鐘舵��")
+    @GetMapping("/ywRoomStatusTimer")
+    public ApiResponse ywRoomStatusTimer() {
+        ywContractService.updRentContractStatus();
+        ywContractService.updRoomLeaseNowStatus();
+        return ApiResponse.success("瀹氭椂鏇存柊鎴挎簮绉熻祦鐘舵�佷换鍔℃墽琛屼腑");
+    }
+
+
+
+    @ApiOperation("瀹氭椂鏇存柊redis鏁版嵁")
+    @GetMapping("/ywUpdRedisDataTimer")
+    public ApiResponse ywUpdRedisDataTimer() {
+        //鍔犲叆redis缂撳瓨锛屽叆搴撳崟鎬绘暟閲�
+        RedisUtil.addObject(redisTemplate, Constants.RedisKeys.COM_OUTBOUND_IN_KEY,0);
+        //鍔犲叆redis缂撳瓨锛屽嚭搴撳崟鎬绘暟閲�
+        RedisUtil.addObject(redisTemplate,Constants.RedisKeys.COM_OUTBOUND_OUT_KEY,0);
+        //鍔犲叆redis缂撳瓨锛岀洏鐐瑰崟鎬绘暟閲�
+        RedisUtil.addObject(redisTemplate,Constants.RedisKeys.COM_OUTBOUND_TAKING_KEY,0);
+        return ApiResponse.success("瀹氭椂鏇存柊redis鏁版嵁");
     }
 
 

--
Gitblit v1.9.3