博客
关于我
谷粒商城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/

    你可能感兴趣的文章
    Luogu2973:[USACO10HOL]赶小猪
    查看>>
    mabatis 中出现&lt; 以及&gt; 代表什么意思?
    查看>>
    Mac book pro打开docker出现The data couldn’t be read because it is missing
    查看>>
    MAC M1大数据0-1成神篇-25 hadoop高可用搭建
    查看>>
    mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
    查看>>
    Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
    查看>>
    MangoDB4.0版本的安装与配置
    查看>>
    Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
    查看>>
    mapping文件目录生成修改
    查看>>
    MapReduce程序依赖的jar包
    查看>>
    mariadb multi-source replication(mariadb多主复制)
    查看>>
    MariaDB的简单使用
    查看>>
    MaterialForm对tab页进行隐藏
    查看>>
    Member var and Static var.
    查看>>
    memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
    查看>>
    memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
    查看>>
    Memcached:Node.js 高性能缓存解决方案
    查看>>
    memcache、redis原理对比
    查看>>
    memset初始化高维数组为-1/0
    查看>>
    Metasploit CGI网关接口渗透测试实战
    查看>>