From 203223860baa19deb6860eb2ba3181910d662980 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期四, 17 四月 2025 14:22:59 +0800 Subject: [PATCH] 1. 轮灌组被终止时灌溉时长为实际数值。2. 计划历史表按照创建时间倒排序。3. 发布计划时判断是否同项目下未完成计划,是否其他项目下使用了本计划的轮灌组且计划未完成。4. 根据计划ID获取计划最新状态。 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java | 87 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 87 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java new file mode 100644 index 0000000..7bccddf --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java @@ -0,0 +1,87 @@ +package com.dy.rtuMw.server.forTcp; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.apache.mina.core.session.IoSession; + +import com.dy.common.mw.channel.tcp.TcpIoSessionAttrIdIsRtuAddr; +import com.dy.common.mw.channel.tcp.TcpIoSessionEventCallback; +import com.dy.common.mw.core.CoreUnit; +import com.dy.rtuMw.server.tasks.RtuUpTask; + +public class TcpIoSessionCallback implements TcpIoSessionEventCallback{ + + private static Logger log = LogManager.getLogger(TcpIoSessionCallback.class.getName()); + + /** + * 缃戠粶杩炴帴鎵撳紑 + */ + public void sessionOpened(IoSession session) throws Exception { + log.info("缃戠粶杩炴帴寤虹珛锛岀粓绔綉鍧�鏄細" + session.getRemoteAddress().toString()) ; + if(session != null) { + String rtuAddr = (String) session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrRtuAddr); + if(rtuAddr != null && !rtuAddr.trim().equals("")){ + RtuLogDealer.log(rtuAddr, "缃戠粶鎺ュ叆"); + } + } + } + + /** + * 缃戠粶杩炴帴鍏抽棴 + */ + @Override + public void sessionClosed(IoSession session) throws Exception { + if(session != null){ + String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrRtuAddr) ; + + if(rtuAddr != null && !rtuAddr.trim().equals("")){ + //璁板綍鐘舵�� + RtuStatusDealer.offLine(rtuAddr); + RtuLogDealer.log(rtuAddr, "缃戠粶杩炴帴鍏抽棴"); + } + log.info("缃戠粶杩炴帴鍏抽棴锛�" + + (rtuAddr==null?"":("缁堢鍦板潃鏄細" + rtuAddr))) ; + //+ (session==null?"":(session.getRemoteAddress() == null?"":(session.getRemoteAddress().toString()==null?"":("锛岀粓绔綉鍧�鏄細" + session.getRemoteAddress().toString()))))) ; + } + } + /** + * 鍙戠敓寮傚父 + */ + public void exceptionCaught(IoSession session, Throwable cause) throws Exception { + if(session != null && cause != null){ + String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrRtuAddr) ; + log.error("缃戠粶浼氳瘽鍙戠敓寮傚父锛�" + + (rtuAddr==null?"":("缁堢鍦板潃鏄細" + rtuAddr)) + + (session==null?"":(session.getRemoteAddress() != null?("锛岀粓绔綉鍧�鏄細" + session.getRemoteAddress().toString()):"")) + + "\n寮傚父娑堟伅锛�" + cause.getMessage(), cause); + } + } + + /** + * TCP閫氶亾鍙戦�佸畬鏁版嵁鍚庯紝鍥炶皟鐨勬柟娉曪紝杩涜鍚庣画鏁版嵁澶勭悊 + */ + public void messageSended(IoSession session, Object message) throws Exception { + String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrRtuAddr) ; + log.info("缃戠粶鍙戦�佷簡鏁版嵁锛�" + + (rtuAddr==null?"":("缁堢鍦板潃鏄細" + rtuAddr)) + + (session==null?"":(session.getRemoteAddress() != null?("锛岀粓绔綉鍧�鏄細" + session.getRemoteAddress().toString()):"")) ); + } + + /** + * TCP閫氶亾鎺ユ敹鍒版暟鎹紝鍥炶皟鐨勬柟娉曪紝杩涜鏁版嵁澶勭悊 + * 姝ゆ柟娉曡皟鐢ㄥ悗锛屼笂琛屾暟鎹劚绂讳簡NIO绾跨▼锛岃繘鍏ヤ簡鏍稿績绾跨▼ + */ + @Override + public void messageReceived(IoSession session, Object message)throws Exception { + if(session != null && message != null){ + RtuUpTask task = new RtuUpTask() ; + task.data = new Object[]{session, (byte[])message} ; + try{ + CoreUnit.getInstance().pushCoreTask(task); + }catch(Exception e){ + log.error(e.getMessage(), e); + } + } + } + +} -- Gitblit v1.8.0