商品详情属性的填充

站长

发表文章数:4245

Celery 收下这捆芹菜!

1.业务模型

一个商品下面 有多个 组 SpecGroup (id,cid,name) 一个组下面有多个规格参数SpecParam(id,cid,groupId,name,numeric,unit,generic,searching,segments) 

现在通过商品id  查询到 这个商品下的组信息

Oracle基础之保留字和关键字

这里 我们先把 这个分类下的规格参数信息查出来 然后 可以用双层for循环 得到 这个商品的 组下的规格信息

双层for循环比较费时间

我们先把规格参数 变成map 类型数据    

map的key 是  组id  ===>groupId    map的值是组下的所有参数 List<SpecParam>
Map<Long,List<SpecParam>> map = new HashMap<>();



 public List<SpecGroup> queryGroupListByCid(Long cid){
List<SpecGroup> groupList = this.queryGroupByCid(cid);
//查询当前分内参数
List<SpecParam> specParams = specParamService.querySpecParamList(null,cid,null);
// for(SpecGroup specGroup : groupList){
// for(SpecParam specParam : specParams){
// if(specGroup.getId() == specParam.getGroupId()){
//
// }
// }
// }

//1.先把规格参数变为map map的key 是groupId map的值是组下的所有参数
Map<Long,List<SpecParam>> map = new HashMap<>();
//遍历分类中的所有参数 如果有这个组 我们 就将当前的这个元素放到这个组里面
如果没有这个组 我们就新建一个 以这个组id 为键 的 空的集合对象
for(SpecParam param : specParams){
if(!map.containsKey(param.getGroupId())){
map.put(param.getGroupId(),new ArrayList<>());
}
map.get(param.getGroupId()).add(param);
}
// Map<Long,List<SpecParam>> specParamMap =specParams.stream().collect(Collectors.toMap(SpecParam::getGroupId,));
// 填充param到group
for (SpecGroup specGroup : groupList){
specGroup.setParams(map.get(specGroup.getId()));
}

return groupList;
}

kubespy 用bash实现的k8s动态调试工具

未经允许不得转载:www.xssyun.com作者:站长, 转载或复制请以 超链接形式 并注明出处 xss云之家-资源网,新人技术交流平台,一个湖北娃的个人博客
原文地址:《商品详情属性的填充》 发布于2020-01-11

分享到:
赞(0) 生成海报

长按图片转发给朋友

投稿赚钱
2020年在家赚取零花钱
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册