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

📄 blogcoreserviceimpl.java

📁 EasyJF开源Blog系统是一个由EasyJF开源团队组织开发的基于Java平台的开源博客系统。当前Blog已经实现了基本的基本的博客的书写、流量统计、排名、个人像册、RSS、支持自定义模板、静态h
💻 JAVA
字号:
package com.easyjf.blog.logic.impl;

import java.io.File;
import java.util.Date;
import java.util.List;
import java.util.StringTokenizer;

import com.easyjf.blog.domain.BlogCircle;
import com.easyjf.blog.domain.BlogNewsDir;
import com.easyjf.blog.domain.BlogNewsDoc;
import com.easyjf.blog.logic.BlogDirService;
import com.easyjf.blog.logic.BlogNewsDocService;
import com.easyjf.blog.logic.BlogUserService;
import com.easyjf.blog.logic.CurrentUser;
import com.easyjf.blog.logic.HTMLGenerater;
import com.easyjf.util.CommUtil;
import com.easyjf.web.Globals;
import com.easyjf.web.tools.DbPageList;
import com.easyjf.web.tools.IPageList;

public class BlogCoreServiceImpl extends DAOSupportService implements BlogNewsDocService,BlogDirService {
	private BlogUserService userService=BlogUserServiceImpl.getInstance();
	private static BlogCoreServiceImpl singleton=new BlogCoreServiceImpl();
	public static BlogCoreServiceImpl getInstance()
	{
		return singleton;
	}
	
	public boolean addBlogNewsDir(BlogNewsDir dir) {
		boolean ret=false;		
		dir.setInputUser(CurrentUser.getActiveUser().getUserName());
		userService.blogInfoChange(userService.getUserBlog(dir.getInputUser()));
		ret=this.dao.save(dir);
		return ret;
	}

	public boolean delBlogNewsDir(String cid) {
		boolean ret=false;		
		ret=this.dao.del(getBlogNewsDir(cid));
		return ret;
	}

	public int batchDelBlogNewsDir(String[] cids) {
		int ret=0;
		for(int i=0;i<cids.length;i++)
		{
			if(delBlogNewsDir(cids[i]))ret++;
		}
		return ret;
	}

	public BlogNewsDir getBlogNewsDir(String cid) {		
		return (BlogNewsDir)this.dao.get(BlogNewsDir.class,cid) ;
	}	

	public IPageList queryBlogNewsDir(String userName,int currentPage,int pageSize) {
		String scope="inputUser=? and (parentSn='' or parentSn is null)";
		java.util.Collection paras=new java.util.ArrayList();
		paras.add(userName);
		DbPageList pList = new DbPageList(BlogNewsDir.class, scope, paras);
		pList.doList(currentPage, pageSize);
		return pList;	
	}

	public IPageList getChildDirs(BlogNewsDir dir, int currentPage, int pageSize) {
		String scope="parentSn=?";
		java.util.Collection paras=new java.util.ArrayList();
		paras.add(dir.getCid());		
		DbPageList pList = new DbPageList(BlogNewsDir.class, scope, paras);
		pList.doList(currentPage, pageSize);
		return pList;	
	}

	public boolean updateBlogNewsDir(BlogNewsDir dir) {
		boolean ret=false;
		ret=this.dao.update(dir);
		return ret;
	}

	public int batchDelBlogNewsDoc(String[] cids) {
		int ret=0;
		for(int i=0;i<cids.length;i++)
		{
			if(delBlogNewsDoc(cids[i]))ret++;
		}
		return ret;
	}

	public boolean delBlogNewsDoc(String cid) {
		boolean ret=false;
		BlogNewsDoc doc=getBlogNewsDoc(cid);
		removeHtmlFile(doc);
		ret=this.dao.del(doc);		
		return ret;
	}

	public BlogNewsDoc getBlogNewsDoc(String cid) {		
		return (BlogNewsDoc)this.dao.get(BlogNewsDoc.class, cid);
	}

	public IPageList queryBlogNewsDoc(String userName, int currentPage, int pageSize) {
		return queryBlogNewsDoc(userName,null,null,null,currentPage,pageSize);
	}

	public IPageList queryBlogNewsDoc(String userName, Date date1,Date date2, int currentPage, int pageSize) {
		return queryBlogNewsDoc(userName,null,date1,date2,currentPage,pageSize);
	}

	public IPageList queryBlogNewsDoc(String userName, String dirId, Date date1, Date date2, int currentPage, int pageSize) {
		String scope="1=1";
		java.util.Collection paras=new java.util.ArrayList();
		if(userName!=null && (!"".equals(userName)))
		{			
		scope="inputUser=? ";				
		paras.add(userName);	
		}
		if(dirId!=null && (!"".equals(dirId)))
		{
			scope+=" and dirSn=?";
			paras.add(dirId);
		}
		if(date1!=null)
		{
			scope+=" and displayTime>=?";
			paras.add(date1);
		}
		if(date2!=null)
		{
			scope+=" and displayTime<?";
			paras.add(date2);
		}
		scope+=" order by displayTime desc";
		DbPageList pList = new DbPageList(BlogNewsDoc.class, scope, paras);
		pList.doList(currentPage, pageSize);
		return pList;
	}

	
	

	public BlogNewsDoc readBlogNewsDoc(String cid) {
		// TODO Auto-generated method stub
		BlogNewsDoc doc=getBlogNewsDoc(cid);
		doc.setReadTimes(new Integer(doc.getReadTimes()!=null?(doc.getReadTimes().intValue()+1):0));
		this.updateBlogNewsDoc(doc);
		return doc;
	}

	public boolean updateBlogNewsDoc(BlogNewsDoc doc) {
		// TODO Auto-generated method stub
		boolean ret=false;		
		Date d=new Date();
		if(doc.getDisplayTime()==null || (doc.getDisplayTime().getTime()>d.getTime()) )doc.setDisplayTime(d);
		ret=this.dao.update(doc);		
		saveToHTML(doc);
		userService.blogInfoChange(userService.getUserBlog(doc.getInputUser()));
		return ret;
	}

	public boolean wirteBlogDoc(BlogNewsDoc doc) {
		// TODO Auto-generated method stub
		boolean ret=false;
		doc.setInputUser(CurrentUser.getActiveUser().getUserName());
		doc.setInputTime(new java.util.Date());
		doc.setReadTimes(new Integer(0));
		doc.setStatus(new Integer(0));
		Date d=new Date();
		if(doc.getDisplayTime()==null || (doc.getDisplayTime().getTime()>d.getTime()) )doc.setDisplayTime(d);
		ret=this.dao.save(doc);
		saveToHTML(doc);
		userService.blogInfoChange(userService.getUserBlog(doc.getInputUser()));
		return ret;
	}

	public List getTopBlogNewsDoc(String orderBy, int elite,int topNum) {		
		String scope="1=1";
		if(elite>0)scope="elite>="+elite;
		scope+=" order by "+orderBy;
		java.util.Collection paras=new java.util.ArrayList();			
		DbPageList pList = new DbPageList(BlogNewsDoc.class, scope, paras);
		pList.doList(1, topNum);
		return pList.getResult();
	}
	
	public List getTopBlogNewsDoc(String userName, String dirId, Date date1, Date date2, String orderBy, int elite, int topNum) {
		String scope="1=1";
		java.util.Collection paras=new java.util.ArrayList();
		if(userName!=null && (!"".equals(userName)))
		{			
		scope="inputUser=? ";				
		paras.add(userName);	
		}
		if(dirId!=null && (!"".equals(dirId)))
		{
			scope+=" and dirSn=?";
			paras.add(dirId);
		}
		if(date1!=null)
		{
			scope+=" and displayTime>=?";
			paras.add(date1);
		}
		if(date2!=null)
		{
			scope+=" and displayTime<?";
			paras.add(date2);
		}
		scope+=" order by "+orderBy;
		DbPageList pList = new DbPageList(BlogNewsDoc.class, scope, paras);
		pList.doList(1, topNum);
		return pList.getResult();
	}

	public  boolean saveToHTML(BlogNewsDoc obj)
	{		
		boolean ret=false;	
		try{
		//System.out.println("保存成表态文件!");
		 ret=HTMLGenerater.saveToHTML(obj);
		 //Thread.sleep()
		 }
		catch(Exception e)
		{
		System.out.println("保存表态文件错误!"+e);		
		e.printStackTrace();	
		}
		 return ret;
	}
	public  String replaceEmotTag(String s) {
		String makeContent = new String();
		String[] r = new String[50];
		for (int i = 1; i < 50; i++)
			r[i] = "\\[em" + (i < 10 ? "0" + i : i + "") + "\\]";//eval("/em"+(i<10?"0"+i:i+"")+"/;");
		StringTokenizer strToken = new StringTokenizer(s, "\n");
		while (strToken.hasMoreTokens()) {
			makeContent = makeContent + "<br>" + strToken.nextToken();
		}
		for (int i = 1; i < 50; i++) {
			makeContent = makeContent.replaceAll(r[i], "<img src=/images/emot/em"
					+ (i < 10 ? "0" + i : i + "") + ".gif>");//s.replace(r[i],"<img
			// src=img/emot/em"+(i<10?"0"+i:i+"")+".gif>");
		}
		r = null;
		return makeContent;
	}
	public  boolean removeHtmlFile(BlogNewsDoc doc)
	{	
		String fileName=doc.staticHtmlUrl();
		File file=new File(Globals.APP_BASE_DIR+"/"+fileName);	
		return file.exists()&&file.delete();	
	}

}

⌨️ 快捷键说明

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