| package com.dy.pipIrrMwTestWeb.p206V202404test; | 
|   | 
| import com.dy.common.mw.protocol.Command; | 
| import com.dy.common.mw.protocol.CommandType; | 
| import com.dy.common.mw.protocol.p206V202404.ProtocolConstantV206V202404; | 
| import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo; | 
| import com.dy.common.webUtil.BaseResponse; | 
| import com.dy.common.webUtil.BaseResponseUtils; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.http.HttpEntity; | 
| import org.springframework.http.HttpHeaders; | 
| import org.springframework.http.HttpMethod; | 
| import org.springframework.http.ResponseEntity; | 
| import org.springframework.web.client.RestTemplate; | 
| import org.springframework.web.util.UriComponentsBuilder; | 
|   | 
| /** | 
|  * @Author: liurunyu | 
|  * @Date: 2024/5/14 17:32 | 
|  * @Description | 
|  */ | 
| public class ComSupportP206V202404 { | 
|     //protected static final String mwIp = "romq9311819.vicp.fun" ; //http://romq9311819.vicp.fun:16583 | 
|     //protected static final String mwPort = "16583" ; | 
|     protected static final String mwIp = "127.0.0.1" ; | 
|     protected static final String mwPort = "65533" ; | 
|   | 
|     protected static String mwUrlTest = "http://" + mwIp + ":" + mwPort + "/rtuMw/com/test" ; | 
|     protected static String mwUrlSendCom = "http://" + mwIp + ":" + mwPort + "/rtuMw/com/send" ; | 
|   | 
|     protected static String rtuAddr = "37142501020100229" ; | 
|     protected static String rtuResultSendWebUrl = "http://127.0.0.1:65535/test/comRes/receive" ; | 
|   | 
|     protected static String controllerType = "57" ;//控制器类型 | 
|     protected static Integer projectNo = 10 ;//项目编码 | 
|   | 
|     protected static String icCardAddr = "04BEA5BB" ;//IC卡地址 | 
|     protected static String icCardNo = "37142501020500001" ;//IC卡编号(用户卡序列号) | 
|   | 
|   | 
|     @Autowired | 
|     private RestTemplate restTemplate; | 
|   | 
|   | 
|     protected ComCdXyVo comCdXyVo(){ | 
|         ComCdXyVo comVo = new ComCdXyVo() ; | 
|         comVo.controllerType = controllerType ; | 
|         comVo.projectNo = projectNo  ; | 
|         return comVo ; | 
|     } | 
|   | 
|     protected Command command(String code, Object param, String comId){ | 
|         Command com = new Command() ; | 
|         com.id = comId==null?Command.defaultId:(comId.trim().equals("")?Command.defaultId:comId) ;//实际应用中,替换成数据库记录id | 
|         com.protocol = ProtocolConstantV206V202404.protocolName ; | 
|         com.code = code ; | 
|         com.rtuAddr = rtuAddr ; | 
|         com.type = CommandType.outerCommand ; | 
|         com.rtuResultSendWebUrl = rtuResultSendWebUrl ; | 
|   | 
|         com.param = param ; | 
|   | 
|         return com ; | 
|     } | 
|   | 
|     /** | 
|      * 连接通信中间件测试 | 
|      * @return | 
|      */ | 
|     protected BaseResponse sendTest(){ | 
|         String url = UriComponentsBuilder.fromUriString(mwUrlTest) | 
|                 .build() | 
|                 .toUriString(); | 
|         HttpHeaders headers = new HttpHeaders(); | 
|         HttpEntity<?> httpEntity = new HttpEntity<>(headers); | 
|         ResponseEntity<BaseResponse> response = null; | 
|         try { | 
|             // 通过Get方式调用接口 | 
|             response = restTemplate.exchange(url, HttpMethod.GET, httpEntity, BaseResponse.class); | 
|         } catch (Exception e) { | 
|             e.printStackTrace(); | 
|             return BaseResponseUtils.buildError("后端系统出错,中间件调用异常"); | 
|         } | 
|         if(response == null){ | 
|             return BaseResponseUtils.buildError("后端系统出错,中间件调用异常"); | 
|         }else{ | 
|             return response.getBody(); | 
|         } | 
|     } | 
|   | 
|     /** | 
|      * 发送命令 | 
|      * @return | 
|      */ | 
|     protected BaseResponse sendCom2Mw(Command com){ | 
|         String url = UriComponentsBuilder.fromUriString(mwUrlSendCom) | 
|                 .build() | 
|                 .toUriString(); | 
|         HttpHeaders headers = new HttpHeaders(); | 
|         HttpEntity<Command> httpEntity = new HttpEntity<>(com, headers); | 
|         ResponseEntity<BaseResponse> response = null; | 
|         try { | 
|             // 通过Post方式调用接口 | 
|             response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, BaseResponse.class); | 
|         } catch (Exception e) { | 
|             e.printStackTrace(); | 
|             return BaseResponseUtils.buildError("后端系统出错,中间件调用异常"); | 
|         } | 
|         if(response == null){ | 
|             return BaseResponseUtils.buildError("后端系统出错,中间件调用异常"); | 
|         }else{ | 
|             return response.getBody(); | 
|         } | 
|     } | 
|   | 
| } |