From 20290b89b3068541d7b23768cf9a0841a970d71a Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期五, 17 五月 2024 17:39:49 +0800
Subject: [PATCH] 拍卖大屏展示

---
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/VO/AuctionSalesroomGoodsVO.java                 |   13 +++++-
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java               |    6 ++-
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomGoodsController.java |   45 ++++++++++++++++++++--
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java                  |   33 ++++++++++++++++
 4 files changed, 89 insertions(+), 8 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java
new file mode 100644
index 0000000..ea2d316
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java
@@ -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());
+            }
+
+        };
+    }
+}
+
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java
index 297d6be..7a6c08d 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java
+++ b/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);
 }
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/VO/AuctionSalesroomGoodsVO.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/VO/AuctionSalesroomGoodsVO.java
index 436d1c2..55fb5bc 100644
--- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/VO/AuctionSalesroomGoodsVO.java
+++ b/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;
+
 
 }
diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomGoodsController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomGoodsController.java
index e3c9da2..f79bd49 100644
--- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomGoodsController.java
+++ b/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,11 +52,43 @@
     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);
+            }
+        }
 
-
-      return auctionSalesroomGoodsVO;
+        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;
     }
 
 }

--
Gitblit v1.7.1