package com.zhujizheng.IHome.chat.net; import com.zhujizheng.IHome.chat.dto.PYGetMsgStatusDTO; import com.zhujizheng.IHome.chat.service.PYSingleChatService; import com.zhujizheng.IHome.chat.vo.PYGetMsgStatusVO; import com.zhujizheng.IHome.chat.vo.PYSingleChatAckVO; import com.zhujizheng.IHome.websocket.Net.Base.NetProtocolBase; import lombok.extern.slf4j.Slf4j; import net.sf.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; @Component @Slf4j public class NetGetMsgStatus extends NetProtocolBase { @Autowired private PYSingleChatService chatService; @Override public void dealWithJSONAndSid(JSONObject json, String sid) { super.dealWithJSONAndSid(json, sid); // 解析消息数据 PYGetMsgStatusDTO dto = (PYGetMsgStatusDTO)JSONObject.toBean(json, PYGetMsgStatusDTO.class); ArrayList list = dto.getList(); if (list == null) { log.error("NetGetMsgStatus list为空"); this.sendServerError(sid); return; } List voList = new ArrayList(); for (String msgSeq : list) { if (msgSeq == null) { continue; } PYSingleChatAckVO vo = chatService.getChatMsgBySeq(msgSeq); if (vo == null) { continue; } voList.add(vo); } PYGetMsgStatusVO getMsgStatusVO = new PYGetMsgStatusVO(); getMsgStatusVO.setList(voList); this.sendObject(getMsgStatusVO, sid); } }