| | |
| | | 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; |
| | |
| | | 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()); |
| | |
| | | List<ForepartAuctionSalesroomGoodsVO> forepartAuctionSalesroomGoodsVOS=new ArrayList<>(); |
| | | MemberAuctionSalesroomDTO memberAuctionSalesroomDTO1 =new MemberAuctionSalesroomDTO(); |
| | | memberAuctionSalesroomDTO1.setAuctionSalesroomId(byId.getId()); |
| | | memberAuctionSalesroomDTO1.setBackupStatus(false); |
| | | List<AuctionSalesroomGoods> auctionSalesroomGoods = auctionSalesroomGoodsMapper.getAuctionSalesroomGoods(memberAuctionSalesroomDTO1); |
| | | for (AuctionSalesroomGoods salesroomGoods:auctionSalesroomGoods){ |
| | | ForepartAuctionSalesroomGoodsVO forepartAuctionSalesroomGoodsVO=new ForepartAuctionSalesroomGoodsVO(); |
| | |
| | | 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()); |
| | |
| | | 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("出价不能比当前最高价低"); |
| | | } |
| | | } |
| | | |
| | | |
| | | 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()); |
| | |
| | | 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); |
| | |
| | | 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()); |
| | | 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); |
| | | 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",one3.getLastBidAmount()); |
| | | map.put("message_type", "BidRecor"); |
| | | map.put("type",4); |
| | | String msg = null; |
| | |
| | | vo.setAuctionSalesroomGoodsVOS(collect); |
| | | if (StringUtils.isNotNull(vo.getCurrentAuctionSalesroomGoods())) { |
| | | int index = collect.indexOf(vo.getCurrentAuctionSalesroomGoods()); |
| | | vo.setNextAuctionSalesroomGoods(collect.get(index + 1)); |
| | | if (collect.size() > 1) { |
| | | vo.setNextAuctionSalesroomGoods(collect.get(index + 1)); |
| | | } |
| | | // 分页查询当前拍品出价信息 |
| | | List<AuctionBidRecord> list = auctionBidRecordService.lambdaQuery() |
| | | .eq(AuctionBidRecord::getTargetId, |