From 9c0c919a8016153bc3879ee233c74437a6823570 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期一, 10 三月 2025 18:25:40 +0800 Subject: [PATCH] 拍卖下单、报名成功短信发送 --- 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 468ee6d..ba01b7a 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