diff --git a/CIM客户端文档.doc b/CIM客户端文档.doc index 6fa092b..fefc86a 100644 Binary files a/CIM客户端文档.doc and b/CIM客户端文档.doc differ diff --git a/cim_for_mina/ichat-server/WebRoot/WEB-INF/classes/spring-cim.xml b/cim_for_mina/ichat-server/WebRoot/WEB-INF/classes/spring-cim.xml index 2375cfb..b1af340 100644 --- a/cim_for_mina/ichat-server/WebRoot/WEB-INF/classes/spring-cim.xml +++ b/cim_for_mina/ichat-server/WebRoot/WEB-INF/classes/spring-cim.xml @@ -42,7 +42,9 @@ - + + + diff --git a/cim_for_mina/ichat-server/src/main/java/com/farsunset/ichat/cim/handler/PushOfflineMessageHandler.java b/cim_for_mina/ichat-server/src/main/java/com/farsunset/ichat/cim/handler/PushOfflineMessageHandler.java new file mode 100644 index 0000000..2f1fb7c --- /dev/null +++ b/cim_for_mina/ichat-server/src/main/java/com/farsunset/ichat/cim/handler/PushOfflineMessageHandler.java @@ -0,0 +1,49 @@ +/** + * probject:cim + * @version 1.1.0 + * + * @author 3979434@qq.com + */ +package com.farsunset.ichat.cim.handler; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.log4j.Logger; + +import com.farsunset.cim.nio.constant.CIMConstant; +import com.farsunset.cim.nio.handler.CIMRequestHandler; +import com.farsunset.cim.nio.mutual.Message; +import com.farsunset.cim.nio.mutual.ReplyBody; +import com.farsunset.cim.nio.mutual.SentBody; +import com.farsunset.cim.nio.session.CIMSession; +/** + * 推送离线消息 + */ +public class PushOfflineMessageHandler implements CIMRequestHandler { + + protected final Logger logger = Logger + .getLogger(PushOfflineMessageHandler.class); + + public ReplyBody process(CIMSession ios, SentBody message) { + + ReplyBody reply = new ReplyBody(); + reply.setCode(CIMConstant.ReturnCode.CODE_200); + try { + String account = message.get("account"); + //获取到存储的离线消息 + //List list = messageService.queryOffLineMessages(account); + List list = new ArrayList(); + for (Message m : list) { + + ios.write(m); + } + + } catch (Exception e) { + reply.setCode(CIMConstant.ReturnCode.CODE_500); + e.printStackTrace(); + logger.error("拉取离线消息失败", e); + } + return reply; + } +} \ No newline at end of file diff --git a/cim_for_mina/ichat-server/src/main/resource/spring-cim.xml b/cim_for_mina/ichat-server/src/main/resource/spring-cim.xml index 2375cfb..b1af340 100644 --- a/cim_for_mina/ichat-server/src/main/resource/spring-cim.xml +++ b/cim_for_mina/ichat-server/src/main/resource/spring-cim.xml @@ -42,7 +42,9 @@ - + + + diff --git a/cim_for_netty/cim-core/.classpath b/cim_for_netty/cim-core/.classpath index 8066ec8..75706f0 100644 --- a/cim_for_netty/cim-core/.classpath +++ b/cim_for_netty/cim-core/.classpath @@ -2,9 +2,9 @@ - + diff --git a/cim_for_netty/ichat-server/src/main/java/com/farsunset/ichat/cim/handler/PushOfflineMessageHandler.java b/cim_for_netty/ichat-server/src/main/java/com/farsunset/ichat/cim/handler/PushOfflineMessageHandler.java new file mode 100644 index 0000000..2f1fb7c --- /dev/null +++ b/cim_for_netty/ichat-server/src/main/java/com/farsunset/ichat/cim/handler/PushOfflineMessageHandler.java @@ -0,0 +1,49 @@ +/** + * probject:cim + * @version 1.1.0 + * + * @author 3979434@qq.com + */ +package com.farsunset.ichat.cim.handler; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.log4j.Logger; + +import com.farsunset.cim.nio.constant.CIMConstant; +import com.farsunset.cim.nio.handler.CIMRequestHandler; +import com.farsunset.cim.nio.mutual.Message; +import com.farsunset.cim.nio.mutual.ReplyBody; +import com.farsunset.cim.nio.mutual.SentBody; +import com.farsunset.cim.nio.session.CIMSession; +/** + * 推送离线消息 + */ +public class PushOfflineMessageHandler implements CIMRequestHandler { + + protected final Logger logger = Logger + .getLogger(PushOfflineMessageHandler.class); + + public ReplyBody process(CIMSession ios, SentBody message) { + + ReplyBody reply = new ReplyBody(); + reply.setCode(CIMConstant.ReturnCode.CODE_200); + try { + String account = message.get("account"); + //获取到存储的离线消息 + //List list = messageService.queryOffLineMessages(account); + List list = new ArrayList(); + for (Message m : list) { + + ios.write(m); + } + + } catch (Exception e) { + reply.setCode(CIMConstant.ReturnCode.CODE_500); + e.printStackTrace(); + logger.error("拉取离线消息失败", e); + } + return reply; + } +} \ No newline at end of file diff --git a/cim_for_netty/ichat-server/src/main/resource/spring-cim.xml b/cim_for_netty/ichat-server/src/main/resource/spring-cim.xml index c480cc4..f0aa66d 100644 --- a/cim_for_netty/ichat-server/src/main/resource/spring-cim.xml +++ b/cim_for_netty/ichat-server/src/main/resource/spring-cim.xml @@ -30,7 +30,9 @@ - + + +