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

---
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java
index 44bd24c..adf98ad 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java
@@ -8,16 +8,25 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.dao.business.model.YwDevice;
+import com.doumee.dao.business.vo.YwDeviceCateDataVO;
+import com.doumee.dao.business.vo.YwDeviceParentCateDataVO;
+import com.doumee.dao.business.vo.YwDeviceStatusDataVO;
 import com.doumee.service.business.YwDeviceService;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import com.doumee.config.annotation.CloudRequiredPermission;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
+import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
 
 /**
  * @author 姹熻箘韫�
@@ -86,10 +95,41 @@
         ExcelExporter.build(YwDevice.class).export(ywDeviceService.findPage(pageWrap).getRecords(), "杩愮淮璁惧淇℃伅琛�", response);
     }
 
+    @ApiOperation("璁惧鎵归噺瀵煎叆")
+    @PostMapping("/importExcel")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "file", value = "file", required = true, paramType = "query", dataType = "file", dataTypeClass = File.class),
+    })
+    @CloudRequiredPermission("business:ywdevice:importExcel")
+    public ApiResponse<String> importExcel(@ApiParam(value = "file") MultipartFile file, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        return ApiResponse.success(ywDeviceService.importBatch(file, this.getLoginUser(token)));
+    }
+
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
     @CloudRequiredPermission("business:ywdevice:query")
     public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         return ApiResponse.success(ywDeviceService.getDetail(id));
     }
+
+    @ApiOperation("鏍规嵁缂栫爜鏌ヨ璁惧")
+    @GetMapping("/findByCode")
+    @CloudRequiredPermission("business:ywdevice:query")
+    public ApiResponse findByCode(@RequestParam String deviceCode,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        return ApiResponse.success(ywDeviceService.findByCode(deviceCode));
+    }
+
+    @ApiOperation("璁惧鏁伴噺鍒嗙被缁熻")
+    @PostMapping("/getDeviceCateData")
+    @CloudRequiredPermission("business:ywdevice:query")
+    public ApiResponse<Set<YwDeviceParentCateDataVO>> getDeviceCateData (@RequestBody YwDevice ywDevice, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        return ApiResponse.success(ywDeviceService.getDeviceCateData(ywDevice));
+    }
+
+    @ApiOperation("璁惧鐘舵�佺粺璁�")
+    @PostMapping("/getDeviceStatus")
+    @CloudRequiredPermission("business:ywdevice:query")
+    public ApiResponse<YwDeviceStatusDataVO> getDeviceStatus (@RequestBody YwDevice ywDevice,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        return ApiResponse.success(ywDeviceService.getDeviceStatus(ywDevice));
+    }
 }

--
Gitblit v1.9.3