package com.jshop.action;
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.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.SiteNavigationT;
import com.jshop.service.SiteNavigationTService;
import com.jshop.service.impl.SiteNavigationTServiceImpl;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
@ParentPackage("jshop")
@Controller("siteNavigationTAction")
public class SiteNavigationTAction extends ActionSupport {
@Resource(name = "serial")
private Serial serial;
private SiteNavigationTService siteNavigationTService;
private String snid;
private String isTargetBlank;
private String isVisible;
private String name;
private String position;
private String createtime;
private String creatorid;
private String htmlPath;
private String sort;
private String sign;
private SiteNavigationT bean = new SiteNavigationT();
private List rows = new ArrayList();
private int rp;
private int page = 1;
private int total = 0;
private String query;
private String qtype;
private boolean slogin;
private boolean sucflag;
private String sortname;
private String sortorder;
@JSON(serialize = false)
public Serial getSerial() {
return serial;
}
public void setSerial(Serial serial) {
this.serial = serial;
}
@JSON(serialize = false)
public SiteNavigationTService getSiteNavigationTService() {
return siteNavigationTService;
}
public void setSiteNavigationTService(SiteNavigationTService siteNavigationTService) {
this.siteNavigationTService = siteNavigationTService;
}
public String getSnid() {
return snid;
}
public void setSnid(String snid) {
this.snid = snid;
}
public String getIsTargetBlank() {
return isTargetBlank;
}
public void setIsTargetBlank(String isTargetBlank) {
this.isTargetBlank = isTargetBlank;
}
public String getIsVisible() {
return isVisible;
}
public void setIsVisible(String isVisible) {
this.isVisible = isVisible;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPosition() {
return position;
}
public void setPosition(String position) {
this.position = position;
}
public String getCreatetime() {
return createtime;
}
public void setCreatetime(String createtime) {
this.createtime = createtime;
}
public String getCreatorid() {
return creatorid;
}
public void setCreatorid(String creatorid) {
this.creatorid = creatorid;
}
public String getHtmlPath() {
return htmlPath;
}
public void setHtmlPath(String htmlPath) {
this.htmlPath = htmlPath;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public SiteNavigationT getBean() {
return bean;
}
public void setBean(SiteNavigationT 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 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 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 getSign() {
return sign;
}
public void setSign(String sign) {
this.sign = sign;
}
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;
}
/**
* 清理错误
*/
@Override
public void validate() {
this.clearErrorsAndMessages();
}
/**
* 查询所有导航
*
* @return
*/
@Action(value = "findAllSiteNavigationT", results = { @Result(name = "json", type = "json") })
public String findAllSiteNavigationT() {
if ("sc".equals(this.getQtype())) {
this.setTotal(0);
rows.clear();
this.findDefaultAllSiteNavigation();
} else {
if (Validate.StrisNull(this.getQuery())) {
return "json";
} else {
return "json";
}
}
return "json";
}
public void findDefaultAllSiteNavigation() {
int currentPage = page;
int lineSize = rp;
total = this.getSiteNavigationTService().countfindAllSiteNavigationT(BaseTools.adminCreateId());
if (Validate.StrNotNull(sortname) && Validate.StrNotNull(sortorder)) {
String queryString = "from SiteNavigationT as st where st.creatorid=:creatorid order by " + sortname + " " + sortorder + "";
List<SiteNavigationT> list = this.getSiteNavigationTService().sortAllSiteNavigationT(currentPage, lineSize, BaseTools.adminCreateId(), queryString);
if (list != null) {
this.ProcessSiteNavigationList(list);
}
}
}
public void ProcessSiteNavigationList(List<SiteNavigationT> list) {
rows.clear();
for (Iterator it = list.iterator(); it.hasNext();) {
SiteNavigationT sn = (SiteNavigationT) it.next();
if (sn.getIsTargetBlank().equals("1")) {
sn.setIsTargetBlank("<span class='truestatue'><img src='../images/base_right_icon.gif'/></span>");
} else {
sn.setIsTargetBlank("<span class='falsestatue'><img src='../images/base_wrong_icon.gif'/></span>");
}
if (sn.getIsVisible().equals("1")) {
sn.setIsVisible("<span class='truestatue'><img src='../images/base_right_icon.gif'/></span>");
} else {
sn.setIsVisible("<span class='falsestatue'><img src='../images/base_wrong_icon.gif'/></span>");
}
if (sn.getPosition().equals("1")) {
sn.setPosition("上");
} else if (sn.getPosition().equals("2")) {
sn.setPosition("中");
} else {
sn.setPosition("下");
}
Map<String, Object> cellMap = new HashMap<String, Object>();
cellMap.put("id", sn.getSnid());
cellMap.put("cell", new Object[] { sn.getName(), sn.getPosition(), sn.getSign(), sn.getSort(), sn.getIsTargetBlank(), sn.getIsVisible(), BaseTools.formateDbDate(sn.getCreatetime()), sn.getCreatorid(), "<a target='_blank' id='editsitenavigation' href='jshop/admin/pagecontent/addsitenavigation.jsp?snid=" + sn.getSnid() + "' name='editsitenavigation'>[编辑]</a>" + "<a target='_blank' id='browersitenavigation' href='" + sn.getHtmlPath() + "' name='browersitenavigation'>[预览]</a>" });
rows.add(cellMap);
}
}
/**
* 增加导航
*
* @return
*/
@Action(value = "addSiteNavigationT", results = { @Result(name = "json", type = "json") })
public String addSiteNavigationT() {
SiteNavigationT sn = new SiteNavigationT();
sn.setSnid(this.getSerial().Serialid(Serial.SITENAVIGATION));
sn.setIsTargetBlank(this.getIsTargetBlank());
sn.setIsVisible(this.getIsVisible());
sn.setName(this.getName());
sn.setPosition(this.getPosition());
sn.setCreatetime(BaseTools.systemtime());
sn.setCreatorid(BaseTools.adminCreateId());
sn.setHtmlPath(this.getHtmlPath());
sn.setSort(Integer.parseInt(this.getSort()));
sn.setSign(this.getSign());
if (this.getSiteNavigationTService().addSiteNavigationT(sn) > 0) {
//这里需要对应模板生成静态页面
this.setSucflag(true);
return "json";
} else {
this.setSucflag(false);
return "json";
}
}
/**
* 根据snid获取导航数据
*
* @return
*/
@Action(value = "findSiteNavigationBysnid", results = { @Result(name = "json", type = "json") })
public String findSiteNavigationBysnid() {
bean = this.getSiteNavigationTService().findSiteNavigationBysnid(this.getSnid());
if (bean != null) {
this.setSucflag(true);
return "json";
}
this.setSucflag(false);
return "json";
}
/**
* 更新导航
*
* @return
*/
@Action(value = "updateSiteNavigationT", results = { @Result(name = "json", type = "json") })
public String updateSiteNavigationT() {
SiteNavigationT sn = new SiteNavigationT();
sn.setSnid(this.getSnid());
sn.setIsTargetBlank(this.getIsTargetBlank());
sn.setIsVisible(this.getIsVisible());
sn.setName(this.getName());
sn.setPosition(this.getPosition());
sn.setCreatetime(BaseTools.systemtime());
sn.setCreatorid(BaseTools.adminCreateId());
sn.setHtmlPath(this.getHtmlPath());
sn.setSort(Integer.parseInt(this.getSort()));
sn.setSign(this.getSign());
if (this.getSiteNavigationTService().updateSiteNavigationT(sn) > 0) {
//更新模板页面数据
this.setSucflag(true);
return "json";
}
this.setSucflag(false);
return "json";
}
/**
* 删除导航
*
* @return
*/
@Action(value = "delSiteNavigationT", results = { @Result(name = "json", type = "json") })
public String delSiteNavigationT() {
if (Validate.StrNotNull(this.getSnid())) {
String[] strs = this.getSnid().split(",");
this.getSiteNavigationTService().delSiteNavigationT(strs);
this.setSucflag(true);
return "json";
}
return "json";
}
}