package com.java214.fenxiao.action;
import com.java214.fenxiao.entities.Article;
import com.java214.fenxiao.entities.ArticleCate;
import com.java214.fenxiao.entities.Config;
import com.java214.fenxiao.service.IArticleCateService;
import com.java214.fenxiao.service.IArticleService;
import com.java214.fenxiao.service.IConfigService;
import com.java214.fenxiao.utils.BjuiJson;
import com.java214.fenxiao.utils.BjuiPage;
import com.java214.fenxiao.utils.FreemarkerUtils;
import com.java214.fenxiao.utils.PageModel;
import freemarker.template.Configuration;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONException;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
@Controller("articleAction")
@Scope("prototype")
public class ArticleAction extends BaseAction
{
private static final long serialVersionUID = 1L;
@Resource(name="articleService")
private IArticleService<Article> articleService;
@Resource(name="articleCateService")
private IArticleCateService<ArticleCate> articleCateService;
@Resource(name="configService")
private IConfigService<Config> configService;
private Article article;
public void list()
{
String key = this.request.getParameter("key");
int count = 0;
if (("".equals(key)) || (key == null)) {
count = this.articleService.getTotalCount("select count(*) from Article where deleted=0", new Object[0]);
key = "";
} else {
count = this.articleService.getTotalCount("from Article where title like '%" + key + "%' and deleted=0", new Object[0]);
}
this.page = new BjuiPage(this.pageCurrent, this.pageSize);
this.page.setTotalCount(count);
List list = this.articleService.list("from Article where deleted=0 order by id desc", this.page.getStart(), this.page.getPageSize(), new Object[0]);
this.cfg = new Configuration();
this.cfg.setServletContextForTemplateLoading(this.request.getServletContext(),
"WEB-INF/templates/admin");
Map root = new HashMap();
root.put("list", list);
root.put("page", this.page);
FreemarkerUtils.freemarker(this.request, this.response, "articleList.ftl", this.cfg, root);
}
public void add() {
List<ArticleCate> articleCatelist = this.articleCateService.list("from ArticleCate where deleted=0");
String zNodes = "";
for (ArticleCate articleCate : articleCatelist) {
zNodes = zNodes + "<li data-id='" + articleCate.getId() + "' data-pid='" + articleCate.getFatherId() + "' data-tabid='" + articleCate.getId() + "'>" + articleCate.getName() + "</li>";
}
this.cfg = new Configuration();
this.cfg.setServletContextForTemplateLoading(this.request.getServletContext(),
"WEB-INF/templates/admin");
Map root = new HashMap();
root.put("zNodes", zNodes);
FreemarkerUtils.freemarker(this.request, this.response, "articleAdd.ftl", this.cfg, root);
}
public void save()
{
String callbackData = "";
try {
if (this.article.getArticleCate().getId().intValue() == 0) {
callbackData = BjuiJson.json("300", "请选择栏目", "", "", "", "", "", "");
} else if ("".equals(this.article.getContent())) {
callbackData = BjuiJson.json("300", "请输入内容", "", "", "", "", "", "");
} else {
this.article.setDeleted(false);
this.article.setCreateDate(new Date());
boolean result = this.articleService.saveOrUpdate(this.article);
if (result)
callbackData = BjuiJson.json("200", "添加成功", "", "", "", "true", "", "");
else
callbackData = BjuiJson.json("300", "添加失败", "", "", "", "", "", "");
}
}
catch (JSONException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
PrintWriter out = null;
try {
out = this.response.getWriter();
} catch (IOException e) {
e.printStackTrace();
}
out.print(callbackData);
out.flush();
out.close();
}
public void info()
{
String callbackData = "";
String idStr = this.request.getParameter("id");
try {
PrintWriter out = this.response.getWriter();
if ((idStr == null) || ("".equals(idStr))) {
callbackData = BjuiJson.json("300", "参数错误", "", "", "", "", "", "");
out.print(callbackData);
out.flush();
out.close();
} else {
int id = 0;
try {
id = Integer.parseInt(idStr);
}
catch (Exception e) {
callbackData = BjuiJson.json("300", "参数错误", "", "", "", "", "", "");
out.print(callbackData);
out.flush();
out.close();
}
Article findArticle = (Article)this.articleService.findById(Article.class, id);
if (findArticle == null)
{
callbackData = BjuiJson.json("300", "文章不存在", "", "", "", "", "", "");
out.print(callbackData);
out.flush();
out.close();
}
else {
List<ArticleCate> articleCatelist = this.articleCateService.list("from ArticleCate where deleted=0");
String zNodes = "";
for (ArticleCate articleCate : articleCatelist) {
zNodes = zNodes + "<li data-id='" + articleCate.getId() + "' data-pid='" + articleCate.getFatherId() + "' data-tabid='" + articleCate.getId() + "'>" + articleCate.getName() + "</li>";
}
this.cfg = new Configuration();
this.cfg.setServletContextForTemplateLoading(this.request.getServletContext(),
"WEB-INF/templates/admin");
Map root = new HashMap();
root.put("article", findArticle);
root.put("zNodes", zNodes);
FreemarkerUtils.freemarker(this.request, this.response, "articleEdit.ftl", this.cfg, root);
}
}
} catch (JSONException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void update() {
String callbackData = "";
try {
PrintWriter out = this.response.getWriter();
if (this.article == null) {
callbackData = BjuiJson.json("300", "参数错误", "", "", "", "", "", "");
} else {
Article findArticle = (Article)this.articleService.findById(Article.class, this.article.getId().intValue());
this.article.setCreateDate(findArticle.getCreateDate());
this.article.setVersion(findArticle.getVersion());
this.article.setDeleted(findArticle.isDeleted());
boolean result = this.articleService.saveOrUpdate(this.article);
if (result) {
callbackData = BjuiJson.json("200", "修改成功", "", "", "", "true", "", "");
}
else {
callbackData = BjuiJson.json("300", "修改失败", "", "", "", "", "", "");
}
}
out.print(callbackData);
out.flush();
out.close();
} catch (JSONException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void delete() {
String callbackData = "";
String idStr = this.request.getParameter("id");
try {
PrintWriter out = this.response.getWriter();
if ((idStr == null) || ("".equals(idStr))) {
callbackData = BjuiJson.json("300", "参数错误", "", "", "", "", "", "");
} else {
int id = 0;
try {
id = Integer.parseInt(idStr);
}
catch (Exception e) {
callbackData = BjuiJson.json("300", "参数错误", "", "", "", "", "", "");
}
Article findArticle = (Article)this.articleService.findById(Article.class, id);
if (findArticle == null)
{
callbackData = BjuiJson.json("300", "文章不存在", "", "", "", "", "", "");
}
else try {
boolean result = this.articleService.delete(findArticle);
if (result)
callbackData = BjuiJson.json("200", "删除成功", "", "", "", "", "", "");
else
callbackData = BjuiJson.json("300", "删除失败", "", "", "", "", "", "");
}
catch (JSONException e) {
e.printStackTrace();
}
}
out.print(callbackData);
out.flush();
out.close();
} catch (JSONException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void indexArticleList() {
String idStr = this.request.getParameter("id");
String key = this.request.getParameter("key");
String pStr = this.request.getParameter("p");
Config config = (Config)this.configService.findById(Config.class, 1);
int p = 1;
if ((pStr != null) && (!"".equals(pStr))) {
p = Integer.parseInt(pStr);
}
int count = 0;
String countHql = "select count(*) from Article where deleted=0 and status=1";
if ((idStr != null) && (!"".equals(idStr))) {
countHql = countHql + " and articleCate.id=" + idStr;
}
if ((key != null) && (!"".equals(key))) {
try {
key = new String(key.getBytes("ISO-8859-1"), "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
countHql = countHql + " and title like '%" + key + "%'";
}
count = this.articleService.getTotalCount(countHql, new Object[0]);
PageModel pageModel = new PageModel();
pageModel.setAllCount(count);
pageModel.setCurrentPage(p);
List list = null;
ArticleCate articleCate = null;
String hql = "from Article where deleted=0 and status=1";
if ((idStr != null) && (!"".equals(idStr))) {
hql = hql + " and articleCate.id=" + idStr;
articleCate = (ArticleCate)this.articleCateService.findById(ArticleCate.class, Integer.parseInt(idStr));
}
if ((key != null) && (!"".equals(key))) {
hql = hql + " and title like '%" + key + "%'";
}
hql = hql + " order by id desc";
list = this.articleService.list(hql, pageModel.getStart(), pageModel.getPageSize(), new Object[0]);
this.cfg = new Configuration();
this.cfg.setServletContextForTemplateLoading(this.request.getServletContext(),
"WEB-INF/templates/index");
Map root = new HashMap();
root.put("articleList", list);
root.put("articleCate", articleCate);
root.put("page", pageModel.getPageStr("list.do?id=" + idStr + "&p="));
root.put("config", config);
FreemarkerUtils.freemarker(this.request, this.response, this.ftlFileName, this.cfg, root);
}
public void indexArticle() {
String callbackData = "";
String idStr = this.request.getParameter("id");
PrintWriter out = null;
try {
out = this.response.getWriter();
} catch (IOException e1) {
e1.printStackTrace();
}
if ((idStr == null) || ("".equals(idStr))) {
callbackData = "参数错误";
out.print(callbackData);
out.flush();
out.close();
} else {
int id = 0;
try {
id = Integer.parseInt(idStr);
}
catch (Exception e) {
callbackData = "参数错误";
out.print(callbackData);
out.flush();
out.close();
}
Article findArticle = (Article)this.articleService.findById(Article.class, id);
if (findArticle == null)
{
callbackData = "文章不存在";
out.print(callbackData);
out.flush();
out.close();
} else {
Config config = (Config)this.configService.findById(Config.class, 1);
this.cfg = new Configuration();
this.cfg.setServletContextForTemplateLoading(this.request.getServletContext(),
"WEB-INF/templates/index");
Map root = new HashMap();
root.put("article", findArticle);
root.put("config", config);
FreemarkerUtils.freemarker(this.request, this.response, this.ftlFileName, this.cfg, root);
}
}
}
public Article getArticle() {
return this.article;
}
public void setArticle(Article article) {
this.article = article;
}
}
/* Location: D:\360安全浏览器下载\WeFenxiao_A5\WeFenxiao_V1.0.1\WEB-INF\classes\
* Qualified Name: com.java214.fenxiao.action.ArticleAction
* JD-Core Version: 0.6.0
*/