谷粒商城--获取分类下所有分组&关联属性

简介: 谷粒商城--获取分类下所有分组&关联属性

开发流程如下: 开发需求,就像在线接口文档如下https://easydoc.net/s/78237135/ZUqEdvA4/OXTgKobR这里一样, 别人告诉你需要什么功能,需要返回什么样的数据,你就通过接口的形式把他们呢实现出来即可!

这一部分都是CRUD相关的代码,所以要好好练好好写!!!

开发接口就是开发Controller、service、dao

以后工作了也是这种形式,主要是开发接口为多,前端其实不用写太多,能看懂即可!!!

下面为获取分类下所有分组&关联属性的接口编写

没错,又是CRUD,这是很基础的部分,虽然逻辑不难,但这是Java工程师最基本的能力!!!所以每一步都要理解,要多写多练知道每一步都是干什么的!!!


获取分类下所有分组&关联属性


接口功能如下

也就是说当我们选择手机分类时,那就查出手机相关的分组信息,并查出每个分组相应属性信息

如下图所示:

image.png

vovo就是指对象,它用来接收前端传递过来的参数

使用vo能更自定义化,使代码更灵活和通用,降低耦合

@Data
public class AttrGroupWithAttrsVo {
    /**
     * 分组id
     */
    @TableId
    private Long attrGroupId;
    /**
     * 组名
     */
    private String attrGroupName;
    /**
     * 排序
     */
    private Integer sort;
    /**
     * 描述
     */
    private String descript;
    /**
     * 组图标
     */
    private String icon;
    /**
     * 所属分类id
     */
    private Long catelogId;
    private List<AttrEntity> attrs;
}

controller

获取分类下所有分组&关联属性

/**
 * 7.获取分类下所有分组&关联属性
 * /product/attrgroup/{catelogId}/withattr
 */
@GetMapping("/{catelogId}/withattr")
public R getAttrGroupWithAttrs(@PathVariable("catelogId") Long catelogId) {
    List<AttrGroupWithAttrsVo> vos = attrGroupService.getAttrGroupWithAttrsByCatelogId(catelogId);
    return R.ok().put("data",vos);
}

service

vo的重要性:

  1. vo(value object)当相应数据需要自定义时,用vo是最好的选择,不需要对实体类字段进行修改

image.png

1.获取分类下的所有分组,封装成集合分类和组的关系在pms_group表中,所以(where catelog_id = ?)即可查出分类对应的组由于这是mp,它会得出所有的这种关系,并把结果封装成集合

2.获得分组下的属性要第三张关联表,直接调用关联表的service即查询分组对应的属性id获得属性id在去调用属性表的service即可查询属性名以上两步前面已经写好逻辑了直接调用即可attrService.getRelationAttr(groupId)

/**
     * 获取分类下的所有分组及属性
     * @param catelogId
     * @return
     */
    @Override
    public List<AttrGroupWithAttrsVo> getAttrGroupWithAttrsByCatelogId(Long catelogId) {
        /** 1.获取分类下的所有分组,封装成集合
         *  分类和组的关系在pms_group表中,所以(where catelog_id = ?)即可查出分类对应的组
         *  由于这是mp,它会得出所有的这种关系,并把结果封装成集合
         */
        List<AttrGroupEntity> list = this.list(new QueryWrapper<AttrGroupEntity>().eq("catelog_id", catelogId));
        /** 2.获得分组下的属性
         *  要第三张关联表,直接调用关联表的service即查询分组对应的属性id
         *  获得属性id在去调用属性表的service即可查询属性名
         *  以上两步前面已经写好逻辑了直接调用即可attrService.getRelationAttr(groupId)
         */
        List<AttrGroupWithAttrsVo> collect = list.stream().map((item) -> {
            AttrGroupWithAttrsVo attrGroupWithAttrsVo = new AttrGroupWithAttrsVo();
            BeanUtils.copyProperties(item, attrGroupWithAttrsVo);
            List<AttrEntity> attrs = attrService.getRelationAttr(attrGroupWithAttrsVo.getAttrGroupId());
            if (attrs != null) {
                attrGroupWithAttrsVo.setAttrs(attrs);
            }
            return attrGroupWithAttrsVo;
        }).filter((attrvo) -> {
            return attrvo.getAttrs() != null && attrvo.getAttrs().size() > 0;
        }).collect(Collectors.toList());
        return collect;
    }

测试

image.png



相关文章
|
27天前
|
XML 前端开发 Java
谷粒商城笔记+踩坑(5)——商品服务-属性分组、品牌关联分类,spu+sku+分页拦截器
SPU和SKU、属性分组的增删改查、QueryWrapper的and和or用法、获取当前品牌关联的所有分类
谷粒商城笔记+踩坑(5)——商品服务-属性分组、品牌关联分类,spu+sku+分页拦截器
|
27天前
|
SQL 设计模式 开发框架
谷粒商城笔记+踩坑(6)——商品服务-属性及其关联分组
商品规格属性和销售属性的增删改查、属性分组中查询新增关联的属性
谷粒商城笔记+踩坑(6)——商品服务-属性及其关联分组
|
2月前
|
XML API 数据库
商品详情数据API接口概念(sku详情图属性等全面的解析)
商品详情数据API接口是指一种编程接口(API, Application Programming Interface),它允许开发者或系统以编程方式获取商品的详细信息,包括但不限于SKU(Stock Keeping Unit,库存量单位)的详细信息、商品图片、商品属性、价格、库存状态、用户评价等。这种接口通常由电商平台、商品数据库服务商或第三方数据提供商提供,旨在帮助开发者或企业快速集成商品数据到其应用程序或系统中。
|
5月前
|
JSON 测试技术 应用服务中间件
实战SSM_O2O商铺_25【商品类别】商品类别列表展示从Dao到View层的开发
实战SSM_O2O商铺_25【商品类别】商品类别列表展示从Dao到View层的开发
43 0
|
5月前
|
SQL 前端开发 测试技术
实战SSM_O2O商铺_26【商品类别】批量新增商品类别从Dao到View层的开发
实战SSM_O2O商铺_26【商品类别】批量新增商品类别从Dao到View层的开发
46 0
|
5月前
|
SQL 前端开发 测试技术
实战SSM_O2O商铺_27【商品类别】删除商品类别从Dao到View层的开发
实战SSM_O2O商铺_27【商品类别】删除商品类别从Dao到View层的开发
47 0
|
11月前
|
测试技术 API 微服务
谷粒商城--SPU和SKU(分组与属性关联、发布商品、仓库服务)-3
谷粒商城--SPU和SKU(分组与属性关联、发布商品、仓库服务)
59 0
|
11月前
|
JSON 数据格式
谷粒商城--SPU和SKU(分组与属性关联、发布商品、仓库服务)-1
谷粒商城--SPU和SKU(分组与属性关联、发布商品、仓库服务)
51 0
|
11月前
|
JSON 前端开发 Java
谷粒商城--SPU和SKU(分组与属性关联、发布商品、仓库服务)-2
谷粒商城--SPU和SKU(分组与属性关联、发布商品、仓库服务)
79 0
|
11月前
|
SQL 前端开发 测试技术
谷粒商城--SPU和SKU(属性分组、规格参数、销售属性)-1
谷粒商城--SPU和SKU(属性分组、规格参数、销售属性)
184 0