mitao
2024-07-18 95639988ed630dae4b2461b5f6c3ccb6d9af8d86
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -428,6 +428,7 @@
        memberAuctionSalesroomInfoVO.setAuthentication(byId.getAuthentication());
        memberAuctionSalesroomInfoVO.setEndTime(byId.getEndTime());
        memberAuctionSalesroomInfoVO.setSalesroomName(byId.getSalesroomName());
        memberAuctionSalesroomInfoVO.setEndTime(byId.getEndTime());
        memberAuctionSalesroomInfoVO.setType(byId.getType());
        memberAuctionSalesroomInfoVO.setDescription(byId.getDescription());
        memberAuctionSalesroomInfoVO.setSharePic(byId.getSharePic());
@@ -458,7 +459,10 @@
            forepartAuctionSalesroomGoodsVO.setStartingPrice(salesroomGoods.getStartingPrice());
            forepartAuctionSalesroomGoodsVO.setSalesroomStock(salesroomGoods.getSalesroomStock());
            forepartAuctionSalesroomGoodsVO.setGoodsSkustatus(salesroomGoods.getStatus().getCode());
            forepartAuctionSalesroomGoodsVO.setMinimumMarkupAmount(salesroomGoods.getMinimumMarkupAmount());
            forepartAuctionSalesroomGoodsVO.setStartTime(salesroomGoods.getStartTime());
            forepartAuctionSalesroomGoodsVO.setYears(String.valueOf(goodsSku.getYears()));
            forepartAuctionSalesroomGoodsVO.setListingDuration(salesroomGoods.getListingDuration());
            forepartAuctionSalesroomGoodsVO.setSpec(goodsSku.getSpec());
            forepartAuctionSalesroomGoodsVO.setSpecUnit(goodsSku.getSpecUnit());
            LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery();
@@ -478,6 +482,28 @@
                forepartAuctionSalesroomGoodsVO.setIsBond(1);
                forepartAuctionSalesroomGoodsVO.setIsStatus(1);
            }
            LambdaQueryWrapper<AuctionBidRecord> wrapper2=Wrappers.lambdaQuery();
            wrapper2.eq(AuctionBidRecord::getAuctionSalesroomId,byId.getId());
            wrapper2.eq(AuctionBidRecord::getAuctionType,2);
            wrapper2.eq(AuctionBidRecord::getTargetId,salesroomGoods.getId());
            wrapper2.eq(AuctionBidRecord::getDelFlag,0);
            AuctionBidRecord list2 = auctionBidRecordMapper.selectOne(wrapper1);
            if (list2!=null){
                forepartAuctionSalesroomGoodsVO.setZgBid(list2.getLastBidAmount());
            }
            LambdaQueryWrapper<AuctionBidRecord> wrapper5=Wrappers.lambdaQuery();
            wrapper5.eq(AuctionBidRecord::getAuctionSalesroomId,byId.getId());
            wrapper5.eq(AuctionBidRecord::getAuctionType,2);
            wrapper5.eq(AuctionBidRecord::getTargetId,salesroomGoods.getId());
            wrapper5.eq(AuctionBidRecord::getMemberId,memberAuctionSalesroomDTO.getMemberId());
            wrapper5.eq(AuctionBidRecord::getDelFlag,0);
            AuctionBidRecord list5 = auctionBidRecordMapper.selectOne(wrapper1);
            if (list5!=null){
                forepartAuctionSalesroomGoodsVO.setPresentBid(list5.getLastBidAmount());
            }
            forepartAuctionSalesroomGoodsVOS.add(forepartAuctionSalesroomGoodsVO);
        }
        memberAuctionSalesroomInfoVO.setForepartAuctionSalesroomGoodsVO(forepartAuctionSalesroomGoodsVOS);
@@ -545,22 +571,15 @@
                throw new ServiceException("当前拍卖场中标拍品订单未完成,请完成后再试。");
            }
            // 远程调用订单服务进行退款
                Map<String, Object> data = orderClient.refund(refundDTOList,
                        SecurityConstants.INNER).getData();
                orderClient.refund1(refundDTO, SecurityConstants.INNER).getData();
                // 处理退款返回结果
                List<String> successfulOrders = new ArrayList<>();
                List<String> failedOrders = new ArrayList<>();
                data.forEach((key, value) -> {
                    if ((boolean) value) {
                        successfulOrders.add(key);
                    } else {
                        failedOrders.add(key);
                    }
                });
                // 退款成功的订单修改状态
                List<Long> ids = new ArrayList<>();
                List<Long> ids=new ArrayList<>();
                ids.add(orderAuctionBond.getId());
                // 远程调用订单服务修改订单状态
                orderClient.updateOrderAuctionBondStatus(ids, BondStatusEnum.REFUNDED,SecurityConstants.INNER);
@@ -570,6 +589,7 @@
            RefundDTO refundDTO = new RefundDTO();
            refundDTO.setOrderNo(orderAuctionBond.getOrderNo());
            refundDTO.setAmount(orderAuctionBond.getBond());
            refundDTOList.add(refundDTO);
            LambdaQueryWrapper<AuctionBidRecord> wrapper = Wrappers.lambdaQuery();
            wrapper.eq(AuctionBidRecord::getTargetId, memberAuctionSalesroomBondDTO.getAuctionGoodsId());
@@ -582,21 +602,11 @@
            }
            // 远程调用订单服务进行退款
            Map<String, Object> data = orderClient.refund(refundDTOList,
             orderClient.refund1(refundDTO,
                    SecurityConstants.INNER).getData();
            // 处理退款返回结果
            List<String> successfulOrders = new ArrayList<>();
            List<String> failedOrders = new ArrayList<>();
            data.forEach((key, value) -> {
                if ((boolean) value) {
                    successfulOrders.add(key);
                } else {
                    failedOrders.add(key);
                }
            });
            // 退款成功的订单修改状态
            List<Long> ids = new ArrayList<>();
            List<Long> ids=new ArrayList<>();
            ids.add(orderAuctionBond.getId());
            // 远程调用订单服务修改订单状态
            orderClient.updateOrderAuctionBondStatus(ids,BondStatusEnum.REFUNDED,SecurityConstants.INNER);
@@ -613,11 +623,6 @@
            if (byId.getStartingPrice().doubleValue()>bidVO.getLastBidAmount().doubleValue()){
                throw new ServiceException("出价不能比起拍价低");
            }
            BigDecimal bigDecimal=byId.getStartingPrice().add(byId.getMinimumMarkupAmount());
            if (bigDecimal.doubleValue()>bidVO.getLastBidAmount().doubleValue()){
                throw new ServiceException("出价不能比每次最少加价低");
            }
            LambdaQueryWrapper<AuctionBidRecord> wrapper3=Wrappers.lambdaQuery();
            wrapper3.eq(AuctionBidRecord::getAuctionSalesroomId,bidVO.getAuctionSalesroomId());
@@ -631,6 +636,14 @@
                    throw new ServiceException("出价不能比当前最高价低");
                }
            }
            BigDecimal bigDecimal=byId.getStartingPrice().add(byId.getMinimumMarkupAmount());
            if (bigDecimal.doubleValue()>bidVO.getLastBidAmount().doubleValue()){
                throw new ServiceException("出价不能比每次最少加价低");
            }
            LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery();
@@ -655,7 +668,7 @@
                one.setTargetId(bidVO.getTargetId());
                one.setMemberId(bidVO.getMemberId());
                one.setLastBidTime(LocalDateTime.now());
                if(membeOne.getRealName()!=null||membeOne.getRealName()!=""){
                if(membeOne.getRealName()!=null&&membeOne.getRealName()!=""){
                    one.setNickname(membeOne.getRealName());
                }else{
                    one.setNickname(membeOne.getNickname());
@@ -1482,8 +1495,8 @@
                Wrappers.<AuctionBidRecord>lambdaQuery()
                        .eq(AuctionBidRecord::getAuctionSalesroomId, auctionSalesroomId)
                        .eq(AuctionBidRecord::getStatus, BidStatusEnum.ELIMINATE));
        List<Long> memberIdlist = auctionBidRecordList.stream().map(AuctionBidRecord::getMemberId)
                .collect(Collectors.toList());
        Set<Long> memberIdlist = auctionBidRecordList.stream().map(AuctionBidRecord::getMemberId)
                .collect(Collectors.toSet());
        if (StringUtils.isNotEmpty(memberIdlist)) {
            OrderAuctionBondDTO orderAuctionBondDTO = new OrderAuctionBondDTO();
            orderAuctionBondDTO.setAuctionSalesroomId(auctionSalesroom.getId());