From 2f2eb2bb2c6a5a16b7081dbbe3b683acf18d04bc Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期二, 11 六月 2024 18:18:05 +0800
Subject: [PATCH] 用户端商品

---
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java |   28 +++++++++++++++++++---------
 1 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
index e5d9bda..20aee30 100644
--- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
@@ -50,6 +50,7 @@
 import com.ruoyi.system.api.domain.dto.RefundDTO;
 import com.ruoyi.system.api.domain.vo.AuctionGoodsListVO;
 import com.ruoyi.system.api.domain.vo.AuctionGoodsinfoVO;
+import com.ruoyi.system.api.feignClient.AuctionClient;
 import com.ruoyi.system.api.feignClient.GoodsSkuClient;
 import com.ruoyi.system.api.feignClient.MemberClient;
 import com.ruoyi.system.api.feignClient.OrderClient;
@@ -86,6 +87,8 @@
     private final GoodsSkuClient goodsSkuClient;
     private final MemberClient memberClient;
     private final OrderClient orderClient;
+
+    private final AuctionClient auctionClient;
     private final IAuctionBidRecordService auctionBidRecordService;
     private final AuctionAsyncMethodService auctionAsyncMethodService;
     // 创建一个静态共享的ObjectMapper实例以重用
@@ -119,7 +122,8 @@
                 .select(AuctionGoods::getId, AuctionGoods::getGoodsSkuId,
                         AuctionGoods::getListingStatus, AuctionGoods::getStartStatus,
                         AuctionGoods::getStartTime, AuctionGoods::getEndTime,
-                        AuctionGoods::getAuctionStock, AuctionGoods::getMinimumMarkupAmount).in(
+                        AuctionGoods::getAuctionStock, AuctionGoods::getMinimumMarkupAmount,
+                        AuctionGoods::getAuthentication, AuctionGoods::getStartingPrice).in(
                         StringUtils.isNotEmpty(goodsSkuIdList), AuctionGoods::getGoodsSkuId,
                         goodsSkuIdList).eq(StringUtils.isNotNull(query.getAuthentication()),
                         AuctionGoods::getAuthentication, query.getAuthentication())
@@ -235,6 +239,12 @@
         }
         MgtAuctionGoodsVO auctionGoodsVO = BeanUtils.copyBean(auctionGoods,
                 MgtAuctionGoodsVO.class);
+        // 远程调用商品服务,获取商品信息
+        GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(auctionGoods.getGoodsSkuId(),
+                SecurityConstants.INNER).getData();
+        if (StringUtils.isNotNull(goodsSku)) {
+            auctionGoodsVO.setGoodsSkuName(goodsSku.getSkuName());
+        }
         if (!auctionGoods.getStartStatus().equals(AuctionStartStatusEnum.IN_PREVIEW)) {
             List<AuctionBidRecord> list = auctionBidRecordService.lambdaQuery()
                     .eq(AuctionBidRecord::getTargetId, auctionGoodsVO.getId())
@@ -459,7 +469,7 @@
         }else {
             auctionGoodsinfoVO.setIsCollection(1);
         }
-        List<OrderAuctionBond> datas = orderClient.getAuctionGoodsOrderAuctionBondList(auctionGoodsListDTO, SecurityConstants.INNER).getData();
+        List<OrderAuctionBond> datas = auctionClient.getAuctionGoodsOrderAuctionBondList(auctionGoodsListDTO, SecurityConstants.INNER).getData();
         if (datas.size()>0){
             auctionGoodsinfoVO.setIsApply(2);
         }else{
@@ -498,7 +508,7 @@
     public PageDTO<AuctionGoodsListVO> getWdAuctionSalesList(AuctionGoodsListDTO auctionGoodsListDTO) {
         MemberAuctionSalesroomDTO memberAuctionSalesroomDTO =new MemberAuctionSalesroomDTO();
         memberAuctionSalesroomDTO.setMemberId(auctionGoodsListDTO.getMemberId());
-        List<OrderAuctionBond> data = orderClient.getAuctionGoodsOrderAuctionBondList(auctionGoodsListDTO, SecurityConstants.INNER).getData();
+        List<OrderAuctionBond> data = auctionClient.getAuctionGoodsOrderAuctionBondList(auctionGoodsListDTO, SecurityConstants.INNER).getData();
         Set<Long> goodsSkuIdList = null;
         goodsSkuIdList = data.stream().map(OrderAuctionBond::getAuctionSalesroomId)
                 .collect(Collectors.toSet());
@@ -557,14 +567,14 @@
         AuctionGoods auctionGoods = this.getById(id);
         if (StringUtils.isNotNull(auctionGoods) && auctionGoods.getListingStatus().equals(
                 ListingStatusEnum.ON_SHELVES) && auctionGoods.getStartStatus()
-                .equals(AuctionStartStatusEnum.IN_PREVIEW)) {
-            this.lambdaUpdate().set(AuctionGoods::getStartStatus, AuctionStartStatusEnum.IN_AUCTION)
+                .equals(AuctionStartStatusEnum.IN_AUCTION)) {
+            this.lambdaUpdate().set(AuctionGoods::getStartStatus, AuctionStartStatusEnum.ENDED)
                     .eq(AuctionGoods::getId, id);
             Map<String, Object> map = new ConcurrentHashMap<>();
             map.put("notification_type", NotificationTypeConstant.AUCTION_GOODS);
             map.put("notification_time", LocalDateTime.now());
             map.put("target_id", id);
-            map.put("message_type", "start");
+            map.put("message_type", "end");
             String msg = objectMapper.writeValueAsString(map);
             WebSocketUsers.sendMessageToUsersByText(msg);
             log.info("===================>发送websocket通知,消息体{}", msg);
@@ -576,14 +586,14 @@
         AuctionGoods auctionGoods = this.getById(id);
         if (StringUtils.isNotNull(auctionGoods) && auctionGoods.getListingStatus().equals(
                 ListingStatusEnum.ON_SHELVES) && auctionGoods.getStartStatus()
-                .equals(AuctionStartStatusEnum.IN_AUCTION)) {
-            this.lambdaUpdate().set(AuctionGoods::getStartStatus, AuctionStartStatusEnum.ENDED)
+                .equals(AuctionStartStatusEnum.IN_PREVIEW)) {
+            this.lambdaUpdate().set(AuctionGoods::getStartStatus, AuctionStartStatusEnum.IN_AUCTION)
                     .eq(AuctionGoods::getId, id);
             Map<String, Object> map = new ConcurrentHashMap<>();
             map.put("notification_type", NotificationTypeConstant.AUCTION_GOODS);
             map.put("notification_time", LocalDateTime.now());
             map.put("target_id", id);
-            map.put("message_type", "end");
+            map.put("message_type", "start");
             String msg = objectMapper.writeValueAsString(map);
             WebSocketUsers.sendMessageToUsersByText(msg);
             log.info("===================>发送websocket通知,消息体{}", msg);

--
Gitblit v1.7.1