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