⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basicfamilyprocessor.java

📁 MilyQQ是一个使用控制台的QQ客户端,基于LumaQQ的核心JQL包开发,只有一个可执行的jar包(MilyQQ.jar),携带方便,由于是Java程序,因此理论上应该可以运行于所有平台,不过基于
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_GET_ONLINE_MEMBER_FAIL;
			client.fireQQEvent(e);
		}
	}

	// 处理得到在线群成员的回复包
	private void processClusterGetOnlineMemberReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_REPLY_OK) {
			//log.debug("得到在线成员列表成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_GET_ONLINE_MEMBER_SUCCESS;
			client.fireQQEvent(e);
		} else {
			//log.debug("得到在线成员列表失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_GET_ONLINE_MEMBER_FAIL;
			client.fireQQEvent(e);
		}
	}

	/**
	 * 处理得到群信息回复包
	 *
	 * @param packet
	 */
	private void processClusterGetInfoReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_REPLY_OK) {
			//log.debug("成功得到群信息,群内部ID:" + packet.clusterId + " 群名称:" + packet.info.name);
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_GET_CLUSTER_INFO_SUCCESS;
			client.fireQQEvent(e);
		} else {
			//log.debug("得到群信息失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_GET_CLUSTER_INFO_FAIL;
			client.fireQQEvent(e);
		}
	}

	/**
	 * 处理得到临时群信息回复包
	 *
     * @param packet
     */
    private void processClusterGetTempClusterInfoReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_REPLY_OK) {
			//log.debug("成功得到群信息,群内部ID:" + packet.clusterId + " 群名称:" + packet.info.name);
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_GET_TEMP_CLUSTER_INFO_SUCCESS;
			client.fireQQEvent(e);
		} else {
			//log.debug("得到群信息失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_GET_TEMP_CLUSTER_INFO_FAIL;
			client.fireQQEvent(e);
		}
    }

	/**
	 * 处理激活群回复包
	 *
	 * @param packet
	 */
	private void processClusterActivateReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_REPLY_OK) {
			//log.debug("群激活成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_ACTIVATE_CLUSTER_SUCCESS;
			client.fireQQEvent(e);
		} else {
			//log.debug("群激活失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_ACTIVATE_CLUSTER_FAIL;
			client.fireQQEvent(e);
		}
	}

	// 处理创建群回复包
	private void processClusterCreateReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_REPLY_OK) {
			//log.debug("群创建成功,内部ID:" + packet.clusterId + " 外部ID:" + packet.externalId);
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_CREATE_CLUSTER_SUCCESS;
			client.fireQQEvent(e);
		} else {
			//log.debug("群创建失败");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_CREATE_CLUSTER_FAIL;
			client.fireQQEvent(e);
		}
	}

	/**
	 * 处理上传下载备注的回复包
	 *
	 * @param in
	 */
	private void processFriendDataOpReply(BasicInPacket in) {
		QQEvent e;
		FriendDataOpReplyPacket packet = (FriendDataOpReplyPacket)in;
		// 判断操作类型
		if(packet.replyCode == QQ.QQ_REPLY_OK) {
			switch(packet.subCommand) {
			    case QQ.QQ_SUB_CMD_BATCH_DOWNLOAD_FRIEND_REMARK:
					//log.debug("批量下载好友备注信息成功");
					e = new QQEvent(packet);
					e.type = QQEvent.QQ_BATCH_DOWNLOAD_FRIEND_REMARK_SUCCESS;
					client.fireQQEvent(e);
					break;
			    case QQ.QQ_SUB_CMD_UPLOAD_FRIEND_REMARK:
					//log.debug("上传好友备注信息成功");
					e = new QQEvent(monitor.retrieveRequest(packet));
					e.type = QQEvent.QQ_UPLOAD_FRIEND_REMARK_SUCCESS;
					client.fireQQEvent(e);
					break;
				case QQ.QQ_SUB_CMD_REMOVE_FRIEND_FROM_LIST:
				    //log.debug("更新服务器端好友列表成功");
				    e = new QQEvent(monitor.retrieveRequest(packet));
					e.type = QQEvent.QQ_REMOVE_FRIEND_FROM_LIST_SUCCESS;
					client.fireQQEvent(e);
					break;
				case QQ.QQ_SUB_CMD_DOWNLOAD_FRIEND_REMARK:
					//log.debug("下载好友备注信息成功");
					e = new QQEvent(packet);
					e.type = QQEvent.QQ_DOWNLOAD_FRIEND_REMARK_SUCCESS;
					client.fireQQEvent(e);
					break;
			}
		}
	}

	/**
	 * 处理下载分组好友列表回复包
	 *
	 * @param in
	 */
	private void processDownloadGroupFriendReply(BasicInPacket in) {
		QQEvent e;
		DownloadGroupFriendReplyPacket packet = (DownloadGroupFriendReplyPacket)in;
		monitor.retrieveRequest(packet);
		// 触发事件
		if(packet.replyCode == QQ.QQ_REPLY_OK) {
			//log.debug("下载分组好友列表成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_DOWNLOAD_GROUP_FRIEND_SUCCESS;
			client.fireQQEvent(e);
		} else {
			//log.debug("下载分组好友失败");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_DOWNLOAD_GROUP_FRIEND_FAIL;
			client.fireQQEvent(e);
		}
	}

	/**
	 * 处理上传分组名称回复包
	 *
	 * @param in
	 */
	private void processGroupNameOpReply(BasicInPacket in) {
		QQEvent e;
		GroupDataOpReplyPacket packet = (GroupDataOpReplyPacket)in;
		// 触发事件
		monitor.retrieveRequest(packet);
		if(packet.subCommand == QQ.QQ_SUB_CMD_UPLOAD_GROUP_NAME) {
			//log.debug("上传分组名称成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_UPLOAD_GROUP_NAME_SUCCESS;
			client.fireQQEvent(e);
		} else if(packet.subCommand == QQ.QQ_SUB_CMD_DOWNLOAD_GROUP_NAME) {
			//log.debug("下载分组名称成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_DOWNLOAD_GROUP_NAME_SUCCESS;
			client.fireQQEvent(e);
		} else {
			//log.debug("未知的分组名称操作类型,忽略该包");
		}
	}

	/**
	 * 处理上传分组好友列表回复包
	 *
	 * @param in
	 */
	private void processUploadGroupFriendReply(BasicInPacket in) {
		QQEvent e;
		UploadGroupFriendReplyPacket packet = (UploadGroupFriendReplyPacket)in;
		// 触发事件
		monitor.retrieveRequest(packet);
		if(packet.replyCode == QQ.QQ_REPLY_OK) {
			//log.debug("上传分组好友列表成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_UPLOAD_GROUP_FRIEND_SUCCESS;
			client.fireQQEvent(e);
		} else {
			//log.debug("上传分组好友列表失败");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_UPLOAD_GROUP_FRIEND_FAIL;
			client.fireQQEvent(e);
		}
	}

	/**
	 * 处理搜索在线用户的回复包
	 *
	 * @param in
	 */
	private void processSearchUserReply(BasicInPacket in) {
		QQEvent e;
		SearchUserReplyPacket packet = (SearchUserReplyPacket)in;

		/*
		if(!packet.finished && log.isDebugEnabled()) {
			//log.debug("搜索用户成功,搜索到下列用户:");
			Iterator iter = packet.users.iterator();
			while(iter.hasNext()) {
				UserInfo user = (UserInfo)iter.next();
				//log.debug("用户" + user.qqNum + " 昵称:" + user.nick + " 地区:" + user.province);
			}
		}*/

		// 触发事件
		if(!packet.finished) {
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_SEARCH_USER_SUCCESS;
			client.fireQQEvent(e);
		} else {
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_SEARCH_USER_END;
			client.fireQQEvent(e);
		}
	}

    /**
     * 处理删除自己的回复包
     *
     * @param in
     */
    private void processRemoveSelfReply(BasicInPacket in) {
        QQEvent e;
        RemoveSelfReplyPacket packet = (RemoveSelfReplyPacket)in;
        if(packet.replyCode == QQ.QQ_REPLY_OK) {
            //log.debug("已经从对方好友列表中删除了自己");
            e = new QQEvent(packet);
            e.type = QQEvent.QQ_REMOVE_SELF_SUCCESS;
            client.fireQQEvent(e);
        } else {
            //log.debug("从对方好友列表中删除自己失败");
            e = new QQEvent(packet);
            e.type = QQEvent.QQ_REMOVE_SELF_FAIL;
            client.fireQQEvent(e);
        }
    }

    /**
     * 处理修改个人信息的回复包
     *
     * @param in
     */
    private void processModifyInfoReply(BasicInPacket in) {
        QQEvent e;
        ModifyInfoReplyPacket packet = (ModifyInfoReplyPacket)in;
        if(packet.success) {
            //log.debug("修改信息成功");
            // 设置用户的新的信息
            ModifyInfoPacket miPacket = (ModifyInfoPacket)monitor.retrieveRequest(packet);
            user.setContactInfo(miPacket.getContactInfo());
            e = new QQEvent(miPacket);
            e.type = QQEvent.QQ_MODIFY_INFO_SUCCESS;
            client.fireQQEvent(e);
        } else {
            //log.debug("修改信息失败");
            e = new QQEvent(monitor.retrieveRequest(packet));
            e.type = QQEvent.QQ_MODIFY_INFO_FAIL;
            client.fireQQEvent(e);
        }
    }

    /**
     * 处理发送认证信息的回复包
     *
     * @param in
     * @throws PacketParseException
     */
    private void processAddFriendAuthReply(BasicInPacket in) {
        QQEvent e;
        AddFriendAuthReplyPacket packet = (AddFriendAuthReplyPacket)in;
        if(packet.replyCode != QQ.QQ_REPLY_ADD_FRIEND_AUTH_OK) {
            //log.debug("认证信息发送失败");
            e = new QQEvent(monitor.retrieveRequest(packet));
            e.type = QQEvent.QQ_ADD_FRIEND_AUTH_SEND_FAIL;
            client.fireQQEvent(e);
        } else {
            //log.debug("认证信息发送成功,等待对方回复");
            e = new QQEvent(monitor.retrieveRequest(packet));
            e.type = QQEvent.QQ_ADD_FRIEND_AUTH_SEND_SUCCESS;
            client.fireQQEvent(e);
        }
    }

    /**
     * 处理删除好友的回复包
     *
     * @param in
     */
    private void processDeleteFriendReply(BasicInPacket in) {
        QQEvent e;
        DeleteFriendReplyPacket packet = (DeleteFriendReplyPacket)in;
        if(packet.replyCode != QQ.QQ_REPLY_OK) {
            //log.debug("好友删除失败");
            e = new QQEvent(monitor.retrieveRequest(packet));
            e.type = QQEvent.QQ_DELETE_FRIEND_FAIL;
            client.fireQQEvent(e);
        } else {
            //log.debug("好友删除成功");
            e = new QQEvent(monitor.retrieveRequest(packet));
            e.type = QQEvent.QQ_DELETE_FRIEND_SUCCESS;
            client.fireQQEvent(e);
        }
    }

    /**
     * 处理请求加一个好友的回复包
     *
     * @param in
     */
    private void processAddFriendExReply(BasicInPacket in) {
        QQEvent e;
        AddFriendExReplyPacket packet = (AddFriendExReplyPacket)in;
        if(packet.replyCode == QQ.QQ_REPLY_OK) {
        	switch(packet.authCode) {
        		case QQ.QQ_AUTH_NO:
                    //log.debug("好友添加成功");
                    e = new QQEvent(packet);
                    e.type = QQEvent.QQ_ADD_FRIEND_SUCCESS;
                    client.fireQQEvent(e);
                    break;
        		case QQ.QQ_AUTH_NEED:
                    //log.debug("对方要求认证");
                    e = new QQEvent(packet);
                    e.type = QQEvent.QQ_ADD_FRIEND_NEED_AUTH;
                    client.fireQQEvent(e);
                    break;
        		case QQ.QQ_AUTH_REJECT:
                    //log.debug("对方禁止别人加他为好友");
                    e = new QQEvent(packet);
                    e.type = QQEvent.QQ_ADD_FRIEND_DENY;
                    client.fireQQEvent(e);
                    break;
        	}
        } else if(packet.replyCode == QQ.QQ_REPLY_ADD_FRIEND_ALREADY) {
            //log.debug("对方已经是自己的好友");
            e = new QQEvent(packet);
            e.type = QQEvent.QQ_ADD_FRIEND_ALREADY;
            client.fireQQEvent(e);
        }
    }

    /**
     * 处理系统消息,比如谁谁谁添加你为好友
     *
     * @param in
     */
    private void processSystemNotification(BasicInPacket in) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -