From ca46c59e66ab37c12d4770f46aff8c631743f28c Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期二, 03 九月 2024 09:44:38 +0800
Subject: [PATCH] actm

---
 src/main/java/com/whyc/service/DevActmTestparamService.java |  108 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 96 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/whyc/service/DevActmTestparamService.java b/src/main/java/com/whyc/service/DevActmTestparamService.java
index cbae424..e9ffa04 100644
--- a/src/main/java/com/whyc/service/DevActmTestparamService.java
+++ b/src/main/java/com/whyc/service/DevActmTestparamService.java
@@ -1,11 +1,24 @@
 package com.whyc.service;
 
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.whyc.dto.ActmResDto;
 import com.whyc.dto.Response;
+import com.whyc.dto.ResultActmDto;
 import com.whyc.mapper.DevActmTestparamMapper;
+import com.whyc.mapper.DevInfMapper;
 import com.whyc.pojo.db_lithium_ram_db.DevActmTestparam;
+import com.whyc.pojo.db_lithium_ram_db.DevInf;
+import com.whyc.util.ActionUtil;
+import com.whyc.util.TestparamHttpUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.client.RestTemplate;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 
@@ -14,22 +27,93 @@
     @Autowired(required = false)
     private DevActmTestparamMapper mapper;
 
-    //璇诲彇actm鍧囪 浠弬鏁�
-    public Response getActmParam(int devId) {
+    @Autowired(required = false)
+    private DevInfMapper dinfMapper;
 
-        return new Response().set(1,new DevActmTestparam(),"璇诲彇actm鍧囪 浠弬鏁�");
-    }
-   //璁剧疆actm鍧囪 浠弬鏁�
-    public Response setActmParam(DevActmTestparam param) {
-        return new Response().set(1,true,"璁剧疆actm鍧囪 浠弬鏁�");
+    @Resource
+    private RestTemplate restTemplate;
+
+    //璇诲彇Actm涓�浣撴満鍙傛暟
+    public Object getActmParam(int devId) {
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("dev_id",devId);
+        wrapper.last("limit 1");
+        DevInf dinf=dinfMapper.selectOne(wrapper);
+        String url="http://"+dinf.getDevIp()+":8080/webService/getTestParameter";
+        String results = restTemplate.postForObject(url, null, String.class);
+        ResultActmDto dto= ActionUtil.getGson().fromJson(results, ResultActmDto.class);
+        if(dto.getCode().equals("200")){
+            DevActmTestparam actmParam=new DevActmTestparam();
+            copyActmDTO(dto.getData(),actmParam);
+            actmParam.setDevId(devId);
+            //actmParam.setReturnCode(Integer.parseInt(dto.getCode()));
+            UpdateWrapper updateWrapper=new UpdateWrapper();
+            updateWrapper.eq("dev_id",devId);
+            mapper.update(actmParam,updateWrapper);
+        }
+        return dto;
     }
 
-    //鎺у埗actm鍧囪 浠�
-    public Response controllActmParam(int devId) {
-        return new Response().set(1,true,"鎺у埗actm鍧囪 浠�");
+
+    //璁剧疆Actm鍧囪 浠弬鏁�
+    public Object setActmParam(ActmResDto param, int devId) {
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("dev_id",devId);
+        wrapper.last("limit 1");
+        DevInf dinf=dinfMapper.selectOne(wrapper);
+        String url="http://"+dinf.getDevIp()+":8080/webService/setTestParameter";
+        //灏嗚姹傚ご閮ㄥ拰鍙傛暟鍚堟垚涓�涓姹�
+        MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<>();
+        String paramJson= JSONObject.toJSONString(param);
+        paramMap.add("testParameter",paramJson);
+        ResultActmDto dto= (ResultActmDto) TestparamHttpUtil.postforform_data(restTemplate,url,paramMap);
+        return dto;
     }
-   //鎵归噺鎺у埗actm鍧囪 浠�
+
+    //鍚姩Actm鍧囪 浠斁鐢�/鍏呯數
+    public Object startActmParam(int devId,int type) {
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("dev_id",devId);
+        wrapper.last("limit 1");
+        DevInf dinf=dinfMapper.selectOne(wrapper);
+        String url="http://"+dinf.getDevIp()+":8080/webService/startTest";
+        //灏嗚姹傚ご閮ㄥ拰鍙傛暟鍚堟垚涓�涓姹�
+        MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<>();
+        paramMap.add("testType",type);
+        ResultActmDto dto= (ResultActmDto) TestparamHttpUtil.postforform_data(restTemplate,url,paramMap);
+        return dto;
+    }
+    //鍋滄Actm鍧囪 浠斁鐢�/鍏呯數
+    public Object stopActmParam(int devId) {
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("dev_id",devId);
+        wrapper.last("limit 1");
+        DevInf dinf=dinfMapper.selectOne(wrapper);
+        String url="http://"+dinf.getDevIp()+":8080/webService/stopTest";
+        String results = restTemplate.postForObject(url, null, String.class);
+        ResultActmDto dto= ActionUtil.getGson().fromJson(results, ResultActmDto.class);
+        return dto;
+    }
+
+    //鎵归噺鎺у埗Actm鍧囪 浠�
     public Response controllActmParamPl(List<Integer> devIds) {
-        return new Response().set(1,true,"鎵归噺鎺у埗actm鍧囪 浠�");
+        return new Response().set(1,true,"鎵归噺鎺у埗Actm鍧囪 浠�");
     }
+
+    //灏哾to鎷疯礉鑷硃aram
+    private void copyActmDTO(Object data, DevActmTestparam actmParam) {
+        ActmResDto dto= (ActmResDto) data;
+        actmParam.setBatteryStorageIndex(dto.getBatteryStorageIndex());
+        actmParam.setModuleCode(dto.getModuleCode());
+        actmParam.setWorkMode(dto.getWorkMode());
+        actmParam.setBatteryType(dto.getBatteryType());
+        actmParam.setBatteryNumber(dto.getBatteryNumber());
+        actmParam.setNtcCount(dto.getNtcCount());
+        actmParam.setTestBatteryArray(dto.getTestBatteryArray());
+        actmParam.setVoltage(dto.getVoltage());
+        actmParam.setCurrent(dto.getCurrent());
+        actmParam.setMaxBatteryNumber(dto.getMaxBatteryNumber());
+        actmParam.setMaxNtcCount(dto.getMaxNtcCount());
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.1