| | |
| | | @Autowired |
| | | private ShopGoodsRelationMapper shopGoodsRelationMapper; |
| | | |
| | | @Autowired |
| | | private SearchHistoryMapper searchHistoryMapper; |
| | | |
| | | |
| | | |
| | | @Autowired |
| | |
| | | if(goodsSkuList==null || goodsSkuList.size() == 0){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "商品尚未设置零售价,请先设置价格! "); |
| | | } |
| | | List<Integer> idList2 = new ArrayList<>(); |
| | | for(Goods param: list){ |
| | | Goods goods = getGoodsFromListById(param.getId(),goodsList,goodsSkuList); |
| | | if(goods ==null ){ |
| | |
| | | } |
| | | //如果是上架 |
| | | goods.setGoodsSkuList(goodsSkuList); |
| | | boolean s =true; |
| | | if(goods.getSkuPrice() == null || goods.getSkuPrice().compareTo(new BigDecimal(0)) <=0){ |
| | | //默认sku信息 |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), goods.getName()+":商品商品尚未设置零售价,无法上架"); |
| | | s =false; |
| | | if(idList.size()==1) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), goods.getName()+":商品商品尚未设置零售价,无法上架"); |
| | | } |
| | | } |
| | | if(Constants.formatLongNum(goods.getPricedShopNum()) <= shopNum){ |
| | | if(Constants.formatLongNum(goods.getPricedShopNum()) < shopNum){ |
| | | //默认sku信息 |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), goods.getName()+":有未设置供货价的经销商,无法上架"); |
| | | s =false; |
| | | if(idList.size()==1){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), goods.getName()+":有未设置供货价的经销商,无法上架"); |
| | | } |
| | | |
| | | } |
| | | if(s){ |
| | | idList2.add(param.getId()); |
| | | } |
| | | } |
| | | goodsMapper.update(null,new UpdateWrapper<Goods>().lambda() |
| | | .set(Goods::getEditDate,new Date() ) |
| | | .set(Goods::getEditor,user.getId()) |
| | | .set(Goods::getStatus,Constants.ZERO ) |
| | | .in(Goods::getId,idList)); |
| | | int successNum = 0; |
| | | if(idList2.size()>0){ |
| | | successNum = goodsMapper.update(null,new UpdateWrapper<Goods>().lambda() |
| | | .set(Goods::getEditDate,new Date() ) |
| | | .set(Goods::getEditor,user.getId()) |
| | | .set(Goods::getStatus,Constants.ZERO ) |
| | | .in(Goods::getId,idList2)); |
| | | } |
| | | |
| | | if(successNum != idList.size()){ |
| | | if( idList.size()>1){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "成功上架商品数:【"+successNum+"】,上架失败:【"+(idList.size()-successNum)+"】个商品,请确保待上架商品的均销售价和供货价已设置"); |
| | | }else { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode()," 上架失败"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private Goods getGoodsFromListById(Integer id, List<Goods> goodsList, List<GoodsSku> skuList) { |
| | | for(Goods model: goodsList){ |
| | | if(Constants.equalsObject(model.getIdList(),id)){ |
| | | if(Constants.equalsInteger(model.getId(),id)){ |
| | | for(GoodsSku sku :skuList){ |
| | | if(Constants.equalsInteger(sku.getGoodsId(),id)){ |
| | | model.setSkuPrice(sku.getPrice()); |
| | |
| | | @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()), |
| | |
| | | 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; |
| | | } |
| | |
| | | |
| | | 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; |
| | |
| | | } |
| | | goodsResponse.setSkuResponsesList(skuResponseList); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public GoodsInfoResponse getGoodsInfo(Integer goodsId,Integer memberId) { |
| | |
| | | .eq(Collect::getObjType,Constants.ONE) |
| | | )>Constants.ZERO?Constants.ONE:Constants.ZERO); |
| | | } |
| | | |
| | | return goodsResponse; |
| | | } |
| | | |