package com.jshop.action; import java.sql.Date; import java.sql.Timestamp; 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.commons.lang.xwork.StringUtils; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.json.annotations.JSON; import org.json.simple.JSONObject; import org.json.simple.JSONValue; 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.GoodsAttributeT; import com.jshop.service.GoodsAttributeTService; import com.jshop.service.impl.GoodsAttributeTServiceImpl; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; @ParentPackage("jshop") @Controller("goodsAttributeTAction") public class GoodsAttributeTAction extends ActionSupport { private GoodsAttributeTService goodsAttributeTService; private Serial serial; private String goodsattributeid; private String goodsattributename; private String goodsTypeId; private String goodsTypeName; private Date createtime; private String state; private String creatorid; private String attributeType; private String attributelist; private String sort; private String attributeIndex; private String issearch; private String issametolink; private String rjson; private GoodsAttributeT bean = new GoodsAttributeT(); private List<GoodsAttributeT> gatbeanlist = new ArrayList<GoodsAttributeT>(); private List beanlist = new ArrayList(); private String query; private String qtype; private List rows = new ArrayList(); private int rp; private int page = 1; private int total = 0; private boolean slogin; private boolean sucflag; @JSON(serialize = false) public GoodsAttributeTService getGoodsAttributeTService() { return goodsAttributeTService; } public void setGoodsAttributeTService(GoodsAttributeTService goodsAttributeTService) { this.goodsAttributeTService = goodsAttributeTService; } @JSON(serialize = false) public Serial getSerial() { return serial; } public void setSerial(Serial serial) { this.serial = serial; } public String getGoodsattributeid() { return goodsattributeid; } public void setGoodsattributeid(String goodsattributeid) { this.goodsattributeid = goodsattributeid; } public String getGoodsattributename() { return goodsattributename; } public void setGoodsattributename(String goodsattributename) { this.goodsattributename = goodsattributename; } public String getGoodsTypeId() { return goodsTypeId; } public void setGoodsTypeId(String goodsTypeId) { this.goodsTypeId = goodsTypeId; } public String getGoodsTypeName() { return goodsTypeName; } public void setGoodsTypeName(String goodsTypeName) { this.goodsTypeName = goodsTypeName; } public Date getCreatetime() { return createtime; } public void setCreatetime(Date createtime) { this.createtime = createtime; } public String getState() { return state; } public void setState(String state) { this.state = state; } public String getCreatorid() { return creatorid; } public void setCreatorid(String creatorid) { this.creatorid = creatorid; } public String getAttributeType() { return attributeType; } public void setAttributeType(String attributeType) { this.attributeType = attributeType; } public String getAttributelist() { return attributelist; } public void setAttributelist(String attributelist) { this.attributelist = attributelist; } public String getSort() { return sort; } public void setSort(String sort) { this.sort = sort; } public String getAttributeIndex() { return attributeIndex; } public void setAttributeIndex(String attributeIndex) { this.attributeIndex = attributeIndex; } public GoodsAttributeT getBean() { return bean; } public void setBean(GoodsAttributeT bean) { this.bean = bean; } 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 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 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 getRjson() { return rjson; } public void setRjson(String rjson) { this.rjson = rjson; } public List getBeanlist() { return beanlist; } public void setBeanlist(List beanlist) { this.beanlist = beanlist; } public List<GoodsAttributeT> getGatbeanlist() { return gatbeanlist; } public void setGatbeanlist(List<GoodsAttributeT> gatbeanlist) { this.gatbeanlist = gatbeanlist; } public String getIssearch() { return issearch; } public void setIssearch(String issearch) { this.issearch = issearch; } public String getIssametolink() { return issametolink; } public void setIssametolink(String issametolink) { this.issametolink = issametolink; } /** * 清理错误 */ @Override public void validate() { this.clearErrorsAndMessages(); } /** * 增加商品参数 */ @Action(value = "addGoodsAttributeT", results = { @Result(name = "json", type = "json") }) public String addGoodsAttributeT() { String a[] = this.getRjson().split("-"); int count = 0; for (int i = 0; i < a.length; i++) { GoodsAttributeT gat = new GoodsAttributeT(); gat.setGoodsattributeid(this.getSerial().Serialid(Serial.GOODSATTRIBUTE)); gat.setCreatetime(BaseTools.systemtime()); gat.setState("1"); gat.setCreatorid(BaseTools.adminCreateId()); gat.setGoodsTypeId(this.getGoodsTypeId()); gat.setGoodsTypeName(this.getGoodsTypeName()); gat.setAttributeIndex(this.getAttributeIndex()); JSONObject jo = (JSONObject) JSONValue.parse(a[i].toString()); Iterator iter = jo.keySet().iterator(); while (iter.hasNext()) { String key = iter.next().toString(); if (key.equals("goodsattributename")) { gat.setGoodsattributename(jo.get(key).toString()); } if (key.equals("attributeType")) { gat.setAttributeType(jo.get(key).toString()); } if (key.equals("attributelist")) { gat.setAttributelist(jo.get(key).toString()); } if (key.equals("sort")) { gat.setSort(jo.get(key).toString()); } } if (this.getGoodsAttributeTService().addGoodsAttributeT(gat) > 0) { count++; } } if (count == a.length) { this.setSucflag(true); return "json"; } this.setSucflag(false); return "json"; } /** * 更新商品参数 * * @return */ @Action(value = "UpdateGoodsAttributeT", results = { @Result(name = "json", type = "json") }) public String UpdateGoodsAttributeT() { String a[] = this.getRjson().split("-"); int count = 0; GoodsAttributeT gat = new GoodsAttributeT(); for (int i = 0; i < a.length; i++) { gat.setCreatetime(BaseTools.systemtime()); gat.setState("1"); gat.setCreatorid(BaseTools.adminCreateId()); gat.setGoodsTypeId(this.getGoodsTypeId()); gat.setGoodsTypeName(this.getGoodsTypeName()); gat.setAttributeIndex(this.getAttributeIndex()); JSONObject jo = (JSONObject) JSONValue.parse(a[i].toString()); Iterator iter = jo.keySet().iterator(); while (iter.hasNext()) { String key = iter.next().toString(); if (key.equals("goodsattributename")) { gat.setGoodsattributename(jo.get(key).toString()); } if (key.equals("attributeType")) { gat.setAttributeType(jo.get(key).toString()); } if (key.equals("attributelist")) { gat.setAttributelist(jo.get(key).toString()); } if (key.equals("sort")) { gat.setSort(jo.get(key).toString()); } if (key.equals("goodsattributeid")) { gat.setGoodsattributeid(jo.get(key).toString()); } } int j = this.getGoodsAttributeTService().updateGoodsAttributeT(gat); count++; } if (count == a.length) { this.setSucflag(true); return "json"; } this.setSucflag(false); return "json"; } /** * 获取所有商品参数 */ @Action(value = "findAllGoodsAttributeT", results = { @Result(name = "json", type = "json") }) public String findAllGoodsAttributeT() { if (this.getQtype().equals("sc")) { this.setTotal(0); rows.clear(); this.findDefaultAllGoodsAttributeT(); } else { if (Validate.StrisNull(this.getQuery())) { return "json"; } else { return "json"; } } return "json"; } public void findDefaultAllGoodsAttributeT() { int currentPage = page; int lineSize = rp; total = this.getGoodsAttributeTService().countfindAllGoodsAttributeT(); List<GoodsAttributeT> list = this.getGoodsAttributeTService().findAllGoodsAttributeT(currentPage, lineSize); if (list != null) { this.ProcessGoodsAttributeTList(list); } } public void ProcessGoodsAttributeTList(List<GoodsAttributeT> list) { rows.clear(); for (Iterator it = list.iterator(); it.hasNext();) { GoodsAttributeT gat = (GoodsAttributeT) it.next(); if("0".equals(gat.getAttributeType())){ gat.setAttributeType("筛选项"); } if("1".equals(gat.getAttributeType())){ gat.setAttributeType("输入项"); } if("1".equals(gat.getIssearch())){ gat.setIssearch("支持"); }else{ gat.setIssearch("不支持"); } if("1".equals(gat.getIssametolink())){ gat.setIssametolink("支持"); }else{ gat.setIssametolink("不支持"); } Map<String, Object> cellMap = new HashMap<String, Object>(); cellMap.put("id", gat.getGoodsattributeid()); cellMap.put("cell", new Object[] {gat.getGoodsattributename(), gat.getAttributeType(), gat.getAttributelist(), gat.getSort(), gat.getGoodsTypeName(),gat.getIssearch(),gat.getIssametolink(), BaseTools.formateDbDate(gat.getCreatetime()) }); rows.add(cellMap); } } /** * 删除商品参数 * * @return */ @Action(value = "DelGoodsAttributeT", results = { @Result(name = "json", type = "json") }) public String DelGoodsAttributeT() { if (Validate.StrNotNull(this.getGoodsattributeid())) { String[] list = this.getGoodsattributeid().split(","); int i = this.getGoodsAttributeTService().delGoodsAttributeT(list); this.setSucflag(true); return "json"; } this.setSucflag(false); return "json"; } /** * 根据商品类型来获取对应的商品参数 * * @return */ @Action(value = "findGoodsAttributeTByGoodsTypeName", results = { @Result(name = "json", type = "json") }) public String findGoodsAttributeTByGoodsTypeName() { if (Validate.StrNotNull(this.getGoodsTypeName())) { List<GoodsAttributeT> list = this.getGoodsAttributeTService().findGoodsAttributeTByGoodsTypeName(this.getGoodsTypeName().trim()); if (list != null) { beanlist = list; this.setSucflag(true); return "json"; } } this.setSucflag(false); return "json"; } /** * 根据商品类型id获取商品属性参数 * * @return */ @Action(value = "findGoodsAttributeTBygoodsTypeId", results = { @Result(name = "json", type = "json") }) public String findGoodsAttributeTBygoodsTypeId() { if (Validate.StrNotNull(this.getGoodsTypeId())) { List<GoodsAttributeT> list = this.getGoodsAttributeTService().findGoodsAttributeTBygoodsTypeId(this.getGoodsTypeId()); if (list != null) { gatbeanlist = list; this.setSucflag(true); return "json"; } else { this.setSucflag(true); return "json"; } } this.setSucflag(true); return "json"; } /** * 更新是否支持检索 * @return */ @Action(value = "updateGoodsAttributeissearchBygoodsattributeid", results = { @Result(name = "json", type = "json") }) public String updateGoodsAttributeissearchBygoodsattributeid(){ if(Validate.StrNotNull(this.getGoodsattributeid())){ String []strs=StringUtils.split(this.getGoodsattributeid(), ","); if(this.getGoodsAttributeTService().updateGoodsAttributeissearchBygoodsattributeid(strs, this.getIssearch())>0){ this.setSucflag(true); return "json"; } this.setSucflag(false); return "json"; } this.setSucflag(false); return "json"; } /** * 更新是否支持关联检索 * @return */ @Action(value = "updateGoodsAttributeissametolinkBygoodsattributeid", results = { @Result(name = "json", type = "json") }) public String updateGoodsAttributeissametolinkBygoodsattributeid(){ if(Validate.StrNotNull(this.getGoodsattributeid())){ String []strs=StringUtils.split(this.getGoodsattributeid(),","); if(this.getGoodsAttributeTService().updateGoodsAttributeissametolinkBygoodsattributeid(strs, this.getIssametolink())>0){ this.setSucflag(true); return "json"; } this.setSucflag(false); return "json"; } this.setSucflag(false); return "json"; } }