/**
* 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.ichat.nio.constant.CIMConstant;
import com.farsunset.ichat.nio.handler.CIMRequestHandler;
import com.farsunset.ichat.nio.mutual.Message;
import com.farsunset.ichat.nio.mutual.ReplyBody;
import com.farsunset.ichat.nio.mutual.SentBody;
import com.farsunset.ichat.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<Message> list =
// messageService.queryOffLineMessages(account);
List<Message> list = new ArrayList<Message>();
for (Message m : list) {
ios.write(m);
}
} catch (Exception e) {
reply.setCode(CIMConstant.ReturnCode.CODE_500);
e.printStackTrace();
logger.error("拉取离线消息失败", e);
}
return reply;
}
}