博客
关于我
谷粒商城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索引类型
    查看>>
    MySQL索引背后的数据结构及算法原理
    查看>>
    mysql索引能重复吗_mysql “索引”能重复吗?“唯一索引”与“索引”区别是什么?...
    查看>>
    MySQL索引详解(IT枫斗者)
    查看>>
    MySQL索引那些事:什么是索引?为什么加索引就查得快了?
    查看>>
    Mysql索引(1):索引概述
    查看>>
    Mysql索引(2):索引结构
    查看>>
    Mysql索引(3):索引分类
    查看>>
    Mysql索引(4):索引语法
    查看>>
    mysql级联删除_Mysql笔记系列,DQL基础复习,Mysql的约束与范式
    查看>>
    mysql练习语句
    查看>>
    mysql经常使用命令
    查看>>
    MySQL经常使用技巧
    查看>>
    mysql给root开启远程访问权限,修改root密码
    查看>>
    mysql给账号授权相关功能 | 表、视图等
    查看>>
    MySQL缓存使用率超过80%的解决方法
    查看>>
    Mysql缓存调优的基本知识(附Demo)
    查看>>
    mysql编写存储过程
    查看>>
    mysql网站打开慢问题排查&数据库优化
    查看>>
    mysql网络部分代码
    查看>>