亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cmschannelmngimpl.java

?? JAVA做的CMS源碼
?? JAVA
字號:
package com.jeecms.cms.manager.impl;

import java.io.File;
import java.io.Serializable;
import java.util.Collection;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.jeecms.article.entity.Article;
import com.jeecms.cms.dao.CmsChannelDao;
import com.jeecms.cms.entity.CmsAdmin;
import com.jeecms.cms.entity.CmsChannel;
import com.jeecms.cms.manager.CmsAdminMng;
import com.jeecms.cms.manager.CmsChannelMng;
import com.jeecms.core.JeeCoreManagerImpl;
import com.jeecms.core.entity.Attachment;
import com.jeecms.core.entity.Website;
import com.jeecms.core.util.UploadRule;
import com.jeecms.core.util.UploadRule.UploadFile;
import com.ponyjava.common.hibernate3.Condition;
import com.ponyjava.common.hibernate3.OrderBy;
import com.ponyjava.common.hibernate3.Updater;
import com.ponyjava.common.struts2.ContextPvd;
import com.ponyjava.common.util.ComUtils;

@Service
@Transactional
public class CmsChannelMngImpl extends JeeCoreManagerImpl<CmsChannel> implements
		CmsChannelMng {

	public CmsChannel getByPath(Long webId, String path) {
		return getDao().getByPath(webId, path);
	}

	public List<CmsChannel> getChild(Long webId, String sysType, Long pid,
			int orderBy, boolean isDisplay, boolean hasChild, int start,
			int count) {
		CmsChannel example = new CmsChannel();
		if (pid == null) {
			pid = getRoot(webId, sysType).getId();
		}
		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 findByEgList(example, conds);
		} else {
			return findByEgList(example, conds, start, count);
		}
	}

	public CmsChannel getRoot(Long webId, String sysType) {
		return getDao().getRoot(webId, sysType);
	}

	public CmsChannel getRoot(Long webId, String sysType, boolean hasChild) {
		if (hasChild) {
			return getDao().getRootWithFilter(webId, sysType);
		} else {
			return getDao().getRoot(webId, sysType);
		}
	}

	public boolean isChild(Long pid, Long cid) {
		return getDao().isChild(pid, cid);
	}

	public List<CmsChannel> getRightChnl(Long webId, String sysType,
			Long adminId, Boolean hasChild) {
		return getDao().getRightChnl(webId, sysType, adminId, hasChild);
	}

	public List<CmsChannel> getRightChnl(Long webId, String sysType,
			Long chnlId, Long adminId, Long modelId, Boolean hasChild) {
		return getDao().getRightChnl(webId, sysType, chnlId, adminId, modelId,
				hasChild);
	}

	public List<CmsChannel> getChnlsAndExclude(Long webId, String sysType,
			Long excludeNode) {
		return getDao().getChnlsAndExclude(webId, sysType, excludeNode);
	}

	public List<CmsChannel> getChnlsForMember(Long webId, Integer groupLevel) {
		return getDao().getChnlsForMember(webId, groupLevel);
	}

	public CmsChannel updateChannel(CmsChannel chnl, CmsAdmin admin,
			Collection<CmsAdmin> admins, UploadRule rule) {
		CmsChannel entity = findById(chnl.getId());
		handleTitleImg(chnl);

		// 處理父子節(jié)點
		CmsChannel oparent = entity.getParent();
		CmsChannel cparent = chnl.getParent();
		if (oparent != null && cparent != null) {
			if (!oparent.getId().equals(cparent.getId())) {
				oparent.getChild().remove(entity);
				cparent.addToChild(entity);
				entity.setParent(cparent);
			}
		}
		chnl.setParent(null);

		// 處理欄目權(quán)限
		if (admins != null && admins.size() > 0) {
			Set<CmsAdmin> oadmins = entity.getAdmins();
			// 清除管理員
			for (CmsAdmin a : oadmins) {
				if (!admins.contains(a)) {
					a.getChannels().remove(entity);
				}
			}
			// 添加管理員
			for (CmsAdmin a : admins) {
				a.addTochannels(entity);
			}
			// 重置
			oadmins.clear();
			oadmins.addAll(admins);
		}

		updateByUpdater(createUpdate(chnl));

		entity.setHasChild(entity.getModel().getHasChild());
		removeAttachment(entity, false);
		return entity;
	}

	public CmsChannel saveChannel(CmsChannel chnl, CmsAdmin admin,
			Collection<CmsAdmin> admins, UploadRule rule) {
		initDefValue(chnl);
		handleTitleImg(chnl);
		chnl.setHasChild(chnl.getModel().getHasChild());
		CmsChannel parent = chnl.getParent();
		if (parent != null) {
			// 父節(jié)點關(guān)聯(lián)子節(jié)點
			parent.addToChild(chnl);
			// 是否指定欄目權(quán)限
			if (admins == null || admins.size() <= 0) {
				admins = parent.getAdmins();
			}
		} else {
			if (admins == null || admins.size() <= 0) {
				admins = cmsAdminMng.getList(chnl.getWebsite().getId());
			}
		}
		// 欄目權(quán)限
		for (CmsAdmin a : admins) {
			a.addTochannels(chnl);
		}
		save(chnl);
		addAttachment(chnl, rule, chnl.getWebsite(), admin);
		return chnl;
	}

	private void initDefValue(CmsChannel bean) {
		if (bean.getDisplay() == null) {
			bean.setDisplay(true);
		}
		if (bean.getPriority() == null) {
			bean.setPriority(10);
		}
		bean.setVisitToday(0L);
		bean.setVisitTotal(0L);
		bean.setStatDate(new Date());
		bean.setDocCount(0);
	}

	private void handleTitleImg(CmsChannel bean) {
		// 如果標(biāo)題圖為空,則設(shè)置沒有標(biāo)題圖片。
		if (StringUtils.isBlank(bean.getTitleImg())) {
			bean.setTitleImg("");
			bean.setHasTitleImg(false);
		} else {
			bean.setHasTitleImg(true);
		}
	}

	private Updater createUpdate(CmsChannel bean) {
		Updater updater = Updater.create(bean);
		updater.exclude(CmsChannel.PROP_WEBSITE);
		updater.exclude(CmsChannel.PROP_CONFIG);
		updater.exclude(CmsChannel.PROP_PARENT);
		updater.exclude(CmsChannel.PROP_DOC_COUNT);
		return updater;
	}

	/**
	 * 新增附件
	 * 
	 * @param chnl
	 * @param rule
	 * @param web
	 * @param admin
	 */
	private void addAttachment(CmsChannel chnl, UploadRule rule, Website web,
			CmsAdmin admin) {
		Map<String, UploadFile> uploadFiles = rule.getUploadFiles();
		if (uploadFiles != null) {
			String content = chnl.getContent();
			String titleImg = chnl.getTitleImg();
			String contentImg = chnl.getContentImg();
			Set<String> rmFile = new HashSet<String>();
			Attachment attach;
			UploadFile uf;
			String rootPath = contextPvd.getAppRealPath(web.getUploadRoot()
					.toString());
			for (String name : uploadFiles.keySet()) {
				if (StringUtils.contains(content, name)
						|| StringUtils.contains(titleImg, name)
						|| StringUtils.contains(contentImg, name)) {
					rmFile.add(name);
					attach = new Attachment();
					uf = uploadFiles.get(name);
					attach.setWebsite(web);
					attach.setUser(admin.getAdmin().getUser());
					attach.setName(uf.getOrigName());
					attach.setFileName(uf.getFileName());
					attach.setFilePath(uf.getRelPath(rootPath));
					attach.setFileSize((int) (uf.getSize() / 1024) + 1);
					attach.setOwnerCtg(Article.ATTACHMENT_CTG);
					attach.setOwnerId(chnl.getId());
					attach.setOwnerName(chnl.getName());
					attach.setOwnerUrl(chnl.getUrl().replace(
							chnl.getWebsite().getWebUrl(), ""));
					attach.setDownCount(0L);
					attach.setCreateTime(ComUtils.now());
					if (chnl.getGroupVisit() == null) {
						attach.setFree(true);
					} else {
						attach.setFree(false);
					}
					attach.setLost(false);
					chnl.addToAttachments(attach);
				}
			}
			for (String name : rmFile) {
				rule.removeUploadFile(name);
			}
		}
	}

	private void removeAttachment(CmsChannel entity, boolean removeAll) {
		Set<Attachment> attachs = entity.getAttachments();

		String content = entity.getContent();
		String titleImg = entity.getTitleImg();
		String contentImg = entity.getContentImg();

		Set<Attachment> rmAttachs = new HashSet<Attachment>();
		String filename;
		for (Attachment attach : attachs) {
			filename = attach.getFileName();
			if (removeAll
					|| (!StringUtils.contains(content, filename)
							&& !StringUtils.contains(titleImg, filename) && !StringUtils
							.contains(contentImg, filename))) {
				String realPath = contextPvd
						.getAppRealPath(attach.getRelPath());
				if (new File(realPath).delete()) {
					log.info("刪除附件:{}", realPath);
				} else {
					log.warn("刪除附件失?。簕}", realPath);
				}
				rmAttachs.add(attach);
			}
		}
		attachs.removeAll(rmAttachs);
	}

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

	@Override
	public CmsChannel deleteById(Serializable id) {
		CmsChannel entity = findById(id);
		for (CmsAdmin admin : entity.getAdmins()) {
			admin.getChannels().remove(entity);
		}
		CmsChannel parent = entity.getParent();
		super.delete(entity);
		if (parent != null) {
			parent.getChild().remove(entity);
		}
		removeAttachment(entity, true);
		return entity;
	}

	@Autowired
	private CmsAdminMng cmsAdminMng;

	@Autowired
	private ContextPvd contextPvd;

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

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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃免费网站一区二区三区| 日韩三级在线免费观看| 91浏览器打开| 不卡欧美aaaaa| voyeur盗摄精品| a在线播放不卡| av不卡免费电影| 色婷婷综合久久久| 欧美综合久久久| 91久久精品一区二区二区| 在线欧美日韩国产| 欧美另类z0zxhd电影| 制服丝袜成人动漫| 精品美女一区二区三区| 2023国产精品视频| 中文字幕精品一区| 亚洲欧美国产三级| 亚洲成人激情av| 美腿丝袜亚洲一区| 国产精品亚洲专一区二区三区 | 亚洲成人在线免费| 蜜臀av性久久久久蜜臀av麻豆| 九色综合狠狠综合久久| 成人综合在线视频| 欧美午夜精品久久久久久超碰| 欧美美女一区二区三区| 日韩无一区二区| 国产婷婷一区二区| 一区二区三区日韩精品视频| 日本不卡不码高清免费观看| 国产麻豆精品在线观看| 91在线视频免费观看| 欧美日韩中文国产| xnxx国产精品| 夜夜嗨av一区二区三区四季av| 日产国产高清一区二区三区| 国产精品自拍三区| 在线观看视频一区二区欧美日韩| 日韩欧美国产一区二区在线播放| 中文字幕第一区二区| 亚洲成a人在线观看| 精品一区二区精品| 91麻豆成人久久精品二区三区| 91精品国产综合久久久蜜臀粉嫩 | 国产一区二区伦理| 色噜噜夜夜夜综合网| 日韩欧美国产1| 日韩一区在线免费观看| 奇米888四色在线精品| 不卡的电视剧免费网站有什么| 欧美日韩高清一区二区| 国产日产欧美一区二区三区| 亚洲不卡在线观看| 成人中文字幕电影| 51午夜精品国产| 亚洲国产成人在线| 日本成人在线网站| 99热这里都是精品| 精品国产sm最大网站免费看| 亚洲激情在线激情| 激情综合五月天| 欧美性生活大片视频| 中文字幕第一区第二区| 麻豆极品一区二区三区| 日本韩国欧美一区| 国产视频一区二区在线| 日韩激情中文字幕| 一本久久a久久精品亚洲| 久久奇米777| 免费高清成人在线| 欧美无砖专区一中文字| 国产精品成人网| 激情综合亚洲精品| 欧美精品久久一区二区三区 | 风间由美一区二区av101| 欧美一区二区三区公司| 亚洲综合一区二区| 成人黄页在线观看| 久久精品视频免费| 国产曰批免费观看久久久| 欧美一级片在线| 亚洲福利一区二区三区| 91成人免费网站| 亚洲图片你懂的| av一区二区三区黑人| 中文一区二区完整视频在线观看| 精东粉嫩av免费一区二区三区| 678五月天丁香亚洲综合网| 亚洲午夜国产一区99re久久| 色婷婷综合久久久中文一区二区| 国产精品国产三级国产专播品爱网| 国产精品18久久久久久久久| 欧美va在线播放| 狠狠色2019综合网| 欧美mv日韩mv| 国产在线精品一区二区三区不卡 | 黄网站免费久久| 岛国精品在线播放| 日韩精品一区二区三区三区免费| 亚洲gay无套男同| 93久久精品日日躁夜夜躁欧美| 久久综合九色综合97婷婷| 日本在线不卡视频一二三区| 欧美在线三级电影| 欧美精品一区视频| 国产99久久久久| 久久先锋影音av鲁色资源网| 麻豆精品久久精品色综合| 欧美精品三级日韩久久| 亚洲成人av一区| 欧美美女黄视频| 亚洲大片在线观看| 欧美视频中文字幕| 中文字幕在线不卡一区| 成人av午夜电影| 国产精品第五页| 99国产精品久久久| 中文字幕中文字幕中文字幕亚洲无线 | 国产精品女上位| 成人午夜在线免费| 中文一区二区在线观看| av一区二区不卡| 自拍偷拍亚洲综合| 99re成人精品视频| 亚洲人亚洲人成电影网站色| 91在线国产福利| 亚洲高清中文字幕| 91精品国产乱码| 久久99精品国产.久久久久久 | 国产成人av电影在线观看| 久久久亚洲精品石原莉奈| 国产91丝袜在线18| 中文字幕中文乱码欧美一区二区| 国产1区2区3区精品美女| 国产精品久久久久天堂| 色欧美日韩亚洲| 中文字幕亚洲电影| 欧美精品少妇一区二区三区| 免费观看在线综合色| 精品国产一区久久| 成人一区在线看| 国产精品福利一区| 欧美高清性hdvideosex| 激情文学综合丁香| 国产精品白丝在线| 欧美日韩高清在线播放| 日本麻豆一区二区三区视频| 国产精品伦理一区二区| 欧美在线高清视频| 久久99久久精品| 国产精品初高中害羞小美女文| 欧美视频一区二区三区四区| 国产一区二区三区蝌蚪| 成人免费在线观看入口| 欧美日韩成人一区二区| 国产精品18久久久久久vr| 一区二区三区国产精品| 欧美电影免费观看高清完整版 | 精品一二三四区| 依依成人精品视频| 91精品黄色片免费大全| 国产成人精品aa毛片| 亚洲在线中文字幕| 久久天天做天天爱综合色| 在线观看91视频| 国产在线精品一区二区三区不卡| 亚洲精品亚洲人成人网在线播放| 日韩午夜在线观看视频| 91啪亚洲精品| 成人午夜激情在线| 性做久久久久久免费观看| 国产欧美精品在线观看| 欧美日韩精品二区第二页| 国内精品伊人久久久久av影院| 偷窥少妇高潮呻吟av久久免费| 日本一区二区三区免费乱视频| 欧美日韩中文国产| www.亚洲色图.com| 亚洲一区成人在线| 亚洲色图欧洲色图| 久久久久久久久蜜桃| 欧美日韩视频专区在线播放| 成人一区在线看| 国产成人av影院| 日本欧美一区二区三区乱码| 亚洲精品综合在线| 国产欧美日本一区视频| 制服视频三区第一页精品| 在线观看亚洲成人| av一区二区三区四区| 激情文学综合插| 视频一区中文字幕| 五月天婷婷综合| 亚洲综合成人在线视频| 国产精品视频一二三| 精品国产污污免费网站入口| 精品少妇一区二区三区视频免付费 | 欧美一级在线视频| 色综合久久99| av在线综合网|