From 949084022efbb071a29718add61155c734d06c44 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 10 九月 2025 10:54:08 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java |   47 +++++++++++++++++++++++++++++++++++------------
 1 files changed, 35 insertions(+), 12 deletions(-)

diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java
index e6cc3d0..008e081 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java
@@ -1,10 +1,12 @@
 package com.ruoyi.member.controller.miniapp;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.goods.api.domain.GetLotteryEventList;
 import com.ruoyi.goods.api.domain.TLotteryEvent;
 import com.ruoyi.goods.api.service.LotteryEventClient;
 import com.ruoyi.member.domain.dto.AppMemberCouponPageDto;
@@ -101,16 +103,16 @@
     @PostMapping("/getCouponInfo/{couponId}")
     @ApiOperation(value = "获取优惠券详情【2.0】", tags = "领券中心")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "id", value = "优惠券id", required = true, dataType = "String", paramType = "path")
+            @ApiImplicitParam(name = "couponId", value = "优惠券id", required = true, dataType = "String", paramType = "path")
     })
     public R<CouponInfoVo> getCouponInfo(@PathVariable("couponId") String couponId) {
-        MemberCoupon memberCoupon = memberCouponService.getById(couponId);
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-        Coupon coupon = couponService.getById(memberCoupon.getCouponId());
+        Coupon coupon = couponService.getById(couponId);
         CouponInfoVo vo = new CouponInfoVo();
         vo.setId(coupon.getCouponId());
         vo.setName(coupon.getCouponName());
         vo.setType(coupon.getCouponType());
+        vo.setSendType(coupon.getSendType());
         vo.setMoneyThreshold(coupon.getMoneyThreshold());
         vo.setDiscountPercent(coupon.getDiscountPercent());
         vo.setDiscountMoney(coupon.getDiscountMoney());
@@ -121,6 +123,8 @@
             vo.setValidEndTime(sdf.format(coupon.getValidEndTime()));
         }
         vo.setPropagandaPoster(coupon.getPropagandaPoster());
+        vo.setSharePassage(coupon.getSharePassage());
+        vo.setSharePic(coupon.getSharePic());
         vo.setUseGoods("");
         //构建特定商品数据
         if (StringUtils.isNotEmpty(coupon.getRelGoodsIds())) {
@@ -132,27 +136,46 @@
             }
             vo.setUseGoods(sb.substring(0, sb.length() - 1));
         }
-        vo.setLaveNum(coupon.getSendLimitFlag());
-        vo.setReceiveNum(coupon.getSendLimitNumber());
-        int count = memberCouponService.count(new QueryWrapper<MemberCoupon>().eq("coupon_id", memberCoupon.getCouponId()).eq("del_flag", 0));
-        vo.setLaveNum(coupon.getSendLimitNumber() - count);
-        vo.setStatus(memberCoupon.getCouponStatus());
+        vo.setLimitFlag(coupon.getSendLimitFlag());
+        vo.setReceiveNum(coupon.getLimitNumber());
+        int count = memberCouponService.count(new QueryWrapper<MemberCoupon>().eq("coupon_id", couponId).eq("del_flag", 0));
+        vo.setLaveNum(coupon.getLimitNumber() - count);
+        Long userId = SecurityUtils.getUserId();
+        List<MemberCoupon> list = memberCouponService.list(new QueryWrapper<MemberCoupon>().eq("coupon_id", couponId).eq("user_id", userId).eq("del_flag", 0));
+        vo.setStatus(list.isEmpty() ? null : list.get(0).getCouponStatus());
         return R.ok(vo);
     }
-    
-    
+
+
     @ResponseBody
     @PostMapping("/shareCoupon/{couponId}")
     @ApiOperation(value = "分享优惠券【2.0】", tags = "领券中心")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "id", value = "优惠券id", required = true, dataType = "String", paramType = "path")
+            @ApiImplicitParam(name = "couponId", value = "优惠券id", required = true, dataType = "String", paramType = "path")
     })
     public R<String> shareCoupon(@PathVariable("couponId") String couponId) {
         //检测是否可以抽奖
-        List<TLotteryEvent> data = lotteryEventClient.getLotteryEventList(3).getData();
+        GetLotteryEventList getLotteryEventList = new GetLotteryEventList();
+        getLotteryEventList.setActivityType(3);
+        getLotteryEventList.setUserId(SecurityUtils.getUserId());
+        List<TLotteryEvent> data = lotteryEventClient.getLotteryEventList(getLotteryEventList).getData();
         if (data.size() > 0) {
             return R.ok(data.get(0).getId());
         }
         return R.ok();
     }
+
+
+    @ResponseBody
+    @PostMapping("/shareCoupon/determineClaimCoupon/{couponId}")
+    @ApiOperation(value = "判断是否领取了该优惠券【2.0】", tags = "领券中心")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "couponId", value = "优惠券id", required = true, dataType = "String", paramType = "path")
+    })
+    public R<Boolean> determineClaimCoupon(@PathVariable("couponId") String couponId){
+        Long userId = SecurityUtils.getUserId();
+        MemberCoupon one = memberCouponService.getOne(new QueryWrapper<MemberCoupon>().eq("coupon_id", couponId)
+                .eq("user_id", userId).ne("coupon_status", -1));
+        return R.ok(null != one);
+    }
 }

--
Gitblit v1.7.1