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

📄 cmschannelmngimpl.java

📁 JEECSM是JavaEE版网站管理系统(Java Enterprise Edition Content Manage System)的简称。 基于java技术开发
💻 JAVA
字号:
package com.jeecms.cms.manager.impl;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.jeecms.cms.dao.CmsChannelDao;
import com.jeecms.cms.entity.ChnlModel;
import com.jeecms.cms.entity.CmsChannel;
import com.jeecms.cms.manager.ChnlModelMng;
import com.jeecms.cms.manager.CmsChannelMng;
import com.jeecms.core.JeeCoreManagerImpl;
import com.ponyjava.common.hibernate3.Condition;
import com.ponyjava.common.hibernate3.OrderBy;
import com.ponyjava.common.hibernate3.Updater;

public class CmsChannelMngImpl extends JeeCoreManagerImpl<CmsChannel> implements
		CmsChannelMng {
	@Override
	public CmsChannel getByPath(String path) {
		List<CmsChannel> list = getCmsChannelDao().getByPath(path);
		if (list != null && list.size() > 0) {
			return list.get(0);
		} else {
			return null;
		}
	}

	@Override
	public List<CmsChannel> getChild(Long pid, int orderBy, boolean isDisplay,
			boolean hasChild, int start, int count) {
		CmsChannel example = new CmsChannel();
		example.setParent(new CmsChannel(pid));
		if (isDisplay) {
			example.setDisplay(isDisplay);
		}
		if (hasChild) {
			example.setHasChild(hasChild);
		}
		Condition[] conds = null;
		switch (orderBy) {
		case 0:
			conds = new Condition[] { OrderBy.asc("priority") };
			break;
		case 1:
			conds = new Condition[] { OrderBy.desc("priority") };
			break;
		case 2:
			conds = new Condition[] { OrderBy.asc("visitTotal") };
			break;
		case 3:
			conds = new Condition[] { OrderBy.desc("visitTotal") };
			break;
		default:
			conds = new Condition[] { OrderBy.asc("priority") };
		}
		if (start == 0 && count == 0) {
			return findListByExample(example, conds);
		} else {
			return findListByExample(example, conds, start, count);
		}
	}

	@Override
	public List<CmsChannel> getRoots(String sysType) {
		return getCmsChannelDao().getRoots(sysType);
	}

	@Override
	public CmsChannel getRoot(String sysType) {
		List<CmsChannel> list = getRoots(sysType);
		if (list != null && list.size() > 0) {
			return list.get(0);
		} else {
			return null;
		}
	}

	@Override
	public List<CmsChannel> getRoots(String sysType, boolean hasChild) {
		if (hasChild) {
			Long[] mids = chnlModelMng.getHasChildIds(sysType);
			return getCmsChannelDao().getRoots(sysType, mids);
		} else {
			return getRoots(sysType);
		}
	}

	@Override
	public Object updateByUpdater(Updater updater) {
		CmsChannel bean = (CmsChannel) updater.getBean();
		bean.setParent(null);
		CmsChannel entity = (CmsChannel) super.updateByUpdater(updater);
		return entity;
	}

	@Override
	public CmsChannel save(CmsChannel chnl) {
		if (chnl.getContributeLevel() == null) {
			chnl.setContributeLevel(Integer.MAX_VALUE);
		}
		if (chnl.getDisplay() == null) {
			chnl.setDisplay(true);
		}
		if (chnl.getPriority() == null) {
			chnl.setPriority(100);
		}
		chnl.setVisitToday(0L);
		chnl.setVisitTotal(0L);
		chnl.setStatDate(new Date());
		Long mid = chnl.getModel().getId();
		ChnlModel model = chnlModelMng.load(mid);
		chnl.setModel(model);
		chnl.setHasChild(model.getHasChild());
		CmsChannel parent = chnl.getParent();
		if (parent != null) {
			Long pid = parent.getId();
			// 如果父节点ID为null则将父节点对象设置为null,以免hibernate发生错误。并直接保存对象。
			if (pid == null) {
				chnl.setParent(null);
				super.save(chnl);
			} else {
				chnl.setParent(parent);
				load(pid).getChild().add(chnl);
			}
		} else {
			super.save(chnl);
		}
		return chnl;
	}

	@Override
	public CmsChannel load(Serializable id) {
		CmsChannel entity = super.load(id);
		return entity;
	}

	@Override
	public CmsChannel deleteById(Serializable id) {
		CmsChannel entity = load(id);
		CmsChannel parent = entity.getParent();
		super.delete(entity);
		if (parent != null) {
			parent.getChild().remove(entity);
		}
		return entity;
	}

	private ChnlModelMng chnlModelMng;

	public void setCmsChannelDao(CmsChannelDao dao) {
		super.setDao(dao);
	}

	public CmsChannelDao getCmsChannelDao() {
		return (CmsChannelDao) super.getDao();
	}

	public ChnlModelMng getChnlModelMng() {
		return chnlModelMng;
	}

	public void setChnlModelMng(ChnlModelMng chnlModelMng) {
		this.chnlModelMng = chnlModelMng;
	}

}

⌨️ 快捷键说明

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