📄 newsutil.java
字号:
package com.easyjf.news.business;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger;
import com.easyjf.web.Globals;
import com.easyjf.web.tools.DbQuery;
import com.easyjf.web.tools.IPageList;
import com.easyjf.web.tools.PageList;
import com.easyjf.dbo.EasyJDB;
import com.easyjf.util.FileUtil;
public class NewsUtil {
private static final Logger logger = (Logger) Logger.getLogger(NewsUtil.class);
private static final SimpleDateFormat df=new SimpleDateFormat("yyyyMMdd");
private final static EasyJDB db =EasyJDB.getInstance();
private static final NewsUtil singlton=new NewsUtil();
public static NewsUtil getInstance()
{
return singlton;
}
public static boolean delBath(String scope)
{
try{
if(db.execute("delete from NewsDoc where "+scope)>0)return true;
}
catch(Exception e)
{
e.printStackTrace();
logger.error(e);
}
return false;
}
public static List list(String hql)
{
return list(hql,null);
}
public static List list(String hql,List paras)
{
return db.query(NewsDoc.class,hql,paras);
}
public static List showNewsList(String dirSn,int selected,int topNumber)
{
List list=new ArrayList();
NewsDir dir=NewsDir.readBySn(dirSn);
if(dir!=null){
IPageList pList=NewsUtil.pageList("dirPath like '"+dir.getDirPath()+"%'"+(selected>0?" and selected>0":"")+" and auditing>0 order by displayTime desc",1,topNumber,null);
list=pList.getResult();
}
return list;
}
public static IPageList pageList(String hql,int pageNo,int pageSize)
{
return pageList(hql,pageNo,pageSize,null);
}
public static IPageList pageList(String hql,int pageNo,int pageSize,List paraValues)
{
int needOrder=hql.toLowerCase().indexOf("order by");
String totalHql="select count(*) from NewsDoc where "+(needOrder>0?hql.substring(0,needOrder):hql);
IPageList pList=new PageList(new DbQuery(EasyJDB.getInstance(),NewsDoc.class));
pList.doList(pageSize,pageNo,totalHql,hql,paraValues);
return pList;
}
public static IPageList pageList(NewsDir dir,int pageNo,int pageSize)
{
return pageList("dirPath like '"+dir.getDirPath()+"%' and auditing>0 order by displayTime desc",pageNo,pageSize);
}
public static String saveImages(InputStream in,String fileName)
{
if(FileUtil.isImgageFile(fileName))
{
String d=df.format(new Date());
File imgTempDir=new File(BaseSiteConfig.getInstance().getUpfileRootPath()+"/"+d);
if(!imgTempDir.exists())imgTempDir.mkdirs();
String fileExt=fileName.substring(fileName.lastIndexOf("."));
String tempFileName=FileUtil.getTempFile(imgTempDir.getPath(),fileExt);
if(saveFile(in,imgTempDir.getPath()+"/"+tempFileName))
{
//System.out.println(tempFileName);
return d+"/"+tempFileName;
}
}
return "";
}
public static String saveAttachFile(InputStream in,String fileName)
{
File imgTempDir=new File(BaseSiteConfig.getInstance().getUpfileRootPath()+"/file/temp");
if(!imgTempDir.exists())imgTempDir.mkdirs();
String fileExt=fileName.substring(fileName.lastIndexOf("."));
String tempFileName=FileUtil.getTempFile(imgTempDir.getPath(),fileExt);
if(saveFile(in,imgTempDir.getPath()+"/"+tempFileName))
{
System.out.println(tempFileName);
return tempFileName;
}
else
return "";
}
public static String getHtmlFile(NewsDoc doc)
{
String ret="";
ret=doc.getDirSn().trim()+"/";
Calendar ca=Calendar.getInstance();
ca.setTime(doc.getInputTime()!=null?doc.getInputTime():new Date());
//fileName=FileUtil.getTempFile(imgTempDir.getPath(),".htm");
ret+=doc.getCid()+".htm";
//System.out.println(ret);
return ret;
}
public static boolean saveFile(InputStream in,String fileName)
{
File outFile=new File(fileName);
try{
FileOutputStream out=new FileOutputStream(outFile);
byte[] temp=new byte[11024];
int length=-1;
while((length=in.read(temp))>0)
{
out.write(temp,0,length);
}
out.flush();
out.close();
in.close();
}
catch(Exception e)
{
e.printStackTrace();
return false;
}
return true;
}
public static boolean saveToHTML(NewsDoc doc)
{
return HTMLGenerater.newsToHtml(doc);
}
public static boolean removeHtmlFile(NewsDoc doc)
{
String fileName=doc.staticHtmlUrl();
File file=new File(Globals.APP_BASE_DIR+"/"+fileName);
//System.out.println(file.getAbsolutePath());
return file.exists()&&file.delete();
}
public static Number getNewsDirNum()
{
EasyJDB db=EasyJDB.getInstance();
return (Number)db.uniqueResult("select count(*) from NewsDir");
}
public static NewsDir getRootDir()
{
EasyJDB db=EasyJDB.getInstance();
return (NewsDir)db.read(NewsDir.class,"parentSn='SiteRoot'",null);
}
public static List getAllDir()
{
EasyJDB db=EasyJDB.getInstance();
return db.query(NewsDir.class,"1=1");
}
public static void main(String[] args) {
NewsDoc doc=NewsDoc.read("1140601275562115");
if(doc!=null)doc.publish(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -