From 12c0bb25a0540d97e7c3348e31c9b25a62495390 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期六, 21 九月 2024 14:46:08 +0800
Subject: [PATCH] 测试修改

---
 src/main/java/com/whyc/service/DevA200TestparamService.java |  118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 108 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/whyc/service/DevA200TestparamService.java b/src/main/java/com/whyc/service/DevA200TestparamService.java
index f575358..f0a746e 100644
--- a/src/main/java/com/whyc/service/DevA200TestparamService.java
+++ b/src/main/java/com/whyc/service/DevA200TestparamService.java
@@ -6,6 +6,7 @@
 import com.whyc.dto.A200ResDto;
 import com.whyc.dto.Response;
 import com.whyc.dto.ResultA200Dto;
+import com.whyc.factory.ThreadPoolExecutorFactory;
 import com.whyc.mapper.DevA200TestparamMapper;
 import com.whyc.mapper.DevInfMapper;
 import com.whyc.pojo.db_lithium_ram_db.DevA200Testparam;
@@ -23,6 +24,9 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
 
 @Service
 public class DevA200TestparamService {
@@ -57,10 +61,10 @@
     }
 
 
-    //璁剧疆a200鍧囪 浠弬鏁�
-    public Object setA200Param(A200ResDto param,int devId) {
+    //璁剧疆a200涓�浣撴満鍙傛暟
+    public Object setA200Param(A200ResDto param) {
         QueryWrapper wrapper=new QueryWrapper();
-        wrapper.eq("dev_id",devId);
+        wrapper.eq("dev_id",param.getDevId());
         wrapper.last("limit 1");
         DevInf dinf=dinfMapper.selectOne(wrapper);
         String url="http://"+dinf.getDevIp()+":8080/webService/setTestParameter";
@@ -68,11 +72,47 @@
         MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<>();
         String paramJson=JSONObject.toJSONString(param);
         paramMap.add("testParameter",paramJson);
-        ResultA200Dto dto= (ResultA200Dto) TestparamHttpUtil.postforform_data(restTemplate,url,paramMap);
+        ResultA200Dto dto= (ResultA200Dto) TestparamHttpUtil.postforform_dataA200(restTemplate,url,paramMap);
         return dto;
     }
 
-    //鍚姩a200鍧囪 浠斁鐢�/鍏呯數
+    //鎵归噺璁剧疆a200涓�浣撴満鍙傛暟
+    public Object setA200ParamPl2(A200ResDto param) {
+        Map<Integer,Object> map=new HashMap<>();
+        int size=param.getDevIds().size();
+        try {
+            ThreadPoolExecutor poolExecutor = ThreadPoolExecutorFactory.getPoolExecutor();
+            CountDownLatch latch = new CountDownLatch(size);
+            for (int i=0;i<size;i++) {
+                int finaldevId=param.getDevIds().get(i);
+                poolExecutor.execute(() -> {
+                    int finalIIdevId=finaldevId;
+                    param.setDevId(finalIIdevId);
+                    ResultA200Dto dto= (ResultA200Dto) setA200Param(param);
+                    map.put(finalIIdevId,dto);
+                    latch.countDown();
+                });
+            }
+            latch.await(4, TimeUnit.MINUTES);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        return new Response().setII(1,true,map,"鎵归噺璁剧疆a200涓�浣撴満鍙傛暟");
+    }
+    //鎵归噺璁剧疆a200涓�浣撴満鍙傛暟
+    public Object setA200ParamPl(A200ResDto param) {
+        Map<Integer,Object> map=new HashMap<>();
+        int size=param.getDevIds().size();
+        for (int i=0;i<size;i++) {
+            int finaldevId=param.getDevIds().get(i);
+            param.setDevId(finaldevId);
+            ResultA200Dto dto= (ResultA200Dto) setA200Param(param);
+            map.put(finaldevId,dto);
+        }
+        return new Response().setII(1,true,map,"鎵归噺璁剧疆a200涓�浣撴満鍙傛暟");
+    }
+
+    //鍚姩a200涓�浣撴満鏀剧數/鍏呯數
     public Object startA200Param(int devId,int type) {
         QueryWrapper wrapper=new QueryWrapper();
         wrapper.eq("dev_id",devId);
@@ -82,10 +122,10 @@
         //灏嗚姹傚ご閮ㄥ拰鍙傛暟鍚堟垚涓�涓姹�
         MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<>();
         paramMap.add("testType",type);
-        ResultA200Dto dto= (ResultA200Dto) TestparamHttpUtil.postforform_data(restTemplate,url,paramMap);
+        ResultA200Dto dto= (ResultA200Dto) TestparamHttpUtil.postforform_dataA200(restTemplate,url,paramMap);
         return dto;
     }
-    //鍋滄a200鍧囪 浠斁鐢�/鍏呯數
+    //鍋滄a200涓�浣撴満鏀剧數/鍏呯數
     public Object stopA200Param(int devId) {
         QueryWrapper wrapper=new QueryWrapper();
         wrapper.eq("dev_id",devId);
@@ -97,9 +137,67 @@
         return dto;
     }
 
-    //鎵归噺鎺у埗a200鍧囪 浠�
-    public Response controllA200ParamPl(List<Integer> devIds) {
-        return new Response().set(1,true,"鎵归噺鎺у埗a200鍧囪 浠�");
+    //鎵归噺鍚姩a200涓�浣撴満
+    public Response startA200ParamPl2(List<Integer> devIds,int type) {
+        Map<Integer,Object> map=new HashMap<>();
+        try {
+            ThreadPoolExecutor poolExecutor = ThreadPoolExecutorFactory.getPoolExecutor();
+            CountDownLatch latch = new CountDownLatch(devIds.size());
+            for (int devId:devIds) {
+                poolExecutor.execute(() -> {
+                    ResultA200Dto dto= (ResultA200Dto) startA200Param(devId,type);
+                    map.put(devId,dto);
+                    latch.countDown();
+                });
+            }
+            latch.await(10, TimeUnit.MINUTES);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        return new Response().set(1,true,"鎵归噺鎺у埗a200涓�浣撴満");
+    }
+
+    //鎵归噺鍚姩a200涓�浣撴満
+    public Response startA200ParamPl(List<Integer> devIds,int type) {
+        Map<Integer,Object> map=new HashMap<>();
+        for (int devId:devIds) {
+            ResultA200Dto dto= (ResultA200Dto) startA200Param(devId,type);
+            UpdateWrapper wrapper=new UpdateWrapper();
+            wrapper.eq("dev_id",devId);
+            wrapper.set("batch_state",1);
+            dinfMapper.update(null,wrapper);
+            map.put(devId,dto);
+        }
+        return new Response().setII(1,true,map,"鎵归噺鎺у埗a200涓�浣撴満");
+    }
+
+    //鎵归噺鍋滄a200涓�浣撴満
+    public Response stopA200ParamPl2(List<Integer> devIds) {
+        Map<Integer,Object> map=new HashMap<>();
+        try {
+            ThreadPoolExecutor poolExecutor = ThreadPoolExecutorFactory.getPoolExecutor();
+            CountDownLatch latch = new CountDownLatch(devIds.size());
+            for (int devId:devIds) {
+                poolExecutor.execute(() -> {
+                    ResultA200Dto dto= (ResultA200Dto) stopA200Param(devId);
+                    map.put(devId,dto);
+                    latch.countDown();
+                });
+            }
+            latch.await(10, TimeUnit.MINUTES);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        return new Response().set(1,true,"鎵归噺鍋滄a200涓�浣撴満");
+    }
+    //鎵归噺鍋滄a200涓�浣撴満
+    public Response stopA200ParamPl(List<Integer> devIds) {
+        Map<Integer,Object> map=new HashMap<>();
+        for (int devId:devIds) {
+                ResultA200Dto dto= (ResultA200Dto) stopA200Param(devId);
+                map.put(devId,dto);
+        }
+        return new Response().setII(1,true,map,"鎵归噺鍋滄a200涓�浣撴満");
     }
 
     //灏哾to鎷疯礉鑷硃aram

--
Gitblit v1.9.1