From d2a65425646e33c26b8a98c394c7990a6bfb6b03 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 16 九月 2025 18:57:32 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java |   59 ++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 46 insertions(+), 13 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..5d6269a 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,11 +1,16 @@
 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.core.utils.bean.BeanUtils;
+import com.ruoyi.common.core.utils.uuid.IdUtils;
 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.domain.TLotteryEventUser;
 import com.ruoyi.goods.api.service.LotteryEventClient;
 import com.ruoyi.member.domain.dto.AppMemberCouponPageDto;
 import com.ruoyi.member.domain.pojo.coupon.Coupon;
@@ -101,16 +106,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 +126,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 +139,53 @@
             }
             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());
+            //将数据添加到普通抽奖列表中
+            String id = data.get(0).getId();
+            TLotteryEventUser lotteryEventUser = new TLotteryEventUser();
+            lotteryEventUser.setId(IdUtils.simpleUUID());
+            lotteryEventUser.setLotteryEventId(id);
+            lotteryEventUser.setUser_id(SecurityUtils.getUserId());
+            lotteryEventClient.addLotteryEventUser(lotteryEventUser);
+            return R.ok(id);
         }
         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();
+        int count = memberCouponService.count(new QueryWrapper<MemberCoupon>().eq("coupon_id", couponId)
+                .eq("user_id", userId).ne("coupon_status", -1));
+        return R.ok(0 < count);
+    }
 }

--
Gitblit v1.7.1