package com.jshoperx.action.frontstage.goods;
import com.jshoperx.entity.GoodsCommentT;
import com.jshoperx.entity.GoodsT;
import com.jshoperx.service.GoodsCommentTService;
import com.jshoperx.service.GoodsTService;
import com.jshoperx.service.impl.Serial;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.convention.annotation.*;
import org.apache.struts2.json.annotations.JSON;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@ParentPackage("jshoperx")
@Namespace("")
@InterceptorRefs({
@InterceptorRef("defaultStack")
})
public class GoodsdetailAction extends ActionSupport {
private GoodsTService goodsTService;
private GoodsCommentTService goodsCommentTService;
private Serial serial;
private String hidurl;
private String goodsid;
private String goodsname;
private String commentcontent;
private String score;
private String replyorcomment;
private String replyorcommentuserid;
private String pictureurl;
private String price;
private String memberprice;
private String htmlPath;
private List<GoodsCommentT>beanlist=new ArrayList<GoodsCommentT>();
private boolean sucflag;
private List<GoodsT>cookielist=new ArrayList<GoodsT>();
private String cp;
@JSON(serialize = false)
public GoodsTService getGoodsTService() {
return goodsTService;
}
public void setGoodsTService(GoodsTService goodsTService) {
this.goodsTService = goodsTService;
}
@JSON(serialize = false)
public GoodsCommentTService getGoodsCommentTService() {
return goodsCommentTService;
}
public void setGoodsCommentTService(GoodsCommentTService goodsCommentTService) {
this.goodsCommentTService = goodsCommentTService;
}
@JSON(serialize = false)
public Serial getSerial() {
return serial;
}
public void setSerial(Serial serial) {
this.serial = serial;
}
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 getHidurl() {
return hidurl;
}
public void setHidurl(String hidurl) {
this.hidurl = hidurl;
}
public String getCommentcontent() {
return commentcontent;
}
public void setCommentcontent(String commentcontent) {
this.commentcontent = commentcontent;
}
public String getScore() {
return score;
}
public void setScore(String score) {
this.score = score;
}
public String getReplyorcomment() {
return replyorcomment;
}
public void setReplyorcomment(String replyorcomment) {
this.replyorcomment = replyorcomment;
}
public String getReplyorcommentuserid() {
return replyorcommentuserid;
}
public void setReplyorcommentuserid(String replyorcommentuserid) {
this.replyorcommentuserid = replyorcommentuserid;
}
public List<GoodsCommentT> getBeanlist() {
return beanlist;
}
public void setBeanlist(List<GoodsCommentT> beanlist) {
this.beanlist = beanlist;
}
public boolean isSucflag() {
return sucflag;
}
public void setSucflag(boolean sucflag) {
this.sucflag = sucflag;
}
public String getCp() {
return cp;
}
public void setCp(String cp) {
this.cp = cp;
}
public String getPictureurl() {
return pictureurl;
}
public void setPictureurl(String pictureurl) {
this.pictureurl = pictureurl;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getMemberprice() {
return memberprice;
}
public void setMemberprice(String memberprice) {
this.memberprice = memberprice;
}
public String getHtmlPath() {
return htmlPath;
}
public void setHtmlPath(String htmlPath) {
this.htmlPath = htmlPath;
}
public List<GoodsT> getCookielist() {
return cookielist;
}
public void setCookielist(List<GoodsT> cookielist) {
this.cookielist = cookielist;
}
/**
* 清理错误
*/
@Override
public void validate() {
this.clearErrorsAndMessages();
}
/**
* 更新商品点击数
* @param goodsid
*/
public void UpdateGoodsReadCount(String goodsid){
//int i=this.getGoodsTService().updateGoodsreadcount(goodsid);
}
/**
* 获取商品cookie
* @throws UnsupportedEncodingException
*/
@Action(value = "getGoodsCookie", results = {
@Result(name = "json",type="json")
})
public String getGoodsCookie() throws UnsupportedEncodingException{
String picturestrs[]=this.getPictureurl().split(",");
String goodscookiestr=this.getGoodsid()+","+URLEncoder.encode(this.getGoodsname(),"UTF-8")+","+picturestrs[0]+","+this.getPrice()+","+this.getMemberprice()+","+this.getHtmlPath();
Cookie cook=new Cookie("cookgoods",goodscookiestr);
cook.setMaxAge(60*60*24*365);
ServletActionContext.getResponse().addCookie(cook);
HttpServletRequest request = ServletActionContext.getRequest();
Cookie[] cookies = request.getCookies();
GoodsT gt=new GoodsT();
boolean flag=false;
for(Cookie cookie : cookies)
{
if(cookie.getName().equals("cookgoods"))
{
String []goodsstr=cookie.getValue().split(",");
gt.setGoodsid(goodsstr[0]);
gt.setGoodsname(URLDecoder.decode(goodsstr[1],"UTF-8"));
gt.setPictureurl(goodsstr[2]);
gt.setPrice(Double.parseDouble(goodsstr[3]));
gt.setMemberprice(Double.parseDouble(goodsstr[4]));
gt.setHtmlPath(goodsstr[5]);
if(cookielist!=null||cookielist.size()<=7){
for(Iterator it=cookielist.iterator();it.hasNext();){
GoodsT g=(GoodsT)it.next();
if(g.getGoodsid().equals(goodsstr[0])){
flag=true;
}
}
if(!flag){
cookielist.add(gt);
}
}else{
cookielist.remove(0);
cookielist.add(gt);
}
}
}
return "json";
}
/**
* 获取同价位商品
* @param limit
* @param minprice
* @param maxprice
* @param goodsid
*/
// public void GetSamepriceGoods(int limit,double minprice,double maxprice,String goodsid){
// List<GoodsT>list=this.getGoodsTService().findSamepriceGoods(limit, minprice, maxprice,goodsid);
// if(list!=null){
// List<String>list1=new ArrayList<String>();
// String []temp=null;
// for(Iterator it=list.iterator();it.hasNext();){
// GoodsT gt=(GoodsT)it.next();
// temp=gt.getPictureurl().split(",");
// gt.setPictureurl(temp[0]);
// }
// Map<String,Object>map=new HashMap<String,Object>();
// map.put("sameprice", list);
// ActionContext.getContext().put("samepricegoods", map);
// }
// }
/**
* 获取商品评论
* @return
*/
// @Action(value = "GetGoodsCommentById", results = {
// @Result(name = "json",type="json")
// })
// public String GetGoodsCommentById(){
// int currentPage=1;
// int lineSize=10;
// beanlist=this.getGoodsCommentTService().findGoodsCommentByGoodsid(this.getGoodsid().trim(), currentPage, lineSize);
// if(beanlist!=null){
// this.setSucflag(true);
// return "json";
// }else{
// this.setSucflag(false);
// return "json";
// }
// }
}