rk
7 小时以前 580f4d3c2ca9eee53eee95a4de2f6610b790780a
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
@@ -60,6 +60,9 @@
    @Autowired
    private ShopGoodsRelationMapper shopGoodsRelationMapper;
    @Autowired
    private SearchHistoryMapper searchHistoryMapper;
    @Autowired
@@ -922,7 +925,6 @@
    @Override
    public IPage<GoodsInfoResponse> getGoodsPage(PageWrap<GoodsRequest> pageWrap) {
       GoodsRequest model = pageWrap.getModel();
       QueryWrapper<GoodsRequest> wrapper = new QueryWrapper<GoodsRequest>()
                .eq("g.ISDELETED",Constants.ZERO)
                .eq(!Objects.isNull(model) && Objects.nonNull(model.getCategoryId()),
@@ -956,7 +958,20 @@
                goodsMapper.goodsPageForShop(pageWrap.toPage(),wrapper,model.getShopId()) ;
        if (!CollectionUtils.isEmpty(page.getRecords())){
            String preFixPath = systemDictDataBiz.getPreFixPath(Constants.RESOURCE_PATH, Constants.GOODS_FILE);
            page.getRecords().forEach(s->s.setImgurl(preFixPath+s.getImgurl()));
            for (GoodsInfoResponse goodsInfoResponse:page.getRecords()
                 ) {
                goodsInfoResponse.setImgurl(StringUtils.isNotBlank(goodsInfoResponse.getImgurl())?(preFixPath+goodsInfoResponse.getImgurl()):null);
                //sku基础信息
                this.getSkuInfo(goodsInfoResponse);
            }
        }
        if(StringUtils.isNotBlank(model.getGoodsName())&&Objects.nonNull(model.getMemberId())){
            SearchHistory searchHistory = new SearchHistory();
            searchHistory.setIsdeleted(Constants.ZERO);
            searchHistory.setContent(model.getGoodsName());
            searchHistory.setMemberId(model.getMemberId());
            searchHistory.setType(Constants.ZERO);
            searchHistoryMapper.insert(searchHistory);
        }
        return page;
    }
@@ -971,41 +986,42 @@
        List<GoodsSkuResponse>  goodsSkuResponseList = goodsSkuMapper.getSkuResponseList(goodsResponse.getId());
        String fullUrl = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
                systemDictDataBiz.queryByCode(Constants.OSS,Constants.GOODS_FILE).getCode();
//        String fullUrl = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
//                systemDictDataBiz.queryByCode(Constants.OSS,Constants.GOODS_FILE).getCode();
        Integer sumStock = Constants.ZERO;
        for (GoodsSkuResponse goodsSkuResponse:goodsSkuResponseList) {
            if(StringUtils.isBlank(goodsSkuResponse.getImgurl())){
                goodsSkuResponse.setImgurl(fullUrl + goodsSkuResponse.getGoodsImgUrl());
            }else{
                goodsSkuResponse.setImgurl(fullUrl + goodsSkuResponse.getImgurl());
            }
            //处理数据下标
            String goodsSkuName = goodsSkuResponse.getName();
            List<String> strList = Arrays.asList(goodsSkuName.split(";"));
            StringBuffer indexData = new StringBuffer();
            for (int i = 0; i < strList.size(); i++) {
                //查询sku信息
                Sku sku =  skuMapper.selectOne(new QueryWrapper<Sku>()
                        .eq("GOODS_ID",goodsResponse.getId())
                        .eq("SORTNUM",i+1)
                        .last(" limit 1 ")
                );
                if(Objects.isNull(sku)){
                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"SKU信息异常,请刷新查看");
                }
                //查询SKU_ATTR
                SkuAttr skuAttr = skuAttrMapper.selectOne(new QueryWrapper<SkuAttr>()
                        .eq("SKU_ID",sku.getId())
                        .eq("NAME",strList.get(i))
                        .last(" limit 1 ")
                );
                if(Objects.isNull(skuAttr)){
                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"SKU信息异常,请刷新查看");
                }
                indexData.append("," + ( skuAttr.getSortnum()-1));
            }
            goodsSkuResponse.setIndexData(indexData.toString().substring(1));
            goodsSkuResponse.setStock(Objects.isNull(goodsSkuResponse.getStock())?Constants.ZERO:goodsSkuResponse.getStock());
//            if(StringUtils.isBlank(goodsSkuResponse.getImgurl())){
//                goodsSkuResponse.setImgurl(fullUrl + goodsSkuResponse.getGoodsImgUrl());
//            }else{
//                goodsSkuResponse.setImgurl(fullUrl + goodsSkuResponse.getImgurl());
//            }
//            //处理数据下标
//            String goodsSkuName = goodsSkuResponse.getName();
//            List<String> strList = Arrays.asList(goodsSkuName.split(";"));
//            StringBuffer indexData = new StringBuffer();
//            for (int i = 0; i < strList.size(); i++) {
//                //查询sku信息
//                Sku sku =  skuMapper.selectOne(new QueryWrapper<Sku>()
//                        .eq("GOODS_ID",goodsResponse.getId())
//                        .eq("SORTNUM",i)
//                        .last(" limit 1 ")
//                );
//                if(Objects.isNull(sku)){
//                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"SKU信息异常,请刷新查看");
//                }
//                //查询SKU_ATTR
//                SkuAttr skuAttr = skuAttrMapper.selectOne(new QueryWrapper<SkuAttr>()
//                        .eq("SKU_ID",sku.getId())
//                        .eq("NAME",strList.get(i))
//                        .last(" limit 1 ")
//                );
//                if(Objects.isNull(skuAttr)){
//                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"SKU信息异常,请刷新查看");
//                }
//                indexData.append("," + ( skuAttr.getSortnum()-1));
//            }
//            goodsSkuResponse.setIndexData(indexData.toString().substring(1));
            sumStock = sumStock + goodsSkuResponse.getStock();
        }
        //真实销量 = realSaleNum  - saleNum;
@@ -1023,7 +1039,6 @@
        }
        goodsResponse.setSkuResponsesList(skuResponseList);
    }
    @Override
    public GoodsInfoResponse getGoodsInfo(Integer goodsId,Integer memberId) {
@@ -1056,7 +1071,6 @@
                    .eq(Collect::getObjType,Constants.ONE)
            )>Constants.ZERO?Constants.ONE:Constants.ZERO);
        }
        return goodsResponse;
    }