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