From 23b57fc7eab3defc741a0e54e3dac939ad49f13f Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 22 五月 2026 19:14:04 +0800
Subject: [PATCH] 新增智能电表、空调管理

---
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwElectricalCloudController.java |  101 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 75 insertions(+), 26 deletions(-)

diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwElectricalCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwElectricalCloudController.java
index 846d7ad..9336a8a 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwElectricalCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwElectricalCloudController.java
@@ -1,43 +1,66 @@
 package com.doumee.cloud.admin;
 
-import com.doumee.api.BaseController;
 import com.doumee.core.annotation.excel.ExcelExporter;
 import com.doumee.core.annotation.pr.PreventRepeat;
+
+import com.doumee.core.utils.Constants;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
-import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.Device;
 import com.doumee.dao.business.model.YwElectrical;
+import com.doumee.dao.business.model.YwElectricalData;
+import com.doumee.dao.business.dto.YwElectricalEditDTO;
+import com.doumee.dao.business.dto.YwElectricalOperateDTO;
+import com.doumee.service.business.YwElectricalBizService;
 import com.doumee.service.business.YwElectricalService;
+import com.doumee.core.utils.Utils;
+import com.doumee.config.annotation.CloudRequiredPermission;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import com.doumee.config.annotation.CloudRequiredPermission;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.List;
+import com.doumee.core.model.LoginUserInfo;
 
+import  com.doumee.api.BaseController;
 /**
- * 鐢佃〃璁惧淇℃伅
- * @author renkang
- * @date 2026/04/03
+ * 鐢佃〃璁惧淇℃伅Controller瀹氫箟
+ * @author doumee
+ * @date 2026-05-20 15:21:43
  */
-@Api(tags = "鐢佃〃璁惧淇℃伅")
+@Api(tags = "yw_electrical鎺ュ彛")
 @RestController
-@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX + "/business/ywElectrical")
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX +"/business/ywElectrical")
 public class YwElectricalCloudController extends BaseController {
 
     @Autowired
     private YwElectricalService ywElectricalService;
-
+    @Autowired
+    private YwElectricalBizService ywElectricalBizService;
+    @PreventRepeat
+    @ApiOperation("鍏ㄩ噺鍚屾鐢佃〃璁惧鎺ュ彛")
+    @PostMapping("/syncAll")
+    @CloudRequiredPermission("business:ywelectrical:device")
+    public ApiResponse syncHkDevices(@RequestBody YwElectrical ywElectricalData, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+        ywElectricalData.setLoginUserInfo(this.getLoginUser(token));
+        String result =   ywElectricalService.syncAll(ywElectricalData);
+        return ApiResponse.success(result);
+    }
+    @ApiOperation("鎵ц鐢佃〃寮�鍏抽椄鎿嶄綔")
+    @PostMapping("/controlDo")
+    @CloudRequiredPermission("business:ywelectrical:update")
+    public ApiResponse controlDo(@RequestBody Device param, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+        param.setLoginUserInfo(this.getLoginUser(token));
+        ywElectricalService.controlDo(param);
+        return ApiResponse.success(null);
+    }
     @PreventRepeat
     @ApiOperation("鏂板缓")
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywelectrical:create")
     public ApiResponse create(@RequestBody YwElectrical ywElectrical, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywElectrical.setLoginUserInfo(this.getLoginUser(token));
+          ywElectrical.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywElectricalService.create(ywElectrical));
     }
 
@@ -53,12 +76,7 @@
     @GetMapping("/delete/batch")
     @CloudRequiredPermission("business:ywelectrical:delete")
     public ApiResponse deleteByIdInBatch(@RequestParam String ids, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        String[] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywElectricalService.deleteByIdInBatch(idList, this.getLoginUser(token));
+        ywElectricalService.deleteByIdInBatch(this.getIdList(ids), this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -74,9 +92,17 @@
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywelectrical:query")
-    public ApiResponse<PageData<YwElectrical>> findPage(@RequestBody PageWrap<YwElectrical> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+    public ApiResponse<PageData<YwElectrical>> findPage (@RequestBody PageWrap<YwElectrical> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywElectricalService.findPage(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportExcel")
+    @CloudRequiredPermission("business:ywelectrical:exportExcel")
+    public void exportExcel (@RequestBody PageWrap<YwElectrical> pageWrap, HttpServletResponse response, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+         pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
+        ExcelExporter.build(YwElectrical.class).export(ywElectricalService.findPage(pageWrap).getRecords(), "鐢佃〃璁惧淇℃伅", response);
     }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
@@ -86,11 +112,34 @@
         return ApiResponse.success(ywElectricalService.findById(id));
     }
 
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @CloudRequiredPermission("business:ywelectrical:exportExcel")
-    public void exportExcel(@RequestBody PageWrap<YwElectrical> pageWrap, HttpServletResponse response, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
-        ExcelExporter.build(YwElectrical.class).export(ywElectricalService.findPage(pageWrap).getRecords(), "鐢佃〃璁惧淇℃伅", response);
+    @ApiOperation("缂栬緫璇︽儏")
+    @GetMapping("/detail/{id}")
+    @CloudRequiredPermission("business:ywelectrical:update")
+    public ApiResponse<YwElectricalEditDTO> detail(@PathVariable Integer id, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        return ApiResponse.success(ywElectricalBizService.getDetail(id));
+    }
+
+    @PreventRepeat
+    @ApiOperation("淇濆瓨缂栬緫")
+    @PostMapping("/saveDetail")
+    @CloudRequiredPermission("business:ywelectrical:update")
+    public ApiResponse saveDetail(@RequestBody YwElectricalEditDTO dto, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywElectricalBizService.updateDetail(dto, this.getLoginUser(token));
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("杩滅▼鎺у埗淇℃伅")
+    @GetMapping("/remoteInfo/{id}")
+    @CloudRequiredPermission("business:ywelectrical:update")
+    public ApiResponse remoteInfo(@PathVariable Integer id, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        return ApiResponse.success(ywElectricalBizService.getRemoteInfo(id));
+    }
+
+    @PreventRepeat
+    @ApiOperation("杩滅▼鎿嶄綔")
+    @PostMapping("/operate")
+    @CloudRequiredPermission("business:ywelectrical:update")
+    public ApiResponse<String> operate(@RequestBody YwElectricalOperateDTO dto, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        return ApiResponse.success(ywElectricalBizService.operate(dto, this.getLoginUser(token)));
     }
 }

--
Gitblit v1.9.3