rentaiming
2024-05-17 20290b89b3068541d7b23768cf9a0841a970d71a
拍卖大屏展示
1个文件已添加
3个文件已修改
95 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/VO/AuctionSalesroomGoodsVO.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomGoodsController.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java
New file
@@ -0,0 +1,33 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteFileService;
import com.ruoyi.system.api.RemoteLogService;
import com.ruoyi.system.api.domain.*;
import com.ruoyi.system.api.feignClient.GoodsSkuClient;
import com.ruoyi.system.api.feignClient.SysUserClient;
import com.ruoyi.system.api.model.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@Component
public class GoodsSkuFactory  implements FallbackFactory<GoodsSkuClient> {
    private static final Logger log = LoggerFactory.getLogger(GoodsSkuFactory.class);
    @Override
    public GoodsSkuClient create(Throwable cause) {
        return new GoodsSkuClient(){
            @Override
            public R<GoodsSku> getGoodsSkuOne(@PathVariable("goodsSkuId") Long goodsSkuId) {
                return R.fail("通过id查询商品失败:" + cause.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java
@@ -3,14 +3,16 @@
import com.ruoyi.common.core.constant.ServiceNameConstants;;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.GoodsSku;
import com.ruoyi.system.api.factory.GoodsSkuFactory;
import com.ruoyi.system.api.factory.SysUserFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@FeignClient(contextId = "GoodsSkuClient", value = ServiceNameConstants.RUOYI_MODULES_GOODS)
@FeignClient(contextId = "GoodsSkuClient", value = ServiceNameConstants.RUOYI_GOODS, fallbackFactory = GoodsSkuFactory.class)
public interface GoodsSkuClient {
    @GetMapping("/goods-sku/getGoodsSkuOne/{goodsSkuId}")
    R<GoodsSku> queryRoleByUserId(@PathVariable("goodsSkuId") Integer goodsSkuId);
    R<GoodsSku> getGoodsSkuOne(@PathVariable("goodsSkuId") Long goodsSkuId);
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/VO/AuctionSalesroomGoodsVO.java
@@ -12,7 +12,7 @@
public class AuctionSalesroomGoodsVO {
    @ApiModelProperty(value = "拍卖场id")
    private Long auctionSalesroomId;
    private Long SalesroomId;
    @ApiModelProperty(value = "拍卖场名称")
    private String salesroomName;
@@ -30,7 +30,7 @@
    private Integer itemQuantity;
    @ApiModelProperty(value = "拍卖时间 0=线下拍卖 1=线上线下结合")
    private AuctionTypeEnum type;
    private Integer SalesroomType;
    @ApiModelProperty(value = "状态 0=预展中 1=拍卖中 2=已结束")
    private Integer goodsSkustatus;
@@ -41,5 +41,14 @@
    @ApiModelProperty(value = "开始时间")
    private LocalDateTime startTime;
    @ApiModelProperty(value = "封面图")
    private String coverPic;
    @ApiModelProperty(value = "单位")
    private String unit;
    @ApiModelProperty(value = "商品描述")
    private String description;
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomGoodsController.java
@@ -6,7 +6,10 @@
import com.ruoyi.auction.VO.AuctionSalesroomGoodsVO;
import com.ruoyi.auction.domain.pojo.AuctionSalesroom;
import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods;
import com.ruoyi.auction.service.IAuctionSalesroomGoodsService;
import com.ruoyi.auction.service.IAuctionSalesroomService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.GoodsSku;
import com.ruoyi.system.api.feignClient.GoodsSkuClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -31,12 +34,14 @@
    @Autowired
    @Resource
    private GoodsSkuClient goodsSkuClient;
    @Resource
    private IAuctionSalesroomService iAuctionSalesroomService;
    @Resource
    private IAuctionSalesroomGoodsService iAuctionSalesroomGoodsService;
    /**
     * 拍卖大屏的商品介绍
@@ -47,10 +52,42 @@
    public AuctionSalesroomGoodsVO getAuctionSalesroomGoods(String SalesroomId) {
        AuctionSalesroomGoodsVO auctionSalesroomGoodsVO=new AuctionSalesroomGoodsVO();
        AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(SalesroomId);
        auctionSalesroomGoodsVO.setAuctionSalesroomId(auctionSalesroom.getId());
        auctionSalesroomGoodsVO.setSalesroomId(auctionSalesroom.getId());
        auctionSalesroomGoodsVO.setSalesroomName(auctionSalesroom.getSalesroomName());
        auctionSalesroomGoodsVO.setSalesroomType(auctionSalesroom.getType().getCode());
        LambdaQueryWrapper<AuctionSalesroomGoods> wrapper=Wrappers.lambdaQuery();
        wrapper.eq(AuctionSalesroomGoods::getStatus,1);
        wrapper.eq(AuctionSalesroomGoods::getDelFlag,0);
        AuctionSalesroomGoods auctionSalesroomGoods=iAuctionSalesroomGoodsService.getOne(wrapper);
        if (auctionSalesroomGoods==null){
            LambdaQueryWrapper<AuctionSalesroomGoods> wrapper1=Wrappers.lambdaQuery();
            wrapper1.eq(AuctionSalesroomGoods::getStatus,2);
            wrapper1.eq(AuctionSalesroomGoods::getDelFlag,0);
            wrapper1.orderByDesc(AuctionSalesroomGoods::getSortNum);
            wrapper.last("limit 1");
            auctionSalesroomGoods=auctionSalesroomGoods=iAuctionSalesroomGoodsService.getOne(wrapper1);
            if (auctionSalesroomGoods==null){
                LambdaQueryWrapper<AuctionSalesroomGoods> wrapper2=Wrappers.lambdaQuery();
                wrapper2.eq(AuctionSalesroomGoods::getStatus,1);
                wrapper2.eq(AuctionSalesroomGoods::getDelFlag,0);
                wrapper2.orderByAsc(AuctionSalesroomGoods::getSortNum);
                wrapper2.last("limit 1");
                auctionSalesroomGoods=auctionSalesroomGoods=iAuctionSalesroomGoodsService.getOne(wrapper2);
            }
        }
        auctionSalesroomGoodsVO.setGoodsSkuId(auctionSalesroomGoods.getGoodsSkuId());
        auctionSalesroomGoodsVO.setGoodsSkuName(auctionSalesroomGoods.getGoodsSkuName());
        auctionSalesroomGoodsVO.setGoodsSkustatus(auctionSalesroomGoods.getStatus().getCode());
        auctionSalesroomGoodsVO.setStartingPrice(auctionSalesroomGoods.getStartingPrice());
        auctionSalesroomGoodsVO.setItemQuantity(auctionSalesroomGoods.getItemQuantity());
        auctionSalesroomGoodsVO.setListingDuration(auctionSalesroomGoods.getListingDuration());
        auctionSalesroomGoodsVO.setStartTime(auctionSalesroomGoods.getStartTime());
        R<GoodsSku> goodsSkuOne = goodsSkuClient.getGoodsSkuOne(auctionSalesroomGoods.getGoodsSkuId());
        GoodsSku goodsSku=goodsSkuOne.getData();
        auctionSalesroomGoodsVO.setCoverPic(goodsSku.getCoverPic());
        auctionSalesroomGoodsVO.setDescription(goodsSku.getDescription());
        auctionSalesroomGoodsVO.setUnit(goodsSku.getUnit());
      return auctionSalesroomGoodsVO;
    }