package com.jshoperx.action.backstage.authority; import com.jshoperx.action.backstage.base.BaseTAction; import com.jshoperx.action.backstage.utils.BaseTools; import com.jshoperx.action.backstage.utils.Validate; import com.jshoperx.action.backstage.utils.statickey.StaticKey; import com.jshoperx.entity.FunctionT; import com.jshoperx.service.BaseTService; 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 FunctionTAction extends BaseTAction { private static final long serialVersionUID = 1L; @Resource private BaseTService<FunctionT> baseTService; private String id; private String visiturl; private String visitmethodname; private String functionname; private Date createtime; private String moduleid; private FunctionT bean = new FunctionT(); private List<FunctionT> beanlist = new ArrayList<FunctionT>(); private Map<String, Object> map = new HashMap<String, Object>(); private List<Map<String, Object>> rows = new ArrayList<Map<String, Object>>(); private int rp; private int page = 1; private int total = 0; private boolean sucflag; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getVisiturl() { return visiturl; } public void setVisiturl(String visiturl) { this.visiturl = visiturl; } public String getVisitmethodname() { return visitmethodname; } public void setVisitmethodname(String visitmethodname) { this.visitmethodname = visitmethodname; } public FunctionT getBean() { return bean; } public void setBean(FunctionT bean) { this.bean = bean; } public List<FunctionT> getBeanlist() { return beanlist; } public void setBeanlist(List<FunctionT> beanlist) { this.beanlist = beanlist; } public String getFunctionname() { return functionname; } public void setFunctionname(String functionname) { this.functionname = functionname; } public Date getCreatetime() { return createtime; } public void setCreatetime(Date createtime) { this.createtime = createtime; } public String getModuleid() { return moduleid; } public void setModuleid(String moduleid) { this.moduleid = moduleid; } public Map<String, Object> getMap() { return map; } public void setMap(Map<String, Object> map) { this.map = map; } 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; } /** * 清理错误 */ @Override public void validate() { this.clearErrorsAndMessages(); } /** * 增加可访问的功能路径或方法 * * @return */ @Action(value = "addFunctionM", results = { @Result(name = "json", type = "json") }) public String addFunctionM() { FunctionT fm = new FunctionT(); fm.setId(this.getSerial().Serialid(Serial.FUNCTION)); fm.setFunctionname(this.getFunctionname()); fm.setVisitmethodname(this.getVisitmethodname()); fm.setVisiturl(this.getVisiturl()); fm.setModuleid(this.getModuleid()); fm.setCreatetime(BaseTools.getSystemTime()); this.baseTService.save(fm); this.setSucflag(true); return "json"; } /** * 根据id获取功能信息数据 * * @return */ @Action(value = "findFunctionMById", results = { @Result(name = "json", type = "json") }) public String findFunctionMById() { if (StringUtils.isNotBlank(this.getId())) { setBean(this.baseTService.findByPK(FunctionT.class, this.getId() .trim())); this.setSucflag(true); return "json"; } this.setSucflag(false); return "json"; } /** * 更新功能 * * @return */ @Action(value = "updateFunctionM", results = { @Result(name = "json", type = "json") }) public String updateFunctionM() { getBean().setId(this.getId()); getBean().setFunctionname(this.getFunctionname()); getBean().setVisitmethodname(this.getVisitmethodname()); getBean().setVisiturl(this.getVisiturl()); getBean().setModuleid(this.getModuleid()); getBean().setCreatetime(BaseTools.getSystemTime()); this.baseTService.update(getBean()); this.setSucflag(true); return "json"; } /** * 根据模块id查询对应功能列表 * * @return */ @Action(value = "findAllFunctionMBymoduleid", results = { @Result(name = "json", type = "json") }) public String findAllFunctionMBymoduleid() { if (Validate.StrNotNull(this.getModuleid())) { this.findDefaultAllFunctionMBymoduleid(); } else { this.findAllFunctionM(); } return "json"; } public void findDefaultAllFunctionMBymoduleid() { Criterion criterion=Restrictions.eq("moduleid", this.getModuleid()); Order order=Order.asc("moduleid"); List<FunctionT> list =this.baseTService.findByCriteria(FunctionT.class, criterion,order); if (!list.isEmpty()) { total = list.size(); this.ProcessFunctionMList(list); } } public void findAllFunctionM() { List<FunctionT> list = this.baseTService.findAll(FunctionT.class); if (!list.isEmpty()) { total = list.size(); this.ProcessFunctionMList(list); } } public void ProcessFunctionMList(List<FunctionT> list) { for (Iterator<FunctionT> it = list.iterator(); it.hasNext();) { FunctionT fm = (FunctionT) it.next(); Map<String, Object> cellMap = new HashMap<String, Object>(); cellMap.put("id", fm.getId()); cellMap.put( "cell", new Object[] { fm.getFunctionname(), fm.getVisiturl(), fm.getVisitmethodname(), BaseTools.formateDbDate(fm.getCreatetime()), "<a id='editfunction' name='editfunction' href='function.jsp?operate=edit&folder=setting&id=" + fm.getId() + "'>[编辑]</a>" }); rows.add(cellMap); } } /** * 删除系统模块功能 * * @return */ @Action(value = "delFunctionM", results = { @Result(name = "json", type = "json") }) public String delFunctionM() { if (StringUtils.isNotBlank(this.getId())) { String[] strs = StringUtils.split(this.getId(), StaticKey.SPLITDOT); for(String s:strs){ FunctionT fm=this.baseTService.findByPK(FunctionT.class, s); if(fm!=null){ this.baseTService.delete(fm); } } this.setSucflag(true); return "json"; } this.setSucflag(false); return "json"; } /** * 获取所有功能,给前台的checkbox显示 * * @return */ @Action(value = "findAllFunction", results = { @Result(name = "json", type = "json") }) public String findAllFunction() { setBeanlist(this.baseTService.findAll(FunctionT.class)); return "json"; } }