From 20b8e50ddb2daf21d65a43ec363e5925edb5b10e Mon Sep 17 00:00:00 2001 From: rentaiming <806181062@qq.com> Date: 星期三, 31 七月 2024 18:40:34 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java | 79 ++++++++++++++++++++++++++++++++------- 1 files changed, 65 insertions(+), 14 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 1752f91..bdee7c4 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 @@ -12,8 +12,10 @@ import com.ruoyi.auction.controller.management.vo.MgtAuctionBidRecordVO; import com.ruoyi.auction.controller.management.vo.MgtAuctionGoodsVO; import com.ruoyi.auction.domain.AuctionBidRecord; +import com.ruoyi.auction.domain.AuctionBondJl; import com.ruoyi.auction.domain.AuctionBrowseRecord; import com.ruoyi.auction.domain.MemberAuctionCollection; +import com.ruoyi.auction.mapper.AuctionBondJlMapper; import com.ruoyi.auction.mapper.AuctionGoodsMapper; import com.ruoyi.auction.service.IAuctionBidRecordService; import com.ruoyi.auction.service.IAuctionBrowseRecordService; @@ -32,6 +34,7 @@ import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.BeanUtils; +import com.ruoyi.common.core.utils.page.CollUtils; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.system.api.constants.ConfigEnum; import com.ruoyi.system.api.constants.NotificationTypeConstant; @@ -114,6 +117,9 @@ @Resource private IAuctionBrowseRecordService iAuctionBrowseRecordService; + + @Resource + private AuctionBondJlMapper auctionBondJlMapper; /** * 获取拍卖商品列表的分页数据 @@ -242,7 +248,19 @@ auctionGoodsOrg.setSharePic(dto.getSharePic()); this.updateById(auctionGoodsOrg); } - auctionAsyncMethodService.auctionGoodsScheduleTask(Lists.newArrayList(auctionGoods)); + if (auctionGoods.getEndTime().isBefore(LocalDateTime.now())) { + // 退回剩余库存 + GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); + goodsStockUpdDTO.setAuctionStock(auctionGoods.getAuctionStock()); + goodsStockUpdDTO.setGoodsSkuId(auctionGoods.getGoodsSkuId()); + goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), + SecurityConstants.INNER); + auctionGoods.setStartStatus(AuctionStartStatusEnum.ENDED); + this.updateById(auctionGoods); + } else { + auctionAsyncMethodService.auctionGoodsScheduleTask(Lists.newArrayList(auctionGoods)); + } + } /** @@ -404,20 +422,22 @@ for (OrderAuctionBond orderAuctionBond : auctionBondList) { // 已中标需在订单完成后退保证金 - if (unRefundMemberIdList.contains(orderAuctionBond.getMemberId())) { + if (unRefundMemberIdList.contains(orderAuctionBond.getMemberId()) + || Objects.isNull(orderAuctionBond.getBond())) { continue; } RefundDTO refundDTO = new RefundDTO(); refundDTO.setOrderNo(orderAuctionBond.getOrderNo()); refundDTO.setAmount(orderAuctionBond.getBond()); + refundDTOList.add(refundDTO); } // 远程调用订单服务进行退款 Map<String, Object> data = orderClient.refund(refundDTOList, SecurityConstants.INNER).getData(); + if (CollUtils.isNotEmpty(data)) { // 处理退款返回结果 List<String> successfulOrders = new ArrayList<>(); List<String> failedOrders = new ArrayList<>(); - data.forEach((key, value) -> { if ((boolean) value) { successfulOrders.add(key); @@ -433,8 +453,11 @@ } return null; }).filter(Objects::nonNull).collect(Collectors.toList()); + // 远程调用订单服务修改订单状态 - orderClient.updateOrderAuctionBondStatus(ids, BondStatusEnum.PAID,SecurityConstants.INNER); + orderClient.updateOrderAuctionBondStatus(ids, BondStatusEnum.REFUNDED, + SecurityConstants.INNER); + } } } } @@ -446,12 +469,23 @@ List<GoodsSku> goodsSku = goodsSkuClient.getGoodsByName(auctionGoodsListDTO.getGoodsSkuName(), SecurityConstants.INNER) .getData(); - goodsSkuIdList = goodsSku.stream().map(GoodsSku::getId) - .collect(Collectors.toSet()); + if (goodsSku!=null){ + goodsSkuIdList = goodsSku.stream().map(GoodsSku::getId) + .collect(Collectors.toSet()); + } + } AuctionGoodsListPageDTO auctionGoodsListPageDTO=new AuctionGoodsListPageDTO(); - auctionGoodsListPageDTO.setGoodsSkuIdList(goodsSkuIdList); + if (StringUtils.isNotEmpty(auctionGoodsListDTO.getGoodsSkuName())) { + if (goodsSkuIdList != null) { + auctionGoodsListPageDTO.setGoodsSkuIdList(goodsSkuIdList); + } else { + goodsSkuIdList = new HashSet<>(); + goodsSkuIdList.add(0L); + auctionGoodsListPageDTO.setGoodsSkuIdList(goodsSkuIdList); + } + } Page<AuctionGoodsListVO> page = new Page<>(); page.setSize(auctionGoodsListDTO.getPageSize()); @@ -521,7 +555,6 @@ auctionGoodsinfoVO.setSpec(goodsSkuOne.getSpec()); auctionGoodsinfoVO.setSpecUnit(goodsSkuOne.getSpecUnit()); auctionGoodsinfoVO.setShareTitle(goodsSkuOne.getShareTitle()); - auctionGoodsinfoVO.setSpecUnit(goodsSkuOne.getSpecUnit()); auctionGoodsinfoVO.setDetail(goodsSkuOne.getDetail()); auctionGoodsinfoVO.setBond(byId.getBond()); auctionGoodsinfoVO.setYears(goodsSkuOne.getYears()); @@ -564,15 +597,18 @@ }else { auctionGoodsinfoVO.setIsCollection(1); } - List<OrderAuctionBond> datas = orderClient.getAuctionGoodsOrderAuctionBondList(auctionGoodsListDTO, SecurityConstants.INNER).getData(); - if(datas!=null){ - if (datas.size()>0){ + LambdaQueryWrapper<AuctionBondJl> wrapper8=Wrappers.lambdaQuery(); + wrapper8.eq(AuctionBondJl::getAuctionGoodsId,byId.getId()); + wrapper8.eq(AuctionBondJl::getMemberId,auctionGoodsListDTO.getMemberId()); + wrapper8.eq(AuctionBondJl::getIsState,0); + AuctionBondJl auctionBondJl = auctionBondJlMapper.selectOne(wrapper8); + if(auctionBondJl!=null){ auctionGoodsinfoVO.setIsApply(2); }else{ auctionGoodsinfoVO.setIsApply(1); } - } + LocalDateTime now = LocalDateTime.now(); LocalDateTime newTime7 = now.minusDays(7); @@ -589,6 +625,7 @@ AuctionBrowseRecord auctionBrowseRecord=new AuctionBrowseRecord(); auctionBrowseRecord.setBrowseType(AuctionOrderTypeEnum.REGULAR_ITEMS); auctionBrowseRecord.setMemberId(auctionGoodsListDTO.getMemberId()); + auctionBrowseRecord.setSkuName(goodsSkuOne.getSkuName()); auctionBrowseRecord.setTargetId(auctionGoodsListDTO.getGoodsSkuId()); iAuctionBrowseRecordService.save(auctionBrowseRecord); } @@ -699,8 +736,7 @@ @Transactional public void endAuctionGoods(Long id) throws JsonProcessingException { AuctionGoods auctionGoods = this.getById(id); - if (StringUtils.isNotNull(auctionGoods) && auctionGoods.getListingStatus().equals( - ListingStatusEnum.ON_SHELVES) && auctionGoods.getStartStatus() + if (StringUtils.isNotNull(auctionGoods) && auctionGoods.getStartStatus() .equals(AuctionStartStatusEnum.IN_AUCTION)) { // 远程调用商品服务,获取商品信息 GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(auctionGoods.getGoodsSkuId(), @@ -805,6 +841,7 @@ RefundDTO refundDTO = new RefundDTO(); refundDTO.setOrderNo(orderAuctionBond.getOrderNo()); refundDTO.setAmount(orderAuctionBond.getBond()); + refundDTOList.add(refundDTO); } // 远程调用订单服务进行退款 Map<String, Object> data = orderClient.refund(refundDTOList, @@ -880,6 +917,19 @@ this.updateById(auctionGoods); } + /** + * 根据商品id获取正在进行的拍卖商品 + * + * @param id 商品id + * @return + */ + @Override + public List<AuctionGoods> getAuctionGoodsBySkuId(Long id) { + return this.list(new LambdaQueryWrapper<AuctionGoods>().eq(AuctionGoods::getGoodsSkuId, + id).eq(AuctionGoods::getListingStatus, ListingStatusEnum.ON_SHELVES) + .eq(AuctionGoods::getStartStatus, AuctionStartStatusEnum.IN_AUCTION)); + } + public static void main(String[] args) throws JsonProcessingException { Map<String, Object> map = new ConcurrentHashMap<>(); map.put("notification_type", NotificationTypeConstant.AUCTION_GOODS); @@ -889,4 +939,5 @@ String msg = objectMapper.writeValueAsString(map); System.out.println(msg); } + } -- Gitblit v1.7.1