package com.dy.pipIrrMwTestWeb.p206V1_0_0;
|
|
import com.dy.common.mw.protocol.Command;
|
import com.dy.common.mw.protocol.CommandType;
|
import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1;
|
import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0;
|
import com.dy.common.mw.protocol.p206V1_0_0.downVos.*;
|
import com.dy.common.util.DateTime;
|
import com.dy.common.webUtil.BaseResponse;
|
import com.dy.pipIrrMwTestWeb.common.CodeLocal;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
/**
|
* @Author: liurunyu
|
* @Date: 2024/6/29 6:46
|
* @Description
|
*/
|
@Slf4j
|
@RestController
|
@RequestMapping(path="comP206V1_0_0")
|
@SuppressWarnings("unchecked")//java版本越高,对泛型约束越严,所以配置SuppressWarnings("unchecked")
|
public class CommandP206V1_0_0Ctrl extends ComSupportP206V1_0_0 {
|
|
@GetMapping(path = "test")
|
public BaseResponse<String> test(String com) {
|
BaseResponse<String> rt = null ;
|
if(com == null){
|
rt = this.connect() ;//连接通信中间件测试
|
}else{
|
try{
|
if(com.equals(CodeLocal.stopTcpSv)){
|
rt = this.stopTcpSv() ;
|
}else if(com.equals(CodeLocal.recoverTcpSv)){
|
rt = this.recoverTcpSv() ;
|
}else if(com.equals(CodeLocal.mwInfo)){
|
rt = this.mwInfo() ;
|
}else if(com.equals("10")){
|
rt = this.cd10() ;
|
}else if(com.equals("21")){
|
rt = this.cd21() ;
|
}else if(com.equals("37")){
|
rt = this.cd37() ;
|
}else if(com.equals("67")){
|
rt = this.cd67() ;
|
}else if(com.equals("38")){
|
rt = this.cd38() ;
|
}else if(com.equals("68")){
|
rt = this.cd68() ;
|
}else if(com.equals("39")){
|
rt = this.cd39() ;
|
}else if(com.equals("69")){
|
rt = this.cd69() ;
|
}else if(com.equals("3A")){
|
rt = this.cd3A() ;
|
}else if(com.equals("6A")){
|
rt = this.cd6A() ;
|
}else if(com.equals("3B")){
|
rt = this.cd3B() ;
|
}else if(com.equals("6B")){
|
rt = this.cd6B() ;
|
}else if(com.equals("3C")){
|
rt = this.cd3C() ;
|
}else if(com.equals("65")){
|
rt = this.cd65() ;
|
}else if(com.equals("91")){
|
rt = this.cd91() ;
|
}else if(com.equals("92")){
|
rt = this.cd92() ;
|
}else if(com.equals("93")){
|
rt = this.cd93() ;
|
}else if(com.equals("97")){
|
rt = this.cd97() ;
|
}else if(com.equals("98")){
|
rt = this.cd98() ;
|
}else if(com.equals("99")){
|
rt = this.cd99() ;
|
}else if(com.equals("A0")){
|
rt = this.cdA0() ;
|
}else if(com.equals("A1")){
|
rt = this.cdA1() ;
|
}else if(com.equals("A2")){
|
rt = this.cdA2() ;
|
}else if(com.equals("B0")){
|
rt = this.cdB0() ;
|
}
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
return rt ;
|
}
|
|
|
/**
|
* 测试连通性
|
* @return
|
*/
|
private BaseResponse connect(){
|
return this.sendTest() ;
|
}
|
|
private BaseResponse stopTcpSv(){
|
return this.sendCom2Mw(this.commandLocal(CodeLocal.stopTcpSv, null, null)) ;
|
}
|
|
private BaseResponse recoverTcpSv(){
|
return this.sendCom2Mw(this.commandLocal(CodeLocal.recoverTcpSv, null, null)) ;
|
}
|
|
private BaseResponse mwInfo(){
|
return this.sendCom2Mw(this.commandLocal(CodeLocal.mwInfo, null, null)) ;
|
}
|
|
private BaseResponse cd10(){
|
Com10Vo comVo = new Com10Vo() ;
|
comVo.rtuAddr = "532328059995" ;//前6位是行政区划码,后6位是序列号最大是065535
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_10, comVo, null)) ;
|
}
|
|
private BaseResponse cd21(){
|
Com21Vo comVo = new Com21Vo() ;
|
comVo.ip = "8.140.180.59" ;//IP(例如 125.235.35.89)
|
comVo.port = 6001 ;///端口号(0~65536)
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_21, comVo, null)) ;
|
}
|
|
private BaseResponse cd37(){
|
Com37Vo comVo = new Com37Vo() ;
|
comVo.seconds = 20 ;//单位秒
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_37, comVo, null)) ;
|
}
|
private BaseResponse cd67(){
|
Com37Vo comVo = new Com37Vo() ;
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_67, comVo, null)) ;
|
}
|
|
private BaseResponse cd38(){
|
Com38Vo comVo = new Com38Vo() ;
|
comVo.remainMoneyAlarm = 10.0 ;//用户余额报警值(大于1.0)
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_38, comVo, null)) ;
|
}
|
|
private BaseResponse cd68(){
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_68, null, null)) ;
|
}
|
|
private BaseResponse cd39(){
|
Com39Vo comVo = new Com39Vo() ;
|
comVo.batteryVoltAlarm = 7.0 ;//电池电压报警值(大于0.1)
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_39, comVo, null)) ;
|
}
|
|
private BaseResponse cd69(){
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_69, null, null)) ;
|
}
|
|
private BaseResponse cd3A(){
|
Com3AVo comVo = new Com3AVo() ;
|
comVo.current = 1.0 ;//阀门堵转电流(大于0)
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_3A, comVo, null)) ;
|
}
|
|
private BaseResponse cd6A(){
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_6A, null, null)) ;
|
}
|
|
private BaseResponse cd3B(){
|
Com3BVo comVo = new Com3BVo() ;
|
comVo.second = 120 ;//阀门超时时间(秒)(大于1)
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_3B, comVo, null)) ;
|
}
|
|
private BaseResponse cd6B(){
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_6B, null, null)) ;
|
}
|
|
private BaseResponse cd3C(){
|
Com3CVo comVo = new Com3CVo() ;
|
comVo.minute = 5 ;
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_3C, comVo, null)) ;
|
}
|
|
private BaseResponse cd65(){
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_65, null, null)) ;
|
}
|
|
private BaseResponse<String> cd91() {
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_91, null, null)) ;
|
}
|
|
private BaseResponse cd92(){
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_92, null, null)) ;
|
}
|
|
private BaseResponse cd93(){
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_93, null, null)) ;
|
}
|
|
//APP远程开阀
|
private BaseResponse cd97(){
|
Com97Vo comVo = new Com97Vo() ;
|
comVo.icCardNo = CommandP206V1_0_0Ctrl.vsIcCardNo;
|
comVo.moneyRemain = 234.56 ;
|
comVo.waterPrice = 1.2 ;
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_97, comVo, null)) ;
|
}
|
//APP远程关阀
|
private BaseResponse cd98(){
|
Com98Vo comVo = new Com98Vo() ;
|
comVo.icCardNo = CommandP206V1_0_0Ctrl.vsIcCardNo;
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_98, comVo, null)) ;
|
}
|
|
//定时关阀开阀
|
private BaseResponse cd99(){
|
Com99Vo comVo = new Com99Vo() ;
|
comVo.icCardNo = CommandP206V1_0_0Ctrl.vsIcCardNo;
|
comVo.moneyRemain = 234.56 ;
|
comVo.waterPrice = 1.2 ;
|
comVo.minutes = 3 ;
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_99, comVo, null)) ;
|
}
|
|
//定量关阀开阀
|
private BaseResponse cdA0(){
|
ComA0Vo comVo = new ComA0Vo() ;
|
comVo.icCardNo = CommandP206V1_0_0Ctrl.vsIcCardNo;
|
comVo.moneyRemain = 234.56 ;
|
comVo.waterPrice = 1.2 ;
|
comVo.waterAmount = 10 ;
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_A0, comVo, null)) ;
|
}
|
|
|
//定时关阀计划开阀
|
private BaseResponse cdA1() throws Exception {
|
ComA1Vo comVo = new ComA1Vo() ;
|
comVo.icCardNo = CommandP206V1_0_0Ctrl.vsIcCardNo;
|
comVo.moneyRemain = 234.56 ;
|
comVo.waterPrice = 1.2 ;
|
comVo.minutes = 3 ;
|
String nextDtStr = DateTime.nextXMinute_yyyy_MM_dd_HH_mm_ss(DateTime.yyyy_MM_dd_HH_mm_ss(), 5) ;//将来5分钟
|
int[] nextDt = DateTime.yyyy_MM_dd_HH_MM_SS_2_ymdhmsGroup(nextDtStr) ;
|
comVo.year = nextDt[0] ;
|
comVo.month = nextDt[1] ;
|
comVo.day = nextDt[2] ;
|
comVo.hour = nextDt[3] ;
|
comVo.minute = nextDt[4] ;
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_A1, comVo, null)) ;
|
}
|
|
//定量关阀计划开阀
|
private BaseResponse cdA2() throws Exception {
|
ComA2Vo comVo = new ComA2Vo() ;
|
comVo.icCardNo = CommandP206V1_0_0Ctrl.vsIcCardNo;
|
comVo.moneyRemain = 234.56 ;
|
comVo.waterPrice = 1.2 ;
|
comVo.waterAmount = 10 ;
|
String nextDtStr = DateTime.nextXMinute_yyyy_MM_dd_HH_mm_ss(DateTime.yyyy_MM_dd_HH_mm_ss(), 5) ;//将来5分钟
|
int[] nextDt = DateTime.yyyy_MM_dd_HH_MM_SS_2_ymdhmsGroup(nextDtStr) ;
|
comVo.year = nextDt[0] ;
|
comVo.month = nextDt[1] ;
|
comVo.day = nextDt[2] ;
|
comVo.hour = nextDt[3] ;
|
comVo.minute = nextDt[4] ;
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_A2, comVo, null)) ;
|
}
|
|
|
private BaseResponse cdB0(){
|
return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_B0, null, null)) ;
|
}
|
|
//在线情况
|
private BaseResponse online(){
|
Command com = new Command() ;
|
com.id = Command.defaultId;//实际应用中,替换成数据库记录id
|
com.protocol = ProtocolConstantV206V1_0_0.protocolName ;
|
com.code = CodeLocal.onLine ;
|
com.type = CommandType.innerCommand ;
|
com.rtuResultSendWebUrl = rtuResultSendWebUrl ;
|
return this.sendCom2Mw(com) ;
|
}
|
|
|
}
|