写通用工具类场景1

utils\ResultVOUtil.java

复制代码
public class ResultVOUtil {

    public static ResultVO success(Object object) {
        ResultVO resultVO = new ResultVO();
        resultVO.setData(object);
        resultVO.setCode(0);
        resultVO.setMsg("成功");
        return resultVO;
    }

    public static ResultVO success() {
        return success(null);
    }

    public static ResultVO error(Integer code, String msg) {
        ResultVO resultVO = new ResultVO();
        resultVO.setCode(code);
        resultVO.setMsg(msg);
        return resultVO;
    }
}
复制代码

 

应用:   controller\BuyerProductController.java

复制代码
/**
 * 买点端商品
 */
@RestController
@RequestMapping("/buyer/product")
public class BuyerProductController {

    @Autowired
    ProductService productService;

    @Autowired
    CategoryService categoryService;

    @GetMapping("/list")
    @Cacheable(cacheNames = "product" , key = "#sellerId" , condition = "#sellerId.length() > 3")
    public ResultVO<List<ProductVO>> list(@RequestParam("sellerId") String sellerId) {
        //获取所有上架商品
        List<ProductInfo> productInfoList = productService.findUpAll();
        //获取所有的类目
        List<Integer> categoryTypes = productInfoList.stream()
                .map(e -> e.getCategoryType())
                .collect(Collectors.toList());

        List<ProductCategory> productCategoryList = categoryService.findByCategoryTypeIn(categoryTypes);

        //拼接VO
        List<ProductVO> productVOList = new ArrayList<>();
        for(ProductCategory productCategory : productCategoryList) {
            ProductVO productVO = new ProductVO();
            productVO.setCategoryName(productCategory.getCategoryName());
            productVO.setCategoryType(productCategory.getCategoryType());

            List<ProductInfoVO> productInfoVOList = new ArrayList<>();
            for(ProductInfo productInfo : productInfoList) {
                if(productCategory.getCategoryType().equals(productInfo.getCategoryType())) {
                    ProductInfoVO productInfoVO = new ProductInfoVO();
                    BeanUtils.copyProperties(productInfo , productInfoVO);
                    productInfoVOList.add(productInfoVO);
                }
            }

            productVO.setProductInfos(productInfoVOList);
            productVOList.add(productVO);
        }

        return ResultUtils.success(productVOList);
    }

}
复制代码

 

posted @   miaomiaotab  阅读(271)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示