ssm商城订单的生成和分页显示(SSM搭建二手市场交易平台)
ssm商城订单的生成和分页显示(SSM搭建二手市场交易平台)ServerResponse<ProductDetailVo> getProductDetail(Integer productId); //前台获取商品的详情信息 这样我们关于前台商品详情获取的功能开发就完成了,接下来就是前台列表的分页,搜索,动态排序功能了。public enum ProductStatusEnum{ ON_SALE(1 "在线") ; private String value; private int code; ProductStatusEnum(int code String value){ this.code =code; this.value=value; } public String getValue() { return value; } public int getCode() { return code; }
写在前面
在前面的某一篇里面,我们完成了后台商品详情,列表,搜索,动态排序功能的开发。那么本篇我们来介绍前台商品详情,列表,搜索,动态排序功能的开发,这个和那个不一样,希望大家多看几遍,好好理解一下其中的不同。
前台商品详情获取
我们打开controller包,在里面的portal包里面新建ProductController.java文件,里面写入以下代码:
/*** * 前台获取商品的详情信息 * @author lenovo * */ @RequestMapping(value = "detail.do") //这里就是具体的每个方法的url链接 @ResponseBody //自动序列化json功能 public ServerResponse<ProductDetailVo> detail(Integer productId){ //前台和后台关于商品详情信息的获取是非常相似的,除了前台需要判断商品的状态,如果下线或者删除就返回一个错误或者是不进行返回 return iProductService.getProductDetail(productId); }
接着打开ProductServiceImpl.java文件,在里面新增以下代码:
@Autowired private CategoryMapper categoryMapper; /*** *前台获取商品的详情信息 * */ public ServerResponse<ProductDetailVo> getProductDetail(Integer productId){ //判断商品是否存在 if (productId == null) { //商品id不存在 return ServerResponse.createByErrorCodeMessage(ResponseCode.ILLEGAL_ARGUMENT.getCode() ResponseCode.ILLEGAL_ARGUMENT.getDesc()); } Product product = productMapper.selectByPrimaryKey(productId); if (product == null) { return ServerResponse.createByErrorMessage("该商品已下架或者删除!"); } if(product.getStatus() != Const.ProductStatusEnum.ON_SALE.getCode()){ return ServerResponse.createByErrorMessage("该商品已下架或者删除!"); } //商品存在 我们现在是进行信息的传递 ProductDetailVo productDetailVo =assembleProductDetailVo(product); return ServerResponse.createBySuccess(productDetailVo); }
这段代码基本上和我们之前后台获取商品详情的逻辑一样,但是多了一部就是需要判断商品的状态,对于那些不存在或者已经下架的商品我们就不需要显示了,直接返回提示信息。
看到if(Product.getStatus() != Const.ProductStatusEnum.ON_SALE.getCode()){ return ServerResponse.createByErrorMessage("该商品已下架或者删除!"); }这行代码,说明我们需要新建一个枚举类,打开之前的Comm包下面的Const这个java文件,在里面新增以下代码:
public enum ProductStatusEnum{ ON_SALE(1 "在线") ; private String value; private int code; ProductStatusEnum(int code String value){ this.code =code; this.value=value; } public String getValue() { return value; } public int getCode() { return code; } }
最后打开IProductService这个接口,我们把刚才的实现类的接口代码添加进去:
ServerResponse<ProductDetailVo> getProductDetail(Integer productId); //前台获取商品的详情信息
这样我们关于前台商品详情获取的功能开发就完成了,接下来就是前台列表的分页,搜索,动态排序功能了。
这样我们本篇关于前台商品详情,列表,搜索,动态排序功能开发的介绍就到此为止了,感谢你的赏阅!