onlineoperimp.java

来自「jaguey,网上的一个朋友给我的」· Java 代码 · 共 174 行

JAVA
174
字号
package net.javapassion.jaguey.service.imp;

import java.util.List;
import java.util.Date;
import java.util.Iterator;
import net.javapassion.jaguey.core.Log;
import net.javapassion.jaguey.util.DateUtil;
import net.javapassion.jaguey.domain.Online;
import net.javapassion.jaguey.dao.OnlineDao;
import net.javapassion.jaguey.service.OnlineOper;

//版本: JagueyBBS 1.1
//功能: 论坛在线业务逻辑实现
//作者: 赵程佳
//时间: 2006-02-10 18:53:44

public class OnlineOperImp implements OnlineOper {
	private OnlineDao onlineDao;
	
	//保存在线
	public String saveOnline(Online online) {
		try {
			this.onlineDao.saveOnline(online);
			return "success";
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return "failed";
		}
	}
	
	//删除在线
	public String deleteOnline(String onlineId) {
		try {
			Online online = this.onlineDao.getOnlineById(onlineId);
			if (online != null) {
				this.onlineDao.deleteOnline(online);
				return "success";
			} else {
				return "can't find data";
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return "failed";
		}
	}
	
	//清空在线
	public String deleteOnlines() {
		try {
			List list = this.onlineDao.getOnlines();
			if (list != null) {
				Online online = null;
				Iterator it = list.iterator();
				while (it.hasNext()) {
					online = (Online) it.next();
					this.onlineDao.deleteOnline(online);
				}
				return "success";
			} else {
				return "can't find data";
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return "failed";
		}
	}
	
	//获取全部在线
	public List getOnlines() {
		try {
			return this.onlineDao.getOnlines();
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return null;
		}
	}
	
	//通过用户获取在线
	public Online getOnlineByUser(String userName) {
		try {
			Online online = this.onlineDao.getOnlineByUser(userName);
			if (online != null) {
				return online;
			} else {
				Log.warn("Use userName can't find Online!");
				return null;
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return null;
		}
	}
	
	//获取在线总人数
	public int getCountOnline() {
		try {
			List list = this.onlineDao.getOnlines();
			return list.size();
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return 0;
		}
	}
	
	//获取注册用户在线总人数
	public int getCountUserOnline() {
		try {
			return this.onlineDao.getOnlines().size() - this.onlineDao.getFeOnlineCount();
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return 0;
		}
	}
	
	//通过编号获取在线
	public Online getOnline(String onlineId) {
		try {
			Online online = this.onlineDao.getOnlineById(onlineId);
			if (online != null) {
				return online;
			} else {
				Log.warn("Use onlineId can't find Online!");
				return null;
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return null;
		}
	}
	
	//创建在线编号
	public String makeOnlineId() {
		String onlineId = "";
		try {
			List list = this.onlineDao.getOnlineByLikeId(DateUtil.formatDate7(new Date()));
			if (list.size() == 0) {
				return DateUtil.formatDate7(new Date()) + "000001";
			} else {
				Iterator it = list.iterator();
				int i = 1;
				while (it.hasNext()) {
					if (i == list.size()) {
						Online online = (Online) it.next();
						onlineId = String.valueOf(Integer.parseInt(online.getOnlineId().substring(6)) + 1);
						if (Integer.parseInt(onlineId) != 1000000) {
							switch (onlineId.length()) {
								case 1 : onlineId = "00000" + onlineId; break;
								case 2 : onlineId = "0000" + onlineId; break;
								case 3 : onlineId = "000" + onlineId; break;
								case 4 : onlineId = "00" + onlineId; break;
								case 5 : onlineId = "0" + onlineId; break;
							}
						} else {
							Log.info("The onlineId have already exceed to allow max quantity!");
							onlineId = "000000";
						}
					} else {
						i++;
						continue;
					}
				}
				return DateUtil.formatDate7(new Date()) + onlineId;
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return "";
		}
	}
	
	public void setOnlineDao(OnlineDao onlineDao) {
		this.onlineDao = onlineDao;
	}
}

⌨️ 快捷键说明

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