• 首页
  • 栏目
  • ERP
  • 商品管理系统——获取商品分类的分组以及属性

商品管理系统——获取商品分类的分组以及属性

  • 2020-11-07
  • Admin

一 API

1 请求

GET /product/attrgroup/{catelogId}/withattr

2 响应数据

  1. {
  2. "msg":"success",
  3. "code":0,
  4. "data":[
  5. {
  6. "attrGroupId":1, # 第1个分组
  7. "attrGroupName":"主体",
  8. "sort":0,
  9. "descript":"主体",
  10. "icon":"dd",
  11. "catelogId":225,
  12. "attrs":[ # 第1个分组下的两个属性
  13. {
  14. "attrId":7,
  15. "attrName":"入网型号",
  16. "searchType":1,
  17. "valueType":0,
  18. "icon":"xxx",
  19. "valueSelect":"aaa;bb",
  20. "attrType":1,
  21. "enable":1,
  22. "catelogId":225,
  23. "showDesc":1,
  24. "attrGroupId":null
  25. },
  26. {
  27. "attrId":8,
  28. "attrName":"上市年份",
  29. "searchType":0,
  30. "valueType":0,
  31. "icon":"xxx",
  32. "valueSelect":"2018;2019",
  33. "attrType":1,
  34. "enable":1,
  35. "catelogId":225,
  36. "showDesc":0,
  37. "attrGroupId":null
  38. }
  39. ]
  40. },
  41. {
  42. "attrGroupId":2, # 第2个分组
  43. "attrGroupName":"基本信息",
  44. "sort":0,
  45. "descript":"基本信息",
  46. "icon":"xx",
  47. "catelogId":225,
  48. "attrs":[ # 第2个分组下的1个属性
  49. {
  50. "attrId":11,
  51. "attrName":"机身颜色",
  52. "searchType":0,
  53. "valueType":0,
  54. "icon":"xxx",
  55. "valueSelect":"黑色;白色",
  56. "attrType":1,
  57. "enable":1,
  58. "catelogId":225,
  59. "showDesc":1,
  60. "attrGroupId":null
  61. }
  62. ]
  63. }
  64. ]
  65. }

二 控制器

  1. /**
  2. * 功能描述:获取分类的分组以及分组下的属性
  3. *
  4. * @author cakin
  5. * @date 2020/11/7
  6. * @param catelogId 分类Id
  7. * @return R 返回给前端的数据
  8. * @description:
  9. */
  10. @GetMapping("/{catelogId}/withattr")
  11. public R getAttrGroupWithAttrs(@PathVariable("catelogId") Long catelogId) {
  12. // 1、查出当前分类下的所有属性分组,
  13. // 2、查出每个属性分组的所有属性
  14. List vos = attrGroupService.getAttrGroupWithAttrsByCatelogId(catelogId);
  15. return R.ok().put("data", vos);
  16. }

三 服务层

  1. /**
  2. * 根据分类id查出所有的分组以及这些组里面的属性
  3. *
  4. * @param catelogId
  5. * @return List 分组以及分组下的所有属性列表
  6. */
  7. @Override
  8. public List getAttrGroupWithAttrsByCatelogId(Long catelogId) {
  9. // 1、查询分组信息
  10. List attrGroupEntities = this.list(new QueryWrapper().eq("catelog_id", catelogId));
  11. // 2、查询分组下所有属性
  12. List collect = attrGroupEntities.stream().map(group -> {
  13. AttrGroupWithAttrsVo attrsVo = new AttrGroupWithAttrsVo();
  14. BeanUtils.copyProperties(group, attrsVo);
  15. List attrs = attrService.getRelationAttr(attrsVo.getAttrGroupId());
  16. attrsVo.setAttrs(attrs);
  17. return attrsVo;
  18. }).collect(Collectors.toList());
  19. return collect;
  20. }

四 VO

  1. /**
  2. * @className: AttrGroupWithAttrsVo
  3. * @description: 分组以及分组下的所有属性
  4. * @date: 2020/11/7
  5. * @author: cakin
  6. */
  7. @Data
  8. public class AttrGroupWithAttrsVo {
  9. /**
  10. * 分组id
  11. */
  12. private Long attrGroupId;
  13. /**
  14. * 组名
  15. */
  16. private String attrGroupName;
  17. /**
  18. * 排序
  19. */
  20. private Integer sort;
  21. /**
  22. * 描述
  23. */
  24. private String descript;
  25. /**
  26. * 组图标
  27. */
  28. private String icon;
  29. /**
  30. * 所属分类id
  31. */
  32. private Long catelogId;
  33. /**
  34. * 分组下的所有属性
  35. */
  36. private List attrs;
  37. }

五 测试

原文:https://blog.csdn.net/chengqiuming/article/details/109551938

联系站长

QQ:769220720