whycxzp
2025-03-17 9cddb3bd1d0cd6a5bdbe263df73271bba6e654c5
A200代码优化及问题修复
1 文件已重命名
3个文件已修改
47 ■■■■ 已修改文件
src/main/java/com/whyc/dto/ResultActmBaseDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/ResultActmDto.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/DevActmTestParamService.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/util/TestParamHttpUtil.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/ResultActmBaseDto.java
File was renamed from src/main/java/com/whyc/dto/ResultActmDto2.java
@@ -6,7 +6,7 @@
 *  请求失败时,将服务器返回的错误信息封装到该类中
 */
@Data
public class ResultActmDto2 {
public class ResultActmBaseDto {
    String code;
    String msg;
}
src/main/java/com/whyc/dto/ResultActmDto.java
@@ -3,9 +3,8 @@
import lombok.Data;
@Data
public class ResultActmDto {
    String code;
    String msg;
public class ResultActmDto extends ResultActmBaseDto{
    ActmResDto data;
    int count;
}
src/main/java/com/whyc/service/DevActmTestParamService.java
@@ -2,10 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.whyc.dto.ActmPlContDto;
import com.whyc.dto.ActmResDto;
import com.whyc.dto.Response;
import com.whyc.dto.ResultActmDto;
import com.whyc.dto.*;
import com.whyc.factory.ThreadPoolExecutorFactory;
import com.whyc.mapper.DevActmTestParamMapper;
import com.whyc.mapper.DevInfMapper;
@@ -51,10 +48,11 @@
        //将请求头部和参数合成一个请求
        MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<>();
        paramMap.add("batteryStorageIndex",index);
        ResultActmDto dto= (ResultActmDto) TestParamHttpUtil.postForFormDataActm(restTemplate,url,paramMap);
        ResultActmBaseDto dto= TestParamHttpUtil.postForFormDataActm(restTemplate,url,paramMap);
        if(dto.getCode().equals("200")){
            DevActmTestParam actmParam=new DevActmTestParam();
            copyActmDTO(dto.getData(),actmParam);
            ResultActmDto ActmDto = (ResultActmDto) dto;
            copyActmDTO(ActmDto.getData(),actmParam);
            actmParam.setDevId(devId);
            UpdateWrapper updateWrapper=new UpdateWrapper();
            updateWrapper.eq("dev_id",devId);
@@ -65,7 +63,7 @@
    //设置Actm均衡仪参数
    public Object setActmParam(ActmResDto param) {
    public ResultActmBaseDto setActmParam(ActmResDto param) {
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("dev_id",param.getDevId());
        wrapper.last("limit 1");
@@ -82,7 +80,7 @@
        paramMap.add("testBatteryArray",param.getTestBatteryArray());
        paramMap.add("voltage",param.getVoltage());
        paramMap.add("current",param.getCurrent());
        ResultActmDto dto= (ResultActmDto) TestParamHttpUtil.postForFormDataActm(restTemplate,url,paramMap);
        ResultActmBaseDto dto= TestParamHttpUtil.postForFormDataActm(restTemplate,url,paramMap);
        return dto;
    }
@@ -96,7 +94,7 @@
            for (Integer devId:param.getDevIds()) {
                poolExecutor.execute(() -> {
                    param.setDevId(devId);
                    ResultActmDto dto= (ResultActmDto) setActmParam(param);
                    ResultActmBaseDto dto = setActmParam(param);
                    map.put(devId,dto);
                    latch.countDown();
                });
@@ -113,7 +111,7 @@
        Map<Integer,Object> map=new HashMap<>();
        for (Integer devId:param.getDevIds()) {
            param.setDevId(devId);
            ResultActmDto dto= (ResultActmDto) setActmParam(param);
            ResultActmBaseDto dto= setActmParam(param);
            map.put(devId,dto);
        }
        return new Response().setII(1,true,map,"批量设置Actm均衡仪参数");
@@ -121,7 +119,7 @@
    //启动,暂停,继续,停止actm均衡仪
    public Object controlActmParam(int devId,int index,int type) {
    public ResultActmBaseDto controlActmParam(int devId,int index,int type) {
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("dev_id",devId);
        wrapper.last("limit 1");
@@ -136,7 +134,7 @@
            case 4:url=url+"/stopTest";break;         //停止
        }
        paramMap.add("batteryStorageIndex",index);
        Object dto= TestParamHttpUtil.postForFormDataActm(restTemplate,url,paramMap);
        ResultActmBaseDto dto= TestParamHttpUtil.postForFormDataActm(restTemplate,url,paramMap);
        return dto;
    }
@@ -149,7 +147,7 @@
            CountDownLatch latch = new CountDownLatch(actmPlContDtos.size());
            for (ActmPlContDto actmPlContDto:actmPlContDtos) {
                poolExecutor.execute(() -> {
                    ResultActmDto dto= (ResultActmDto) controlActmParam(actmPlContDto.getDevId(),actmPlContDto.getIndex(),actmPlContDto.getType());
                    ResultActmBaseDto dto= controlActmParam(actmPlContDto.getDevId(),actmPlContDto.getIndex(),actmPlContDto.getType());
                    map.put(actmPlContDto.getDevId(),dto);
                    latch.countDown();
                });
@@ -165,7 +163,7 @@
    public Response controlActmParamPl(List<Integer> devIds,  int index,  int type) {
        Map<Integer,Object> map=new HashMap<>();
        for (Integer devId:devIds) {
                ResultActmDto dto= (ResultActmDto) controlActmParam(devId,index,type);
            ResultActmBaseDto dto= controlActmParam(devId,index,type);
                if(type==1){
                    UpdateWrapper wrapper=new UpdateWrapper();
                    wrapper.eq("dev_id",devId);
@@ -193,7 +191,7 @@
        actmParam.setMaxNtcCount(dto.getMaxNtcCount());
    }
    //设置电池组数与电池节数
    public Object setActmBatteryStorageNumber(ActmResDto param) {
    public ResultActmBaseDto setActmBatteryStorageNumber(ActmResDto param) {
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("dev_id",param.getDevId());
        wrapper.last("limit 1");
@@ -203,7 +201,7 @@
        MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<>();
        paramMap.add("batteryStorageNumber",param.getBatteryStorageNumber());
        paramMap.add("batteryNumber",param.getBatteryNumber());
        ResultActmDto dto= (ResultActmDto) TestParamHttpUtil.postForFormDataActm(restTemplate,url,paramMap);
        ResultActmBaseDto dto= TestParamHttpUtil.postForFormDataActm(restTemplate,url,paramMap);
        return dto;
    }
    //批量设设置电池组数与电池节数
@@ -212,7 +210,7 @@
        int size=param.getDevIds().size();
        for (Integer devId:param.getDevIds()) {
            param.setDevId(devId);
            ResultActmDto dto= (ResultActmDto) setActmBatteryStorageNumber(param);
            ResultActmBaseDto dto= setActmBatteryStorageNumber(param);
            map.put(devId,dto);
        }
        return new Response().setII(1,true,map,"批量设设置电池组数与电池节数");
src/main/java/com/whyc/util/TestParamHttpUtil.java
@@ -2,7 +2,7 @@
import com.whyc.dto.ResultA200Dto;
import com.whyc.dto.ResultActmDto;
import com.whyc.dto.ResultActmDto2;
import com.whyc.dto.ResultActmBaseDto;
import org.springframework.http.*;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestClientException;
@@ -44,7 +44,7 @@
    }
    //post请求传入form-data 格式
    public static Object postForFormDataActm( RestTemplate restTemplate,String url,  MultiValueMap<String, Object> paramMap){
    public static ResultActmBaseDto postForFormDataActm( RestTemplate restTemplate,String url,  MultiValueMap<String, Object> paramMap){
        HttpHeaders headers = new HttpHeaders();
        HttpMethod method = HttpMethod.POST;
        // 设置以表单的方式提交
@@ -72,11 +72,11 @@
        }
        //对results字符串进行去空格处理,查看是否存在"code":200的字符串
        String resultsAfter = results.replaceAll("\\s*","");
        Object dto;
        ResultActmBaseDto dto;
        if(resultsAfter.contains("code\":200")){
            dto= ActionUtil.getGson().fromJson(results, ResultActmDto.class);
        }else{
            dto= ActionUtil.getGson().fromJson(results, ResultActmDto2.class);
            dto= ActionUtil.getGson().fromJson(results, ResultActmBaseDto.class);
        }