package com.jshoperx.action.backstage.staticspage.template; import com.jshoperx.action.backstage.base.BaseTAction; import com.jshoperx.action.backstage.utils.BaseTools; import com.jshoperx.action.backstage.utils.enums.BaseEnums; import com.jshoperx.action.backstage.utils.statickey.StaticKey; import com.jshoperx.entity.ArticleCategoryT; import com.jshoperx.entity.GoodsCategoryT; import com.jshoperx.entity.TemplateT; import com.jshoperx.entity.TemplatesetT; import com.jshoperx.service.ArticleCategoryTService; import com.jshoperx.service.GoodsCategoryTService; import com.jshoperx.service.TemplateTService; import com.jshoperx.service.TemplatesetTService; import com.jshoperx.service.impl.Serial; import org.apache.commons.lang3.StringUtils; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import javax.annotation.Resource; import java.util.*; @Namespace("") @ParentPackage("jshoperx") public class TemplatesetTAction extends BaseTAction { private static final long serialVersionUID = 1L; @Resource private TemplatesetTService templatesetTService; @Resource private TemplateTService templateTService; @Resource private GoodsCategoryTService goodsCategoryTService; @Resource private ArticleCategoryTService articleCategoryTService; private String tsid; private String templateurl; private String systemcontent; private String buildhtmlpath; private Date createtime; private String creatorid; private String sign; private TemplatesetT bean = new TemplatesetT(); private List<Map<String, Object>> rows = new ArrayList<Map<String, Object>>(); private int rp; private int page = 1; private int total = 0; private String syscontentstrs; private String templatestrs; private String templatesetstrs; private boolean sucflag; public String getTsid() { return tsid; } public void setTsid(String tsid) { this.tsid = tsid; } public String getSystemcontent() { return systemcontent; } public String getTemplateurl() { return templateurl; } public void setTemplateurl(String templateurl) { this.templateurl = templateurl; } public String getBuildhtmlpath() { return buildhtmlpath; } public void setBuildhtmlpath(String buildhtmlpath) { this.buildhtmlpath = buildhtmlpath; } public void setSystemcontent(String systemcontent) { this.systemcontent = systemcontent; } 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 TemplatesetT getBean() { return bean; } public void setBean(TemplatesetT bean) { this.bean = bean; } public List<Map<String, Object>> getRows() { return rows; } public void setRows(List<Map<String, Object>> 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 isSucflag() { return sucflag; } public void setSucflag(boolean sucflag) { this.sucflag = sucflag; } public String getSyscontentstrs() { return syscontentstrs; } public void setSyscontentstrs(String syscontentstrs) { this.syscontentstrs = syscontentstrs; } public String getTemplatestrs() { return templatestrs; } public void setTemplatestrs(String templatestrs) { this.templatestrs = templatestrs; } public String getTemplatesetstrs() { return templatesetstrs; } public void setTemplatesetstrs(String templatesetstrs) { this.templatesetstrs = templatesetstrs; } public String getSign() { return sign; } public void setSign(String sign) { this.sign = sign; } /** * 清理错误 */ @Override public void validate() { this.clearErrorsAndMessages(); } /** * 查询所有模板文件和系统内容设定 * * @return */ @Action(value = "findAllTemplatesetT", results = { @Result(name = "json", type = "json") }) public String findAllTemplatesetT() { if (StaticKey.SC.equals(this.getQtype())) { this.findDefaultAllTemplateset(); } else { if (StringUtils.isBlank(this.getQuery())) { return JSON; } else { return JSON; } } return JSON; } public void findDefaultAllTemplateset() { int currentPage = page; int lineSize = rp; Criterion criterion = Restrictions.eq("creatorid", BaseTools.getAdminCreateId()); Order order = Order.desc("createtime"); total = this.templatesetTService.count(TemplatesetT.class, criterion) .intValue(); List<TemplatesetT> list = this.templatesetTService .findByCriteriaByPage(TemplatesetT.class, criterion, order, currentPage, lineSize); if (!list.isEmpty()) { this.ProcessTemplatesetTlist(list); } } public void ProcessTemplatesetTlist(List<TemplatesetT> list) { rows.clear(); for (Iterator<TemplatesetT> it = list.iterator(); it.hasNext();) { TemplatesetT tst = (TemplatesetT) it.next(); tst.setStatus(BaseEnums.DataUsingState.getName(tst.getStatus())); Map<String, Object> cellMap = new HashMap<String, Object>(); cellMap.put("id", tst.getTsid()); cellMap.put( "cell", new Object[] { tst.getThemename(), tst.getSystemcontent(), tst.getSign(), tst.getStatus(), tst.getTemplateurl(), tst.getBuildhtmlpath(), BaseTools.formateDbDate(tst.getCreatetime()), "<a id='edittemplateset' href='templateset.jsp?operate=edit&folder=setting&tsid=" + tst.getTsid() + "' name='edittemplateset'>[编辑]</a>" }); rows.add(cellMap); } } /** * 获取系统内容,包含文章分类,和商品分类的预先读取,可能还有更多的内容,或许会做一个更加多选的页面来描述系统内容,让后绑定模板 * * @return */ @Action(value = "findSystemcontent", results = { @Result(name = "json", type = "json") }) public String findSystemcontent() { Criterion criterion = Restrictions.eq("creatorid", BaseTools.getAdminCreateId()); List<GoodsCategoryT> gclist = this.goodsCategoryTService .findByCriteria(GoodsCategoryT.class, criterion); List<ArticleCategoryT> aclist = this.articleCategoryTService .findByCriteria(ArticleCategoryT.class, criterion); // 组织商品分类的所有信息 this.setSyscontentstrs(""); this.setSyscontentstrs("<option value='-1'>---请选择---</option><option value='0'>--自定义系统内容--</option><option value='1'>--以下是所创建的商品分类--</option>"); if (!gclist.isEmpty()) { for (Iterator<GoodsCategoryT> it = gclist.iterator(); it.hasNext();) { GoodsCategoryT gct = (GoodsCategoryT) it.next(); if (StringUtils.equals( BaseEnums.CategoryGrade.FIRST.getState(), gct.getGrade())) { this.syscontentstrs += "<option value='" + gct.getGoodsCategoryTid() + "," + gct.getSign() + "'>" + gct.getName() + "</option>"; } else if (StringUtils.equals( BaseEnums.CategoryGrade.SECOND.getState(), gct.getGrade())) { this.syscontentstrs += "<option value='" + gct.getGoodsCategoryTid() + "," + gct.getSign() + "'>  " + gct.getName() + "</option>"; } else { this.syscontentstrs += "<option value='" + gct.getGoodsCategoryTid() + "," + gct.getSign() + "'>   " + gct.getName() + "</option>"; } } } if (!aclist.isEmpty()) { this.syscontentstrs += "<option value='2'>--以下是所创建的文章分类--</option>"; for (Iterator<ArticleCategoryT> it = aclist.iterator(); it .hasNext();) { ArticleCategoryT act = (ArticleCategoryT) it.next(); if (StringUtils.equals( BaseEnums.CategoryGrade.FIRST.getState(), act.getGrade())) { this.syscontentstrs += "<option value='" + act.getArticleCategoryTid() + "," + act.getSign() + "'>" + act.getName() + "</option>"; } else if (StringUtils.equals( BaseEnums.CategoryGrade.SECOND.getState(), act.getGrade())) { this.syscontentstrs += "<option value='" + act.getArticleCategoryTid() + "," + act.getSign() + "'>  " + act.getName() + "</option>"; } else { this.syscontentstrs += "<option value='" + act.getArticleCategoryTid() + "," + act.getSign() + "'>   " + act.getName() + "</option>"; } } } this.setSucflag(true); return JSON; } /** * 获取所有模板文件路径 */ @Action(value = "getAllTemplate", results = { @Result(name = "json", type = "json") }) public String getAllTemplate() { Criterion criterion = Restrictions.and( Restrictions.eq("creatorid", BaseTools.getAdminCreateId())) .add(Restrictions.eq("status", BaseEnums.DataUsingState.USING.getState())); List<TemplateT> list = this.templateTService.findByCriteria( TemplateT.class, criterion); if (list != null && list.size() > 0) { this.setTemplatestrs(""); this.setTemplatestrs("<option value='-1'>---请选择---</option>"); for (Iterator<TemplateT> it = list.iterator(); it.hasNext();) { TemplateT tt = (TemplateT) it.next(); this.templatestrs += "<option value='" + tt.getUrl() + "," + tt.getSign() + "'>" + tt.getUrl() + "</option>"; } this.setSucflag(true); return JSON; } this.setSucflag(false); return JSON; } /** * 获取模板文件和系统内容的输出路径 * * @return */ @Action(value = "getTemplateOutHtmlPath", results = { @Result(name = "json", type = "json") }) public String getTemplateOutHtmlPath() { Criterion criterion = Restrictions.eq("creatorid", BaseTools.getAdminCreateId()); List<TemplatesetT> list = this.templatesetTService.findByCriteria( TemplatesetT.class, criterion); if (list != null && list.size() > 0) { this.setTemplatesetstrs("<option value='-1'>---请选择---</option>"); for (Iterator<TemplatesetT> it = list.iterator(); it.hasNext();) { TemplatesetT tst = (TemplatesetT) it.next(); this.templatesetstrs += "<option value='" + tst.getBuildhtmlpath() + "'>" + tst.getSystemcontent() + "</option>"; } this.setSucflag(true); return JSON; } this.setSucflag(false); return JSON; } /** * 增加模板文件和系统内容设定 * * @return */ @Action(value = "addTemplatesetT", results = { @Result(name = "json", type = "json") }) public String addTemplatesetT() { TemplatesetT tst = new TemplatesetT(); tst.setTsid(this.getSerial().Serialid(Serial.TEMPLATESET)); tst.setSystemcontent(this.getSystemcontent().trim()); tst.setTemplateurl(this.getTemplateurl()); tst.setBuildhtmlpath(this.getBuildhtmlpath()); tst.setCreatetime(BaseTools.getSystemTime()); tst.setCreatorid(BaseTools.getAdminCreateId()); tst.setSign(this.getSign()); // 获取模板主题和状态 Criterion criterion = Restrictions.and( Restrictions.eq("sign", this.getSign())).add( Restrictions.eq("status", BaseEnums.DataUsingState.USING.getState())); TemplateT tt = this.templateTService.findOneByCriteria(TemplateT.class, criterion); if (tt != null) { tst.setThemeid(tt.getThemeid()); tst.setThemename(tt.getThemename()); tst.setStatus(tt.getStatus()); } this.templatesetTService.save(tst); this.setSucflag(true); return JSON; } /** * 根据tsid获取模板文件和系统内容设定值 * * @return */ @Action(value = "findTemplatesetTBytsid", results = { @Result(name = "json", type = "json") }) public String findTemplatesetTBytsid() { if (StringUtils.isNotBlank(this.getTsid())) { bean = this.templatesetTService.findByPK(TemplatesetT.class, this.getTsid()); if (bean != null) { this.setSucflag(true); return JSON; } else { this.setSucflag(false); return JSON; } } else { this.setSucflag(false); return JSON; } } /** * 更新模板文件和系统内容设定 * * @return */ @Action(value = "updateTemplatesetT", results = { @Result(name = "json", type = "json") }) public String updateTemplatesetT() { TemplatesetT tst = this.templatesetTService.findByPK( TemplatesetT.class, this.getTsid()); if (tst != null) { tst.setTemplateurl(this.getTemplateurl()); tst.setSystemcontent(this.getSystemcontent().trim()); tst.setBuildhtmlpath(this.getBuildhtmlpath()); tst.setCreatetime(BaseTools.getSystemTime()); tst.setCreatorid(BaseTools.getAdminCreateId()); tst.setSign(this.getSign()); // 获取模板主题和状态 Criterion criterion = Restrictions.and( Restrictions.eq("sign", this.getSign())).add( Restrictions.eq("status", BaseEnums.DataUsingState.USING.getState())); TemplateT tt = this.templateTService.findOneByCriteria( TemplateT.class, criterion); if (tt != null) { tst.setThemeid(tt.getThemeid()); tst.setThemename(tt.getThemename()); tst.setStatus(tt.getStatus()); } this.templatesetTService.update(tst); this.setSucflag(true); return JSON; } this.setSucflag(false); return JSON; } /** * 删除模板文件和系统内容设定 * * @return */ @Action(value = "delTemplatesetT", results = { @Result(name = "json", type = "json") }) public String delTemplatesetT() { if (StringUtils.isNotBlank(this.getTsid())) { String[] strs = StringUtils.split(this.getTsid(), StaticKey.SPLITDOT); for(String s:strs){ TemplatesetT tst=this.templatesetTService.findByPK(TemplatesetT.class, s); if(tst!=null){ this.templatesetTService.delete(tst); } } this.setSucflag(true); return JSON; } this.setSucflag(false); return JSON; } }