package com.jshop.action; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; 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.hibernate.classic.Validatable; 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.GoodsGroupT; import com.jshop.entity.GoodsT; import com.jshop.service.GoodsGroupTService; import com.jshop.service.impl.GoodsGroupTServiceImpl; import com.opensymphony.xwork2.ActionSupport; import edu.emory.mathcs.backport.java.util.Collections; @ParentPackage("jshop") @Controller("goodsGroupTAction") public class GoodsGroupTAction extends ActionSupport { public GoodsGroupTService goodsGroupTService; public Serial serial; private String pictureurl; private String groupid; private String goodsid; private String goodsname; private String state; private Date begintime; private Date endtime; private String creatorid; private Date createtime; private String cashstate; private Double cashlimit; private int limitbuy; private int salequantity; private int SOrderCount; private int totalOrderCount; private double sendpoint; private String priceladder; private String detail; private double memberprice; private double groupprice; private String htmlpath; private int total=0; private int page=1; private int rp; private String sortname;//排序字段 private String sortorder;//排序方式 private String qtype; private boolean goodsgroup =false; private GoodsGroupT groupList= new GoodsGroupT(); private List rows= new ArrayList(); @JSON(serialize=false) public GoodsGroupTService getGoodsGroupTService() { return goodsGroupTService; } public void setGoodsGroupTService(GoodsGroupTService goodsGroupTService) { this.goodsGroupTService = goodsGroupTService; } @JSON(serialize=false) public Serial getSerial() { return serial; } public void setSerial(Serial serial) { this.serial = serial; } public String getGroupid() { return groupid; } public void setGroupid(String groupid) { this.groupid = groupid; } public String getGoodsid() { return goodsid; } public void setGoodsid(String goodsid) { this.goodsid = goodsid; } public String getGoodsname() { return goodsname; } public void setGoodsname(String goodsname) { this.goodsname = goodsname; } public String getState() { return state; } public void setState(String state) { this.state = state; } public Date getBegintime() { return begintime; } public void setBegintime(Date begintime) { this.begintime = begintime; } public Date getEndtime() { return endtime; } public void setEndtime(Date endtime) { this.endtime = endtime; } public String getCreatorid() { return creatorid; } public void setCreatorid(String creatorid) { this.creatorid = creatorid; } public Date getCreatetime() { return createtime; } public void setCreatetime(Date createtime) { this.createtime = createtime; } public String getCashstate() { return cashstate; } public void setCashstate(String cashstate) { this.cashstate = cashstate; } public Double getCashlimit() { return cashlimit; } public void setCashlimit(Double cashlimit) { this.cashlimit = cashlimit; } public int getLimitbuy() { return limitbuy; } public void setLimitbuy(int limitbuy) { this.limitbuy = limitbuy; } public int getSalequantity() { return salequantity; } public void setSalequantity(int salequantity) { this.salequantity = salequantity; } public int getSOrderCount() { return SOrderCount; } public void setSOrderCount(int sOrderCount) { SOrderCount = sOrderCount; } public int getTotalOrderCount() { return totalOrderCount; } public void setTotalOrderCount(int totalOrderCount) { this.totalOrderCount = totalOrderCount; } public double getSendpoint() { return sendpoint; } public void setSendpoint(double sendpoint) { this.sendpoint = sendpoint; } public String getPriceladder() { return priceladder; } public void setPriceladder(String priceladder) { this.priceladder = priceladder; } public String getDetail() { return detail; } public void setDetail(String detail) { this.detail = detail; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } public List getRows() { return rows; } public void setRows(List rows) { this.rows = rows; } public int getPage() { return page; } public void setPage(int page) { this.page = page; } public int getRp() { return rp; } public void setRp(int rp) { this.rp = rp; } 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 getQtype() { return qtype; } public void setQtype(String qtype) { this.qtype = qtype; } public boolean isGoodsgroup() { return goodsgroup; } public void setGoodsgroup(boolean goodsgroup) { this.goodsgroup = goodsgroup; } public GoodsGroupT getGroupList() { return groupList; } public void setGroupList(GoodsGroupT groupList) { this.groupList = groupList; } public String getPictureurl() { return pictureurl; } public void setPictureurl(String pictureurl) { this.pictureurl = pictureurl; } public String getHtmlpath() { return htmlpath; } public void setHtmlpath(String htmlpath) { this.htmlpath = htmlpath; } public double getMemberprice() { return memberprice; } public void setMemberprice(double memberprice) { this.memberprice = memberprice; } public double getGroupprice() { return groupprice; } public void setGroupprice(double groupprice) { this.groupprice = groupprice; } @Override public void validate() { this.clearErrorsAndMessages(); } /** * 添加团购商品 * @return */ @Action(value="addGoodsGroupT",results={@Result(name="json",type="json")}) public String addGoodsGroupT(){ GoodsGroupT ggt = new GoodsGroupT(); ggt.setGroupid(this.getSerial().Serialid(Serial.GOODSGROUPT)); ggt.setGoodsid(this.getGoodsid().trim()); ggt.setCreatetime(BaseTools.systemtime()); ggt.setGoodsname(this.getGoodsname().trim()); ggt.setCreatorid(BaseTools.adminCreateId()); ggt.setState(this.getState().trim()); ggt.setCashstate(this.getCashstate().trim()); ggt.setCashlimit(this.getCashlimit()); ggt.setLimitbuy(this.getLimitbuy()); ggt.setSalequantity(this.getSalequantity()); // ggt.setSOrderCount(this.getSOrderCount()); //ggt.setTotalOrderCount(this.getTotalOrderCount()); ggt.setBegintime(this.getBegintime()); ggt.setEndtime(this.getEndtime()); ggt.setSendpoint(this.getSendpoint()); ggt.setPriceladder("0"); ggt.setGroupprice(this.getGroupprice()); ggt.setMemberprice(this.getMemberprice()); ggt.setDetail(this.getDetail().trim()); ggt.setPictureurl(this.getPictureurl()); ggt.setHtmlpath(" "); if(this.getGoodsGroupTService().addGoodsGroupT(ggt)>0){ this.setGoodsgroup(true); return "json"; } return "json"; } /** * 处理迭代商品信息 * @param ggtList */ @SuppressWarnings("unchecked") public void ProcessGoodsGroupTList(List<GoodsGroupT> ggtList){ total = this.getGoodsGroupTService().countAllGoodsGroupT(); rows.clear(); for(Iterator it = ggtList.iterator();it.hasNext();){ GoodsGroupT ggt =(GoodsGroupT) it.next(); Map<String, Object> cellMap = new HashMap<String, Object>(); cellMap.put("id", ggt.getGroupid()); cellMap.put("cell", new Object[]{ ggt.getGoodsid(), ggt.getGoodsname(), ggt.getGroupprice(), ggt.getSendpoint(), ggt.getCashlimit(), ggt.getBegintime(), ggt.getEndtime(), ggt.getCashstate(), ggt.getState(), ggt.getLimitbuy(), ggt.getSalequantity(), ggt.getSOrderCount(), ggt.getTotalOrderCount(), ggt.getCreatorid() }); rows.add(cellMap); } } /** * 获取默认所有的团购商品信息 */ public void defaultfindAllGoodsGroupT(){ int currentPage= page; int lineSize = rp; if(Validate.StrNotNull(sortname)&&Validate.StrNotNull(sortorder)){ String queryString = "from GoodsGroupT order by "+sortname+" "+ sortorder +""; List<GoodsGroupT> list = this.getGoodsGroupTService().sortAllGoodsGroup(currentPage, lineSize, queryString); if(!list.isEmpty()){ ProcessGoodsGroupTList(list); } } } /** * 获取所有团购商品的信息 * @return */ @Action(value="findAllGoodsGroupT",results={@Result(name="json",type="json")}) public String findAllGoodsGroupT(){ if(this.getQtype().equals("sc")){ defaultfindAllGoodsGroupT(); }else{ if(Validate.StrisNull(this.getQtype())){ return "json"; }else{ return "json"; } } return "json"; } /** * 根据groupid 获取团购商品信息 * @return */ @Action(value="findGoodsGroupById",results={@Result(name="json",type="json")}) public String findGoodsGroupById(){ if(Validate.StrNotNull(this.getGroupid())){ groupList= this.getGoodsGroupTService().findGoodsGroupById(this.getGroupid().trim()); if(groupList!=null){ return "json"; } } return "json"; } /** * 修改团购商品的信息 * @return */ @Action(value="updateGoodsGroup",results={@Result(name="json",type="json")}) public String updateGoodsGroup(){ GoodsGroupT ggt = new GoodsGroupT(); ggt.setGroupid(this.getGroupid().trim()); ggt.setBegintime(this.getBegintime()); ggt.setEndtime(this.getEndtime()); ggt.setDetail(this.getDetail().trim()); ggt.setCashlimit(this.getCashlimit()); ggt.setCashstate(this.getCashstate().trim()); ggt.setLimitbuy(this.getLimitbuy()); // ggt.setGoodsid(this.getGoodsid().trim()); ggt.setCreatetime(BaseTools.systemtime()); ggt.setGoodsname(this.getGoodsname().trim()); ggt.setState(this.getState().trim()); ggt.setSalequantity(this.getSalequantity()); // ggt.setSOrderCount(0); // ggt.setTotalOrderCount(0); ggt.setSendpoint(this.getSendpoint()); ggt.setGroupprice(this.getGroupprice()); ggt.setMemberprice(this.getMemberprice()); ggt.setPictureurl(this.getPictureurl()); if(this.getGoodsGroupTService().updateGoodsGroupT(ggt)>0){ this.setGoodsgroup(true); return "json"; } return "json"; } /** * 根据groupid批量删除团购商品 * @return */ @Action(value="delGoodsGroup",results={@Result(name="json",type="json")}) public String delGoodsGroup(){ if(Validate.StrNotNull(this.getGroupid())){ String [] s = this.getGroupid().trim().split(","); this.getGoodsGroupTService().delGoodsGroupT(s); this.setGoodsgroup(true); return "json"; } return "json"; } /** * 修改团购状态 * @return */ @Action(value="updateState",results={@Result(name="json",type="json")}) public String updateState(){ GoodsGroupT ggt = new GoodsGroupT(); ggt.setGroupid(this.getGroupid().trim()); ggt.setState("2"); this.getGoodsGroupTService().updateState(ggt); return "json"; } /** * 根据团购商品状态是“1”的 获取商品信息 * @return */ @Action(value="findGoodsGroupByState",results={@Result(name="json", type="json")}) public String findGoodsGroupByState(){ List<GoodsGroupT> list =this.getGoodsGroupTService().findGoodsGroupByState("1"); if(!list.isEmpty()){ return "json"; } return "json"; } }