/** * 邀请好友 * * @param args */ @RPCReponse("e_invitation") public void invitation(LogicRequest args) { Long uid; // 用户id Long rid; // 房间id List<String> list; // 好友id列表 List<String> onlinelist = new ArrayList<String>(); try { InvitationOp op = ObjectBeanUtil.JACKSON.readValue(args.getData(), InvitationOp.class); if (op != null) { uid = op.getUid(); rid = op.getRid(); list = op.getList(); String uName = ""; String roomName = ""; UserFundDetails uinfo = LobbyUserHelper.getUserInfo(uid); uName = uinfo.getNn(); Rooms r = LocalCache.ROOMS.get(rid.toString()); if (r != null) { roomName = r.getRn(); } InvitationsRoomVo iRV = new InvitationsRoomVo( Definition.INVITATIONS, Definition.SUCCESS_CODE, rid, roomName, uid, uName); System.out.println(list); if (list != null && list.size() > 0) { Iterator itr = list.iterator(); while (itr.hasNext()) { Long otherId = Long.valueOf(itr.next().toString()); if (LobbyUserHelper.isLobby(otherId)) { // 大厅中存在该用户 // 建立消息通道 onlinelist.add(otherId.toString()); // 存储消息邮件 UserMessageHelper.Message message = new UserMessageHelper.Message(); message.setTitle("牌局邀请"); message.setContent(iRV.toString()); message.setType(MessageManager.Type.INT.getValue()); message.setSubtype(MessageManager.Subtype.interaction.getValue()); UserMessageHelper.insertUserMessage(otherId, message); // MessageSendUtil.sendAddUserMsgTipToUser(otherId);//更新TOP菜单栏消息提示 LobbyUserHelper.sendMsgTips(uid); } } LogicChannelUtil.sendToTargets(iRV, onlinelist); } } } catch (Exception e) { LOGGER.error("", e); e.printStackTrace(); } }