From 31267d9b3a33c8b3fbb1b9f810ab08e01c49b846 Mon Sep 17 00:00:00 2001 From: rentaiming <806181062@qq.com> Date: 星期二, 16 七月 2024 19:12:28 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java | 74 +++++++++++++++++++++++++----------- 1 files changed, 51 insertions(+), 23 deletions(-) diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java index 906c6da..8b60268 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java @@ -66,7 +66,14 @@ import io.seata.spring.annotation.GlobalTransactional; import java.math.BigDecimal; import java.time.LocalDateTime; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; import javax.annotation.Resource; @@ -213,6 +220,15 @@ if (goodsSku.getStock() + auctionGoodsOrg.getAuctionStock() < dto.getAuctionStock()) { throw new ServiceException("商品库存不足"); } + if (!auctionGoodsOrg.getAuctionStock().equals(dto.getAuctionStock())) { + // 更新商品库存 + GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); + goodsStockUpdDTO.setGoodsSkuId(goodsSkuId); + goodsStockUpdDTO.setAuctionStock( + auctionGoodsOrg.getAuctionStock() - dto.getAuctionStock()); + goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), + SecurityConstants.INNER); + } auctionGoodsOrg.setStartingPrice(dto.getStartingPrice()); auctionGoodsOrg.setMinimumMarkupAmount(dto.getMinimumMarkupAmount()); auctionGoodsOrg.setStartTime(dto.getStartTime()); @@ -224,15 +240,8 @@ auctionGoodsOrg.setShareTitle(dto.getShareTitle()); auctionGoodsOrg.setSharePic(dto.getSharePic()); this.updateById(auctionGoodsOrg); - // 更新商品库存 - GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); - goodsStockUpdDTO.setGoodsSkuId(goodsSkuId); - goodsStockUpdDTO.setAuctionStock( - auctionGoodsOrg.getAuctionStock() - dto.getAuctionStock()); - goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), - SecurityConstants.INNER); - auctionAsyncMethodService.auctionGoodsScheduleTask(Lists.newArrayList(auctionGoods)); } + auctionAsyncMethodService.auctionGoodsScheduleTask(Lists.newArrayList(auctionGoods)); } /** @@ -265,13 +274,17 @@ .collect(Collectors.toSet()); List<Member> memberList = memberClient. getMemberListByIds(collect, SecurityConstants.INNER).getData(); - Map<Long, String> memberMap = memberList.stream() - .collect(Collectors.toMap(Member::getId, Member::getNickname)); + Map<Long, Member> memberMap = memberList.stream() + .collect(Collectors.toMap(Member::getId, e -> e)); List<MgtAuctionBidRecordVO> mgtAuctionBidRecordVOS = BeanUtils.copyList(list, MgtAuctionBidRecordVO.class); for (MgtAuctionBidRecordVO vo : mgtAuctionBidRecordVOS) { - String memberName = memberMap.get(vo.getMemberId()); - vo.setMemberName(StringUtils.isNotEmpty(memberName) ? memberName : ""); + Member member = memberMap.get(vo.getMemberId()); + if (StringUtils.isNotNull(member)) { + vo.setMemberName(member.getNickname()); + vo.setPhone(member.getPhone()); + } + } auctionGoodsVO.setRecordList(mgtAuctionBidRecordVOS); } @@ -293,6 +306,10 @@ if (StringUtils.isNull(auctionGoods)) { throw new ServiceException("拍卖商品不存在"); } + // 远程调用商品服务,获取商品信息 + GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(auctionGoods.getGoodsSkuId(), + SecurityConstants.INNER) + .getData(); if (auctionGoods.getStartStatus().equals(AuctionStartStatusEnum.IN_AUCTION)) { // 查询出价记录 List<AuctionBidRecord> auctionBidRecords = auctionBidRecordService.getBidRecordByGoodsId( @@ -316,7 +333,7 @@ OrderDTO orderDTO = new OrderDTO(); orderDTO.setAuctionType(AuctionOrderTypeEnum.REGULAR_ITEMS); orderDTO.setGoodsQuantity(auctionGoods.getAuctionStock()); - orderDTO.setGoodsSkuId(auctionGoods.getGoodsSkuId()); + orderDTO.setGoodsSkuId(auctionGoods.getId()); orderDTO.setBound(auctionGoods.getBond()); orderDTO.setMemberId(auctionBidRecord.getMemberId()); orderDTO.setTotalAmount(auctionBidRecord.getLastBidAmount()); @@ -331,6 +348,11 @@ orderDTO.setReceiverCity(data.getReceiverCity()); orderDTO.setReceiverDetailAddress(data.getDetailedAddress()); orderDTO.setReceiverphone(data.getRecipientPhone()); + } + if (StringUtils.isNotNull(goodsSku)) { + orderDTO.setCoverPic(goodsSku.getCoverPic()); + orderDTO.setPrice(goodsSku.getPrice()); + orderDTO.setSkuName(goodsSku.getSkuName()); } orderClient.saveOrderOne(orderDTO, SecurityConstants.INNER); } else { @@ -444,6 +466,7 @@ auctionGoodsinfoVO.setUnit(goodsSkuOne.getUnit()); auctionGoodsinfoVO.setBond(byId.getBond()); auctionGoodsinfoVO.setDescription(goodsSkuOne.getDescription()); + auctionGoodsinfoVO.setExplain(byId.getDescription()); auctionGoodsinfoVO.setYears(goodsSkuOne.getYears()); GoodsBrand data = goodsSkuClient.getBrandOne(goodsSkuOne.getBrandId(), SecurityConstants.INNER).getData(); GoodsCategory data1 = goodsSkuClient.getCategoryOne(goodsSkuOne.getCategoryId(), SecurityConstants.INNER).getData(); @@ -463,7 +486,7 @@ } auctionGoodsinfoVO.setCoverPic(goodsSkuOne.getCoverPic()); auctionGoodsinfoVO.setAlbum(goodsSkuOne.getAlbum()); - auctionGoodsinfoVO.setAuthentication(byId.getAuthentication()); + auctionGoodsinfoVO.setAuthentication(byId.getAuthentication().getCode()); auctionGoodsinfoVO.setMinimumMarkupAmount(byId.getMinimumMarkupAmount()); auctionGoodsinfoVO.setSpec(goodsSkuOne.getSpec()); auctionGoodsinfoVO.setSpecUnit(goodsSkuOne.getSpecUnit()); @@ -472,8 +495,8 @@ auctionGoodsinfoVO.setDetail(goodsSkuOne.getDetail()); auctionGoodsinfoVO.setBond(byId.getBond()); auctionGoodsinfoVO.setYears(goodsSkuOne.getYears()); - auctionGoodsinfoVO.setSharePic(goodsSkuOne.getSharePic()); - auctionGoodsinfoVO.setShareTitle(goodsSkuOne.getShareTitle()); + auctionGoodsinfoVO.setSharePic(byId.getSharePic()); + auctionGoodsinfoVO.setShareTitle(byId.getShareTitle()); LambdaQueryWrapper<AuctionBidRecord> wrapper1= Wrappers.lambdaQuery(); wrapper1.eq(AuctionBidRecord::getAuctionType,1); wrapper1.eq(AuctionBidRecord::getTargetId,byId.getId()); @@ -540,6 +563,7 @@ LambdaQueryWrapper<AuctionBidRecord> wrapper5= Wrappers.lambdaQuery(); wrapper5.eq(AuctionBidRecord::getAuctionType,1); wrapper5.eq(AuctionBidRecord::getTargetId,byId.getId()); + wrapper5.eq(AuctionBidRecord::getMemberId,auctionGoodsListDTO.getMemberId()); wrapper5.eq(AuctionBidRecord::getDelFlag,0); AuctionBidRecord list5 = auctionBidRecordService.getOne(wrapper5); if (list5!=null){ @@ -547,8 +571,8 @@ } - CustomConfig returnAddressUserName = sysUserClient.getconfig("MALL_ORDER_DESCRIPTION").getData(); - auctionGoodsinfoVO.setExplain(returnAddressUserName.getConfigValue()); + /*CustomConfig returnAddressUserName = sysUserClient.getconfig("MALL_ORDER_DESCRIPTION").getData(); + auctionGoodsinfoVO.setExplain(returnAddressUserName.getConfigValue());*/ List<getHomeGoodsSkuXxiVO> homeGoodsSkuXxiVOS=new ArrayList<>(); @@ -571,8 +595,8 @@ memberAuctionSalesroomDTO.setMemberId(auctionGoodsListDTO.getMemberId()); List<OrderAuctionBond> data = orderClient.getAuctionGoodsOrderAuctionBondList(auctionGoodsListDTO, SecurityConstants.INNER).getData(); Set<Long> goodsSkuIdList = null; - if (data!=null){ - goodsSkuIdList = data.stream().map(OrderAuctionBond::getAuctionSalesroomId) + if (data.size()>0){ + goodsSkuIdList = data.stream().map(OrderAuctionBond::getAuctionGoodsId) .collect(Collectors.toSet()); }else { Set<Long> goodsSkuIdList1 =new HashSet<>(); @@ -586,7 +610,12 @@ } if (auctionGoodsListDTO.getStartStatus()!=4){ - auctionGoodsListPageDTO.setStartStatus(auctionGoodsListDTO.getStartStatus()); + if (auctionGoodsListDTO.getStartStatus()==0){ + auctionGoodsListPageDTO.setStartStatus(5); + }else{ + auctionGoodsListPageDTO.setStartStatus(auctionGoodsListDTO.getStartStatus()); + } + } Page<AuctionGoodsListVO> page = new Page<>(); @@ -640,7 +669,6 @@ .equals(AuctionStartStatusEnum.IN_AUCTION)) { auctionGoods.setStartStatus(AuctionStartStatusEnum.ENDED); this.updateById(auctionGoods); - // TODO 退保证金 orderClient.returnBondByAuctionGoodsId(id, SecurityConstants.INNER); Map<String, Object> map = new ConcurrentHashMap<>(); -- Gitblit v1.7.1