| | |
| | | wrapper.eq(AuctionSalesroom::getAuctionSalesroomNo,arepartAuctionBidRecordDTO.getAuctionSalesroomQrcode()); |
| | | wrapper.eq(AuctionSalesroom::getDelFlag,0); |
| | | AuctionSalesroom auctionBidRecord = this.getOne(wrapper); |
| | | if(auctionBidRecord.getType().getCode()==0){ |
| | | throw new ServiceException("当前扫码是线下拍卖会"); |
| | | } |
| | | return auctionBidRecord; |
| | | } |
| | | |
| | |
| | | @Override |
| | | public MemberAuctionSalesroomInfoVO getMemberAuctionSalesroomInfo(MemberAuctionSalesroomDTO memberAuctionSalesroomDTO) { |
| | | AuctionSalesroom byId = this.getById(memberAuctionSalesroomDTO.getAuctionSalesroomId()); |
| | | if(byId==null){ |
| | | LambdaQueryWrapper<AuctionSalesroom> wrapper=Wrappers.lambdaQuery(); |
| | | wrapper.eq(AuctionSalesroom::getAuctionSalesroomNo,memberAuctionSalesroomDTO.getAuctionSalesroomId()); |
| | | wrapper.eq(AuctionSalesroom::getDelFlag,0); |
| | | byId =this.getOne(wrapper); |
| | | } |
| | | MemberAuctionSalesroomInfoVO memberAuctionSalesroomInfoVO=new MemberAuctionSalesroomInfoVO(); |
| | | memberAuctionSalesroomInfoVO.setId(byId.getId()); |
| | | memberAuctionSalesroomInfoVO.setBound(byId.getBond()); |
| | |
| | | memberAuctionSalesroomInfoVO.setIsApply(1); |
| | | } |
| | | List<ForepartAuctionSalesroomGoodsVO> forepartAuctionSalesroomGoodsVOS=new ArrayList<>(); |
| | | List<AuctionSalesroomGoods> auctionSalesroomGoods = auctionSalesroomGoodsMapper.getAuctionSalesroomGoods(memberAuctionSalesroomDTO); |
| | | MemberAuctionSalesroomDTO memberAuctionSalesroomDTO1 =new MemberAuctionSalesroomDTO(); |
| | | memberAuctionSalesroomDTO1.setAuctionSalesroomId(byId.getId()); |
| | | List<AuctionSalesroomGoods> auctionSalesroomGoods = auctionSalesroomGoodsMapper.getAuctionSalesroomGoods(memberAuctionSalesroomDTO1); |
| | | for (AuctionSalesroomGoods salesroomGoods:auctionSalesroomGoods){ |
| | | ForepartAuctionSalesroomGoodsVO forepartAuctionSalesroomGoodsVO=new ForepartAuctionSalesroomGoodsVO(); |
| | | forepartAuctionSalesroomGoodsVO.setSalesroomId(byId.getId()); |
| | |
| | | forepartAuctionSalesroomGoodsVO.setCoverPic(goodsSku.getCoverPic()); |
| | | forepartAuctionSalesroomGoodsVO.setStartingPrice(salesroomGoods.getStartingPrice()); |
| | | forepartAuctionSalesroomGoodsVO.setSalesroomStock(salesroomGoods.getSalesroomStock()); |
| | | forepartAuctionSalesroomGoodsVO.setGoodsSkustatus(salesroomGoods.getStatus()); |
| | | forepartAuctionSalesroomGoodsVO.setGoodsSkustatus(salesroomGoods.getStatus().getCode()); |
| | | forepartAuctionSalesroomGoodsVO.setYears(String.valueOf(goodsSku.getYears())); |
| | | forepartAuctionSalesroomGoodsVO.setSpec(goodsSku.getSpec()); |
| | | forepartAuctionSalesroomGoodsVO.setSpecUnit(goodsSku.getSpecUnit()); |
| | | LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery(); |
| | | wrapper1.eq(AuctionBidRecord::getMemberId,memberAuctionSalesroomDTO.getMemberId()); |
| | | wrapper1.eq(AuctionBidRecord::getAuctionSalesroomId,byId.getId()); |
| | |
| | | throw new ServiceException("出价不能比每次最少加价低"); |
| | | } |
| | | LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery(); |
| | | wrapper1.eq(AuctionBidRecord::getMemberId,bidVO.getMemberId()); |
| | | wrapper1.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId()); |
| | | wrapper1.eq(AuctionBidRecord::getDelFlag,0); |
| | | wrapper1.orderByDesc(AuctionBidRecord::getLastBidAmount); |
| | | wrapper1.last("limit 1"); |
| | | AuctionBidRecord one = auctionBidRecordService.getOne(wrapper1); |
| | | if (one!=null){ |
| | | BigDecimal bigDecimal1=one.getLastBidAmount().add(byId.getMinimumMarkupAmount()); |
| | | if (bigDecimal1.doubleValue()<bidVO.getLastBidAmount().doubleValue()){ |
| | | throw new ServiceException("出价不能比上次出价加每次最少加价低"); |
| | | if (byId.getAuctionStock()==1) { |
| | | if (one != null) { |
| | | BigDecimal bigDecimal1 = one.getLastBidAmount().add(byId.getMinimumMarkupAmount()); |
| | | if (bigDecimal1.doubleValue() > bidVO.getLastBidAmount().doubleValue()) { |
| | | throw new ServiceException("出价不能比上次出价加每次最少加价低"); |
| | | } |
| | | |
| | | } |
| | | one.setLastBidAmount(bidVO.getLastBidAmount()); |
| | | one.setLastBidTime(LocalDateTime.now()); |
| | | one.setBidCount(one.getBidCount()+1); |
| | | auctionBidRecordService.updateById(one); |
| | | |
| | | |
| | | }else{ |
| | | one=new AuctionBidRecord(); |
| | | one.setAuctionSalesroomId(bidVO.getAuctionSalesroomId()); |
| | | one.setTargetId(bidVO.getTargetId()); |
| | | one.setMemberId(bidVO.getMemberId()); |
| | | one.setLastBidTime(LocalDateTime.now()); |
| | | one.setAuctionType(AuctionOrderTypeEnum.REGULAR_ITEMS); |
| | | one.setStatus(BidStatusEnum.ELIMINATE); |
| | | one.setBidCount(1); |
| | | one.setLastBidAmount(bidVO.getLastBidAmount()); |
| | | auctionBidRecordService.save(one); |
| | | } |
| | | |
| | | LambdaQueryWrapper<AuctionBidRecord> wrapper2=Wrappers.lambdaQuery(); |
| | | wrapper2.eq(AuctionBidRecord::getAuctionSalesroomId,bidVO.getAuctionSalesroomId()); |
| | | wrapper2.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId()); |
| | | wrapper2.eq(AuctionBidRecord::getDelFlag,0); |
| | | wrapper2.orderByDesc(AuctionBidRecord::getLastBidAmount); |
| | | AuctionBidRecord one2 = auctionBidRecordService.getOne(wrapper1); |
| | | LambdaQueryWrapper<AuctionBidRecord> wrapper3=Wrappers.lambdaQuery(); |
| | | wrapper3.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId()); |
| | | wrapper3.eq(AuctionBidRecord::getDelFlag,0); |
| | | wrapper3.eq(AuctionBidRecord::getMemberId,bidVO.getMemberId()); |
| | | wrapper3.orderByDesc(AuctionBidRecord::getLastBidAmount); |
| | | wrapper3.last("limit 1"); |
| | | AuctionBidRecord one3 = auctionBidRecordService.getOne(wrapper3); |
| | | if (one3!=null){ |
| | | one3.setLastBidAmount(bidVO.getLastBidAmount()); |
| | | one3.setLastBidTime(LocalDateTime.now()); |
| | | one3.setBidCount(one.getBidCount()+1); |
| | | auctionBidRecordService.updateById(one3); |
| | | }else{ |
| | | one3=new AuctionBidRecord(); |
| | | one3.setAuctionSalesroomId(bidVO.getAuctionSalesroomId()); |
| | | one3.setTargetId(bidVO.getTargetId()); |
| | | one3.setMemberId(bidVO.getMemberId()); |
| | | one3.setLastBidTime(LocalDateTime.now()); |
| | | one3.setAuctionType(AuctionOrderTypeEnum.REGULAR_ITEMS); |
| | | one3.setStatus(BidStatusEnum.ELIMINATE); |
| | | one3.setBidCount(1); |
| | | one3.setLastBidAmount(bidVO.getLastBidAmount()); |
| | | auctionBidRecordService.save(one3); |
| | | } |
| | | |
| | | Map<String, Object> map = new ConcurrentHashMap<>(); |
| | | map.put("notification_type", NotificationTypeConstant.AUCTION_SALESROOM); |
| | | map.put("auctionSalesroomId", bidVO.getAuctionSalesroomId()); |
| | | map.put("auctionSalesroomId", byId.getId()); |
| | | map.put("byId", byId.getStartStatus()); |
| | | map.put("lastBidAmount",one2.getLastBidAmount()); |
| | | map.put("lastBidAmount",one.getLastBidAmount()); |
| | | map.put("message_type", "BidRecor"); |
| | | map.put("type",4); |
| | | String msg = null; |