From 7381ec7d40d699cd57d5b82f779577e662f95c8d Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期一, 09 十二月 2024 10:34:31 +0800
Subject: [PATCH] 12.9

---
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponInfoVo.java                |    5 +++++
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsClientFallbackFactory.java |    5 +++++
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java            |    3 +++
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java    |   25 +++++++++++++++++++++++++
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java             |    7 +++++++
 5 files changed, 45 insertions(+), 0 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponInfoVo.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponInfoVo.java
index 3b0ec23..3ceb775 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponInfoVo.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponInfoVo.java
@@ -10,6 +10,7 @@
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * <p>
@@ -116,5 +117,9 @@
     @TableField("person_ids")
     private String personIds;
 
+    @ApiModelProperty(value = "商品卷对应的商品名称")
+    @TableField(exist = false)
+    private List<String> goodNames;
+
 
 }
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsClientFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsClientFallbackFactory.java
index 1447469..638905f 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsClientFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsClientFallbackFactory.java
@@ -29,6 +29,11 @@
 			public R<Goods> getGoodsById(Integer id) {
 				return R.fail("根据id获取商品详情失败:" + cause.getMessage());
 			}
+
+			@Override
+			public R<List<Goods>> getGoodsById(String [] ids) {
+				return R.fail("根据ids获取商品详情失败:" + cause.getMessage());
+			}
 		};
 	}
 }
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java
index 4384c32..9922827 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java
@@ -34,4 +34,7 @@
 	 */
 	@PostMapping("/goods/getGoodsById")
 	R<Goods> getGoodsById(@RequestParam("id") Integer id);
+	@PostMapping("/goods/getGoodsByIds")
+	R<List<Goods>> getGoodsById(@RequestParam("ids") String[]  ids);
+
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java
index b7d431b..671074d 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java
@@ -13,9 +13,13 @@
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.bean.BeanUtils;
 import com.ruoyi.account.api.vo.PaymentUserCoupon;
+import com.ruoyi.other.api.domain.Goods;
+import com.ruoyi.other.api.feignClient.GoodsClient;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.other.api.domain.CouponInfo;
@@ -48,6 +52,8 @@
 
     @Resource
     private UserPointService userPointService;
+    @Resource
+    private GoodsClient goodsClient;
 
 
 
@@ -65,6 +71,25 @@
             CouponInfo data = couponClient.detail(record.getCouponId()).getData();
             CouponInfoVo vo = new CouponInfoVo();
             BeanUtils.copyProperties(data,vo);
+            //如果是商品券,将商品名称返回
+            if (vo.getCouponType()==4){
+                List<String> goodNames = new ArrayList<>();
+                if (vo.getForGoodIds().equals("-1")){
+                        goodNames.add("全部商品");
+                }else{
+                    String[] split = vo.getForGoodIds().split(",");
+                    R<List<Goods>> goodsById = goodsClient.getGoodsById(split);
+                    if (goodsById.getData()!=null){
+                        for (Goods datum : goodsById.getData()) {
+                            goodNames.add(datum.getName());
+                        }
+                    }
+                    vo.setGoodNames(goodNames);
+                }
+            }
+
+
+
             record.setCouponInfoVo(vo);
             if (record.getUseTime()==null){
                 record.setStatus(1);
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java
index 63c8837..8437f2b 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java
@@ -87,6 +87,13 @@
         Goods goods = goodsService.getById(id);
         return R.ok(goods);
     }
+
+    @ResponseBody
+    @PostMapping("/getGoodsByIds")
+    public R<List<Goods>> getGoodsByIds(@RequestParam("ids") String [] ids){
+        List<Goods> goods = goodsService.lambdaQuery().in(Goods::getId, ids).eq(Goods::getStatus, 0).list();
+        return R.ok(goods);
+    }
     
 }
 

--
Gitblit v1.7.1