From 8f2f35da0cbb07d8bf0d04468c8a2bdf5ee895e5 Mon Sep 17 00:00:00 2001 From: luofl <1442745593@qq.com> Date: 星期二, 11 三月 2025 10:47:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev-1.0.1' into dev-1.0.1 --- ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java | 20 ++++++++++++++++++-- 1 files changed, 18 insertions(+), 2 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 dc8f061..e4d1a32 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 @@ -698,8 +698,19 @@ if (bidVO.getAuctionType() == 2) { AuctionSalesroomGoods byId = auctionSalesroomGoodsMapper.selectById( bidVO.getTargetId()); + // 判断否大于最高价 + if (byId.getMaxAmount().compareTo(bidVO.getLastBidAmount()) < 0) { + throw new ServiceException("出价不能高出最高价"); + } + // 查询用户出价记录判断是否第一次出价 首次出价,可以只出起拍价,而不是需要比起拍价高。 + Long count = auctionBidRecordService.lambdaQuery() + .eq(AuctionBidRecord::getAuctionSalesroomId, bidVO.getAuctionSalesroomId()) + .eq(AuctionBidRecord::getTargetId, bidVO.getTargetId()) + .eq(AuctionBidRecord::getAuctionType, bidVO.getAuctionType()) + .eq(AuctionBidRecord::getMemberId, bidVO.getMemberId()).count(); + if (byId.getStartingPrice().doubleValue() > bidVO.getLastBidAmount() - .doubleValue()) { + .doubleValue() && count > 0) { throw new ServiceException("出价不能比起拍价低"); } AuctionSalesroom byId1 = this.getById(bidVO.getAuctionSalesroomId()); @@ -795,8 +806,13 @@ .clientType(ClientTypeEnum.MEMBER).build(), SecurityConstants.INNER); } else { AuctionGoods byId = auctionGoodsService.getById(bidVO.getTargetId()); + // 查询用户出价记录判断是否第一次出价 首次出价,可以只出起拍价,而不是需要比起拍价高。 + Long count = auctionBidRecordService.lambdaQuery() + .eq(AuctionBidRecord::getTargetId, bidVO.getTargetId()) + .eq(AuctionBidRecord::getAuctionType, bidVO.getAuctionType()) + .eq(AuctionBidRecord::getMemberId, bidVO.getMemberId()).count(); if (byId.getStartingPrice().doubleValue() > bidVO.getLastBidAmount() - .doubleValue()) { + .doubleValue() && count > 0) { throw new ServiceException("出价不能比起拍价低"); } BigDecimal bigDecimal = byId.getStartingPrice().add(byId.getMinimumMarkupAmount()); -- Gitblit v1.7.1