src/main/java/com/whyc/controller/DevA200TestparamController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/controller/DevActmTestparamController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/dto/A200ResDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/dto/ActmResDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/dto/ResultA200Dto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/dto/ResultActmDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/DevA200TestparamService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/DevActmTestparamService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/util/TestparamHttpUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/controller/DevA200TestparamController.java
@@ -1,5 +1,6 @@ package com.whyc.controller; import com.whyc.dto.A200ResDto; import com.whyc.dto.Response; import com.whyc.pojo.db_lithium_ram_db.DevActmTestparam; import com.whyc.service.DevA200TestparamService; @@ -28,14 +29,20 @@ @ApiOperation(value = "设置a200均衡仪参数") @PostMapping("setA200Param") public Response setA200Param(@RequestBody DevActmTestparam param){ return service.setA200Param(param); public Object setA200Param(@RequestBody A200ResDto param,@RequestParam int devId){ return service.setA200Param(param,devId); } @ApiOperation(value = "控制a200均衡仪") @GetMapping("controllA200Param") public Response controllA200Param(@RequestParam int devId){ return service.controllA200Param(devId); @ApiOperation(value = "启动a200均衡仪放电/充电") @GetMapping("startA200Param") public Object startA200Param(@RequestParam int devId,@RequestParam int type){ return service.startA200Param(devId,type); } @ApiOperation(value = "停止a200均衡仪放电/充电") @GetMapping("stopA200Param") public Object stopA200Param(@RequestParam int devId){ return service.stopA200Param(devId); } @ApiOperation(value = "批量控制a200均衡仪") src/main/java/com/whyc/controller/DevActmTestparamController.java
@@ -1,7 +1,7 @@ package com.whyc.controller; import com.whyc.dto.ActmResDto; import com.whyc.dto.Response; import com.whyc.pojo.db_lithium_ram_db.DevActmTestparam; import com.whyc.service.DevActmTestparamService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -18,22 +18,28 @@ @Autowired private DevActmTestparamService service; @ApiOperation(value = "读取actm均衡仪参数") @ApiOperation(value = "读取actm一体机参数") @GetMapping("getActmParam") public Response getActmParam(@RequestParam int devId){ public Object getActmParam(@RequestParam int devId){ return service.getActmParam(devId); } @ApiOperation(value = "设置actm均衡仪参数") @PostMapping("setActmParam") public Response setActmParam(@RequestBody DevActmTestparam param){ return service.setActmParam(param); public Object setActmParam(@RequestBody ActmResDto param, @RequestParam int devId){ return service.setActmParam(param,devId); } @ApiOperation(value = "控制actm均衡仪") @GetMapping("controllActmParam") public Response controllActmParam(@RequestParam int devId){ return service.controllActmParam(devId); @ApiOperation(value = "启动actm均衡仪放电/充电") @GetMapping("startActmParam") public Object startActmParam(@RequestParam int devId,@RequestParam int type){ return service.startActmParam(devId,type); } @ApiOperation(value = "停止actm均衡仪放电/充电") @GetMapping("stopActmParam") public Object stopActmParam(@RequestParam int devId){ return service.stopActmParam(devId); } @ApiOperation(value = "批量控制actm均衡仪") @@ -41,4 +47,5 @@ public Response controllActmParamPl(@RequestParam List<Integer> devIds){ return service.controllActmParamPl(devIds); } } src/main/java/com/whyc/dto/A200ResDto.java
@@ -1,10 +1,7 @@ package com.whyc.dto; import com.fasterxml.jackson.annotation.JsonProperty; import com.google.gson.annotations.SerializedName; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.ToString; import java.io.Serializable; public class A200ResDto implements Serializable { src/main/java/com/whyc/dto/ActmResDto.java
New file @@ -0,0 +1,41 @@ package com.whyc.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class ActmResDto { @ApiModelProperty(value = "模组需要,从0开始") private Integer batteryStorageIndex; @ApiModelProperty(value = "模组编号") private String moduleCode; @ApiModelProperty(value = "工作模式[0-充电 1-放电 2-均衡]") private Integer workMode; @ApiModelProperty(value = "电池类型[0-铁锂 1-三元锂 2-钛酸锂 3-锰酸锂]") private Integer batteryType; @ApiModelProperty(value = "当前配置的电芯数量") private Integer batteryNumber; @ApiModelProperty(value = "当前配置的温度传感器数量") private Integer ntcCount; @ApiModelProperty(value = "测试电池列表[测试电池列表是将待测电芯编号用逗号分隔的字符串。例如:1,2,4,6 表示测试1#、2#、4#、6#电芯,其余没有包含的电芯不进行测试]") private String testBatteryArray; @ApiModelProperty(value = "电压阈值") private Double voltage; @ApiModelProperty(value = "工作电流") private Double current; @ApiModelProperty(value = "可配置的最大电芯数量[只读]") private Integer maxBatteryNumber; @ApiModelProperty(value = "可配置的最大温度传感器数量[只读]") private Integer maxNtcCount; } src/main/java/com/whyc/dto/ResultA200Dto.javacopy from src/main/java/com/whyc/dto/ResultDto.java copy to src/main/java/com/whyc/dto/ResultA200Dto.java
File was copied from src/main/java/com/whyc/dto/ResultDto.java @@ -3,8 +3,9 @@ import lombok.Data; @Data public class ResultDto { public class ResultA200Dto { String code; String msg; A200ResDto data; int count; } src/main/java/com/whyc/dto/ResultActmDto.java
File was renamed from src/main/java/com/whyc/dto/ResultDto.java @@ -3,8 +3,9 @@ import lombok.Data; @Data public class ResultDto { public class ResultActmDto { String code; String msg; A200ResDto data; int count; } src/main/java/com/whyc/service/DevA200TestparamService.java
@@ -5,19 +5,24 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.whyc.dto.A200ResDto; import com.whyc.dto.Response; import com.whyc.dto.ResultDto; import com.whyc.dto.ResultA200Dto; import com.whyc.mapper.DevA200TestparamMapper; import com.whyc.mapper.DevInfMapper; import com.whyc.pojo.db_lithium_ram_db.DevA200Testparam; 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.http.*; 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.HashMap; import java.util.List; import java.util.Map; @Service public class DevA200TestparamService { @@ -38,7 +43,7 @@ DevInf dinf=dinfMapper.selectOne(wrapper); String url="http://"+dinf.getDevIp()+":8080/webService/getTestParameter"; String results = restTemplate.postForObject(url, null, String.class); ResultDto dto= ActionUtil.getGson().fromJson(results,ResultDto.class); ResultA200Dto dto= ActionUtil.getGson().fromJson(results, ResultA200Dto.class); if(dto.getCode().equals("200")){ DevA200Testparam a200Param=new DevA200Testparam(); copyA200DTO(dto.getData(),a200Param); @@ -48,23 +53,50 @@ updateWrapper.eq("dev_id",devId); mapper.update(a200Param,updateWrapper); } //System.out.println(results); /*ResultDto dto= JSONObject.parseObject(results,ResultDto.class); A200ResDto a200= JSONObject.parseObject(dto.getData().toString(),A200ResDto.class);*/ //System.out.println(dto.toString()); return dto; } //设置a200均衡仪参数 public Response setA200Param(DevActmTestparam param) { return new Response().set(1,true,"设置a200均衡仪参数"); public Object setA200Param(A200ResDto 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); ResultA200Dto dto= (ResultA200Dto) TestparamHttpUtil.postforform_data(restTemplate,url,paramMap); return dto; } //控制a200均衡仪 public Response controllA200Param(int devId) { return new Response().set(1,true,"控制a200均衡仪"); //启动a200均衡仪放电/充电 public Object startA200Param(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); ResultA200Dto dto= (ResultA200Dto) TestparamHttpUtil.postforform_data(restTemplate,url,paramMap); return dto; } //停止a200均衡仪放电/充电 public Object stopA200Param(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); ResultA200Dto dto= ActionUtil.getGson().fromJson(results, ResultA200Dto.class); return dto; } //批量控制a200均衡仪 public Response controllA200ParamPl(List<Integer> devIds) { return new Response().set(1,true,"批量控制a200均衡仪"); @@ -114,4 +146,6 @@ a200Param.setChargePower(dto.getChargePower()); a200Param.setBatteryTemperatureProtect(dto.getBatteryTemperatureProtect()); } } 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均衡仪参数"); @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); } //设置actm均衡仪参数 public Response setActmParam(DevActmTestparam param) { return new Response().set(1,true,"设置actm均衡仪参数"); 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均衡仪"); } //将dto拷贝至param 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()); } } src/main/java/com/whyc/util/TestparamHttpUtil.java
New file @@ -0,0 +1,23 @@ package com.whyc.util; import com.whyc.dto.ResultA200Dto; import org.springframework.http.*; import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; public class TestparamHttpUtil { //post请求传入form-data 格式 public static Object postforform_data( RestTemplate restTemplate,String url, MultiValueMap<String, Object> paramMap){ HttpHeaders headers = new HttpHeaders(); HttpMethod method = HttpMethod.POST; // 设置以表单的方式提交 headers.add("Content-Type", MediaType.MULTIPART_FORM_DATA_VALUE); HttpEntity< MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(paramMap, headers); ResponseEntity<String> response = restTemplate.exchange(url, method, requestEntity,String.class ); String results= response.getBody(); Object dto= ActionUtil.getGson().fromJson(results, ResultA200Dto.class); return dto; } }