您的位置:首页 > 运维架构 > 网站架构

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

2009-08-31 23:06 609 查看
/**
* 产品查询
*/
@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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐