package com.jshop.action; import java.sql.Date; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.InterceptorRef; import org.apache.struts2.convention.annotation.InterceptorRefs; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.json.annotations.JSON; import org.springframework.stereotype.Controller; import com.jshop.action.tools.BaseTools; import com.jshop.action.tools.Serial; import com.jshop.action.tools.Validate; import com.jshop.entity.ArticleCategoryT; import com.jshop.service.ArticleCategoryTService; import com.jshop.service.impl.ArticleCategoryTServiceImpl; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; @ParentPackage("jshop") @InterceptorRefs({ @InterceptorRef("articlemoduleArticleInterecptor"), @InterceptorRef("defaultStack") }) @Controller("articleCategoryTAction") public class ArticleCategoryTAction extends ActionSupport { private ArticleCategoryTService articleCategoryTService; private Serial serial; private String articleCategoryTid; private String grade; private String metaKeywords; private String metaDes; private String name; private String status; private Date createtime; private String creatorid; private String path; private String sort; private String parentId; private String parentId1; private String sign; private String position; private String parentName; private String parentName1; private String articlecategoryzero; private String articlecategorythree; private String articlecategorytwo; private String query; private String qtype; private List<ArticleCategoryT> secondcategory = new ArrayList<ArticleCategoryT>(); private List<ArticleCategoryT> thiredscategory = new ArrayList<ArticleCategoryT>(); private String navidlist; private String ltypeidlist; private String stypeidlist; private ArticleCategoryT bean = new ArticleCategoryT(); private List rows=new ArrayList<Map<String,Object>>(); private int rp; private int page = 1; private int total = 0; private boolean slogin; private boolean sucflag; private String sortname; private String sortorder; private String usession; @JSON(serialize = false) public ArticleCategoryTService getArticleCategoryTService() { return articleCategoryTService; } public void setArticleCategoryTService(ArticleCategoryTService articleCategoryTService) { this.articleCategoryTService = articleCategoryTService; } @JSON(serialize = false) public Serial getSerial() { return serial; } public void setSerial(Serial serial) { this.serial = serial; } public String getArticleCategoryTid() { return articleCategoryTid; } public void setArticleCategoryTid(String articleCategoryTid) { this.articleCategoryTid = articleCategoryTid; } public String getGrade() { return grade; } public void setGrade(String grade) { this.grade = grade; } public String getMetaKeywords() { return metaKeywords; } public void setMetaKeywords(String metaKeywords) { this.metaKeywords = metaKeywords; } public String getMetaDes() { return metaDes; } public void setMetaDes(String metaDes) { this.metaDes = metaDes; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public Date getCreatetime() { return createtime; } public void setCreatetime(Date createtime) { this.createtime = createtime; } public String getCreatorid() { return creatorid; } public void setCreatorid(String creatorid) { this.creatorid = creatorid; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } public String getSort() { return sort; } public void setSort(String sort) { this.sort = sort; } public String getParentId() { return parentId; } public void setParentId(String parentId) { this.parentId = parentId; } public String getSign() { return sign; } public void setSign(String sign) { this.sign = sign; } public String getParentName() { return parentName; } public void setParentName(String parentName) { this.parentName = parentName; } public String getArticlecategoryzero() { return articlecategoryzero; } public void setArticlecategoryzero(String articlecategoryzero) { this.articlecategoryzero = articlecategoryzero; } public String getArticlecategorythree() { return articlecategorythree; } public void setArticlecategorythree(String articlecategorythree) { this.articlecategorythree = articlecategorythree; } public String getArticlecategorytwo() { return articlecategorytwo; } public void setArticlecategorytwo(String articlecategorytwo) { this.articlecategorytwo = articlecategorytwo; } public String getQuery() { return query; } public void setQuery(String query) { this.query = query; } public String getQtype() { return qtype; } public void setQtype(String qtype) { this.qtype = qtype; } public List<ArticleCategoryT> getSecondcategory() { return secondcategory; } public void setSecondcategory(List<ArticleCategoryT> secondcategory) { this.secondcategory = secondcategory; } public List<ArticleCategoryT> getThiredscategory() { return thiredscategory; } public void setThiredscategory(List<ArticleCategoryT> thiredscategory) { this.thiredscategory = thiredscategory; } public String getNavidlist() { return navidlist; } public void setNavidlist(String navidlist) { this.navidlist = navidlist; } public String getLtypeidlist() { return ltypeidlist; } public void setLtypeidlist(String ltypeidlist) { this.ltypeidlist = ltypeidlist; } public String getStypeidlist() { return stypeidlist; } public void setStypeidlist(String stypeidlist) { this.stypeidlist = stypeidlist; } public ArticleCategoryT getBean() { return bean; } public void setBean(ArticleCategoryT bean) { this.bean = bean; } public List getRows() { return rows; } public void setRows(List rows) { this.rows = rows; } public int getRp() { return rp; } public void setRp(int rp) { this.rp = rp; } public int getPage() { return page; } public void setPage(int page) { this.page = page; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } public boolean isSlogin() { return slogin; } public void setSlogin(boolean slogin) { this.slogin = slogin; } public boolean isSucflag() { return sucflag; } public void setSucflag(boolean sucflag) { this.sucflag = sucflag; } public String getParentId1() { return parentId1; } public void setParentId1(String parentId1) { this.parentId1 = parentId1; } public String getParentName1() { return parentName1; } public void setParentName1(String parentName1) { this.parentName1 = parentName1; } public String getPosition() { return position; } public void setPosition(String position) { this.position = position; } public String getSortname() { return sortname; } public void setSortname(String sortname) { this.sortname = sortname; } public String getSortorder() { return sortorder; } public void setSortorder(String sortorder) { this.sortorder = sortorder; } public String getUsession() { return usession; } public void setUsession(String usession) { this.usession = usession; } /** * 清理错误 */ @Override public void validate() { this.clearErrorsAndMessages(); } /** * 获取顶级分类和一级分类 * * @return */ @Action(value = "findArticlCategoryByGradeZeroone", results = { @Result(name = "json", type = "json") }) public String findArticlCategoryByGradeZeroone() { this.setArticlecategoryzero(""); List<ArticleCategoryT> list = this.getArticleCategoryTService().findArticleCategoryByGrade("0", "1", BaseTools.adminCreateId()); if (!list.isEmpty()) { this.setArticlecategoryzero("<option value='-1'>---请选择---</option><option value='0'>顶级分类</option>"); for (Iterator it = list.iterator(); it.hasNext();) { ArticleCategoryT act = (ArticleCategoryT) it.next(); this.articlecategoryzero += "<option value='" + act.getArticleCategoryTid() + "'>" + act.getName() + "</option>"; } this.setSucflag(true); return "json"; } this.setSucflag(true); return "json"; } /** * 获取二级分类 * * @return */ @Action(value = "findArticleCategoryByGradeTwo", results = { @Result(name = "json", type = "json") }) public String findArticleCategoryByGradeTwo() { this.setArticlecategorytwo(""); List<ArticleCategoryT> list = this.getArticleCategoryTService().findArticleCategoryByGrade("1", "1", BaseTools.adminCreateId()); if (!list.isEmpty()) { this.setArticlecategorytwo("<option value='-1'>---请选择---</option>"); for (Iterator it = list.iterator(); it.hasNext();) { ArticleCategoryT act = (ArticleCategoryT) it.next(); this.articlecategorytwo += "<option value='" + act.getArticleCategoryTid() + "'>" + act.getName() + "</option>"; } this.setSucflag(true); return "json"; } else { this.setArticlecategorytwo(""); this.articlecategorytwo = "<option value='-1'>---请选择---</option>"; } this.setSucflag(true); return "json"; } /** * 增加文章分类 * * @return */ @Action(value = "addArticleCategoryT", results = { @Result(name = "json", type = "json") }) public String addArticleCategoryT() { int i = this.getArticleCategoryTService().checkArticleCategoryName(this.getName(), BaseTools.adminCreateId()); int j = this.getArticleCategoryTService().checkArticleCategorySign(this.getSign(), BaseTools.adminCreateId()); if (i == 0 && j == 0) { if (Integer.parseInt(this.getGrade()) == 0) { ArticleCategoryT act = new ArticleCategoryT(); act.setArticleCategoryTid(this.getSerial().Serialid(Serial.ARTICLECATEGORY)); act.setGrade(this.getGrade().trim());//顶级,一级 act.setMetaKeywords(this.getMetaKeywords().trim()); act.setMetaDes(this.getMetaDes().trim()); act.setName(this.getName().trim()); act.setStatus("1"); act.setPath(act.getArticleCategoryTid()); act.setSort(Integer.parseInt(this.getSort().trim())); act.setSign(this.getSign().trim()); act.setCreatetime(BaseTools.systemtime()); act.setCreatorid(BaseTools.adminCreateId()); act.setUpdatetime(BaseTools.systemtime()); act.setVersiont(0); act.setParentName(""); act.setPosition(this.getPosition()); this.getArticleCategoryTService().addArticleCategoryT(act); this.setSucflag(true); return "json"; } else { this.setSucflag(false); return "json"; } } else { this.setSucflag(false); return "json"; } } /** * 增加二级分类 * * @return */ @Action(value = "addArticleCategoryTwo", results = { @Result(name = "json", type = "json") }) public String addArticleCategoryTwo() { int i = this.getArticleCategoryTService().checkArticleCategoryName(this.getName(), BaseTools.adminCreateId()); int j = this.getArticleCategoryTService().checkArticleCategorySign(this.getSign(), BaseTools.adminCreateId()); if (i == 0 && j == 0) { if (Integer.parseInt(this.getGrade()) == 1) { ArticleCategoryT act = new ArticleCategoryT(); act.setArticleCategoryTid(this.getSerial().Serialid(Serial.ARTICLECATEGORY)); act.setGrade(this.getGrade().trim());//二级 act.setMetaKeywords(this.getMetaKeywords().trim()); act.setMetaDes(this.getMetaDes().trim()); act.setName(this.getName().trim()); act.setStatus("1"); act.setPath(this.getParentId() + "," + act.getArticleCategoryTid()); act.setSort(Integer.parseInt(this.getSort().trim())); act.setSign(this.getSign().trim()); act.setCreatetime(BaseTools.systemtime()); act.setCreatorid(BaseTools.adminCreateId()); act.setUpdatetime(BaseTools.systemtime()); act.setVersiont(0); act.setParentId(this.getParentId()); act.setParentName(this.getParentName()); act.setPosition(this.getPosition()); this.getArticleCategoryTService().addArticleCategoryT(act); this.setSucflag(true); return "json"; } else { this.setSucflag(false); return "json"; } } else { this.setSucflag(false); return "json"; } } /** * 增加三级分类 * * @return */ @Action(value = "addArticleCategoryThree", results = { @Result(name = "json", type = "json") }) public String addArticleCategoryThree() { int i = this.getArticleCategoryTService().checkArticleCategoryName(this.getName(), BaseTools.adminCreateId()); int j = this.getArticleCategoryTService().checkArticleCategorySign(this.getSign(), BaseTools.adminCreateId()); if (i == 0 && j == 0) { if (Integer.parseInt(this.getGrade()) == 2) { ArticleCategoryT act = new ArticleCategoryT(); act.setArticleCategoryTid(this.getSerial().Serialid(Serial.ARTICLECATEGORY)); act.setGrade(this.getGrade().trim());//三级 act.setMetaKeywords(this.getMetaKeywords().trim()); act.setMetaDes(this.getMetaDes().trim()); act.setName(this.getName().trim()); act.setStatus("1"); act.setPath(this.getParentId() + "," + this.getParentId1() + "," + act.getArticleCategoryTid()); act.setSort(Integer.parseInt(this.getSort().trim())); act.setSign(this.getSign().trim()); act.setCreatetime(BaseTools.systemtime()); act.setCreatorid(BaseTools.adminCreateId()); act.setUpdatetime(BaseTools.systemtime()); act.setVersiont(0); act.setParentId(this.getParentId1()); act.setParentName(this.getParentName1()); act.setPosition(this.getPosition()); this.getArticleCategoryTService().addArticleCategoryT(act); this.setSucflag(true); return "json"; } else { this.setSucflag(false); return "json"; } } else { this.setSucflag(false); return "json"; } } /** * 获取所有激活的文章分类 * * @return */ @Action(value = "findAllArticleCategoryT", results = { @Result(name = "json", type = "json") }) public String findAllArticleCategoryT() { if ("sc".equals(this.getQtype())) { this.findDefaultAllArticleCategory(); } else { if (Validate.StrisNull(this.getQuery())) { return "json"; } else { return "json"; } } return "json"; } /** * 获取文章分类 * * @return */ @Action(value = "findArticleCategoryByarticleCategoryTid", results = { @Result(name = "json", type = "json") }) public String findArticleCategoryByarticleCategoryTid() { if (Validate.StrNotNull(this.getArticleCategoryTid())) { bean = this.getArticleCategoryTService().findArticleCategoryByarticleCategoryTid(this.getArticleCategoryTid()); if (bean != null) { return "json"; } } return "json"; } public void findDefaultAllArticleCategory() { int currentPage = page; int lineSize = rp; this.setStatus("1"); total = this.getArticleCategoryTService().countfindAllArticleCategoryT(this.getStatus(), BaseTools.adminCreateId()); if (Validate.StrNotNull(sortname) && Validate.StrNotNull(sortorder)) { String queryString = "from ArticleCategoryT as act where act.status=:status and act.creatorid=:creatorid order by " + sortname + " " + sortorder + ""; List<ArticleCategoryT> list = this.getArticleCategoryTService().sortAllArticleCategoryT(currentPage, lineSize, this.getStatus(), BaseTools.adminCreateId(), queryString); if (!list.isEmpty()) { this.ProcessArticleCategoryTList(list); } } } public void ProcessArticleCategoryTList(List<ArticleCategoryT> list) { for (Iterator it = list.iterator(); it.hasNext();) { ArticleCategoryT act = (ArticleCategoryT) it.next(); if (act.getGrade().equals("0")) { act.setGrade("顶级分类"); } else if (act.getGrade().equals("1")) { act.setGrade("二级分类"); } else { act.setGrade("三级分类"); } if (act.getPosition().equals("1")) { act.setPosition("<span class='truestatue'><img src='../images/base_right_icon.gif'/></span>"); } else { act.setPosition("<span class='falsestatue'><img src='../images/base_wrong_icon.gif'/></span>"); } Map<String, Object> cellMap = new HashMap<String, Object>(); cellMap.put("id", act.getArticleCategoryTid()); cellMap.put("cell", new Object[] {"<a href='addarticlecategory.jsp?session=" + this.getUsession() + "#pagecontent&articleCategoryTid=" + act.getArticleCategoryTid() + "'>" + act.getName() + "</a>", act.getParentName(), act.getGrade(), act.getSign(), act.getSort(), act.getPosition(), act.getCreatetime(), act.getCreatorid() }); rows.add(cellMap); } } /** * 更新文章分类 * * @return */ @Action(value = "updateArticleCategoryT", results = { @Result(name = "json", type = "json") }) public String updateArticleCategoryT() { int i = this.getArticleCategoryTService().checkArticleCategoryNamewithoutMe(this.getArticleCategoryTid(), this.getName(), BaseTools.adminCreateId()); int j = this.getArticleCategoryTService().checkArticleCategorySignwithoutMe(this.getArticleCategoryTid(), this.getSign(), BaseTools.adminCreateId()); if (i == 0 && j == 0) { bean=this.getArticleCategoryTService().findArticleCategoryByarticleCategoryTid(this.getArticleCategoryTid()); bean.setName(this.getName().trim()); bean.setSign(this.getSign().trim()); bean.setSort(Integer.parseInt(this.getSort().trim())); bean.setMetaKeywords(this.getMetaKeywords()); bean.setMetaDes(this.getMetaDes()); bean.setPosition(this.getPosition()); //bean.setCreatetime(BaseTools.systemtime()); bean.setUpdatetime(BaseTools.systemtime()); bean.setCreatorid(BaseTools.adminCreateId()); this.getArticleCategoryTService().updateArticleCategoryT(bean); this.setSucflag(true); return "json"; } else { this.setSucflag(false); return "json"; } } /** * 删除文章分类 * * @return */ @Action(value = "delArticleCategoryT", results = { @Result(name = "json", type = "json") }) public String delArticleCategoryT() { if (Validate.StrNotNull(this.getArticleCategoryTid())) { String[] strs = this.getArticleCategoryTid().split(","); for (String s : strs) { bean=this.getArticleCategoryTService().findArticleCategoryByarticleCategoryTid(s); bean.setArticleCategoryTid(s); bean.setStatus("0"); bean.setCreatorid(BaseTools.adminCreateId()); this.getArticleCategoryTService().delArticleCategoryT(bean); } this.setSucflag(true); return "json"; } this.setSucflag(false); return "json"; } }