revertoperimp.java

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

JAVA
193
字号
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.core.Config;
import net.javapassion.jaguey.util.DateUtil;
import net.javapassion.jaguey.domain.Revert;
import net.javapassion.jaguey.dao.RevertDao;
import net.javapassion.jaguey.service.RevertOper;

//版本: JagueyBBS 1.1
//功能: 论坛回复帖子业务逻辑实现
//作者: 赵程佳
//时间: 2006-02-10 19:37:25

public class RevertOperImp implements RevertOper {
	private RevertDao revertDao;
	
	//保存回复帖子
	public String saveRevert(Revert revert) {
		try {
			this.revertDao.saveRevert(revert);
			return "success";
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return "failed";
		}
	}
	
	//删除回复帖子
	public String deleteRevert(String revertId) {
		try {
			Revert revert = this.revertDao.getRevertById(revertId);
			if (revert != null) {
				this.revertDao.deleteRevert(revert);
				return "success";
			} else {
				return "can't find data";
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return "failed";
		}
	}
	
	//删除特定主题下的全部回复帖子
	public String deleteReverts(String topicId) {
		try {
			List list = this.revertDao.getRevertByTopicId(topicId);
			if (list != null) {
				Revert revert = null;
				Iterator it = list.iterator();
				while (it.hasNext()) {
					revert = (Revert) it.next();
					this.revertDao.deleteRevert(revert);
				}
				return "success";
			} else {
				return "can't find data";
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return "failed";
		}
	}
	
	//通过编号获取回复帖子
	public Revert getRevertById(String revertId) {
		try {
			Revert revert = this.revertDao.getRevertById(revertId);
			if (revert != null) {
				return revert;
			} else {
				Log.warn("Use revertId can't find Revert!");
				return null;
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return null;
		}
	}
	
	//获取特定主题下某页的回复帖子
	public List getRevertByTopic(String topicId, int pageNumber) {
		try {
			return this.revertDao.getRevert(topicId, Integer.parseInt(Config.getInstance().getRevertrowspage().toString()), pageNumber);
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return null;
		}
	}
	
	//获取特定主题下的回复帖子的分页总页数
	public int getMaxPage(String topicId) {
		int rowsPage = Integer.parseInt(Config.getInstance().getRevertrowspage().toString());
		List maxRow = this.revertDao.getRevertByTopicId(topicId);
		int maxRowCount = maxRow.size();
		if (maxRowCount % rowsPage == 0) {
			return maxRowCount / rowsPage;
		} else {
			return maxRowCount / rowsPage + 1;
		}
	}
	
	//获取特定用户发表的回复帖子
	public List getRevertByUser(String userName) {
		try {
			return this.revertDao.getRevertByUsername(userName);
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return null;
		}
	}
	
	//获取今日发表的回复帖子总数量
	public int getCountRevertByDate() {
		try {
			List list = this.revertDao.getRevertByLikeApply(DateUtil.formatDate0(new Date()));
			return list.size();
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return 0;
		}
	}
	
	//获取回复帖子总数量
	public int getCountRevert() {
		try {
			List list = this.revertDao.getReverts();
			return list.size();
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return 0;
		}
	}
	
	//获取特定主题下回复帖子总数量
	public int getCountRevertByTopic(String topicId) {
		try {
			List list = this.revertDao.getRevertByTopicId(topicId);
			return list.size();
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return 0;
		}
	}
	
	//创建回复帖子编号
	public String makeRevertId() {
		String revertId = "";
		try {
			List list = this.revertDao.getRevertByLikeId(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()) {
						Revert revert = (Revert) it.next();
						revertId = String.valueOf(Integer.parseInt(revert.getRevertId().substring(6)) + 1);
						if (Integer.parseInt(revertId) != 1000000) {
							switch (revertId.length()) {
								case 1 : revertId = "00000" + revertId; break;
								case 2 : revertId = "0000" + revertId; break;
								case 3 : revertId = "000" + revertId; break;
								case 4 : revertId = "00" + revertId; break;
								case 5 : revertId = "0" + revertId; break;
							}
						} else {
							Log.info("The revertId have already exceed to allow max quantity!");
							revertId = "000000";
						}
					} else {
						i++;
						continue;
					}
				}
				return DateUtil.formatDate7(new Date()) + revertId;
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return "";
		}
	}
	
	public void setRevertDao(RevertDao revertDao) {
		this.revertDao = revertDao;
	}
}

⌨️ 快捷键说明

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