From 013c5f28422defd9b47abbe17a827be693872a26 Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期四, 04 一月 2024 14:39:26 +0800 Subject: [PATCH] 调整优化正来电子粮情协议 --- src/main/java/com/fzzy/protocol/zldz/server/SessionListener.java | 33 ++- src/main/java/com/fzzy/protocol/zldz/analysis/AnalysisTH.java | 18 +- src/main/java/com/fzzy/protocol/zldz/service/ZldzGatewayGrainService.java | 47 +++++ src/main/java/com/fzzy/protocol/zldz/analysis/AnalysisGrain.java | 149 +++++++++++++++++- src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1128.java | 78 +++++++++ src/main/java/com/fzzy/protocol/ProtocolScheduled.java | 85 ++++++++++ src/main/java/com/fzzy/protocol/data/THDto.java | 31 +-- src/main/java/com/fzzy/protocol/zldz/server/HeartbeatProviderImpl.java | 2 8 files changed, 394 insertions(+), 49 deletions(-) diff --git a/src/main/java/com/fzzy/protocol/ProtocolScheduled.java b/src/main/java/com/fzzy/protocol/ProtocolScheduled.java new file mode 100644 index 0000000..fb171da --- /dev/null +++ b/src/main/java/com/fzzy/protocol/ProtocolScheduled.java @@ -0,0 +1,85 @@ +package com.fzzy.protocol; + +import com.fzzy.api.data.GatewayDeviceProtocol; +import com.fzzy.gateway.GatewayUtils; +import com.fzzy.gateway.data.BaseReqData; +import com.fzzy.gateway.entity.GatewayDevice; +import com.fzzy.protocol.zldz.service.ZldzGatewayGrainService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Collection; +import java.util.Date; + + +/** + * 鍗忚鐩稿叧鐨勫畾鏃跺櫒锛屽叏灞�瀹氭椂鍣紝鍖呭惈鎵�鏈夌殑鍗忚锛岄�昏緫澶勭悊鏄惁鎵ц + */ +@Slf4j +@Component(ProtocolScheduled.BEAN_ID) +public class ProtocolScheduled { + + public static final String BEAN_ID = "protocol.Scheduled"; + + + @Resource + private ZldzGatewayGrainService zldzGatewayGrainService; + + + /** + * 浠�6-19鐐规瘡灏忔椂鎵ц涓�娆� + * cron = "0 0 6-19 * * ? *" + */ + @Scheduled(cron = "0 0 6-19 * * ? ") + public void scheduled() { + + Date cur = new Date(); + + log.info("--------------绯荤粺鎵ц瀹氭椂鏁版嵁鍚屾鎿嶄綔--------------"); + + //姝f潵鐢靛瓙鍗忚-瀹氭椂浠诲姟 + this.scheduledZldz(cur); + + + } + + /** + * 姝f潵鐢靛瓙瀹氭椂浠诲姟 + * + * @param cur + */ + private void scheduledZldz(Date cur) { + + //鑾峰彇璁惧鍒楄〃 + Collection<GatewayDevice> list = GatewayUtils.allCacheDevice(); + + try { + BaseReqData reqData; + for (GatewayDevice device : list) { + + if (null == device.getSyncProtocol()) continue; + + if (!GatewayDeviceProtocol.GRAIN_FZZY_ZLDZ_WEB.getCode().equals(device.getSyncProtocol())) { + continue; + } + + reqData = new BaseReqData(); + reqData.setDeviceId(device.getDeviceId()); + reqData.setProductId(device.getProductId()); + reqData.setDeviceName(device.getDeviceName()); + reqData.setDevice(device); + + zldzGatewayGrainService.syncGrainTh(reqData); + + Thread.sleep(500); + } + + } catch (Exception e) { + + } + } + + +} diff --git a/src/main/java/com/fzzy/protocol/data/THDto.java b/src/main/java/com/fzzy/protocol/data/THDto.java index 894a9d6..5a936e9 100644 --- a/src/main/java/com/fzzy/protocol/data/THDto.java +++ b/src/main/java/com/fzzy/protocol/data/THDto.java @@ -8,32 +8,31 @@ /** * 涓氬姟鏁版嵁锛氱伯椋熸俯搴︽箍搴︾粺璁′俊鎭� - * - * @author Andy * + * @author Andy */ @Data public class THDto implements Serializable { - - private static final long serialVersionUID = 1L; - private String serId;//鎵�灞炲垎鏈� + private static final long serialVersionUID = 1L; - private String thAddr = "1";//鎵�灞為�氶亾 + private String serId;//鎵�灞炲垎鏈� - @PropertyDef(label = "鎵�灞炰粨搴�", description = "浠撳簱缂栧彿") - private String depotId; + private String thAddr = "1";//鎵�灞為�氶亾 - @PropertyDef(label = "浠撳唴娓╁害", description = "鍗曚綅鈩�") - private Double tempIn; + @PropertyDef(label = "鎵�灞炰粨搴�", description = "浠撳簱缂栧彿") + private String depotId; - @PropertyDef(label = "浠撳唴婀垮害", description = "鍗曚綅%RH") - private Double humidityIn; - - @PropertyDef(label = "鎺ユ敹鏃堕棿") - private Date receiveDate = new Date(); + @PropertyDef(label = "浠撳唴娓╁害", description = "鍗曚綅鈩�") + private Double tempIn; - private String remark; + @PropertyDef(label = "浠撳唴婀垮害", description = "鍗曚綅%RH") + private Double humidityIn; + + @PropertyDef(label = "鎺ユ敹鏃堕棿") + private Date receiveDate = new Date(); + + private String remark; } diff --git a/src/main/java/com/fzzy/protocol/zldz/analysis/AnalysisGrain.java b/src/main/java/com/fzzy/protocol/zldz/analysis/AnalysisGrain.java index d2b07b1..a497bde 100644 --- a/src/main/java/com/fzzy/protocol/zldz/analysis/AnalysisGrain.java +++ b/src/main/java/com/fzzy/protocol/zldz/analysis/AnalysisGrain.java @@ -1,11 +1,22 @@ package com.fzzy.protocol.zldz.analysis; +import com.alibaba.fastjson.JSONObject; +import com.fzzy.api.data.GatewayDeviceType; import com.fzzy.api.utils.BytesUtil; import com.fzzy.api.utils.ContextUtil; +import com.fzzy.api.utils.NumberUtil; +import com.fzzy.gateway.GatewayUtils; +import com.fzzy.gateway.api.GatewayDeviceReportService; +import com.fzzy.gateway.api.GatewayRemoteManager; import com.fzzy.gateway.data.BaseReqData; +import com.fzzy.gateway.data.WeatherWebDto; import com.fzzy.gateway.entity.GatewayDevice; +import com.fzzy.gateway.hx2023.ScConstant; +import com.fzzy.gateway.hx2023.data.*; import com.fzzy.io.request.BaseRequest; import com.fzzy.protocol.ProtocolUtils; +import com.fzzy.protocol.bhzn.v0.cmd.ReMessageBuilder; +import com.fzzy.protocol.data.THDto; import com.fzzy.protocol.zldz.data.ReMessage; import com.fzzy.protocol.zldz.service.ZldzGatewayGrainService; import lombok.extern.slf4j.Slf4j; @@ -33,6 +44,10 @@ @Resource private ZldzGatewayGrainService zldzGatewayGrainService; + + @Resource + private GatewayRemoteManager gatewayRemoteManager; + public static Map<String, Map<String, String>> contextMap = new HashMap<>(); @@ -249,8 +264,6 @@ // 澶囩敤鍊� if (tempValue == ERROR_CHECK_TAG) { tempValue = ProtocolUtils.ERROR_TEMP; - - //楠岃瘉鏄笉鏄敟褰粨琛ュ伩鍊� curLay = (i % layMax) + 1; curRoot = (i / layMax) + 1; @@ -298,9 +311,7 @@ * @param packetMap * @param sumPackets */ - private void analysisStep1(ReMessage msg, - GatewayDevice device, BaseReqData reqData, - Map<String, String> packetMap, int sumPackets) { + private void analysisStep1(ReMessage msg, GatewayDevice device, BaseReqData reqData, Map<String, String> packetMap, int sumPackets) { // 鑾峰彇瀹屾暣鐨勭伯鎯呭寘淇℃伅 String strPoints = ""; for (int i = 1; i <= sumPackets; i++) { @@ -343,7 +354,7 @@ // 灏嗛泦鍚堣В鏋愭垚鍧愭爣鏁版嵁 - addPoint1(temps, msg, device, reqData); + addPoint1(temps, device, reqData, cableX, cableY, cableZ); } private String buildCurKey(ReMessage msg, int curPacket) { @@ -360,11 +371,131 @@ * @param temps * @throws Exception */ - private void addPoint1(List<Double> temps, ReMessage msg, - GatewayDevice device, BaseReqData reqData) { - //TODO + private void addPoint1(List<Double> temps, GatewayDevice device, BaseReqData reqData, int cableX, int cableY, int cableZ) { + + //鏁版嵁灏佽 + GrainData grain = new GrainData(); + grain.setMessageId(ScConstant.getMessageId()); + grain.setDeviceId(device.getDeviceId()); + grain.setTimestamp(System.currentTimeMillis() + ""); + + ClientHeaders headers = new ClientHeaders(); + headers.setDeviceName(device.getDeviceName()); + headers.setProductId(device.getProductId()); + headers.setOrgId(device.getOrgId()); + headers.setMsgId(reqData.getMessageId()); + grain.setHeaders(headers); + + + GrainOutPut outPut = new GrainOutPut(); + + + double max = ReMessageBuilder.MAX_TEMP, min = ReMessageBuilder.MIN_TEMP, sumT = 0.0, sumNum = cableX * cableY * cableZ; + + List<GrainTemp> temperature = new ArrayList<>(); + //鏍瑰彿 + int cableNum = 1, position = 0; + + double curTemp; + int x = 0, y = 0, z = 0; + for (int i = 0; i < temps.size(); i++) { + curTemp = temps.get(i); + position = i; + z = i % cableZ + 1; + x = i / (cableZ * cableY); + y = x * (cableZ * cableY); + y = (i - y) / cableZ; + //鏍瑰彿 + cableNum = (i / cableZ) + 1; + + temperature.add(new GrainTemp(cableNum + "", z + "", curTemp + "", position + "")); + + //姹傛渶澶ф渶灏忓�� + if (curTemp < -900) { + sumNum--; + } else { + sumT += curTemp; + if (curTemp > max) { + max = curTemp; + } + if (curTemp < min) { + min = curTemp; + } + } + } + + if (sumNum == 0) { + sumNum = 1; + log.warn("---褰撳墠绮儏閲囬泦寮傚父--"); + } + //杩囨护姣旇緝鐢ㄧ殑鏈�澶ф渶灏忓�� + if (max == ReMessageBuilder.MAX_TEMP) { + max = 0.0; + } + if (min == ReMessageBuilder.MIN_TEMP) { + min = 0.0; + } + + outPut.setTemperature(temperature); + outPut.setAvgTemperature(NumberUtil.keepPrecision((sumT / sumNum), 1) + ""); + outPut.setMinTemperature(min + ""); + outPut.setMaxTemperature(min + ""); + List<GrainTH> ths = new ArrayList<>(); + + + THDto thDto = ProtocolUtils.getCacheTh(device.getDeviceId()); + if (null == thDto) thDto = new THDto(); + + ths.add(new GrainTH(thDto.getTempIn() != null ? thDto.getTempIn() + "" : "", thDto.getHumidityIn() != null ? thDto.getHumidityIn() + "" : "", "1")); + outPut.setTemperatureAndhumidity(ths); + grain.setOutput(JSONObject.toJSONString(outPut)); + + GatewayDevice gatewayDeviceWeather = GatewayUtils.getCacheByDeviceTypeOne(GatewayDeviceType.TYPE_09.getCode()); + + //绯荤粺姘旇薄绔欎俊鎭� + WeatherWebDto weather = WeatherWebDto.contextMap.get("default"); + + //姘旇薄淇℃伅 + GrainWeather weatherStation = new GrainWeather(); + weatherStation.setMessageId(ScConstant.getMessageId()); + weatherStation.setMessgeId(weatherStation.getMessageId()); + + if (null != gatewayDeviceWeather) { + weatherStation.setId(gatewayDeviceWeather.getDeviceId()); + } else { + weatherStation.setId(device.getDeviceId()); + } + weatherStation.setAirPressure(weather.getPressure()); + weatherStation.setHumidity(weather.getHumidity()); + weatherStation.setPm(weather.getAir_pm25()); + weatherStation.setRadiation("0"); + weatherStation.setRainfallAmount(weather.getWea()); + weatherStation.setTemperature(weather.getTem()); + weatherStation.setWindDirection(weather.getWin()); + weatherStation.setWindPower(weather.getWin_meter()); + weatherStation.setWindSpeed(weather.getWin_speed()); + + grain.setWeatherStation(JSONObject.toJSONString(weatherStation)); + + //灏佽濂界殑鏁版嵁 + log.info("---绮儏鏈烘灏佽瀹屾垚----寮�濮嬫墽琛屾帹閫�"); + + reqData.setData(JSONObject.toJSONString(grain)); + + doPushGrain(reqData); } + private void doPushGrain(BaseReqData reqData) { + + GatewayDeviceReportService reportService = gatewayRemoteManager.getDeviceReportService(reqData.getDevice().getPushProtocol()); + if (null == reportService) { + log.error("------------绮儏鎺ㄩ�佸け璐ワ紝绯荤粺涓嶅瓨鍦ㄥ綋鍓嶅崗璁墽琛岀被----{}", reqData.getDevice().getDeviceName()); + return; + } + reportService.reportGrainData(reqData); + } + + /** * 鍦嗙瓛浠撹В鏋愭楠� * diff --git a/src/main/java/com/fzzy/protocol/zldz/analysis/AnalysisTH.java b/src/main/java/com/fzzy/protocol/zldz/analysis/AnalysisTH.java index beb890b..4b3f8c8 100644 --- a/src/main/java/com/fzzy/protocol/zldz/analysis/AnalysisTH.java +++ b/src/main/java/com/fzzy/protocol/zldz/analysis/AnalysisTH.java @@ -27,11 +27,11 @@ * 瑙f瀽浠撳簱娓╂箍搴︿俊鎭紝灏嗕俊鎭斁鍦ㄧ紦瀛樹腑锛屼互渚跨伯鎯呬娇鐢� * * @param msg - * @param ser + * @param device */ - public void analysis8828(ReMessage msg, GatewayDevice ser) { + public void analysis8828(ReMessage msg, GatewayDevice device) { - log.debug("-----------analysis8828------------{}.{}", ser.getIp(), ser.getPort()); + log.debug("-----------analysis8828------------{}.{}", device.getIp(), device.getPort()); String content = msg.getBody().getContent(); @@ -55,8 +55,8 @@ t = BytesUtil.hexToInt("FF" + temp); } if (t == ERROR_TH_TAG) { - log.error("{}娓╂箍搴﹁В鏋愬紓甯革紝鍘熷洜锛氭病鏈夋娴嬪埌浼犳劅鍣�", ser.getDeviceName()); - th.setRemark(ser.getDeviceName() + "娓╂箍搴﹁В鏋愬紓甯革紝鍘熷洜锛氭病鏈夋娴嬪埌浼犳劅鍣�"); + log.error("{}娓╂箍搴﹁В鏋愬紓甯革紝鍘熷洜锛氭病鏈夋娴嬪埌浼犳劅鍣�", device.getDeviceName()); + th.setRemark(device.getDeviceName() + "娓╂箍搴﹁В鏋愬紓甯革紝鍘熷洜锛氭病鏈夋娴嬪埌浼犳劅鍣�"); } else { th.setTempIn(Double.valueOf(t)); } @@ -70,17 +70,17 @@ h = BytesUtil.hexToInt("FF" + temp); } if (h == ERROR_TH_TAG) { - log.error("{}娓╂箍搴﹁В鏋愬紓甯革紝鍘熷洜锛氭病鏈夋娴嬪埌浼犳劅鍣�", ser.getDeviceName()); - th.setRemark(ser.getDeviceName() + "娓╂箍搴﹁В鏋愬紓甯革紝鍘熷洜锛氭病鏈夋娴嬪埌浼犳劅鍣�"); + log.error("{}娓╂箍搴﹁В鏋愬紓甯革紝鍘熷洜锛氭病鏈夋娴嬪埌浼犳劅鍣�", device.getDeviceName()); + th.setRemark(device.getDeviceName() + "娓╂箍搴﹁В鏋愬紓甯革紝鍘熷洜锛氭病鏈夋娴嬪埌浼犳劅鍣�"); } else { th.setHumidityIn(Double.valueOf(h)); } - th.setSerId(ser.getId()); + th.setSerId(device.getDeviceId()); th.setThAddr(thAddr + ""); //瀛樻斁缂撳瓨 - ProtocolUtils.addTh2Map(ser.getDeviceId(), th); + ProtocolUtils.addTh2Map(device.getDeviceId(), th); log.info("浠撴俯浠撴箍瑙f瀽瀹屾垚={}", th); } diff --git a/src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1128.java b/src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1128.java new file mode 100644 index 0000000..d5e4200 --- /dev/null +++ b/src/main/java/com/fzzy/protocol/zldz/cmd/CommandBuilder1128.java @@ -0,0 +1,78 @@ +package com.fzzy.protocol.zldz.cmd; + + +import com.fzzy.api.data.ApiCommonDevice; +import com.fzzy.api.utils.BytesUtil; +import com.fzzy.gateway.data.BaseReqData; +import com.fzzy.gateway.entity.GatewayDevice; +import com.fzzy.protocol.zldz.data.Message; +import com.fzzy.protocol.zldz.data.MessageBody; +import com.fzzy.protocol.zldz.server.ZldzServerUtil; + +/** + * 浠撴俯浠撴箍鍛戒护 + * + * @author Andy + */ +public class CommandBuilder1128 extends CommandBuilder { + + + private final static CommandBuilder1128 instance = new CommandBuilder1128(); + + private CommandBuilder1128() { + } + + public static CommandBuilder1128 getInstance() { + return instance; + } + + public Message buildMessage(BaseReqData reqData, ApiCommonDevice commonDevice) { + + Message message = new Message(); + + message.setBegin(ZldzServerUtil.MSG_START); + + // 璋冩暣Message澶撮儴淇℃伅 + buildHeader(message, reqData, commonDevice); + + //鍖呭ご鏍¢獙 + buildCrc8(message); + + // 鍒涘缓娑堟伅浣� + buildBody(message, reqData); + + // 娣诲姞鏍¢獙 + buildCrc16(message); + + message.setEnd(ZldzServerUtil.MSG_END); + + // 鐢熸垚鏁翠綋鍛戒护淇℃伅鍜孊Yte淇℃伅 + build(message); + + return message; + } + + public void buildHeader(Message message, BaseReqData reqData, ApiCommonDevice commonDevice) { + + GatewayDevice device = reqData.getDevice(); + String hexCompanyId = BytesUtil.getTargetId(commonDevice.getOrgId(), true); + hexCompanyId = BytesUtil.tran_LH(hexCompanyId); + + message.setSourceId(hexCompanyId); + message.setSendId(hexCompanyId); + message.setCompanyId(hexCompanyId); + + message.setTargetId(BytesUtil.tran_LH(BytesUtil.getTargetId(device.getDeviceSn(), true))); + message.setMessageType(BytesUtil.tran_LH(ZldzServerUtil.MSG_TYPE_1128)); + } + + + public void buildBody(Message message, BaseReqData reqData) { + GatewayDevice device = reqData.getDevice(); + MessageBody body = new MessageBody(); + body.setLength(2); + body.setContent(BytesUtil.tran_LH(BytesUtil.getTargetId(device.getThAddr(), true))); + message.setBody(body); + } + +} diff --git a/src/main/java/com/fzzy/protocol/zldz/server/HeartbeatProviderImpl.java b/src/main/java/com/fzzy/protocol/zldz/server/HeartbeatProviderImpl.java index 4785ebf..cd24f6e 100644 --- a/src/main/java/com/fzzy/protocol/zldz/server/HeartbeatProviderImpl.java +++ b/src/main/java/com/fzzy/protocol/zldz/server/HeartbeatProviderImpl.java @@ -17,7 +17,7 @@ @Override public byte[] provide(IoSession session) { - log.debug("========绯荤粺寮�濮嬫墽琛屽績璺�=========={}---{}", session.getCompanyId(), session.getBusinessKey()); + log.debug("========绯荤粺寮�濮嬫墽琛屽績璺�=========-{}", session.getBusinessKey()); return null; } diff --git a/src/main/java/com/fzzy/protocol/zldz/server/SessionListener.java b/src/main/java/com/fzzy/protocol/zldz/server/SessionListener.java index edb2881..43d283f 100644 --- a/src/main/java/com/fzzy/protocol/zldz/server/SessionListener.java +++ b/src/main/java/com/fzzy/protocol/zldz/server/SessionListener.java @@ -35,21 +35,25 @@ Constant.updateCacheOnline(session.getAddress(), session.getPort()); - /***********************璁惧涓婄嚎鍚庝富鍔ㄨ幏鍙栭厤缃俊鎭�******************/ + try { + /***********************璁惧涓婄嚎鍚庝富鍔ㄨ幏鍙栭厤缃俊鎭�******************/ - BaseRequest request = new BaseRequest(); - request.setIp(session.getAddress()); - request.setPort(session.getPort()); - request.setCompanyId(ZldzServerUtil.DEFAULT_COMPANY); - // Step1 鐢熸垚鍦ㄧ嚎娴嬭瘯鍛戒护 - Message message = OnLineCommandBuilder.getInstance().buildMessage(request); - // 鍙戦�佸懡浠� - InvokeResult result = session.invoke(message.getByteMsg()); - //濡傛灉鍛戒护鍙戦�佸け璐ワ紝鐩存帴韪㈡帀杩炴帴 - if (!InvokeResult.SUCCESS.getCode().equals(result.getCode())) { - session.destroy(); + BaseRequest request = new BaseRequest(); + request.setIp(session.getAddress()); + request.setPort(session.getPort()); + request.setCompanyId(ZldzServerUtil.DEFAULT_COMPANY); + // Step1 鐢熸垚鍦ㄧ嚎娴嬭瘯鍛戒护 + Message message = OnLineCommandBuilder.getInstance().buildMessage(request); + // 鍙戦�佸懡浠� + InvokeResult result = session.invoke(message.getByteMsg()); + //濡傛灉鍛戒护鍙戦�佸け璐ワ紝鐩存帴韪㈡帀杩炴帴 + if (!InvokeResult.SUCCESS.getCode().equals(result.getCode())) { + session.destroy(); + } + log.info("骞冲彴------->>鍒嗘満---璁惧涓婄嚎锛岃嚜鍔ㄥ彂閫佽澶囬厤缃俊鎭姹傚懡浠�--{}", message); + } catch (Exception e) { + log.error("骞冲彴------->>鍒嗘満---璁惧涓婄嚎锛岃嚜鍔ㄥ彂閫佽澶囬厤缃俊鎭姹傚懡浠ゅけ璐�--{}", session.getAddress()); } - log.info("骞冲彴------->>鍒嗘満---璁惧涓婄嚎锛岃嚜鍔ㄥ彂閫佽澶囬厤缃俊鎭姹傚懡浠�--{}",message); } /** @@ -69,8 +73,9 @@ if (null == gatewayDeviceService) { gatewayDeviceService = SpringUtil.getBean(GatewayDeviceService.class); } - gatewayDeviceService.OfflineByCommonDevice(commonDevice); + //韪㈠嚭杩炴帴 + session.destroy(); } } diff --git a/src/main/java/com/fzzy/protocol/zldz/service/ZldzGatewayGrainService.java b/src/main/java/com/fzzy/protocol/zldz/service/ZldzGatewayGrainService.java index 7f2350e..168052f 100644 --- a/src/main/java/com/fzzy/protocol/zldz/service/ZldzGatewayGrainService.java +++ b/src/main/java/com/fzzy/protocol/zldz/service/ZldzGatewayGrainService.java @@ -92,8 +92,55 @@ @Override public BaseResp syncGrainTh(BaseReqData reqData) { + BaseResp resp = new BaseResp(); + GatewayDevice device = reqData.getDevice(); + + //鑾峰彇杩炴帴涓殑璁惧淇℃伅 + ApiCommonDevice apiCommonDevice = Constant.getCommonDeviceCache(device.getDeviceSn()); + + if (null == apiCommonDevice) { + resp.setCode(500); + resp.setMsg("绯荤粺鏈幏鍙栧埌涓嬭杩炴帴璁惧淇℃伅锛屾棤娉曟墽琛�"); + log.error("----------------绯荤粺鏈幏鍙栧埌涓嬭杩炴帴璁惧淇℃伅,鏃犳硶鎵ц---------"); + return resp; + } + + if (Constant.YN_N.equals(apiCommonDevice.getStatus())) { + resp.setCode(500); + resp.setMsg("涓嬭璁惧涓嶅湪绾�---鏃犳硶鎵ц----" + device.getDeviceName()); + log.error("涓嬭璁惧涓嶅湪绾�---鏃犳硶鎵ц----" + device.getDeviceName()); + return resp; + } + + device.setIp(apiCommonDevice.getIp()); + device.setPort(apiCommonDevice.getPort()); + + reqData.setDevice(device); + + try { + //鐢熸垚娓╁害鍛戒护 + Message message = CommandBuilder1128.getInstance().getInstance().buildMessage(reqData, apiCommonDevice); + + log.error("骞冲彴------>>>>鎺у埗鏌滐細鍙戦�佹俯婀垮害妫�娴嬪懡浠�-{}", message); + // 鍙戦�佸懡浠� + InvokeResult result = ZldzServerEngine.push(apiCommonDevice.getIp(), apiCommonDevice.getPort(), message.getByteMsg()); + + // 灏佽杩斿洖淇℃伅 + if (!InvokeResult.SUCCESS.getCode().equals(result.getCode())) { + log.error("骞冲彴------>>>>鎺у埗鏌滐細鍙戦�佹俯婀垮害妫�娴嬪懡浠�-澶辫触{}", result.getMessage()); + resp.setCode(500); + resp.setMsg("骞冲彴------>>>>鎺у埗鏌滐細鍙戦�佹俯婀垮害妫�娴嬪懡浠�-澶辫触锛�" + result.getMessage()); + } + + } catch (Exception e) { + log.error("娓╂箍搴︽娴嬪紓甯革細{}", e); + resp.setCode(500); + resp.setMsg("骞冲彴------>>>>鎺у埗鏌滐細鍙戦�佹俯婀垮害妫�娴嬪懡浠わ細" + e.getMessage()); + return resp; + } + return resp; } -- Gitblit v1.9.3