博客
关于我
谷粒商城day55-商品服务-API-平台属性-规格参数列表
阅读量:761 次
发布时间:2019-03-23

本文共 2127 字,大约阅读时间需要 7 分钟。

需求分析与查询功能实现

打开规格参数界面时,与进入界面后点击某分类时,均会发出两个まったく相同的HTTP请汤汚,但两次请汤汚的参数略有不同。这两个请求基于不同的条件执行,刚进入界面时的点击则基于分类的ID值完成查询。

截图1

截图2

查询功能实现

为完成查询功能,我们设计并实现了 AttrResponseVo 类,该类继承自 AttrEntity 类,主要补充了 catelogName 和 groupName 两个属性。这些属性与原始的 PO 类相比,额外提供了分类名称和组别名称等信息。

在 service 层实现中,我们根据不同的 catelogId 值构造条件查询。具体来说:

  • 如果 catelogId 不为0,则添加 catelog_id 进行等值查询
  • 如果提供了 searchKey 关键词,则在 attr_id 和 attr_name 字段上执行精确查询或模糊查询
  • 通过以上逻辑,我们获取到对应的记录列表,并将结果转换为 AttrResponseVo 类格式返回。与此同时,为了确保分类信息的完整性,我们 调用了后台服务 拿到对应的分类名称信息和组别名称信息,将其动态注入 AttrResponseVo 对象中。

    代码实现如下:

    @Overridepublic PageUtils baseAttrList(Map
    params, Long catelogId) { QueryWrapper
    queryWrapper = new QueryWrapper<>(); if (catelogId != 0) { queryWrapper.eq("catelog_id", catelogId); } String searchKey = (String) params.get("searchKey"); if (StringUtils.isNotEmpty(searchKey)) { queryWrapper.and(obj -> { obj.eq("attr_id", searchKey).or().like("attr_name", searchKey); }); } IPage
    page = this.page( new Query
    () .getPage(params), queryWrapper ); PageUtils pageUtils = new PageUtils(page); List
    attrResponseVos = page.getRecords().stream() .map(attrEntity -> { AttrResponseVo attrResponseVo = new AttrResponseVo(); BeanUtils.copyProperties(attrEntity, attrResponseVo); CategoryEntity categoryEntity = categoryService.getById( attrEntity.getCatelogId() ); if (categoryEntity != null) { attrResponseVo.setCatelogName(categoryEntity.getName()); } AttrAttrgroupRelationEntity attrAttrgroupRelationEntity = attrAttrgroupRelationService.getOne( new QueryWrapper
    () .eq("attr_id", attrEntity.getAttrId()) ); if (attrAttrgroupRelationEntity != null) { AttrGroupEntity attrGroupEntity = attrGroupService.getById( attrAttrgroupRelationEntity.getAttrGroupId() ); attrResponseVo.setGroupName(attrGroupEntity.getAttrGroupName()); } return attrResponseVo; }) .collect(Collectors.toList()); pageUtils.setList(attrResponseVos); return pageUtils;}

    截图3

    截图4

    转载地址:http://pfezk.baihongyu.com/

    你可能感兴趣的文章
    mysql_secure_installation初始化数据库报Access denied
    查看>>
    MySQL_西安11月销售昨日未上架的产品_20161212
    查看>>
    Mysql——深入浅出InnoDB底层原理
    查看>>
    MySQL“被动”性能优化汇总
    查看>>
    MySQL、HBase 和 Elasticsearch:特点与区别详解
    查看>>
    MySQL、Redis高频面试题汇总
    查看>>
    MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
    查看>>
    mysql一个字段为空时使用另一个字段排序
    查看>>
    MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
    查看>>
    MYSQL一直显示正在启动
    查看>>
    MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
    查看>>
    MySQL万字总结!超详细!
    查看>>
    Mysql下载以及安装(新手入门,超详细)
    查看>>
    MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
    查看>>
    MySQL不同字符集及排序规则详解:业务场景下的最佳选
    查看>>
    Mysql不同官方版本对比
    查看>>
    MySQL与Informix数据库中的同义表创建:深入解析与比较
    查看>>
    mysql与mem_细说 MySQL 之 MEM_ROOT
    查看>>
    MySQL与Oracle的数据迁移注意事项,另附转换工具链接
    查看>>
    mysql丢失更新问题
    查看>>