📄 cmschannelmngimpl.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 + -