| | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | @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) { |
| | |
| | | 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)); |
| | | } |
| | | |
| | |
| | | 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); |
| | | } |
| | | } |