whyclxw
2024-09-21 12c0bb25a0540d97e7c3348e31c9b25a62495390
src/main/java/com/whyc/service/DevA200TestparamService.java
@@ -61,7 +61,7 @@
    }
    //设置a200均衡仪参数
    //设置a200一体机参数
    public Object setA200Param(A200ResDto param) {
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("dev_id",param.getDevId());
@@ -72,31 +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均衡仪参数
    public Object setA200ParamPl(List<A200ResDto> params) {
    //批量设置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(params.size());
            for (A200ResDto param:params) {
            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(param.getDevId(),dto);
                    map.put(finalIIdevId,dto);
                    latch.countDown();
                });
            }
            latch.await(10, TimeUnit.MINUTES);
            latch.await(4, TimeUnit.MINUTES);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return new Response().set(1,true,"批量设置a200均衡仪参数");
        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均衡仪放电/充电
    //启动a200一体机放电/充电
    public Object startA200Param(int devId,int type) {
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("dev_id",devId);
@@ -106,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);
@@ -121,8 +137,8 @@
        return dto;
    }
    //批量启动a200均衡仪
    public Response startA200ParamPl(List<Integer> devIds,int type) {
    //批量启动a200一体机
    public Response startA200ParamPl2(List<Integer> devIds,int type) {
        Map<Integer,Object> map=new HashMap<>();
        try {
            ThreadPoolExecutor poolExecutor = ThreadPoolExecutorFactory.getPoolExecutor();
@@ -138,11 +154,25 @@
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return new Response().set(1,true,"批量控制a200均衡仪");
        return new Response().set(1,true,"批量控制a200一体机");
    }
    //批量启动a200均衡仪
    public Response stopA200ParamPl(List<Integer> devIds) {
    //批量启动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();
@@ -158,7 +188,16 @@
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return new Response().set(1,true,"批量控制a200均衡仪");
        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一体机");
    }
    //将dto拷贝至param