From 1fed5e7bab3a8f6b9adbfcd3695e14a03d47677f Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期五, 31 十月 2025 09:52:35 +0800
Subject: [PATCH] 更新代码

---
 mes-processes/mes-plcSend/src/main/java/com/mes/controller/PlcAddressController.java |  113 +++++++++++++++++++++++++++++---------------------------
 1 files changed, 59 insertions(+), 54 deletions(-)

diff --git a/mes-processes/mes-plcSend/src/main/java/com/mes/controller/PlcAddressController.java b/mes-processes/mes-plcSend/src/main/java/com/mes/controller/PlcAddressController.java
index 4ba1292..71bff44 100644
--- a/mes-processes/mes-plcSend/src/main/java/com/mes/controller/PlcAddressController.java
+++ b/mes-processes/mes-plcSend/src/main/java/com/mes/controller/PlcAddressController.java
@@ -1,9 +1,8 @@
 package com.mes.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.mes.config.PlcAddressMappingConfig;
-import com.mes.entity.PlcAddressMapping;
-import com.mes.service.PlcAddressMappingService;
+import com.mes.entity.PlcAddress;
+import com.mes.service.PlcAddressService;
 import com.mes.vo.Result;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -20,26 +19,26 @@
  * PLC鍦板潃鏄犲皠閰嶇疆鎺у埗鍣�
  * 鎻愪緵PLC鍦板潃鏄犲皠閰嶇疆鐨勫鍒犳敼鏌ユ帴鍙�
  * 
- * @author zhoush
+ * @author huang
  * @date 2025/10/29
  */
 @Slf4j
 @RestController
 @RequestMapping("address-mapping")
 @Api(tags = "PLC鍦板潃鏄犲皠閰嶇疆绠$悊")
-public class PlcAddressMappingController {
+public class PlcAddressController {
 
     @Resource
-    private PlcAddressMappingService plcAddressMappingService;
+    private PlcAddressService plcAddressService;
 
     /**
      * 鑾峰彇鎵�鏈塒LC鍦板潃鏄犲皠閰嶇疆
      */
     @GetMapping("/list")
     @ApiOperation("鑾峰彇鎵�鏈塒LC鍦板潃鏄犲皠閰嶇疆")
-    public Result<List<PlcAddressMapping>> getAllMappings() {
+    public Result<List<PlcAddress>> getAllMappings() {
         try {
-            List<PlcAddressMapping> mappings = plcAddressMappingService.getAllMappings();
+            List<PlcAddress> mappings = plcAddressService.getAllMappings();
             return Result.success(mappings);
         } catch (Exception e) {
             log.error("鑾峰彇PLC鍦板潃鏄犲皠閰嶇疆鍒楄〃澶辫触", e);
@@ -52,13 +51,13 @@
      */
     @GetMapping("/page")
     @ApiOperation("鍒嗛〉鑾峰彇PLC鍦板潃鏄犲皠閰嶇疆")
-    public Result<IPage<PlcAddressMapping>> getMappingsByPage(
+    public Result<IPage<PlcAddress>> getMappingsByPage(
             @ApiParam("椤电爜锛屼粠1寮�濮�") @RequestParam(defaultValue = "1") int page,
             @ApiParam("姣忛〉鏉℃暟") @RequestParam(defaultValue = "10") int size,
             @ApiParam("椤圭洰鏍囪瘑锛屾敮鎸佹ā绯婃煡璇�") @RequestParam(required = false) String projectId,
             @ApiParam("PLC IP鍦板潃锛屾敮鎸佹ā绯婃煡璇�") @RequestParam(required = false) String plcIp) {
         try {
-            IPage<PlcAddressMapping> pageResult = plcAddressMappingService.getMappingsByPage(page, size, projectId, plcIp);
+            IPage<PlcAddress> pageResult = plcAddressService.getMappingsByPage(page, size, projectId, plcIp);
             return Result.success(pageResult);
         } catch (Exception e) {
             log.error("鍒嗛〉鑾峰彇PLC鍦板潃鏄犲皠閰嶇疆澶辫触", e);
@@ -69,12 +68,12 @@
     /**
      * 鏍规嵁ID鑾峰彇PLC鍦板潃鏄犲皠閰嶇疆
      */
-    @GetMapping("/{id}")
+    @GetMapping("/detail")
     @ApiOperation("鏍规嵁ID鑾峰彇PLC鍦板潃鏄犲皠閰嶇疆")
-    public Result<PlcAddressMapping> getMappingById(
-            @ApiParam("閰嶇疆ID") @PathVariable Long id) {
+    public Result<PlcAddress> getMappingById(
+            @ApiParam("閰嶇疆ID") @RequestParam Long id) {
         try {
-            PlcAddressMapping mapping = plcAddressMappingService.getMappingById(id);
+            PlcAddress mapping = plcAddressService.getMappingById(id);
             if (mapping != null) {
                 return Result.success(mapping);
             } else {
@@ -89,12 +88,12 @@
     /**
      * 鏍规嵁椤圭洰鏍囪瘑鑾峰彇PLC鍦板潃鏄犲皠閰嶇疆
      */
-    @GetMapping("/project/{projectId}")
+    @GetMapping("/project")
     @ApiOperation("鏍规嵁椤圭洰鏍囪瘑鑾峰彇PLC鍦板潃鏄犲皠閰嶇疆")
-    public Result<PlcAddressMapping> getMappingByProjectId(
-            @ApiParam("椤圭洰鏍囪瘑") @PathVariable String projectId) {
+    public Result<PlcAddress> getMappingByProjectId(
+            @ApiParam("椤圭洰鏍囪瘑") @RequestParam String projectId) {
         try {
-            PlcAddressMapping mapping = plcAddressMappingService.getMappingByProjectId(projectId);
+            PlcAddress mapping = plcAddressService.getMappingByProjectId(projectId);
             if (mapping != null) {
                 return Result.success(mapping);
             } else {
@@ -114,22 +113,28 @@
     @ApiOperation("鏍规嵁椤圭洰ID鑾峰彇椤圭洰閰嶇疆锛堝寘鍚湴鍧�鏄犲皠锛�")
     public Result<Map<String, Object>> getProjectConfig(String projectId) {
         try {
-            // 鑾峰彇鍩虹閰嶇疆
-            PlcAddressMapping mapping = plcAddressMappingService.getMappingByProjectId(projectId);
+            PlcAddress mapping = plcAddressService.getProjectConfig(projectId);
             
-            // 鑾峰彇瀹屾暣椤圭洰閰嶇疆锛堝寘鍚湴鍧�鏄犲皠锛�
-            PlcAddressMappingConfig.ProjectPlcConfig projectConfig = plcAddressMappingService.getProjectConfigWithMapping(projectId);
-            
-            // 鍚堝苟鍩虹閰嶇疆淇℃伅
+            // 缁勮杈撳嚭锛屼粎鍩轰簬鏁版嵁搴撳疄浣�
             Map<String, Object> result = new HashMap<>();
             result.put("projectId", projectId);
-            result.put("dbArea", projectConfig.getDbArea());
-            result.put("beginIndex", projectConfig.getBeginIndex());
-            result.put("plcIp", projectConfig.getPlcIp());
-            result.put("plcType", projectConfig.getPlcType());
-            result.put("addressMapping", projectConfig.getAddressMapping());
+            result.put("dbArea", mapping != null ? mapping.getDbArea() : "DB1");
+            result.put("beginIndex", mapping != null ? mapping.getBeginIndex() : 0);
+            result.put("plcIp", mapping != null ? mapping.getPlcIp() : null);
+            result.put("plcType", mapping != null ? mapping.getPlcType() : null);
             
-            // 濡傛灉鏁版嵁搴撲腑鏈夐厤缃紝娣诲姞鏁版嵁搴撲腑鐨勯澶栦俊鎭�
+            // 瑙f瀽addressMapping JSON涓篗ap
+            Map<String, Integer> addressMap = new HashMap<>();
+            if (mapping != null && mapping.getAddressMapping() != null && !mapping.getAddressMapping().trim().isEmpty()) {
+                try {
+                    addressMap = new com.fasterxml.jackson.databind.ObjectMapper()
+                            .readValue(mapping.getAddressMapping(), new com.fasterxml.jackson.core.type.TypeReference<Map<String, Integer>>() {});
+                } catch (Exception parseEx) {
+                    log.warn("瑙f瀽鍦板潃鏄犲皠JSON澶辫触: {}", mapping.getAddressMapping());
+                }
+            }
+            result.put("addressMapping", addressMap);
+            
             if (mapping != null) {
                 result.put("id", mapping.getId());
                 result.put("projectName", mapping.getProjectName());
@@ -148,8 +153,8 @@
      */
     @PostMapping
     @ApiOperation("鍒涘缓鏂扮殑PLC鍦板潃鏄犲皠閰嶇疆")
-    public Result<PlcAddressMapping> createMapping(
-            @ApiParam("PLC鍦板潃鏄犲皠閰嶇疆") @RequestBody PlcAddressMapping mapping) {
+    public Result<PlcAddress> createMapping(
+            @ApiParam("PLC鍦板潃鏄犲皠閰嶇疆") @RequestBody PlcAddress mapping) {
         try {
             // 鍙傛暟楠岃瘉
             if (mapping.getProjectId() == null || mapping.getProjectId().trim().isEmpty()) {
@@ -163,7 +168,7 @@
                 mapping.setBeginIndex(0); // 濡傛灉涓鸿礋鏁帮紝璁剧疆涓洪粯璁よ捣濮嬬储寮�0
             }
 
-            PlcAddressMapping created = plcAddressMappingService.saveMapping(mapping);
+            PlcAddress created = plcAddressService.saveMapping(mapping);
             log.info("鍒涘缓PLC鍦板潃鏄犲皠閰嶇疆鎴愬姛锛孖D: {}, 椤圭洰鏍囪瘑: {}", created.getId(), created.getProjectId());
             return Result.success(created);
         } catch (Exception e) {
@@ -175,11 +180,11 @@
     /**
      * 鏇存柊PLC鍦板潃鏄犲皠閰嶇疆
      */
-    @PutMapping("/{id}")
+    @PutMapping("/update")
     @ApiOperation("鏇存柊PLC鍦板潃鏄犲皠閰嶇疆")
-    public Result<PlcAddressMapping> updateMapping(
-            @ApiParam("閰嶇疆ID") @PathVariable Long id,
-            @ApiParam("鏇存柊鐨凱LC鍦板潃鏄犲皠閰嶇疆") @RequestBody PlcAddressMapping mapping) {
+    public Result<PlcAddress> updateMapping(
+            @ApiParam("閰嶇疆ID") @RequestParam Long id,
+            @ApiParam("鏇存柊鐨凱LC鍦板潃鏄犲皠閰嶇疆") @RequestBody PlcAddress mapping) {
         try {
             // 鍙傛暟楠岃瘉
             if (mapping.getProjectId() == null || mapping.getProjectId().trim().isEmpty()) {
@@ -190,7 +195,7 @@
             }
 
             mapping.setId(id);
-            PlcAddressMapping updated = plcAddressMappingService.updateMapping(mapping);
+            PlcAddress updated = plcAddressService.updateMapping(mapping);
             if (updated != null) {
                 log.info("鏇存柊PLC鍦板潃鏄犲皠閰嶇疆鎴愬姛锛孖D: {}, 椤圭洰鏍囪瘑: {}", updated.getId(), updated.getProjectId());
                 return Result.success(updated);
@@ -207,11 +212,11 @@
      * 鏍规嵁椤圭洰ID鏇存柊閰嶇疆
      * 瀵瑰簲鍓嶇锛歶pdateConfig
      */
-    @PutMapping("/project/{projectId}")
+    @PutMapping("/project/update")
     @ApiOperation("鏍规嵁椤圭洰ID鏇存柊閰嶇疆")
-    public Result<PlcAddressMapping> updateMappingByProjectId(
-            @ApiParam("椤圭洰鏍囪瘑") @PathVariable String projectId,
-            @ApiParam("鏇存柊鐨凱LC鍦板潃鏄犲皠閰嶇疆") @RequestBody PlcAddressMapping mapping) {
+    public Result<PlcAddress> updateMappingByProjectId(
+            @ApiParam("椤圭洰鏍囪瘑") @RequestParam String projectId,
+            @ApiParam("鏇存柊鐨凱LC鍦板潃鏄犲皠閰嶇疆") @RequestBody PlcAddress mapping) {
         try {
             // 鍙傛暟楠岃瘉
             if (mapping.getDbArea() == null || mapping.getDbArea().trim().isEmpty()) {
@@ -222,16 +227,16 @@
             mapping.setProjectId(projectId);
             
             // 鏌ユ壘鐜版湁閰嶇疆
-            PlcAddressMapping existing = plcAddressMappingService.getMappingByProjectId(projectId);
+            PlcAddress existing = plcAddressService.getMappingByProjectId(projectId);
             if (existing != null) {
                 // 鏇存柊鐜版湁閰嶇疆
                 mapping.setId(existing.getId());
-                PlcAddressMapping updated = plcAddressMappingService.updateMapping(mapping);
+                PlcAddress updated = plcAddressService.updateMapping(mapping);
                 log.info("鏍规嵁椤圭洰ID鏇存柊PLC鍦板潃鏄犲皠閰嶇疆鎴愬姛锛岄」鐩爣璇�: {}", projectId);
                 return Result.success(updated);
             } else {
                 // 鍒涘缓鏂伴厤缃�
-                PlcAddressMapping created = plcAddressMappingService.saveMapping(mapping);
+                PlcAddress created = plcAddressService.saveMapping(mapping);
                 log.info("鏍规嵁椤圭洰ID鍒涘缓PLC鍦板潃鏄犲皠閰嶇疆鎴愬姛锛岄」鐩爣璇�: {}", projectId);
                 return Result.success(created);
             }
@@ -244,12 +249,12 @@
     /**
      * 鍒犻櫎PLC鍦板潃鏄犲皠閰嶇疆
      */
-    @DeleteMapping("/{id}")
+    @DeleteMapping("/delete")
     @ApiOperation("鍒犻櫎PLC鍦板潃鏄犲皠閰嶇疆")
     public Result<Void> deleteMapping(
-            @ApiParam("閰嶇疆ID") @PathVariable Long id) {
+            @ApiParam("閰嶇疆ID") @RequestParam Long id) {
         try {
-            boolean deleted = plcAddressMappingService.deleteMapping(id);
+            boolean deleted = plcAddressService.deleteMapping(id);
             if (deleted) {
                 log.info("鍒犻櫎PLC鍦板潃鏄犲皠閰嶇疆鎴愬姛锛孖D: {}", id);
                 return Result.success();
@@ -274,7 +279,7 @@
                 return Result.error("ID鍒楄〃涓嶈兘涓虹┖");
             }
             
-            int deletedCount = plcAddressMappingService.deleteMappings(ids);
+            int deletedCount = plcAddressService.deleteMappings(ids);
             log.info("鎵归噺鍒犻櫎PLC鍦板潃鏄犲皠閰嶇疆鎴愬姛锛屽垹闄ゆ暟閲�: {}, ID鍒楄〃: {}", deletedCount, ids);
             return Result.success();
         } catch (Exception e) {
@@ -286,17 +291,17 @@
     /**
      * 娴嬭瘯PLC杩炴帴
      */
-    @PostMapping("/{id}/test-connection")
+    @PostMapping("/test-connection")
     @ApiOperation("娴嬭瘯PLC杩炴帴")
     public Result<String> testConnection(
-            @ApiParam("閰嶇疆ID") @PathVariable Long id) {
+            @ApiParam("閰嶇疆ID") @RequestParam Long id) {
         try {
-            PlcAddressMapping mapping = plcAddressMappingService.getMappingById(id);
+            PlcAddress mapping = plcAddressService.getMappingById(id);
             if (mapping == null) {
                 return Result.error("鏈壘鍒癐D涓� " + id + " 鐨凱LC鍦板潃鏄犲皠閰嶇疆");
             }
 
-            boolean isConnected = plcAddressMappingService.testConnection(mapping);
+            boolean isConnected = plcAddressService.testConnection(mapping);
             if (isConnected) {
                 String message = String.format("PLC杩炴帴娴嬭瘯鎴愬姛 - 椤圭洰: %s, IP: %s, DB鍧�: %s", 
                         mapping.getProjectId(), mapping.getPlcIp(), mapping.getDbArea());
@@ -321,7 +326,7 @@
     @ApiOperation("閲嶆柊鍔犺浇閰嶇疆鏂囦欢涓殑鍦板潃鏄犲皠")
     public Result<String> reloadConfig() {
         try {
-            plcAddressMappingService.reloadConfigMappings();
+            plcAddressService.reloadConfigMappings();
             String message = "閰嶇疆鏂囦欢涓殑PLC鍦板潃鏄犲皠宸查噸鏂板姞杞�";
             log.info(message);
             return Result.success(message);

--
Gitblit v1.8.0