mitao
2024-05-30 9c79ad34c11eb1a51e41ab62eb1e1d801f479398
1.提交【管理后台】 拍卖场管理查看详情接口
4 文件已重命名
10个文件已修改
2个文件已添加
351 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionGoodsController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionSalesroomController.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtAuctionGoodsDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtAuctionGoodsQuery.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtAuctionSaleroomBidRecordQuery.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/MgtAuctionBidRecordVO.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/MgtAuctionGoodsVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/MgtAuctionSalesroomGoodsVO.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/MgtAuctionSalesroomVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java 14 ●●●● 补丁 | 查看 | 原始文档 | 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/AuctionGoodsServiceImpl.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSkuController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java
@@ -9,6 +9,7 @@
import com.ruoyi.system.api.domain.GoodsSku;
import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
import com.ruoyi.system.api.feignClient.GoodsSkuClient;
import java.util.Collection;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -88,6 +89,12 @@
            public R<?> updGoodsStock(List<GoodsStockUpdDTO> goodsStockUpdDTOS, String source) {
                return R.fail("更新商品库存失败:" + cause.getMessage());
            }
            @Override
            public R<List<GoodsSku>> getGoodsListByIds(Collection<Long> goodsIdList,
                    String source) {
                return R.fail("根据商品id集合查询商品列表失败:" + cause.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java
@@ -11,6 +11,7 @@
import com.ruoyi.system.api.domain.GoodsSku;
import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
import com.ruoyi.system.api.factory.GoodsSkuFactory;
import java.util.Collection;
import java.util.List;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
@@ -80,4 +81,15 @@
    @PutMapping("/goods-sku/upd-stock")
    R<?> updGoodsStock(@RequestBody List<GoodsStockUpdDTO> goodsStockUpdDTOS,
            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    /**
     * 根据商品id集合查询商品
     *
     * @param goodsIdList 商品id集合
     * @param source      请求来源
     * @return 商品集合
     */
    @PostMapping("/goods-sku/list")
    R<List<GoodsSku>> getGoodsListByIds(@RequestBody Collection<Long> goodsIdList,
            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionGoodsController.java
@@ -1,9 +1,9 @@
package com.ruoyi.auction.controller.management;
import com.ruoyi.auction.controller.management.dto.AuctionGoodsDTO;
import com.ruoyi.auction.controller.management.dto.AuctionGoodsQuery;
import com.ruoyi.auction.controller.management.vo.AuctionGoodsVO;
import com.ruoyi.auction.controller.management.dto.MgtAuctionGoodsDTO;
import com.ruoyi.auction.controller.management.dto.MgtAuctionGoodsQuery;
import com.ruoyi.auction.controller.management.vo.MgtAuctionGoodsVO;
import com.ruoyi.auction.service.IAuctionGoodsService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.page.PageDTO;
@@ -43,8 +43,8 @@
     */
    @ApiOperation(value = "获取拍卖商品列表的分页数据", notes = "获取拍卖商品列表的分页数据")
    @PostMapping("/page")
    public R<PageDTO<AuctionGoodsVO>> getAuctionGoodsPage(
            AuctionGoodsQuery query) {
    public R<PageDTO<MgtAuctionGoodsVO>> getAuctionGoodsPage(
            MgtAuctionGoodsQuery query) {
        return R.ok(auctionGoodsService.getAuctionGoodsPage(query));
    }
@@ -56,7 +56,7 @@
     */
    @ApiOperation(value = "查看详情", notes = "查看详情")
    @GetMapping("/{id}")
    public R<AuctionGoodsVO> getAuctionGoods(@PathVariable("id") Long id) {
    public R<MgtAuctionGoodsVO> getAuctionGoods(@PathVariable("id") Long id) {
        return R.ok(auctionGoodsService.getAuctionGoodsById(id));
    }
@@ -67,7 +67,7 @@
     */
    @ApiOperation(value = "添加/编辑 拍卖商品", notes = "添加/编辑 拍卖商品")
    @PostMapping("/save")
    public R<?> saveAuctionGoods(@Validated @RequestBody AuctionGoodsDTO dto) {
    public R<?> saveAuctionGoods(@Validated @RequestBody MgtAuctionGoodsDTO dto) {
        auctionGoodsService.saveAuctionGoods(dto);
        return R.ok();
    }
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionSalesroomController.java
@@ -1,8 +1,10 @@
package com.ruoyi.auction.controller.management;
import com.ruoyi.auction.controller.management.dto.MgtAuctionSaleroomBidRecordQuery;
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.MgtAuctionSalesroomVO;
import com.ruoyi.auction.service.IAuctionSalesroomService;
import com.ruoyi.common.core.domain.R;
@@ -79,4 +81,28 @@
        return R.ok();
    }
    /**
     * 查看详情
     *
     * @param id 拍卖会id
     * @return 拍卖场视图对象
     */
    @GetMapping("/{id}")
    @ApiOperation(value = "查看详情", notes = "查看详情")
    public R<MgtAuctionSalesroomVO> getAuctionSalesroom(@PathVariable("id") Long id) {
        return R.ok(auctionSalesroomService.getAuctionSalesroom(id));
    }
    /**
     * 查看详情-出价记录
     *
     * @param query 拍卖场出价记录查询对象
     * @return PageDTO<MgtAuctionBidRecordVO>
     */
    @PostMapping("/bid-record")
    @ApiOperation(value = "查看详情-出价记录", notes = "查看详情-出价记录")
    public R<PageDTO<MgtAuctionBidRecordVO>> getAuctionSalesroomBidRecordList(
            @RequestBody MgtAuctionSaleroomBidRecordQuery query) {
        return R.ok(auctionSalesroomService.getAuctionSalesroomBidRecordList(query));
    }
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtAuctionGoodsDTO.java
File was renamed from ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/AuctionGoodsDTO.java
@@ -16,7 +16,7 @@
 */
@Data
@ApiModel(value = "拍卖商品数据传输对象", description = "拍卖商品数据传输对象")
public class AuctionGoodsDTO {
public class MgtAuctionGoodsDTO {
    @ApiModelProperty(value = "拍卖商品id", notes = "添加不传,更新必传")
    private Long id;
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtAuctionGoodsQuery.java
File was renamed from ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/AuctionGoodsQuery.java
@@ -16,7 +16,7 @@
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "拍卖商品查询对象", description = "拍卖商品查询对象")
public class AuctionGoodsQuery extends BasePage {
public class MgtAuctionGoodsQuery extends BasePage {
    private static final long serialVersionUID = 326466175768096072L;
    @ApiModelProperty(value = "商品名称")
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtAuctionSaleroomBidRecordQuery.java
New file
@@ -0,0 +1,27 @@
package com.ruoyi.auction.controller.management.dto;
import com.ruoyi.common.core.web.page.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * @author mitao
 * @date 2024/5/30
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "拍卖场出价记录查询对象", description = "拍卖场出价记录查询对象")
public class MgtAuctionSaleroomBidRecordQuery extends BasePage {
    private static final long serialVersionUID = -8217461523303481599L;
    @ApiModelProperty("拍卖商品id")
    @NotNull(message = "拍卖商品id不能为空")
    private Long id;
    @ApiModelProperty(value = "查询类型 1=按会员 2=按次数", notes = "传数字")
    @NotNull(message = "查询类型不能为空")
    private Integer sortType;
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/MgtAuctionBidRecordVO.java
File was renamed from ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/AuctionBidRecordVO.java
@@ -13,10 +13,10 @@
 */
@Data
@ApiModel("拍卖商品出价视图对象")
public class AuctionBidRecordVO implements Serializable {
public class MgtAuctionBidRecordVO implements Serializable {
    private static final long serialVersionUID = 8479130955196893180L;
    @ApiModelProperty(value = "出价记录id")
    private Long id;
@@ -26,6 +26,12 @@
    @ApiModelProperty(value = "会员名称")
    private String memberName;
    @ApiModelProperty(value = "联系电话")
    private String phone;
    @ApiModelProperty(value = "商品id")
    private Long goodsSkuId;
    @ApiModelProperty(value = "商品名称")
    private String goodsSkuName;
@@ -35,4 +41,7 @@
    @ApiModelProperty(value = "最终出价金额")
    private BigDecimal lastBidAmount;
    @ApiModelProperty(value = "出价次数")
    private Integer bidCount;
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/MgtAuctionGoodsVO.java
File was renamed from ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/AuctionGoodsVO.java
@@ -17,7 +17,7 @@
 */
@Data
@ApiModel(value = "拍卖商品视图对象", description = "拍卖商品视图对象")
public class AuctionGoodsVO {
public class MgtAuctionGoodsVO {
    @ApiModelProperty(value = "拍卖商品id")
    private Long id;
@@ -60,5 +60,5 @@
    @ApiModelProperty(value = "开始状态 0=预展中 1=拍卖中 2=已结束")
    private AuctionStartStatusEnum startStatus;
    @ApiModelProperty(value = "出价记录")
    private List<AuctionBidRecordVO> recordList;
    private List<MgtAuctionBidRecordVO> recordList;
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/MgtAuctionSalesroomGoodsVO.java
New file
@@ -0,0 +1,47 @@
package com.ruoyi.auction.controller.management.vo;
import com.ruoyi.common.core.enums.AuctionStartStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;
/**
 * @author mitao
 * @date 2024/5/30
 */
@Data
@ApiModel(value = "拍卖场商品视图对象", description = "拍卖场商品视图对象")
public class MgtAuctionSalesroomGoodsVO implements Serializable {
    private static final long serialVersionUID = 2894806543298759929L;
    @ApiModelProperty(value = "拍卖场商品关系id")
    private Long id;
    @ApiModelProperty(value = "商品id")
    private Long goodsSkuId;
    @ApiModelProperty("拍卖商品名")
    private String goodsSkuName;
    @ApiModelProperty(value = "最低加价金额")
    private BigDecimal minimumMarkupAmount;
    @ApiModelProperty(value = "拍品数量")
    private Integer salesroomStock;
    @ApiModelProperty(value = "兜底成交个数")
    private Integer guaranteedTradeVolume;
    @ApiModelProperty(value = "拍卖时间(分钟)")
    private Integer listingDuration;
    @ApiModelProperty(value = "设为备选")
    private Boolean backupStatus;
    @ApiModelProperty(value = "状态 0=预展中 1=拍卖中 2=已结束")
    private AuctionStartStatusEnum status;
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/MgtAuctionSalesroomVO.java
@@ -9,6 +9,7 @@
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import lombok.Data;
/**
@@ -68,4 +69,7 @@
    @ApiModelProperty(value = "拍卖商品数")
    private Integer auctionGoodsNum;
    @ApiModelProperty(value = "拍卖信息")
    private List<MgtAuctionSalesroomGoodsVO> auctionSalesroomGoodsVOS;
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java
@@ -1,11 +1,11 @@
package com.ruoyi.auction.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.auction.controller.management.dto.AuctionGoodsDTO;
import com.ruoyi.auction.controller.management.dto.AuctionGoodsQuery;
import com.ruoyi.auction.controller.management.vo.AuctionGoodsVO;
import com.ruoyi.system.api.domain.AuctionGoods;
import com.ruoyi.auction.controller.management.dto.MgtAuctionGoodsDTO;
import com.ruoyi.auction.controller.management.dto.MgtAuctionGoodsQuery;
import com.ruoyi.auction.controller.management.vo.MgtAuctionGoodsVO;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.system.api.domain.AuctionGoods;
import com.ruoyi.system.api.domain.dto.AuctionGoodsListDTO;
import com.ruoyi.system.api.domain.vo.AuctionGoodsListVO;
import com.ruoyi.system.api.domain.vo.AuctionGoodsinfoVO;
@@ -26,14 +26,14 @@
     * @param query 拍卖商品查询对象
     * @return PageDTO<AuctionGoodsVO>
     */
    PageDTO<AuctionGoodsVO> getAuctionGoodsPage(AuctionGoodsQuery query);
    PageDTO<MgtAuctionGoodsVO> getAuctionGoodsPage(MgtAuctionGoodsQuery query);
    /**
     * 添加/编辑 拍卖商品
     *
     * @param dto 拍卖商品数据传输对象
     */
    void saveAuctionGoods(AuctionGoodsDTO dto);
    void saveAuctionGoods(MgtAuctionGoodsDTO dto);
    /**
     * 查看拍卖商品详情
@@ -41,7 +41,7 @@
     * @param id 拍卖商品id
     * @return AuctionGoodsVO
     */
    AuctionGoodsVO getAuctionGoodsById(Long id);
    MgtAuctionGoodsVO getAuctionGoodsById(Long id);
    void stopAuctionGoods(Long id);
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java
@@ -6,8 +6,10 @@
import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomVO;
import com.ruoyi.auction.controller.forepart.vo.MemberAuctionSalesroomInfoVO;
import com.ruoyi.auction.controller.forepart.vo.MemberAuctionSalesroomVO;
import com.ruoyi.auction.controller.management.dto.MgtAuctionSaleroomBidRecordQuery;
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.MgtAuctionSalesroomVO;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.system.api.domain.AppMiniLoginVO;
@@ -77,4 +79,21 @@
    void saveAuctionSalesroom(MgtAuctionSalesroomDTO dto);
    PageDTO<WdMemberAuctionSalesroomVO> getWdAuctionSalesroomList(@RequestBody MemberAuctionSalesroomDTO MemberAuctionSalesroomDTO);
    /**
     * 查看详情
     *
     * @param id 拍卖会id
     * @return 拍卖场视图对象
     */
    MgtAuctionSalesroomVO getAuctionSalesroom(Long id);
    /**
     * 查看详情-出价记录
     *
     * @param query 拍卖场出价记录查询对象
     * @return PageDTO<MgtAuctionBidRecordVO>
     */
    PageDTO<MgtAuctionBidRecordVO> getAuctionSalesroomBidRecordList(
            MgtAuctionSaleroomBidRecordQuery query);
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
@@ -4,16 +4,13 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.auction.controller.forepart.vo.MemberAuctionSalesroomVO;
import com.google.common.collect.Lists;
import com.ruoyi.auction.controller.management.dto.AuctionGoodsDTO;
import com.ruoyi.auction.controller.management.dto.AuctionGoodsQuery;
import com.ruoyi.auction.controller.management.vo.AuctionBidRecordVO;
import com.ruoyi.auction.controller.management.vo.AuctionGoodsVO;
import com.ruoyi.auction.controller.management.dto.MgtAuctionGoodsDTO;
import com.ruoyi.auction.controller.management.dto.MgtAuctionGoodsQuery;
import com.ruoyi.auction.controller.management.vo.MgtAuctionBidRecordVO;
import com.ruoyi.auction.controller.management.vo.MgtAuctionGoodsVO;
import com.ruoyi.auction.domain.AuctionBidRecord;
import com.ruoyi.auction.domain.MemberAuctionCollection;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.*;
import com.ruoyi.auction.mapper.AuctionGoodsMapper;
import com.ruoyi.auction.service.IAuctionBidRecordService;
import com.ruoyi.auction.service.IAuctionGoodsService;
@@ -28,14 +25,18 @@
import com.ruoyi.common.core.utils.page.BeanUtils;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.system.api.domain.AuctionGoods;
import com.ruoyi.system.api.domain.dto.*;
import com.ruoyi.system.api.domain.dto.AuctionGoodsListDTO;
import com.ruoyi.system.api.domain.dto.AuctionGoodsListPageDTO;
import com.ruoyi.system.api.domain.GoodsBrand;
import com.ruoyi.system.api.domain.GoodsCategory;
import com.ruoyi.system.api.domain.GoodsFlavorType;
import com.ruoyi.system.api.domain.GoodsSeries;
import com.ruoyi.system.api.domain.GoodsSku;
import com.ruoyi.system.api.domain.Member;
import com.ruoyi.system.api.domain.MemberAddress;
import com.ruoyi.system.api.domain.OrderAuctionBond;
import com.ruoyi.system.api.domain.dto.AuctionGoodsListDTO;
import com.ruoyi.system.api.domain.dto.AuctionGoodsListPageDTO;
import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO;
import com.ruoyi.system.api.domain.dto.OrderDTO;
import com.ruoyi.system.api.domain.dto.RefundDTO;
import com.ruoyi.system.api.domain.vo.AuctionGoodsListVO;
@@ -51,12 +52,11 @@
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
/**
 * <p>
@@ -92,7 +92,7 @@
     * @return PageDTO<AuctionGoodsVO>
     */
    @Override
    public PageDTO<AuctionGoodsVO> getAuctionGoodsPage(AuctionGoodsQuery query) {
    public PageDTO<MgtAuctionGoodsVO> getAuctionGoodsPage(MgtAuctionGoodsQuery query) {
        Set<Long> goodsSkuIdList = null;
        if (StringUtils.isNotEmpty(query.getGoodsSkuName())) {
            List<GoodsSku> goodsSku = goodsSkuClient.getGoodsByName(query.getGoodsSkuName(),
@@ -114,13 +114,13 @@
                .eq(StringUtils.isNotNull(query.getStartStatus()), AuctionGoods::getStartStatus,
                        query.getStartStatus())
                .page(new Page<>(query.getPageCurr(), query.getPageSize()));
        return PageDTO.of(page, AuctionGoodsVO.class);
        return PageDTO.of(page, MgtAuctionGoodsVO.class);
    }
    @Override
    @Transactional
    @GlobalTransactional(rollbackFor = Exception.class)
    public void saveAuctionGoods(AuctionGoodsDTO dto) {
    public void saveAuctionGoods(MgtAuctionGoodsDTO dto) {
        Long id = dto.getId();
        Long goodsSkuId = dto.getGoodsSkuId();
        AuctionGoods auctionGoods = BeanUtils.copyBean(dto, AuctionGoods.class);
@@ -192,12 +192,13 @@
     * @return AuctionGoodsVO
     */
    @Override
    public AuctionGoodsVO getAuctionGoodsById(Long id) {
    public MgtAuctionGoodsVO getAuctionGoodsById(Long id) {
        AuctionGoods auctionGoods = this.getById(id);
        if (StringUtils.isNull(auctionGoods)) {
            throw new ServiceException("拍卖商品不存在");
        }
        AuctionGoodsVO auctionGoodsVO = BeanUtils.copyBean(auctionGoods, AuctionGoodsVO.class);
        MgtAuctionGoodsVO auctionGoodsVO = BeanUtils.copyBean(auctionGoods,
                MgtAuctionGoodsVO.class);
        if (!auctionGoods.getStartStatus().equals(AuctionStartStatusEnum.IN_PREVIEW)) {
            List<AuctionBidRecord> list = auctionBidRecordService.lambdaQuery()
                    .eq(AuctionBidRecord::getTargetId, auctionGoodsVO.getId())
@@ -210,13 +211,13 @@
                        getMemberListByIds(collect, SecurityConstants.INNER).getData();
                Map<Long, String> memberMap = memberList.stream()
                        .collect(Collectors.toMap(Member::getId, Member::getNickname));
                List<AuctionBidRecordVO> auctionBidRecordVOS = BeanUtils.copyList(list,
                        AuctionBidRecordVO.class);
                for (AuctionBidRecordVO vo : auctionBidRecordVOS) {
                List<MgtAuctionBidRecordVO> mgtAuctionBidRecordVOS = BeanUtils.copyList(list,
                        MgtAuctionBidRecordVO.class);
                for (MgtAuctionBidRecordVO vo : mgtAuctionBidRecordVOS) {
                    String memberName = memberMap.get(vo.getMemberId());
                    vo.setMemberName(StringUtils.isNotEmpty(memberName) ? memberName : "");
                }
                auctionGoodsVO.setRecordList(auctionBidRecordVOS);
                auctionGoodsVO.setRecordList(mgtAuctionBidRecordVOS);
            }
        }
        return auctionGoodsVO;
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -20,9 +20,12 @@
import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomVO;
import com.ruoyi.auction.controller.forepart.vo.MemberAuctionSalesroomInfoVO;
import com.ruoyi.auction.controller.forepart.vo.MemberAuctionSalesroomVO;
import com.ruoyi.auction.controller.management.dto.MgtAuctionSaleroomBidRecordQuery;
import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomDTO;
import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomGoodsDTO;
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.MgtAuctionSalesroomVO;
import com.ruoyi.auction.domain.AuctionBidRecord;
import com.ruoyi.auction.domain.AuctionSalesroomGoods;
@@ -60,7 +63,7 @@
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.*;
import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomWdDTO;
import com.ruoyi.system.api.domain.vo.PayInfoVO;
import com.ruoyi.system.api.domain.vo.WdMemberAuctionSalesroomVO;
import com.ruoyi.system.api.feignClient.GoodsSkuClient;
@@ -70,15 +73,18 @@
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;
import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
/**
 * <p>
@@ -703,4 +709,92 @@
        return PageDTO.of(page);
    }
    /**
     * 查看详情
     *
     * @param id 拍卖会id
     * @return 拍卖场视图对象
     */
    @Override
    public MgtAuctionSalesroomVO getAuctionSalesroom(Long id) {
        // 获取拍卖场
        AuctionSalesroom auctionSalesroom = this.getById(id);
        MgtAuctionSalesroomVO mgtAuctionSalesroomVO = BeanUtils.copyBean(auctionSalesroom,
                MgtAuctionSalesroomVO.class);
        // 获取拍卖场商品
        List<AuctionSalesroomGoods> list = auctionSalesroomGoodsService.lambdaQuery()
                .eq(AuctionSalesroomGoods::getAuctionSalesroomId, id).list();
        if (StringUtils.isNotEmpty(list)) {
            List<MgtAuctionSalesroomGoodsVO> mgtAuctionSalesroomGoodsVOS = BeanUtils.copyList(list,
                    MgtAuctionSalesroomGoodsVO.class);
            Set<Long> goodsIdList = mgtAuctionSalesroomGoodsVOS.stream()
                    .map(MgtAuctionSalesroomGoodsVO::getGoodsSkuId).collect(
                            Collectors.toSet());
            // 获取商品信息
            List<GoodsSku> goodsSkuList = goodsSkuClient.getGoodsListByIds(goodsIdList,
                    SecurityConstants.INNER).getData();
            Map<Long, GoodsSku> goodsSkuMap = goodsSkuList.stream()
                    .collect(Collectors.toMap(GoodsSku::getId, Function.identity()));
            // 封装商品名称
            for (MgtAuctionSalesroomGoodsVO vo : mgtAuctionSalesroomGoodsVOS) {
                GoodsSku goodsSku = goodsSkuMap.get(vo.getGoodsSkuId());
                if (StringUtils.isNotNull(goodsSku)) {
                    vo.setGoodsSkuName(goodsSku.getSkuName());
                }
            }
            mgtAuctionSalesroomVO.setAuctionSalesroomGoodsVOS(mgtAuctionSalesroomGoodsVOS);
        }
        return mgtAuctionSalesroomVO;
    }
    /**
     * 查看详情-出价记录
     *
     * @param query 拍卖场出价记录查询对象
     * @return PageDTO<MgtAuctionBidRecordVO>
     */
    @Override
    public PageDTO<MgtAuctionBidRecordVO> getAuctionSalesroomBidRecordList(
            MgtAuctionSaleroomBidRecordQuery query) {
        Page<AuctionBidRecord> page = auctionBidRecordService.lambdaQuery()
                .eq(AuctionBidRecord::getTargetId, query.getId())
                .eq(AuctionBidRecord::getAuctionType, AuctionOrderTypeEnum.AUCTION_ITEMS)
                .orderByDesc(query.getSortType() == 1, AuctionBidRecord::getLastBidAmount)
                .orderByDesc(query.getSortType() == 2, AuctionBidRecord::getBidCount)
                .page(new Page<>(query.getPageCurr(), query.getPageSize()));
        if (StringUtils.isNull(page.getRecords())) {
            return PageDTO.empty(page);
        }
        PageDTO<MgtAuctionBidRecordVO> mgtAuctionBidRecordVOPageDTO = PageDTO.of(page,
                MgtAuctionBidRecordVO.class);
        List<MgtAuctionBidRecordVO> list = mgtAuctionBidRecordVOPageDTO.getList();
        Set<Long> goodsIdList = list.stream().map(MgtAuctionBidRecordVO::getGoodsSkuId)
                .collect(Collectors.toSet());
        Set<Long> memberIdList = list.stream().map(MgtAuctionBidRecordVO::getMemberId)
                .collect(Collectors.toSet());
        List<GoodsSku> goodsSkuList = goodsSkuClient.getGoodsListByIds(goodsIdList,
                        SecurityConstants.INNER)
                .getData();
        List<Member> memberList = memberClient.getMemberListByIds(memberIdList,
                        SecurityConstants.INNER)
                .getData();
        Map<Long, GoodsSku> goodsSkuMap = goodsSkuList.stream()
                .collect(Collectors.toMap(GoodsSku::getId, Function.identity()));
        Map<Long, Member> memberMap = memberList.stream()
                .collect(Collectors.toMap(Member::getId, Function.identity()));
        for (MgtAuctionBidRecordVO vo : list) {
            GoodsSku goodsSku = goodsSkuMap.get(vo.getGoodsSkuId());
            Member member = memberMap.get(vo.getMemberId());
            if (StringUtils.isNotNull(goodsSku)) {
                vo.setGoodsSkuName(goodsSku.getSkuName());
            }
            if (StringUtils.isNotNull(member)) {
                vo.setMemberName(member.getNickname());
                vo.setPhone(member.getPhone());
            }
        }
        return mgtAuctionBidRecordVOPageDTO;
    }
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSkuController.java
@@ -6,6 +6,7 @@
import com.ruoyi.goods.service.IGoodsSkuService;
import com.ruoyi.system.api.domain.GoodsSku;
import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
import java.util.Collection;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
@@ -73,9 +74,21 @@
     * @param source            请求来源
     */
    @InnerAuth
    @PutMapping("/goods-sku/upd-stock")
    @PutMapping("/upd-stock")
    R<?> returningStock(@RequestBody List<GoodsStockUpdDTO> goodsStockUpdDTOS) {
        iGoodsSkuService.returningStock(goodsStockUpdDTOS);
        return R.ok();
    }
    /**
     * 根据商品id集合查询商品
     *
     * @param goodsIdList 商品id集合
     * @param source      请求来源
     * @return 商品集合
     */
    @PostMapping("/list")
    R<List<GoodsSku>> getGoodsListByIds(@RequestBody Collection<Long> goodsIdList) {
        return R.ok(iGoodsSkuService.listByIds(goodsIdList));
    }
}