mitao
2024-06-18 06f59ebb282ab74565585f77dde772d228d6075a
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
@@ -6,16 +6,7 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Lists;
import com.ruoyi.system.api.constants.NotificationTypeConstant;
import com.ruoyi.system.api.domain.*;
import com.ruoyi.system.api.domain.dto.AuctionSalesroomDTO;
import com.ruoyi.system.api.domain.dto.AuctionSalesroomGoodsInfoDTO;
import com.ruoyi.system.api.domain.vo.AuctionBidRecordVO;
import com.ruoyi.system.api.domain.vo.AuctionSalesroomGoodsInfoVO;
import com.ruoyi.system.api.domain.vo.AuctionSalesroomVO;
import com.ruoyi.system.api.domain.vo.ForepartAuctionSalesroomGoodsVO;
import com.ruoyi.auction.domain.AuctionBidRecord;
import com.ruoyi.auction.domain.AuctionBrowseRecord;
import com.ruoyi.auction.domain.AuctionSalesroomGoods;
import com.ruoyi.auction.mapper.AuctionBidRecordMapper;
import com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper;
@@ -29,24 +20,31 @@
import com.ruoyi.common.core.enums.AuctionOrderTypeEnum;
import com.ruoyi.common.core.enums.AuctionStartStatusEnum;
import com.ruoyi.common.core.enums.BidStatusEnum;
import com.ruoyi.common.core.enums.ClientTypeEnum;
import com.ruoyi.common.core.enums.OrderFromEnum;
import com.ruoyi.system.api.constants.NotificationTypeConstant;
import com.ruoyi.system.api.domain.*;
import com.ruoyi.system.api.domain.dto.AuctionSalesroomDTO;
import com.ruoyi.system.api.domain.dto.AuctionSalesroomGoodsInfoDTO;
import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
import com.ruoyi.system.api.domain.dto.OrderAuctionBondDTO;
import com.ruoyi.system.api.domain.dto.OrderDTO;
import com.ruoyi.system.api.domain.vo.AuctionBidRecordVO;
import com.ruoyi.system.api.domain.vo.AuctionSalesroomGoodsInfoVO;
import com.ruoyi.system.api.domain.vo.AuctionSalesroomVO;
import com.ruoyi.system.api.domain.vo.ForepartAuctionSalesroomGoodsVO;
import com.ruoyi.system.api.feignClient.GoodsSkuClient;
import com.ruoyi.system.api.feignClient.MemberClient;
import com.ruoyi.system.api.feignClient.OrderClient;
import com.ruoyi.system.api.feignClient.SysUserClient;
import com.ruoyi.system.api.util.WebSocketUsers;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import javax.annotation.Resource;
import com.ruoyi.system.api.feignClient.SysUserClient;
import com.ruoyi.system.api.util.WebSocketUsers;
import org.springframework.stereotype.Service;
@@ -324,7 +322,7 @@
            msg = objectMapper.writeValueAsString(map);
        } catch (JsonProcessingException e) {
        }
        WebSocketUsers.sendMessageToUsersByText(msg);
        WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.AUCTIONEER.getCode(), msg);
    }
@@ -386,7 +384,7 @@
            msg = objectMapper.writeValueAsString(map);
        } catch (JsonProcessingException e) {
        }
        WebSocketUsers.sendMessageToUsersByText(msg);
        WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.AUCTIONEER.getCode(), msg);
    }
@@ -430,7 +428,7 @@
        } catch (JsonProcessingException e) {
            throw new RuntimeException(e);
        }
        WebSocketUsers.sendMessageToUsersByText(msg);*/
        WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.AUCTIONEER.getCode(), msg);*/
    }
@@ -498,7 +496,7 @@
        } catch (JsonProcessingException e) {
            throw new RuntimeException(e);
        }
        WebSocketUsers.sendMessageToUsersByText(msg);*/
        WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.AUCTIONEER.getCode(), msg);*/
    }
@@ -547,6 +545,15 @@
            AuctionSalesroomGoodsInfoVO.setPresentBid(list1.getLastBidAmount());
            if (list1.getStatus().getCode()==2){
                AuctionSalesroomGoodsInfoVO.setIsStatus(2);
                OrderDTO orderDTO =new OrderDTO();
                orderDTO.setMemberId(auctionSalesroomGoodsInfoDTO.getMemberId());
                orderDTO.setGoodsSkuId(byId1.getId());
                Order data4 = orderClient.getOrderOne(orderDTO, SecurityConstants.INNER).getData();
                if (data4!=null){
                    AuctionSalesroomGoodsInfoVO.setOrderId(data4.getId());
                    AuctionSalesroomGoodsInfoVO.setOrderNo(data4.getOrderNo());
                }
            }else{
                AuctionSalesroomGoodsInfoVO.setIsStatus(1);
            }
@@ -573,10 +580,8 @@
            auctionBidRecordVO.setSort(i+1);
            auctionBidRecordVO.setLastBidAmount(auctionBidRecordList.get(i).getLastBidAmount());
            auctionBidRecordVO.setLastBidTime(auctionBidRecordList.get(i).getLastBidTime());
            Member data = emberClient.getMembeOne(auctionBidRecordList.get(i).getMemberId(),
                    SecurityConstants.INNER).getData();
            auctionBidRecordVO.setMemberName(data.getNickname());
            auctionBidRecordVO.setMemberId(data.getId());
            auctionBidRecordVO.setMemberName(auctionBidRecordList.get(i).getNickname());
            auctionBidRecordVO.setMemberId(auctionBidRecordList.get(i).getId());
            auctionBidRecordVOList.add(auctionBidRecordVO);
        }
        LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery();
@@ -586,25 +591,27 @@
        wrapper1.eq(AuctionBidRecord::getMemberId,auctionSalesroomGoodsInfoDTO.getMemberId());
        wrapper.last("limit 1");
        AuctionBidRecord auctionBidRecord = auctionBidRecordMapper.selectOne(wrapper);
        LambdaQueryWrapper<AuctionBidRecord> wrapper3=Wrappers.lambdaQuery();
        wrapper3.eq(AuctionBidRecord::getAuctionSalesroomId,auctionSalesroomGoodsInfoDTO.getAuctionSalesroomId());
        wrapper3.eq(AuctionBidRecord::getDelFlag,0);
        wrapper3.eq(AuctionBidRecord::getTargetId,auctionSalesroomGoodsInfoDTO.getGoodsSkuId());
        wrapper3.le(AuctionBidRecord::getId,auctionBidRecord.getId());
        wrapper3.orderByDesc(AuctionBidRecord::getLastBidAmount);
        Long count = auctionBidRecordMapper.selectCount(wrapper);
        if (count>0){
            AuctionBidRecordVO auctionBidRecordVO=new AuctionBidRecordVO();
            auctionBidRecordVO.setSort(Integer.valueOf(count.intValue()));
            auctionBidRecordVO.setLastBidAmount(auctionBidRecord.getLastBidAmount());
            auctionBidRecordVO.setLastBidTime(auctionBidRecord.getLastBidTime());
            Member data = emberClient.getMembeOne(auctionBidRecord.getMemberId(),
                    SecurityConstants.INNER).getData();
            auctionBidRecordVO.setMemberName(data.getNickname());
            auctionBidRecordVO.setMemberId(data.getId());
            auctionBidRecordVOList.add(auctionBidRecordVO);
        if (auctionBidRecord!=null){
            LambdaQueryWrapper<AuctionBidRecord> wrapper3=Wrappers.lambdaQuery();
            wrapper3.eq(AuctionBidRecord::getAuctionSalesroomId,auctionSalesroomGoodsInfoDTO.getAuctionSalesroomId());
            wrapper3.eq(AuctionBidRecord::getDelFlag,0);
            wrapper3.eq(AuctionBidRecord::getTargetId,auctionSalesroomGoodsInfoDTO.getGoodsSkuId());
            wrapper3.le(AuctionBidRecord::getId,auctionBidRecord.getId());
            wrapper3.orderByDesc(AuctionBidRecord::getLastBidAmount);
            Long count = auctionBidRecordMapper.selectCount(wrapper);
            if (count>0){
                AuctionBidRecordVO auctionBidRecordVO=new AuctionBidRecordVO();
                auctionBidRecordVO.setSort(Integer.valueOf(count.intValue()));
                auctionBidRecordVO.setLastBidAmount(auctionBidRecord.getLastBidAmount());
                auctionBidRecordVO.setLastBidTime(auctionBidRecord.getLastBidTime());
                Member data = emberClient.getMembeOne(auctionBidRecord.getMemberId(),
                        SecurityConstants.INNER).getData();
                auctionBidRecordVO.setMemberName(data.getNickname());
                auctionBidRecordVO.setMemberId(data.getId());
                auctionBidRecordVOList.add(auctionBidRecordVO);
            }
        }
        return auctionBidRecordVOList;
    }