From 916ff14278f99378758272784a00abee12a4f126 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 30 六月 2025 16:48:42 +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 | 98 +++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 87 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 959450a..8ed681c 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.TLotteryEvent;
+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));
}
@@ -73,10 +89,70 @@
public R<Page<AppMemberCouponPageVo>> pageAppUserGetCoupon(@RequestBody AppMemberCouponPageDto appMemberCouponPageDto) {
Long userId = SecurityUtils.getUserId();
appMemberCouponPageDto.setUserId(userId);
+ Member member = memberService.getByUserId(userId);
Page<AppMemberCouponPageVo> page = new Page<>();
page.setSize(appMemberCouponPageDto.getPageSize());
page.setCurrent(appMemberCouponPageDto.getPageNum());
- List<AppMemberCouponPageVo> memberCouponPageVoList = memberCouponService.pageAppUserGetCoupon(page,appMemberCouponPageDto);
+ 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<String> shareCoupon(@PathVariable("couponId") String couponId) {
+ //检测是否可以抽奖
+ List<TLotteryEvent> data = lotteryEventClient.getLotteryEventList(3).getData();
+ if (data.size() > 0) {
+ return R.ok(data.get(0).getId());
+ }
+ return R.ok();
+ }
}
--
Gitblit v1.7.1