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