ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/UserCouponClientFallbackFactory.java
@@ -27,6 +27,11 @@ public R<CouponInfoVo> getCouponInfo(Long userCouponId) { return R.fail("根据用户优惠券id获取优惠券详情失败:" + cause.getMessage()); } @Override public R<Long> getCouponCount(Integer couponId) { return R.fail("根据优惠券id获取优惠券数量失败:" + cause.getMessage()); } }; } } ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/UserCouponClient.java
@@ -36,4 +36,6 @@ */ @PostMapping("/user-coupon/getCouponInfo") R<CouponInfoVo> getCouponInfo(@RequestParam("userCouponId") Long userCouponId); R<Long> getCouponCount(@RequestParam("couponId") Integer couponId); } ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/CouponInfo.java
@@ -119,5 +119,9 @@ @TableField("shelf_status") private Integer shelfStatus; @ApiModelProperty(value = "已发放数量") @TableField(exist = false) private Long sendNumNow; } ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java
@@ -188,5 +188,13 @@ BeanUtils.copyProperties(data, couponInfoVo); return R.ok(couponInfoVo); } /** * 获取优惠券发放数量 */ @GetMapping("/getCouponCount") public R<Long> getCouponCount(@RequestParam Integer couponId){ return R.ok(userCouponService.lambdaQuery().eq(UserCoupon::getCouponId, couponId).count()); } } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/CouponInfoController.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.feignClient.UserCouponClient; import com.ruoyi.account.api.model.AppUser; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.StringUtils; @@ -41,13 +42,20 @@ private TokenService tokenService; @Resource private AppUserClient appUserClient; @Resource private UserCouponClient userCouponClient; @PostMapping("/list") @ApiOperation(value = "优惠劵管理-列表", tags = {"管理后台-活动管理"}) public R<IPage<CouponInfo>> list(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, CouponInfo couponInfo) { return R.ok(couponInfoService.queryCouponInfoPage(Page.of(pageNum, pageSize), couponInfo)); IPage<CouponInfo> couponInfoIPage = couponInfoService.queryCouponInfoPage(Page.of(pageNum, pageSize), couponInfo); for (CouponInfo record : couponInfoIPage.getRecords()) { R<Long> r = userCouponClient.getCouponCount(record.getId()); record.setSendNumNow(r.getData()); } return R.ok(couponInfoIPage); }