| | |
| | | goodsSkuIdList = data.stream().map(OrderAuctionBond::getAuctionSalesroomId) |
| | | .collect(Collectors.toSet()); |
| | | |
| | | /* MemberAuctionSalesroomWdDTO memberAuctionSalesroomWdDTO=new MemberAuctionSalesroomWdDTO(); |
| | | if (goodsSkuIdList.size()>0){ |
| | | memberAuctionSalesroomWdDTO.setGoodsSkuIdList(goodsSkuIdList); |
| | | }else{ |
| | | Set<Long> goodsSkuIdList1 = new HashSet<>(); |
| | | goodsSkuIdList1.add(0L); |
| | | memberAuctionSalesroomWdDTO.setGoodsSkuIdList(goodsSkuIdList1); |
| | | } |
| | | |
| | | if(MemberAuctionSalesroomDTO.getStatus()!=4){ |
| | | if (MemberAuctionSalesroomDTO.getStatus()==0){ |
| | | memberAuctionSalesroomWdDTO.setStatus(5); |
| | | }else{ |
| | | memberAuctionSalesroomWdDTO.setStatus(MemberAuctionSalesroomDTO.getStatus()); |
| | | } |
| | | |
| | | }*/ |
| | | |
| | | Page<AuctionSalesroom> page = new Page<>(memberAuctionSalesroomDTO.getPageCurr(), |
| | | memberAuctionSalesroomDTO.getPageSize()); |
| | | // page.setSize(memberAuctionSalesroomDTO.getPageSize()); |
| | | // page.setCurrent(memberAuctionSalesroomDTO.getPageCurr()); |
| | | LambdaQueryWrapper<AuctionSalesroom> wrapper1=Wrappers.lambdaQuery(); |
| | | if (goodsSkuIdList.size()>0){ |
| | | wrapper1.in(AuctionSalesroom::getId,goodsSkuIdList); |
| | |
| | | MgtAuctionSalesroomVO mgtAuctionSalesroomVO = this.getAuctionSalesroom(id, Boolean.TRUE); |
| | | MgtAuctionSalesroomScreenVO vo = BeanUtils.copyBean( |
| | | mgtAuctionSalesroomVO, MgtAuctionSalesroomScreenVO.class); |
| | | if (vo.getStatus().equals(AuctionStartStatusEnum.IN_AUCTION)) { |
| | | List<MgtAuctionSalesroomGoodsVO> auctionSalesroomGoodsVOS = vo.getAuctionSalesroomGoodsVOS(); |
| | | if (StringUtils.isNotEmpty(auctionSalesroomGoodsVOS)) { |
| | | List<MgtAuctionSalesroomGoodsVO> collect = auctionSalesroomGoodsVOS.stream() |
| | |
| | | .filter(c -> c.getStatus().equals(AuctionGoodsStatusEnum.WAITING)) |
| | | .findFirst(); |
| | | vo.setNextAuctionSalesroomGoods(first.orElse(null)); |
| | | } |
| | | } |
| | | } |
| | | return vo; |
| | |
| | | */ |
| | | @Override |
| | | public void stopCurrentGoods(Long id) throws JsonProcessingException { |
| | | RLock lock = redissonClient.getLock("stopCurrentGoods" + id); |
| | | lock.lock(10, TimeUnit.SECONDS); |
| | | try { |
| | | AuctionSalesroomGoods auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectById( |
| | | id); |
| | | AuctionSalesroomGoods auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectById(id); |
| | | if (StringUtils.isNull(auctionSalesroomGoods)) { |
| | | throw new ServiceException("拍卖商品不存在"); |
| | | } |
| | | if (auctionSalesroomGoods.getStatus().equals(AuctionGoodsStatusEnum.IN_PROGRESS)) { |
| | | AuctionSalesroom auctionSalesroom = this.getById( |
| | | auctionSalesroomGoods.getAuctionSalesroomId()); |
| | | auctionSalesroomGoods.setStatus(AuctionGoodsStatusEnum.ENDED); |
| | |
| | | .eq(AuctionBidRecord::getAuctionSalesroomId, |
| | | auctionSalesroomGoods.getAuctionSalesroomId()) |
| | | .eq(AuctionBidRecord::getTargetId, auctionSalesroomGoods.getId()) |
| | | .eq(AuctionBidRecord::getAuctionType, |
| | | AuctionOrderTypeEnum.AUCTION_ITEMS) |
| | | .eq(AuctionBidRecord::getAuctionType, AuctionOrderTypeEnum.AUCTION_ITEMS) |
| | | .orderByDesc(AuctionBidRecord::getLastBidAmount)); |
| | | if (CollUtils.isNotEmpty(auctionBidRecordList)) { |
| | | List<AuctionBidRecord> auctionBidRecords = new ArrayList<>(); |
| | |
| | | GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); |
| | | goodsStockUpdDTO.setGoodsSkuId(auctionSalesroomGoods.getGoodsSkuId()); |
| | | goodsStockUpdDTO.setAuctionStock( |
| | | auctionSalesroomGoods.getSalesroomStock() |
| | | - auctionBidRecordList.size()); |
| | | auctionSalesroomGoods.getSalesroomStock() - auctionBidRecordList.size()); |
| | | goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), |
| | | SecurityConstants.INNER); |
| | | } |
| | |
| | | } |
| | | Map<String, Object> map = new ConcurrentHashMap<>(); |
| | | map.put("notification_type", NotificationTypeConstant.AUCTION_SALESROOM_GOODS); |
| | | map.put("auctionSalesroomId", |
| | | auctionSalesroomGoods.getAuctionSalesroomId().toString()); |
| | | map.put("auctionSalesroomId", auctionSalesroomGoods.getAuctionSalesroomId().toString()); |
| | | map.put("auctionSalesroomGoodsId", auctionSalesroomGoods.getId().toString()); |
| | | map.put("AuctionTypeEnum", auctionSalesroomGoods.getStatus()); |
| | | map.put("message_type", "stop"); |
| | | map.put("type", "2"); |
| | | String msg = objectMapper.writeValueAsString(map); |
| | | sysUserClient.pushAll(msg, SecurityConstants.INNER); |
| | | } |
| | | } finally { |
| | | if (lock.isLocked() && lock.isHeldByCurrentThread()) { |
| | | lock.unlock(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void addOrder(Long goodsSkuId, Long memberId, BigDecimal lastBidAmount, |
| | |
| | | List<AuctionBidRecord> auctionBidRecordList = auctionBidRecordMapper.selectList( |
| | | Wrappers.<AuctionBidRecord>lambdaQuery() |
| | | .eq(AuctionBidRecord::getAuctionSalesroomId, auctionSalesroomId) |
| | | .eq(AuctionBidRecord::getStatus, BidStatusEnum.SUCCESSFUL)); |
| | | .ne(AuctionBidRecord::getStatus, BidStatusEnum.SUCCESSFUL)); |
| | | Set<Long> memberIdList = new HashSet<>(); |
| | | if (CollUtils.isNotEmpty(auctionBidRecordList)) { |
| | | memberIdList = auctionBidRecordList.stream().map(AuctionBidRecord::getMemberId) |