huanghongfa
2021-04-20 a02095c0950cbe078dc7e8124cdf309139e41a92
bug修复
1个文件已修改
44 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopGoodsServiceImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopGoodsServiceImpl.java
@@ -1,12 +1,9 @@
package com.panzhihua.service_community.service.impl;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import com.panzhihua.common.exceptions.ServiceException;
@@ -21,25 +18,15 @@
import com.panzhihua.common.model.vos.shop.ComShopGoodsAttrVO;
import com.panzhihua.common.model.vos.shop.ComShopGoodsVO;
import com.panzhihua.common.model.vos.shop.PageShopStoreVO;
import com.panzhihua.service_community.dao.ComShopGoodsAttrDAO;
import com.panzhihua.common.model.dtos.shop.PageComShopGoodsDTO;
import com.panzhihua.common.model.vos.shop.PageShopStoreVO;
import com.panzhihua.service_community.dao.ComShopGoodsDAO;
import com.panzhihua.service_community.model.dos.ComShopGoodsAttrDO;
import com.panzhihua.service_community.dao.ComShopStoreDAO;
import com.panzhihua.service_community.model.dos.ComShopGoodsAttrDO;
import com.panzhihua.service_community.model.dos.ComShopGoodsDO;
import com.panzhihua.service_community.model.dos.ComShopStoreDO;
import com.panzhihua.service_community.service.ComShopGoodsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import java.util.ArrayList;
@@ -102,23 +89,20 @@
    public R pageGoodsList(PageComShopGoodsDTO pageComShopGoodsDTO) {
        Page page = new Page<>(pageComShopGoodsDTO.getPageNum(), pageComShopGoodsDTO.getPageSize());
        IPage<PageShopGoodsVO> comShopStoreVOIPage = this.baseMapper.pageShopGoods(page, pageComShopGoodsDTO);
        List<PageShopGoodsVO> shopGoodsVOS = comShopStoreVOIPage.getRecords();
        List<Long> goodsIds = shopGoodsVOS.stream().map(PageShopGoodsVO::getId).collect(Collectors.toList());
        LambdaQueryWrapper<ComShopGoodsAttrDO> in = new LambdaQueryWrapper<ComShopGoodsAttrDO>().in(ComShopGoodsAttrDO::getGoodsId, goodsIds);
        //分页查询商品规格,组装数据
        List<ComShopGoodsAttrDO> goodsAttrDOS = goodsAttrService.getBaseMapper().selectList(in);
        comShopStoreVOIPage.getRecords().forEach(vo -> {
            List<ComShopGoodsAttrDO> goodsAttrDOs = goodsAttrDOS.stream().filter(goodsAttr -> goodsAttr.getGoodsId().equals(vo.getId())).collect(Collectors.toList());
            ArrayList<AddShopGoodsAttrVO> goodsAttrVOList = Lists.newArrayList();
            for (ComShopGoodsAttrDO oneGoodsAttrDO : goodsAttrDOs) {
                AddShopGoodsAttrVO goodsAttrVO = new AddShopGoodsAttrVO();
                goodsAttrVO.setGoodsAttrId(oneGoodsAttrDO.getId());
                goodsAttrVO.setGoodsAttr(oneGoodsAttrDO.getGoodsAttr());
                goodsAttrVO.setAttrPrice(oneGoodsAttrDO.getPrice());
                goodsAttrVOList.add(goodsAttrVO);
            }
            vo.setGoodsAttts(goodsAttrVOList);
        });
        if(!comShopStoreVOIPage.getRecords().isEmpty()){
            comShopStoreVOIPage.getRecords().forEach(shopGoods -> {
                List<ComShopGoodsAttrDO> goodsAttrDOs = shopGoodsAttrDAO.selectList(new QueryWrapper<ComShopGoodsAttrDO>().lambda().eq(ComShopGoodsAttrDO::getGoodsId,shopGoods.getId()));
                ArrayList<AddShopGoodsAttrVO> goodsAttrVOList = Lists.newArrayList();
                for (ComShopGoodsAttrDO oneGoodsAttrDO : goodsAttrDOs) {
                    AddShopGoodsAttrVO goodsAttrVO = new AddShopGoodsAttrVO();
                    goodsAttrVO.setGoodsAttrId(oneGoodsAttrDO.getId());
                    goodsAttrVO.setGoodsAttr(oneGoodsAttrDO.getGoodsAttr());
                    goodsAttrVO.setAttrPrice(oneGoodsAttrDO.getPrice());
                    goodsAttrVOList.add(goodsAttrVO);
                }
                shopGoods.setGoodsAttts(goodsAttrVOList);
            });
        }
        return R.ok(comShopStoreVOIPage);
    }