| | |
| | | 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; |
| | | |
| | | |
| | |
| | | @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()); |
| | | } |
| | | |
| | | } |