From 95639988ed630dae4b2461b5f6c3ccb6d9af8d86 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期四, 18 七月 2024 23:46:36 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java | 104 +++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 75 insertions(+), 29 deletions(-) diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java index 29c9a1a..63bc930 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java @@ -53,6 +53,7 @@ import com.ruoyi.common.core.utils.page.Checker; import com.ruoyi.common.core.utils.page.CollUtils; import com.ruoyi.common.core.utils.page.PageDTO; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.RemoteFileService; import com.ruoyi.system.api.constants.NotificationTypeConstant; import com.ruoyi.system.api.domain.AppMiniLoginVO; @@ -240,9 +241,13 @@ if (sysUser==null){ throw new ServiceException("手机号未注册"); } - /* if (!SecurityUtils.matchesPassword(arepartAuctionBidRecordDTO.getPassword(), sysUser.getPassword())){ + if (sysUser.getStatus().equals(1)){ + throw new ServiceException("该拍卖师账号停用"); + } + + if (!SecurityUtils.matchesPassword(arepartAuctionBidRecordDTO.getPassword(), sysUser.getPassword())){ throw new ServiceException("密码输入错误"); - }*/ + } LambdaQueryWrapper<AuctionSalesroom> wrapper=Wrappers.lambdaQuery(); wrapper.eq(AuctionSalesroom::getAuctionSalesroomNo,arepartAuctionBidRecordDTO.getAuctionSalesroomQrcode()); @@ -423,6 +428,7 @@ memberAuctionSalesroomInfoVO.setAuthentication(byId.getAuthentication()); memberAuctionSalesroomInfoVO.setEndTime(byId.getEndTime()); memberAuctionSalesroomInfoVO.setSalesroomName(byId.getSalesroomName()); + memberAuctionSalesroomInfoVO.setEndTime(byId.getEndTime()); memberAuctionSalesroomInfoVO.setType(byId.getType()); memberAuctionSalesroomInfoVO.setDescription(byId.getDescription()); memberAuctionSalesroomInfoVO.setSharePic(byId.getSharePic()); @@ -453,7 +459,10 @@ forepartAuctionSalesroomGoodsVO.setStartingPrice(salesroomGoods.getStartingPrice()); forepartAuctionSalesroomGoodsVO.setSalesroomStock(salesroomGoods.getSalesroomStock()); forepartAuctionSalesroomGoodsVO.setGoodsSkustatus(salesroomGoods.getStatus().getCode()); + forepartAuctionSalesroomGoodsVO.setMinimumMarkupAmount(salesroomGoods.getMinimumMarkupAmount()); + forepartAuctionSalesroomGoodsVO.setStartTime(salesroomGoods.getStartTime()); forepartAuctionSalesroomGoodsVO.setYears(String.valueOf(goodsSku.getYears())); + forepartAuctionSalesroomGoodsVO.setListingDuration(salesroomGoods.getListingDuration()); forepartAuctionSalesroomGoodsVO.setSpec(goodsSku.getSpec()); forepartAuctionSalesroomGoodsVO.setSpecUnit(goodsSku.getSpecUnit()); LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery(); @@ -473,6 +482,28 @@ forepartAuctionSalesroomGoodsVO.setIsBond(1); forepartAuctionSalesroomGoodsVO.setIsStatus(1); } + + LambdaQueryWrapper<AuctionBidRecord> wrapper2=Wrappers.lambdaQuery(); + wrapper2.eq(AuctionBidRecord::getAuctionSalesroomId,byId.getId()); + wrapper2.eq(AuctionBidRecord::getAuctionType,2); + wrapper2.eq(AuctionBidRecord::getTargetId,salesroomGoods.getId()); + wrapper2.eq(AuctionBidRecord::getDelFlag,0); + AuctionBidRecord list2 = auctionBidRecordMapper.selectOne(wrapper1); + if (list2!=null){ + forepartAuctionSalesroomGoodsVO.setZgBid(list2.getLastBidAmount()); + } + + LambdaQueryWrapper<AuctionBidRecord> wrapper5=Wrappers.lambdaQuery(); + wrapper5.eq(AuctionBidRecord::getAuctionSalesroomId,byId.getId()); + wrapper5.eq(AuctionBidRecord::getAuctionType,2); + wrapper5.eq(AuctionBidRecord::getTargetId,salesroomGoods.getId()); + wrapper5.eq(AuctionBidRecord::getMemberId,memberAuctionSalesroomDTO.getMemberId()); + wrapper5.eq(AuctionBidRecord::getDelFlag,0); + AuctionBidRecord list5 = auctionBidRecordMapper.selectOne(wrapper1); + if (list5!=null){ + forepartAuctionSalesroomGoodsVO.setPresentBid(list5.getLastBidAmount()); + } + forepartAuctionSalesroomGoodsVOS.add(forepartAuctionSalesroomGoodsVO); } memberAuctionSalesroomInfoVO.setForepartAuctionSalesroomGoodsVO(forepartAuctionSalesroomGoodsVOS); @@ -540,22 +571,15 @@ throw new ServiceException("当前拍卖场中标拍品订单未完成,请完成后再试。"); } // 远程调用订单服务进行退款 - Map<String, Object> data = orderClient.refund(refundDTOList, - SecurityConstants.INNER).getData(); + orderClient.refund1(refundDTO, SecurityConstants.INNER).getData(); // 处理退款返回结果 List<String> successfulOrders = new ArrayList<>(); List<String> failedOrders = new ArrayList<>(); - data.forEach((key, value) -> { - if ((boolean) value) { - successfulOrders.add(key); - } else { - failedOrders.add(key); - } - }); - // 退款成功的订单修改状态 - List<Long> ids = new ArrayList<>(); + + List<Long> ids=new ArrayList<>(); ids.add(orderAuctionBond.getId()); + // 远程调用订单服务修改订单状态 orderClient.updateOrderAuctionBondStatus(ids, BondStatusEnum.REFUNDED,SecurityConstants.INNER); @@ -565,6 +589,7 @@ RefundDTO refundDTO = new RefundDTO(); refundDTO.setOrderNo(orderAuctionBond.getOrderNo()); refundDTO.setAmount(orderAuctionBond.getBond()); + refundDTOList.add(refundDTO); LambdaQueryWrapper<AuctionBidRecord> wrapper = Wrappers.lambdaQuery(); wrapper.eq(AuctionBidRecord::getTargetId, memberAuctionSalesroomBondDTO.getAuctionGoodsId()); @@ -577,21 +602,11 @@ } // 远程调用订单服务进行退款 - Map<String, Object> data = orderClient.refund(refundDTOList, + orderClient.refund1(refundDTO, SecurityConstants.INNER).getData(); - // 处理退款返回结果 - List<String> successfulOrders = new ArrayList<>(); - List<String> failedOrders = new ArrayList<>(); - data.forEach((key, value) -> { - if ((boolean) value) { - successfulOrders.add(key); - } else { - failedOrders.add(key); - } - }); - // 退款成功的订单修改状态 - List<Long> ids = new ArrayList<>(); + + List<Long> ids=new ArrayList<>(); ids.add(orderAuctionBond.getId()); // 远程调用订单服务修改订单状态 orderClient.updateOrderAuctionBondStatus(ids,BondStatusEnum.REFUNDED,SecurityConstants.INNER); @@ -608,16 +623,35 @@ if (byId.getStartingPrice().doubleValue()>bidVO.getLastBidAmount().doubleValue()){ throw new ServiceException("出价不能比起拍价低"); } + + LambdaQueryWrapper<AuctionBidRecord> wrapper3=Wrappers.lambdaQuery(); + wrapper3.eq(AuctionBidRecord::getAuctionSalesroomId,bidVO.getAuctionSalesroomId()); + wrapper3.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId()); + wrapper3.eq(AuctionBidRecord::getDelFlag,0); + wrapper3.orderByDesc(AuctionBidRecord::getLastBidAmount); + wrapper3.last("limit 1"); + AuctionBidRecord one3 = auctionBidRecordService.getOne(wrapper3); + if (one3!=null){ + if (bidVO.getLastBidAmount().doubleValue()<one3.getLastBidAmount().doubleValue()){ + throw new ServiceException("出价不能比当前最高价低"); + } + } + BigDecimal bigDecimal=byId.getStartingPrice().add(byId.getMinimumMarkupAmount()); if (bigDecimal.doubleValue()>bidVO.getLastBidAmount().doubleValue()){ throw new ServiceException("出价不能比每次最少加价低"); } + + + + LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery(); wrapper1.eq(AuctionBidRecord::getMemberId,bidVO.getMemberId()); wrapper1.eq(AuctionBidRecord::getAuctionSalesroomId,bidVO.getAuctionSalesroomId()); wrapper1.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId()); wrapper1.eq(AuctionBidRecord::getDelFlag,0); + AuctionBidRecord one = auctionBidRecordService.getOne(wrapper1); if (one!=null){ BigDecimal bigDecimal1=one.getLastBidAmount().add(byId.getMinimumMarkupAmount()); @@ -634,7 +668,12 @@ one.setTargetId(bidVO.getTargetId()); one.setMemberId(bidVO.getMemberId()); one.setLastBidTime(LocalDateTime.now()); - one.setNickname(membeOne.getNickname()); + if(membeOne.getRealName()!=null&&membeOne.getRealName()!=""){ + one.setNickname(membeOne.getRealName()); + }else{ + one.setNickname(membeOne.getNickname()); + } + one.setPhone(membeOne.getPhone()); one.setAuctionType(AuctionOrderTypeEnum.AUCTION_ITEMS); one.setStatus(BidStatusEnum.ELIMINATE); @@ -694,6 +733,7 @@ } } + LambdaQueryWrapper<AuctionBidRecord> wrapper3=Wrappers.lambdaQuery(); wrapper3.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId()); wrapper3.eq(AuctionBidRecord::getDelFlag,0); @@ -711,6 +751,12 @@ one3.setAuctionSalesroomId(bidVO.getAuctionSalesroomId()); one3.setTargetId(bidVO.getTargetId()); one3.setMemberId(bidVO.getMemberId()); + if(membeOne.getRealName()!=null||membeOne.getRealName()!=""){ + one3.setNickname(membeOne.getRealName()); + }else{ + one3.setNickname(membeOne.getNickname()); + } + one3.setPhone(membeOne.getPhone()); one3.setLastBidTime(LocalDateTime.now()); one3.setAuctionType(AuctionOrderTypeEnum.REGULAR_ITEMS); one3.setStatus(BidStatusEnum.ELIMINATE); @@ -1449,8 +1495,8 @@ Wrappers.<AuctionBidRecord>lambdaQuery() .eq(AuctionBidRecord::getAuctionSalesroomId, auctionSalesroomId) .eq(AuctionBidRecord::getStatus, BidStatusEnum.ELIMINATE)); - List<Long> memberIdlist = auctionBidRecordList.stream().map(AuctionBidRecord::getMemberId) - .collect(Collectors.toList()); + Set<Long> memberIdlist = auctionBidRecordList.stream().map(AuctionBidRecord::getMemberId) + .collect(Collectors.toSet()); if (StringUtils.isNotEmpty(memberIdlist)) { OrderAuctionBondDTO orderAuctionBondDTO = new OrderAuctionBondDTO(); orderAuctionBondDTO.setAuctionSalesroomId(auctionSalesroom.getId()); -- Gitblit v1.7.1