购物网站17-2:产品action---产品查询----产品样式列表----产品样式管理-----产品控制---产品类型列表----产品类型管理----浏览商品

/**
 * 产品查询
 */
@Controller("/product/query")
public class ProductQueryAction extends Action {
 @Resource ProductSearch productSearch;

 @Override
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  ProductQueryForm formbean = (ProductQueryForm) form;
  PageView<ProductInfo> pageView = new PageView<ProductInfo>(12, formbean.getPage());
  pageView.setQueryResult(
    productSearch.query(formbean.getWord(), pageView.getFirstResult(), pageView.getMaxresult())
  );
  request.setAttribute("pageView", pageView);
  return mapping.findForward("list");
 }

}

 

---------------------------------------------------------------

 

@Controller("/control/product/style/list")
public class ProductStyleAction extends Action {
 @Resource(name="productStyleServiceBean")
 private ProductStyleService productStyleService;

 @Override @Permission(module="product",privilege="view")
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  ProductForm formbean = (ProductForm) form;
  LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>();
  orderby.put("visible", "desc");
  orderby.put("id", "asc");
  request.setAttribute("styles", productStyleService.getScrollData(-1, -1,
    "o.product.id=?1", new Object[]{formbean.getProductid()},orderby).getResultlist());
  return mapping.findForward("list");
 }
 
 
}

 

------------------------------------------------------------------

 

@Controller("/control/product/style/manage")
public class ProductStyleManageAction extends DispatchAction {
 @Resource(name="productInfoServiceBean")
 private ProductInfoService productInfoService;
 
 @Resource(name="productStyleServiceBean")
 private ProductStyleService productStyleService;
 
 /**
  * 设置产品上架
  */
 @Permission(module="product",privilege="visible")
 public ActionForward visible(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  ProductForm formbean = (ProductForm) form;
  productStyleService.setVisibleStatu(formbean.getStylesids(), true);
  request.setAttribute("message", "设置成功了");
  request.setAttribute("urladdress", SiteUrl.readUrl("control.product.style.list")+"?productid="+ formbean.getProductid());
  return mapping.findForward("message");
 }
 
 /**
  * 设置产品下架
  */
 @Permission(module="product",privilege="visible")
 public ActionForward disable(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  ProductForm formbean = (ProductForm) form;
  productStyleService.setVisibleStatu(formbean.getStylesids(), false);
  request.setAttribute("message", "设置成功了");
  request.setAttribute("urladdress", SiteUrl.readUrl("control.product.style.list")+"?productid="+ formbean.getProductid());
  return mapping.findForward("message");
 }
 /**
  * 产品图片修改界面
  */
 @Permission(module="product",privilege="update")
 public ActionForward editUI(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  ProductForm formbean = (ProductForm)form;
  ProductStyle productstyle = productStyleService.find(formbean.getProductstyleid());
  formbean.setStylename(productstyle.getName());
  request.setAttribute("imagepath", productstyle.getImageFullPath());
  return mapping.findForward("edit");
 }

 /**
  * 产品图片修改
  */
 @Permission(module="product",privilege="update")
 public ActionForward edit(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  ProductForm formbean = (ProductForm)form;
  ProductStyle productstyle = productStyleService.find(formbean.getProductstyleid());
  productstyle.setName(formbean.getStylename());
  if(formbean.getImagefile()!=null && formbean.getImagefile().getFileSize()>0){
   if(!ProductForm.validateImageFileType(formbean.getImagefile())){
    request.setAttribute("message", "文件格式不正确,只允许上传gif/jpg/png/bmp图片");
    return mapping.findForward("message");
   }
   if(formbean.getImagefile().getFileSize()>204800){
    request.setAttribute("message", "图片不能大于200K");
    return mapping.findForward("message");
   }
   String ext = UploadfileForm.getExt(formbean.getImagefile());
   String filename = UUID.randomUUID().toString()+ "."+ext;//构建文件名称 
   ProductForm.saveProductImageFile(request, formbean.getImagefile(),productstyle.getProduct().getType().getTypeid(),
     productstyle.getProduct().getId(), filename);
   productstyle.setImagename(filename);
  }
  productStyleService.update(productstyle);
  request.setAttribute("message", "修改成功了");
  request.setAttribute("urladdress", SiteUrl.readUrl("control.product.style.list")+"?productid="+ productstyle.getProduct().getId());
  return mapping.findForward("message");
 }
 /**
  * 产品图片添加界面
  */
 @Permission(module="product",privilege="insert")
 public ActionForward addUI(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  return mapping.findForward("add");
 }
 
 /**
  * 产品图片添加
  */
 @Permission(module="product",privilege="insert")
 public ActionForward add(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  ProductForm formbean = (ProductForm)form;
  if(!ProductForm.validateImageFileType(formbean.getImagefile())){
   request.setAttribute("message", "文件格式不正确,只允许上传gif/jpg/png/bmp图片");
   return mapping.findForward("message");
  }
  if(formbean.getImagefile().getFileSize()>204800){
   request.setAttribute("message", "图片不能大于200K");
   return mapping.findForward("message");
  }
  ProductInfo product = productInfoService.find(formbean.getProductid());
  String ext = UploadfileForm.getExt(formbean.getImagefile());
  String filename = UUID.randomUUID().toString()+ "."+ext;//构建文件名称 
  ProductForm.saveProductImageFile(request, formbean.getImagefile(),product.getType().getTypeid(),
    product.getId(),filename);
  ProductStyle productStyle = new ProductStyle(formbean.getStylename(), filename);
  productStyle.setProduct(product);
  productStyleService.save(productStyle);
  
  request.setAttribute("message", "添加成功了");
  request.setAttribute("urladdress", SiteUrl.readUrl("control.product.style.list")+"?productid="+ product.getId());
  return mapping.findForward("message");
 }
}

 

-----------------------------------------------------------------------

 

@Controller("/product/switch")
public class ProductSwitchAction extends DispatchAction {
 @Resource(name="productInfoServiceBean")
 private ProductInfoService productInfoService;
 
 /**
  * 显示产品大图片
  */
 public ActionForward showimage(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  return mapping.findForward("showimage");
 }
 
 /**
  * 获取10个最畅销的产品
  */
 public ActionForward topsell(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  FrontProductForm formbean = (FrontProductForm) form;
  request.setAttribute("topsellproducts", productInfoService.getTopSell(formbean.getTypeid(), 10));
  return mapping.findForward("topsell");
 }
 
 /**
  * 获取10个用户浏览过的产品
  */
 public ActionForward getViewHistory(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  String cookieValue = WebUtil.getCookieByName(request, "productViewHistory");
  if(cookieValue!=null && !"".equals(cookieValue.trim())){   
   String[] ids = cookieValue.split("-");
   Integer[] productids = new Integer[ids.length];
   for(int i=0 ;i<ids.length; i++){
    productids[i]=new Integer(ids[i].trim());
   }
   request.setAttribute("viewHistory", productInfoService.getViewHistory(productids, 10));
  }
  return mapping.findForward("viewHistory");
 }
}

 

 

-----------------------------------------------------------------

 

@Controller("/control/product/type/list")
public class ProductTypeAction extends Action {
 @Resource(name="productTypeServiceBean")
 private ProductTypeService productTypeService;

 @Override  @Permission(module="productType",privilege="view")
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  ProductTypeForm formbean = (ProductTypeForm) form;
  StringBuffer jpql = new StringBuffer("o.visible=?1");
  List<Object> params = new ArrayList<Object>();
  params.add(true);
  if("true".equals(formbean.getQuery())){//进行查询操作
   if(formbean.getName()!=null && !"".equals(formbean.getName().trim())){
    jpql.append(" and o.name like ?"+ (params.size()+1));
    params.add("%"+ formbean.getName()+ "%");
   }
  }else{
   if(formbean.getParentid()!=null && formbean.getParentid()>0){
    jpql.append(" and o.parent.typeid=?"+(params.size()+1));
    params.add(formbean.getParentid());
   }else{
    jpql.append(" and o.parent is null");
   }
  }
  PageView<ProductType> pageView = new PageView<ProductType>(12, formbean.getPage());
  LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>();
  orderby.put("typeid", "desc");
  QueryResult<ProductType> qr = productTypeService.getScrollData(pageView.getFirstResult(), pageView.getMaxresult(), jpql.toString(), params.toArray(), orderby);
  pageView.setQueryResult(qr);
  request.setAttribute("pageView", pageView);  
  return mapping.findForward("list");
 }

}

 

 

---------------------------------------------------------------------------

 

@Controller("/control/product/type/manage")
public class ProductTypeManageAction extends DispatchAction {
 @Resource(name="productTypeServiceBean")
 private ProductTypeService productTypeService;
 
 /**
  * 查询界面
  */
 @Permission(module="productType",privilege="view")
 public ActionForward queryUI(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  return mapping.findForward("query");
 }
 
 /**
  * 类别添加界面
  */
 @Permission(module="productType",privilege="insert")
 public ActionForward addUI(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  return mapping.findForward("add");
 }
 
 /**
  * 类别添加
  */
 @Permission(module="productType",privilege="insert")
 public ActionForward add(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  ProductTypeForm formbean = (ProductTypeForm) form;
  ProductType type = new ProductType(formbean.getName(),formbean.getNote());
  if(formbean.getParentid()!=null && formbean.getParentid()>0) type.setParent(new ProductType(formbean.getParentid()));
  productTypeService.save(type);
  request.setAttribute("message", "添加类别成功");
  request.setAttribute("urladdress", SiteUrl.readUrl("control.product.type.list"));
  return mapping.findForward("message");
 }
 
 /**
  * 类别修改界面
  */
 @Permission(module="productType",privilege="update")
 public ActionForward editUI(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  ProductTypeForm formbean = (ProductTypeForm) form;
  ProductType type = productTypeService.find(formbean.getTypeid());
  formbean.setName(type.getName());
  formbean.setNote(type.getNote());
  return mapping.findForward("edit");
 }
 
 /**
  * 类别修改
  */
 @Permission(module="productType",privilege="update")
 public ActionForward edit(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  ProductTypeForm formbean = (ProductTypeForm) form;
  ProductType type = productTypeService.find(formbean.getTypeid());
  type.setName(formbean.getName());
  type.setNote(formbean.getNote());
  productTypeService.update(type);
  request.setAttribute("message", "修改类别成功");
  request.setAttribute("urladdress", SiteUrl.readUrl("control.product.type.list"));
  return mapping.findForward("message");
 }
}

 

 

-------------------------------------------------------------------------------

 

/**
 * 浏览商品
 * @author itcast@sohu.com
 *
 */
@Controller("/product/view")
public class ViewProductAction extends Action {
 @Resource(name="productInfoServiceBean")
 private ProductInfoService productInfoService;

 @Override
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  FrontProductForm formbean = (FrontProductForm) form;
  ProductInfo product = productInfoService.find(formbean.getProductid());
  if(product==null){
   request.setAttribute("message", "获取不到你需要浏览的产品");
   request.setAttribute("urladdress", "/");
   return mapping.findForward("message");
  }
  WebUtil.addCookie(response, "productViewHistory",
    buildViewHistory(request, formbean.getProductid()), 30*24*60*60);
  List<ProductType> stypes = new ArrayList<ProductType>();
  ProductType parent = product.getType();
  while(parent!=null){
   stypes.add(parent);
   parent = parent.getParent();
  }
  request.setAttribute("product", product);
  request.setAttribute("stypes", stypes);
  return mapping.findForward("product");
 }
 
 public String buildViewHistory(HttpServletRequest request, Integer currentProductId){
  //23-2-6-5
  //1.如果当前浏览的id已经在浏览历史里了,我们要把移到最前面
  //2.如果浏览历史里已经达到了10个产品了,我们需要把最选进入的元素删除
  String cookieValue = WebUtil.getCookieByName(request, "productViewHistory");
  LinkedList<Integer> productids = new LinkedList<Integer>();
  if(cookieValue!=null && !"".equals(cookieValue.trim())){
   String[] ids = cookieValue.split("-");   
   for(String id : ids){
    productids.offer(new Integer(id.trim()));
   }
   if(productids.contains(currentProductId)) productids.remove(currentProductId);
   if(productids.size()>=10) productids.poll();
  }
  productids.offer(currentProductId);
  StringBuffer out = new StringBuffer();
  for(Integer id : productids){
   out.append(id).append('-');
  }
  out.deleteCharAt(out.length()-1);
  return out.toString();
 }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值