mitao
2024-06-01 07c30af8fdfb9b75086e9e02c4d695fded2a03ab
提交【管理后台】-大屏操作台相关接口
1个文件已删除
3个文件已添加
6个文件已修改
349 ■■■■ 已修改文件
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/AuctionGoodsStatusEnum.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionScreenController.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionVideoController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/MgtAuctionSalesroomGoodsVO.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/MgtAuctionSalesroomScreenVO.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/MgtAuctionSalesroomVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionSalesroomGoods.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/AuctionGoodsStatusEnum.java
New file
@@ -0,0 +1,39 @@
package com.ruoyi.common.core.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum AuctionGoodsStatusEnum {
    /*状态 0=等待中 1=进行中 2=已结束*/
    WAITING(0, "等待中"),
    IN_PROGRESS(1, "进行中"),
    ENDED(2, "已结束");
    @EnumValue
    private final int code;
    @JsonValue
    private final String desc;
    /**
     * 通过code获取枚举
     *
     * @param code
     * @return
     */
    public static AuctionGoodsStatusEnum fromCode(Integer code) {
        AuctionGoodsStatusEnum[] resultTypes = AuctionGoodsStatusEnum.values();
        for (AuctionGoodsStatusEnum resultType : resultTypes) {
            if (code.equals(resultType.getCode())) {
                return resultType;
            }
        }
        return null;
    }
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionScreenController.java
New file
@@ -0,0 +1,61 @@
package com.ruoyi.auction.controller.management;
import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomQuery;
import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomScreenVO;
import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomVO;
import com.ruoyi.auction.service.IAuctionSalesroomService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.common.core.web.page.BasePage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * 拍卖会视频表 前端控制器
 * </p>
 *
 * @author mitao
 * @since 2024-05-17
 */
@RestController
@RequestMapping("/mgt/auction-screen")
@Api(tags = {"管理后台-大屏操作台相关接口"})
@RequiredArgsConstructor
public class MgtAuctionScreenController {
    private final IAuctionSalesroomService auctionSalesroomService;
    /**
     * 大屏操作台分页查询拍卖场
     *
     * @param query 拍卖场查询对象
     * @return PageDTO<MgtAuctionSalesroomVO>
     */
    @PostMapping("/page")
    @ApiOperation(value = "获取拍卖场列表的分页数据", notes = "获取拍卖场列表的分页数据")
    public R<PageDTO<MgtAuctionSalesroomVO>> getAuctionSalesroom4ScreenPage(
            MgtAuctionSalesroomQuery query) {
        return R.ok(auctionSalesroomService.getAuctionSalesroom4ScreenPage(query));
    }
    /**
     * 进入详情
     *
     * @param id 拍卖会id
     * @return 大屏操作台拍卖场视图对象
     */
    @PostMapping("/detail/{id}")
    @ApiOperation(value = "进入详情", notes = "进入详情")
    public R<MgtAuctionSalesroomScreenVO> getAuctionSalesroomDetail(@PathVariable("id") Long id,
            @RequestParam("basePage") BasePage basePage) {
        return R.ok(auctionSalesroomService.getAuctionSalesroomDetail(id, basePage));
    }
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionVideoController.java
File was deleted
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/MgtAuctionSalesroomGoodsVO.java
@@ -1,11 +1,14 @@
package com.ruoyi.auction.controller.management.vo;
import com.ruoyi.common.core.enums.AuctionStartStatusEnum;
import com.ruoyi.common.core.enums.AuctionGoodsStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * @author mitao
@@ -13,6 +16,9 @@
 */
@Data
@ApiModel(value = "拍卖场商品视图对象", description = "拍卖场商品视图对象")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MgtAuctionSalesroomGoodsVO implements Serializable {
    private static final long serialVersionUID = 2894806543298759929L;
@@ -22,7 +28,7 @@
    @ApiModelProperty(value = "商品id")
    private Long goodsSkuId;
    @ApiModelProperty("拍卖商品名")
    private String goodsSkuName;
@@ -41,7 +47,19 @@
    @ApiModelProperty(value = "设为备选")
    private Boolean backupStatus;
    @ApiModelProperty(value = "状态 0=预展中 1=拍卖中 2=已结束")
    private AuctionStartStatusEnum status;
    @ApiModelProperty(value = "状态 0=等待中 1=进行中 2=已结束")
    private AuctionGoodsStatusEnum status;
    @ApiModelProperty(value = "规格")
    private String spec;
    @ApiModelProperty(value = "中拍人数")
    private Integer bidCount = 0;
    @ApiModelProperty(value = "已拍数量")
    private Integer bidQuantity = 0;
    @ApiModelProperty(value = "已拍人数")
    private Integer bidPersonCount = 0;
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/MgtAuctionSalesroomScreenVO.java
New file
@@ -0,0 +1,49 @@
package com.ruoyi.auction.controller.management.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.enums.AuctionStartStatusEnum;
import com.ruoyi.common.core.utils.page.PageDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import lombok.Data;
/**
 * @author mitao
 * @date 2024/5/29
 */
@Data
@ApiModel(value = "大屏操作台拍卖场视图对象", description = "大屏操作台拍卖场视图对象")
public class MgtAuctionSalesroomScreenVO implements Serializable {
    private static final long serialVersionUID = -5626613967629761052L;
    @ApiModelProperty(value = "拍卖场id")
    private Long id;
    @ApiModelProperty(value = "拍卖场名称")
    private String salesroomName;
    @ApiModelProperty(value = "开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startTime;
    @ApiModelProperty(value = "拍卖状态 0=预展中 1=拍卖中 2=已结束")
    private AuctionStartStatusEnum status;
    @ApiModelProperty(value = "当前拍品信息")
    private MgtAuctionSalesroomGoodsVO currentAuctionSalesroomGoods;
    @ApiModelProperty(value = "下一拍品拍卖信息")
    private MgtAuctionSalesroomGoodsVO nextAuctionSalesroomGoods;
    @ApiModelProperty(value = "拍卖信息")
    private List<MgtAuctionSalesroomGoodsVO> auctionSalesroomGoodsVOS;
    @ApiModelProperty(value = "当前拍品出价信息")
    private PageDTO<MgtAuctionBidRecordVO> mgtAuctionBidRecordVOPageDTO;
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/MgtAuctionSalesroomVO.java
@@ -10,7 +10,10 @@
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * @author mitao
@@ -18,6 +21,9 @@
 */
@Data
@ApiModel(value = "拍卖场视图对象", description = "拍卖场视图对象")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MgtAuctionSalesroomVO implements Serializable {
    private static final long serialVersionUID = -7682015246094307938L;
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionSalesroomGoods.java
@@ -6,7 +6,7 @@
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.enums.AuctionStartStatusEnum;
import com.ruoyi.common.core.enums.AuctionGoodsStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
@@ -67,8 +67,8 @@
    @ApiModelProperty(value = "开始时间")
    private LocalDateTime startTime;
    @ApiModelProperty(value = "状态 0=预展中 1=拍卖中 2=已结束")
    private AuctionStartStatusEnum status;
    @ApiModelProperty(value = "状态 0=等待中 1=进行中 2=已结束")
    private AuctionGoodsStatusEnum status;
    @ApiModelProperty(value = "创建者")
    @TableField(value = "create_by", fill = FieldFill.INSERT)
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java
@@ -10,8 +10,10 @@
import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomDTO;
import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomQuery;
import com.ruoyi.auction.controller.management.vo.MgtAuctionBidRecordVO;
import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomScreenVO;
import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomVO;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.common.core.web.page.BasePage;
import com.ruoyi.system.api.domain.AppMiniLoginVO;
import com.ruoyi.system.api.domain.AuctionSalesroom;
import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO;
@@ -98,4 +100,21 @@
     */
    PageDTO<MgtAuctionBidRecordVO> getAuctionSalesroomBidRecordList(
            MgtAuctionSaleroomBidRecordQuery query);
    /**
     * 大屏操作台分页查询拍卖场
     *
     * @param query 拍卖场查询对象
     * @return PageDTO<MgtAuctionSalesroomVO>
     */
    PageDTO<MgtAuctionSalesroomVO> getAuctionSalesroom4ScreenPage(MgtAuctionSalesroomQuery query);
    /**
     * 进入详情
     *
     * @param id   拍卖会id
     * @param page
     * @return 大屏操作台拍卖场视图对象
     */
    MgtAuctionSalesroomScreenVO getAuctionSalesroomDetail(Long id, BasePage basePage);
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
@@ -22,6 +22,7 @@
import com.ruoyi.auction.service.IAuctionSalesroomService;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.enums.AuctionGoodsStatusEnum;
import com.ruoyi.common.core.enums.AuctionOrderTypeEnum;
import com.ruoyi.common.core.enums.AuctionStartStatusEnum;
import com.ruoyi.common.core.enums.BidStatusEnum;
@@ -291,7 +292,7 @@
        wrapper2.orderByAsc(AuctionSalesroomGoods::getSortNum);
        wrapper2.last("limit 1");
        AuctionSalesroomGoods auctionSalesroomGoods = this.getOne(wrapper2);
        auctionSalesroomGoods.setStatus(AuctionStartStatusEnum.IN_AUCTION);
        auctionSalesroomGoods.setStatus(AuctionGoodsStatusEnum.IN_PROGRESS);
        this.updateById(auctionSalesroomGoods);
    }
@@ -316,7 +317,7 @@
        List<AuctionSalesroomGoods> auctionSalesroomGoods=this.list(wrapper2);
        if (auctionSalesroomGoods.size()>0){
            for (AuctionSalesroomGoods salesroomGoods:auctionSalesroomGoods){
                salesroomGoods.setStatus(AuctionStartStatusEnum.ENDED);
                salesroomGoods.setStatus(AuctionGoodsStatusEnum.ENDED);
                this.updateById(salesroomGoods);
                GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO();
@@ -373,7 +374,7 @@
        wrapper2.eq(AuctionSalesroomGoods::getDelFlag,0);
        wrapper2.eq(AuctionSalesroomGoods::getGoodsSkuId,auctionSalesroomGoodsDTO.getGoodsSkuId());
        AuctionSalesroomGoods auctionSalesroomGoods=this.getOne(wrapper2);
        auctionSalesroomGoods.setStatus(AuctionStartStatusEnum.IN_AUCTION);
        auctionSalesroomGoods.setStatus(AuctionGoodsStatusEnum.IN_PROGRESS);
        this.updateById(auctionSalesroomGoods);
@@ -431,7 +432,7 @@
            }
        }
        auctionSalesroomGood.setStatus(AuctionStartStatusEnum.ENDED);
        auctionSalesroomGood.setStatus(AuctionGoodsStatusEnum.ENDED);
        this.updateById(auctionSalesroomGood);
    }
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.auction.service.impl;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.AlipayApiException;
@@ -25,6 +26,7 @@
import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomQuery;
import com.ruoyi.auction.controller.management.vo.MgtAuctionBidRecordVO;
import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomGoodsVO;
import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomScreenVO;
import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomVO;
import com.ruoyi.auction.domain.AuctionBidRecord;
import com.ruoyi.auction.domain.AuctionSalesroomGoods;
@@ -35,13 +37,13 @@
import com.ruoyi.auction.service.IAuctionBidRecordService;
import com.ruoyi.auction.service.IAuctionBrowseRecordService;
import com.ruoyi.auction.service.IAuctionGoodsService;
import com.ruoyi.auction.service.IAuctionSalesroomGoodsService;
import com.ruoyi.auction.service.IAuctionSalesroomService;
import com.ruoyi.auction.service.IAuctionVideoService;
import com.ruoyi.auction.util.CreateQrCode;
import com.ruoyi.auction.util.HttpUtils;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.enums.AuctionGoodsStatusEnum;
import com.ruoyi.common.core.enums.AuctionOrderTypeEnum;
import com.ruoyi.common.core.enums.AuctionStartStatusEnum;
import com.ruoyi.common.core.enums.BidStatusEnum;
@@ -53,6 +55,7 @@
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.core.web.page.BasePage;
import com.ruoyi.system.api.domain.AppMiniLoginVO;
import com.ruoyi.system.api.domain.AuctionGoods;
import com.ruoyi.system.api.domain.AuctionSalesroom;
@@ -60,7 +63,13 @@
import com.ruoyi.system.api.domain.Member;
import com.ruoyi.system.api.domain.OrderAuctionBond;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.domain.dto.*;
import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO;
import com.ruoyi.system.api.domain.dto.BidDTO;
import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomBondDTO;
import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO;
import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomWdDTO;
import com.ruoyi.system.api.domain.dto.RefundDTO;
import com.ruoyi.system.api.domain.vo.PayInfoVO;
import com.ruoyi.system.api.domain.vo.WdMemberAuctionSalesroomVO;
import com.ruoyi.system.api.feignClient.GoodsSkuClient;
@@ -70,7 +79,11 @@
import io.seata.spring.annotation.GlobalTransactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
import javax.annotation.Resource;
@@ -102,12 +115,11 @@
    @Resource
    private SysUserClient sysUserClient;
    // @Resource
    // private WxMaService wxMaService;
    @Resource
    private WxMaService wxMaService;
    @Resource
    private AuctionSalesroomGoodsMapper auctionSalesroomGoodsMapper;
    @Resource
    private IAuctionGoodsService auctionGoodsService;
@@ -117,6 +129,7 @@
    @Resource
    private OrderClient orderClient;
    @Resource
    private MemberClient memberClient;
@@ -260,7 +273,7 @@
            String openid;
            String sessionKey = null;
            //获取session
            // session = wxMaService.getUserService().getSessionInfo(appMiniLoginDto.getCode());
            session = wxMaService.getUserService().getSessionInfo(appMiniLoginDto.getCode());
            if (session != null && StringUtils.isNotBlank(session.getOpenid())) {
                unionid = session.getUnionid();
                openid = session.getOpenid();
@@ -809,6 +822,7 @@
        // 获取拍卖场商品
        LambdaQueryWrapper<AuctionSalesroomGoods> wrappers=new LambdaQueryWrapper<AuctionSalesroomGoods>();
        wrappers.eq(AuctionSalesroomGoods::getAuctionSalesroomId, id);
        wrappers.orderByDesc(AuctionSalesroomGoods::getSortNum);
        List<AuctionSalesroomGoods> list = auctionSalesroomGoodsMapper.selectList(wrappers);
        if (StringUtils.isNotEmpty(list)) {
            List<MgtAuctionSalesroomGoodsVO> mgtAuctionSalesroomGoodsVOS = BeanUtils.copyList(list,
@@ -827,6 +841,7 @@
                GoodsSku goodsSku = goodsSkuMap.get(vo.getGoodsSkuId());
                if (StringUtils.isNotNull(goodsSku)) {
                    vo.setGoodsSkuName(goodsSku.getSkuName());
                    vo.setSpec(goodsSku.getSpec());
                }
            }
            mgtAuctionSalesroomVO.setAuctionSalesroomGoodsVOS(mgtAuctionSalesroomGoodsVOS);
@@ -882,4 +897,89 @@
        }
        return mgtAuctionBidRecordVOPageDTO;
    }
    /**
     * 大屏操作台分页查询拍卖场
     *
     * @param query 拍卖场查询对象
     * @return PageDTO<MgtAuctionSalesroomVO>
     */
    @Override
    public PageDTO<MgtAuctionSalesroomVO> getAuctionSalesroom4ScreenPage(
            MgtAuctionSalesroomQuery query) {
        // 分页查询
        Page<AuctionSalesroom> page = this.lambdaQuery()
                .select(AuctionSalesroom::getId, AuctionSalesroom::getSalesroomName,
                        AuctionSalesroom::getStartTime, AuctionSalesroom::getStatus)
                .like(StringUtils.isNotEmpty(query.getSalesroomName()),
                        AuctionSalesroom::getSalesroomName, query.getSalesroomName())
                .eq(StringUtils.isNotNull(query.getStatus()), AuctionSalesroom::getStatus,
                        query.getStatus())
                .ne(AuctionSalesroom::getStatus, AuctionStartStatusEnum.ENDED)
                .between(StringUtils.isNotNull(query.getStartTime()) && StringUtils.isNotNull(
                                query.getEndTime()), AuctionSalesroom::getStartTime, query.getStartTime(),
                        query.getEndTime())
                .page(new Page<>(query.getPageCurr(), query.getPageSize()));
        List<AuctionSalesroom> records = page.getRecords();
        if (StringUtils.isNull(records)) {
            return PageDTO.empty(page);
        }
        return PageDTO.of(page, MgtAuctionSalesroomVO.class);
    }
    /**
     * 进入详情
     *
     * @param id       拍卖会id
     * @param basePage
     * @return 大屏操作台拍卖场视图对象
     */
    @Override
    public MgtAuctionSalesroomScreenVO getAuctionSalesroomDetail(Long id, BasePage basePage) {
        MgtAuctionSalesroomVO mgtAuctionSalesroomVO = this.getAuctionSalesroom(id);
        MgtAuctionSalesroomScreenVO vo = BeanUtils.copyBean(
                mgtAuctionSalesroomVO, MgtAuctionSalesroomScreenVO.class);
        if (vo.getStatus().equals(AuctionStartStatusEnum.IN_AUCTION)) {
            List<MgtAuctionSalesroomGoodsVO> auctionSalesroomGoodsVOS = vo.getAuctionSalesroomGoodsVOS();
            List<MgtAuctionSalesroomGoodsVO> collect = auctionSalesroomGoodsVOS.stream()
                    .peek(goods -> {
                        List<AuctionBidRecord> list = auctionBidRecordService.lambdaQuery()
                                .eq(AuctionBidRecord::getTargetId, goods.getId())
                                .eq(AuctionBidRecord::getAuctionType,
                                        AuctionOrderTypeEnum.AUCTION_ITEMS)
                                .list();
                        if (StringUtils.isNotEmpty(list)) {
                            long bidCount = list.stream()
                                    .filter(item -> BidStatusEnum.SUCCESSFUL.equals(
                                            item.getStatus()))
                                    .count();
                            goods.setBidCount((int) bidCount);
                            goods.setBidQuantity((int) bidCount);
                            goods.setBidPersonCount(list.size());
                        }
                        if (goods.getStatus().equals(AuctionGoodsStatusEnum.IN_PROGRESS)) {
                            vo.setCurrentAuctionSalesroomGoods(goods);
                        }
                    }).collect(Collectors.toList());
            vo.setAuctionSalesroomGoodsVOS(collect);
            if (StringUtils.isNotNull(vo.getCurrentAuctionSalesroomGoods())) {
                int index = collect.indexOf(vo.getCurrentAuctionSalesroomGoods());
                vo.setNextAuctionSalesroomGoods(collect.get(index + 1));
                // 分页查询当前拍品出价信息
                Page<AuctionBidRecord> page = auctionBidRecordService.lambdaQuery()
                        .eq(AuctionBidRecord::getTargetId,
                                vo.getCurrentAuctionSalesroomGoods().getId())
                        .eq(AuctionBidRecord::getAuctionType,
                                AuctionOrderTypeEnum.AUCTION_ITEMS)
                        .page(new Page<>(basePage.getPageCurr(), basePage.getPageSize()));
                if (StringUtils.isNotEmpty(page.getRecords())) {
                    vo.setMgtAuctionBidRecordVOPageDTO(PageDTO.empty(page));
                }
                vo.setMgtAuctionBidRecordVOPageDTO(PageDTO.of(page, MgtAuctionBidRecordVO.class));
            } else {
                vo.setNextAuctionSalesroomGoods(collect.get(0));
            }
        }
        return vo;
    }
}