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

📄 myserver.java

📁 这个QQ通信系统项目是我之前发过类似的一个大的整合
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
						+ myBean.getNickName() + "', portrait = '"
						+ myBean.getPortrait() + "', sex = '" + myBean.getSex()
						+ "', name = '" + myBean.getName() + "', age = '"
						+ myBean.getAge() + "', info = '" + myBean.getInfo()
						+ "' where qq =" + mqq;
				DAOFactory.getDAOInstance().update(sql);

				List<MyBean> list = DAOFactory.getDAOInstance()
						.queryFriend(mqq);
				Embody embody2 = new Embody();
				embody2.setOrder(Order.ME_UPDATE);
				for (MyBean bean : list) {
					if (bean.getState().equals(Order.STATE_ON)) {
						List<MyBean> list2 = DAOFactory.getDAOInstance()
								.queryFriend(bean.getQq());
						embody2.setObjMessage(list2);
						map.get(bean.getQq()).send(embody2);
					}
				}
			}

			if (order.equals(Order.EXACT_SEARCH)) {
				MyBean myBean = (MyBean) embody.getObjMessage();
				MyBean myBean2 = DAOFactory.getDAOInstance().queryInfo(
						myBean.getQq());
				System.out.println(myBean2);
				if (myBean2 != null) {
					embody.setObjMessage(myBean2);
					embody.setOrder(Order.S_EXACT_SEARCH);
					send(embody);
				} else {
					embody.setOrder(Order.F_EXACT_SEARCH);
					send(embody);
				}

			}

			if (order.equals(Order.BASIC_SEARCH)) {
				List<MyBean> list = DAOFactory.getDAOInstance().queryAll();
				embody.setObjMessage(list);
				embody.setOrder(Order.S_BASIC_SEARCH);
				send(embody);
			}

			if (order.equals(Order.ADD_FRIEND)) {// 收到mqq(他)要添加fqq(她)为好友的信息
				MyBean myBean = (MyBean) embody.getObjMessage();
				int fqq = myBean.getQq();
				boolean b_Flag = DAOFactory.getDAOInstance().queryAddFriend(
						mqq, fqq);// 到Friend表中查寻看双方是否已经是好友
				if (b_Flag) {
					MyBean myBean2 = DAOFactory.getDAOInstance().queryInfo(fqq);
					if (myBean2.getState().equals(Order.STATE_ON)) {
						myBean.setQq(mqq);// 给fqq(她)发信息mqq(他)要加她为好友
						embody.setObjMessage(myBean);
						embody.setOrder(Order.ADD_YOU);
						map.get(fqq).send(embody);
					} else {// 如果对方不在线把消息插入表中
						SimpleDateFormat f = new SimpleDateFormat(
								"yyyy-MM-dd kk:mm:ss");
						String sql = "insert into Message values(" + "'"
								+ Order.ADD_FRIEND + "'" + "," + mqq + ","
								+ fqq + "," + "'" + f.format(new Date()) + "'"
								+ ")";
						DAOFactory.getDAOInstance().update(sql);

						embody.setOrder(Order.F_LIVE_LINE);
						send(embody);
					}
				} else {
					embody.setOrder(Order.RE_ADD);
					send(embody);
				}
			}

			if (order.equals(Order.ADD_ME)) {// 收到她同意他添加她为好友的信息
				MyBean myBean = (MyBean) embody.getObjMessage();
				int fqq = myBean.getQq();
				int n = DAOFactory.getDAOInstance().insertFriend(fqq, mqq);
				if (n == 1) {
					MyBean myBean2 = DAOFactory.getDAOInstance().queryInfo(mqq);
					myBean2.setUPort(mUPort);
					myBean2.setIp(mIp);
					embody.setObjMessage(myBean2);
					embody.setOrder(Order.ADD_ME);
					if (map.get(fqq) != null) {
						map.get(fqq).send(embody);
					}

					List<MyBean> list = DAOFactory.getDAOInstance()
							.queryFriend(fqq);
					Embody embody2 = new Embody();
					embody2.setObjMessage(list);
					embody2.setOrder(Order.ME_UPDATE);
					if (map.get(fqq) != null) {
						map.get(fqq).send(embody2);
					}

				} else {

				}
			}

			if (order.equals(Order.FRIEND_ACCEPT)) {// 收到她同意他添加她为好友的信息
				MyBean myBean = (MyBean) embody.getObjMessage();
				int fqq = myBean.getQq();
				int n = DAOFactory.getDAOInstance().insertFriend(fqq, mqq);
				if (n == 1) {
					MyBean myBean2 = DAOFactory.getDAOInstance().queryInfo(mqq);
					myBean2.setUPort(mUPort);
					myBean2.setIp(mIp);
					embody.setObjMessage(myBean2);
					embody.setOrder(Order.FRIEND_ACCEPT);
					map.get(fqq).send(embody);

					List<MyBean> list = DAOFactory.getDAOInstance()
							.queryFriend(fqq);
					Embody embody2 = new Embody();
					embody2.setObjMessage(list);
					embody2.setOrder(Order.ME_UPDATE);
					map.get(fqq).send(embody2);

				} else {

				}
			}

			if (order.equals(Order.FRIEND_REFUSE)) {// 收到她拒绝他添加她为好友的信息
				MyBean myBean = (MyBean) embody.getObjMessage();
				int fqq = myBean.getQq();
				myBean.setQq(mqq);
				embody.setObjMessage(myBean);
				embody.setOrder(Order.FRIEND_REFUSE);
				map.get(fqq).send(embody);
			}

			if (order.equals(Order.ME_ACCEPT)) {// 收到他同意她添加他为好友的信息
				MyBean myBean = (MyBean) embody.getObjMessage();
				int fqq = myBean.getQq();
				int n = DAOFactory.getDAOInstance().insertFriend(fqq, mqq);
				if (n == 1) {
					MyBean myBean2 = DAOFactory.getDAOInstance().queryInfo(mqq);
					myBean2.setUPort(mUPort);
					myBean2.setIp(mIp);
					embody.setObjMessage(myBean2);
					embody.setOrder(Order.ME_ACCEPT);
					map.get(fqq).send(embody);
					List<MyBean> list = DAOFactory.getDAOInstance()
							.queryFriend(fqq);
					Embody embody2 = new Embody();
					embody2.setObjMessage(list);
					embody2.setOrder(Order.ME_UPDATE);
					map.get(fqq).send(embody2);
				}
			}

			if (order.equals(Order.ME_REFUSE)) {// 收到他拒绝她添加他为好友的信息
				MyBean myBean = (MyBean) embody.getObjMessage();
				int fqq = myBean.getQq();
				myBean.setQq(mqq);
				embody.setObjMessage(myBean);
				embody.setOrder(Order.ME_REFUSE);
				map.get(fqq).send(embody);
			}

			if (order.equals(Order.DEL_FRIEND)) {
				MyBean myBean = (MyBean) embody.getObjMessage();
				String sql = "delete Friend where mqq = " + mqq + "and"
						+ " fqq = " + myBean.getQq();
				DAOFactory.getDAOInstance().update(sql);

			}

			if (order.equals(Order.ME_ON_LINE)) {
				map.put(mqq, this);
				MyBean myBean = (MyBean) embody.getObjMessage();
				String sql = "update Account set state = '" + myBean.getState()
						+ "'" + "where qq =" + mqq;
				DAOFactory.getDAOInstance().update(sql);
				List<MyBean> list = DAOFactory.getDAOInstance()
						.queryFriend(mqq);
				Embody embody2 = new Embody();
				embody2.setObjMessage(myBean);
				embody2.setOrder(Order.F_ON_LINE);
				for (MyBean bean : list) {
					if (bean.getState().equals(Order.STATE_ON)) {
						map.get(bean.getQq()).send(embody2);
					}
				}
			}

			if (order.equals(Order.ME_OFF_LINE)) {
				map.remove(mqq);// 下线后移除该线程
				MyBean myBean = (MyBean) embody.getObjMessage();
				String sql = "update Account set state = '" + myBean.getState()
						+ "'" + "where qq =" + mqq;
				DAOFactory.getDAOInstance().update(sql);
				List<MyBean> list = DAOFactory.getDAOInstance()
						.queryFriend(mqq);
				Embody embody2 = new Embody();
				embody2.setObjMessage(myBean);
				embody2.setOrder(Order.F_OFF_LINE);
				if (!map.isEmpty()) {
					for (MyBean bean : list) {
						if (bean.getState().equals(Order.STATE_ON)) {
							map.get(bean.getQq()).send(embody2);
						}
					}
				}
			}

			if (order.equals(Order.CHAT)) {
				MyBean myBean = (MyBean) embody.getObjMessage();
				int fqq = myBean.getQq();
				myBean.setQq(mqq);
				embody.setObjMessage(myBean);
				embody.setOrder(Order.CHAT);
				if (!map.isEmpty()) {

					if (map.get(fqq) != null) {
						map.get(fqq).send(embody);
					} else {

						embody.setObjMessage(myBean);
						embody.setOrder(Order.F_LIVE_LINE);
						send(embody);
					}
				}
			}
			if (order.equals(Order.SEND_FILE)) {
				embody.setOrder(Order.RECEIVE_FILE);
				MyBean myBean = DAOFactory.getDAOInstance().queryInfo(
						embody.getTargerID());
				if (myBean.getState().equals(Order.STATE_ON)) {
					map.get(embody.getTargerID()).send(embody);
				} else {
					embody.setOrder(Order.F_LIVE_LINE);
					send(embody);
				}
			}
		}

		public List<MyBean> meUpdate(String order, int qq) {
			List<MyBean> list = DAOFactory.getDAOInstance().queryFriend(qq);
			Embody embody = new Embody();
			embody.setOrder(Order.ME_UPDATE);
			if (order.equals(Order.LOGIN)) {
				embody.setObjMessage(list);// 更新好友
				if (!map.isEmpty()) {
					if (map.get(qq) != null) {
						map.get(qq).send(embody);
					}
				} else {
					send(embody);
				}

			} else {
				for (MyBean bean : list) {
					if (!map.isEmpty()) {
						if (map.get(bean.getQq()) != null) {
							List<MyBean> list2 = DAOFactory.getDAOInstance()
									.queryFriend(bean.getQq());
							embody.setObjMessage(list2);
							map.get(bean.getQq()).send(embody);
						}
					}
				}
			}
			return list;
		}

	}

	/**
	 * 定义一个方法用来向服务器UI中追加信息
	 * 
	 * @param str
	 */
	public void append(String str) {
		jTextArea.append("\n*********************************************\n"
				+ str);
		jTextArea.setCaretPosition(jTextArea.getDocument().getLength() - 1);
	}

}

⌨️ 快捷键说明

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