From 3e7932d378b607f75379b463ae4ae2f4f1ccfe12 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 18 六月 2025 10:31:30 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/HongRuiTang into 2.0

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java |   97 +++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 86 insertions(+), 11 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 bb0db64..270e667 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,25 +1,34 @@
 package com.ruoyi.member.controller.miniapp;
 
+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.LotteryEvent;
+import com.ruoyi.goods.api.service.LotteryEventClient;
 import com.ruoyi.member.domain.dto.AppMemberCouponPageDto;
+import com.ruoyi.member.domain.pojo.coupon.Coupon;
 import com.ruoyi.member.domain.vo.AppGetAbleCouponPageVo;
 import com.ruoyi.member.domain.vo.AppMemberCouponPageVo;
+import com.ruoyi.member.domain.vo.CouponInfoVo;
 import com.ruoyi.member.service.coupon.CouponService;
 import com.ruoyi.member.service.member.MemberCouponService;
 import com.ruoyi.member.service.member.MemberService;
 import com.ruoyi.system.api.domain.dto.AppBaseGetDto;
 import com.ruoyi.system.api.domain.dto.AppPageDto;
+import com.ruoyi.system.api.domain.poji.goods.Goods;
 import com.ruoyi.system.api.domain.poji.member.Member;
+import com.ruoyi.system.api.domain.poji.member.MemberCoupon;
+import com.ruoyi.system.api.service.RemoteGoodsService;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
 import java.util.List;
 
 /**
@@ -33,17 +42,24 @@
 @RestController
 @RequestMapping("/app/coupon")
 public class AppCouponController {
-
-
+    
+    
     @Resource
     private CouponService couponService;
-
+    
     @Resource
     private MemberService memberService;
-
+    
     @Resource
     private MemberCouponService memberCouponService;
-
+    
+    @Resource
+    private RemoteGoodsService remoteGoodsService;
+    
+    @Resource
+    private LotteryEventClient lotteryEventClient;
+    
+    
     @RequestMapping(value = "/pageAppUserGetAbleCoupon", method = RequestMethod.POST)
     @ApiOperation(value = "用户分页获取可领取优惠券列表")
     public R<Page<AppGetAbleCouponPageVo>> pagePlatformMerCoupon(@RequestBody AppPageDto appPageDto) {
@@ -53,7 +69,7 @@
         Page<AppGetAbleCouponPageVo> page = new Page<>();
         page.setSize(appPageDto.getPageSize());
         page.setCurrent(appPageDto.getPageNum());
-        List<AppGetAbleCouponPageVo> unGetCouponPageVoList = couponService.pageAppUserGetAbleCoupon(page,appPageDto,member);
+        List<AppGetAbleCouponPageVo> unGetCouponPageVoList = couponService.pageAppUserGetAbleCoupon(page, appPageDto, member);
         return R.ok(page.setRecords(unGetCouponPageVoList));
     }
 
@@ -77,7 +93,66 @@
         Page<AppMemberCouponPageVo> page = new Page<>();
         page.setSize(appMemberCouponPageDto.getPageSize());
         page.setCurrent(appMemberCouponPageDto.getPageNum());
-        List<AppMemberCouponPageVo> memberCouponPageVoList = memberCouponService.pageAppUserGetCoupon(page,appMemberCouponPageDto, member);
+        List<AppMemberCouponPageVo> memberCouponPageVoList = memberCouponService.pageAppUserGetCoupon(page, appMemberCouponPageDto, member);
         return R.ok(page.setRecords(memberCouponPageVoList));
     }
+    
+    @ResponseBody
+    @PostMapping("/getCouponInfo/{couponId}")
+    @ApiOperation(value = "获取优惠券详情【2.0】", tags = "领券中心")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "优惠券id", required = true, dataType = "String", paramType = "path")
+    })
+    public R<CouponInfoVo> getCouponInfo(@PathVariable("couponId") String couponId) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Coupon coupon = couponService.getById(couponId);
+        CouponInfoVo vo = new CouponInfoVo();
+        vo.setId(coupon.getCouponId());
+        vo.setName(coupon.getCouponName());
+        vo.setType(coupon.getCouponType());
+        vo.setMoneyThreshold(coupon.getMoneyThreshold());
+        vo.setDiscountPercent(coupon.getDiscountPercent());
+        vo.setDiscountMoney(coupon.getDiscountMoney());
+        vo.setValidType(coupon.getValidTimeType());
+        vo.setValidDays(coupon.getValidDay());
+        vo.setValidStartTime(sdf.format(coupon.getValidStartTime()));
+        vo.setValidEndTime(sdf.format(coupon.getValidEndTime()));
+        vo.setPropagandaPoster(coupon.getPropagandaPoster());
+        vo.setUseGoods("");
+        //构建特定商品数据
+        if (StringUtils.isNotEmpty(coupon.getRelGoodsIds())) {
+            String relGoodsIds = coupon.getRelGoodsIds();
+            List<Goods> data = remoteGoodsService.listGoodsByGoodsId(relGoodsIds).getData();
+            StringBuilder sb = new StringBuilder();
+            for (Goods goods : data) {
+                sb.append(goods.getGoodsName()).append(",");
+            }
+            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", couponId).eq("del_flag", 0));
+        vo.setLaveNum(coupon.getSendLimitNumber() - count);
+        MemberCoupon one = memberCouponService.getOne(new QueryWrapper<MemberCoupon>().eq("coupon_id", couponId).eq("user_id", SecurityUtils.getUserId()));
+        if (one != null) {
+            vo.setStatus(one.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")
+    })
+    public R<Boolean> shareCoupon(@PathVariable("couponId") String couponId) {
+        //检测是否可以抽奖
+        List<LotteryEvent> data = lotteryEventClient.getLotteryEventList(3).getData();
+        if (data.size() > 0) {
+            return R.ok(true);
+        }
+        return R.ok(false);
+    }
 }

--
Gitblit v1.7.1