Pu Zhibing
2 天以前 949084022efbb071a29718add61155c734d06c44
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java
@@ -6,6 +6,7 @@
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.GetLotteryEventList;
import com.ruoyi.goods.api.domain.TLotteryEvent;
import com.ruoyi.goods.api.service.LotteryEventClient;
import com.ruoyi.member.domain.dto.AppMemberCouponPageDto;
@@ -102,7 +103,7 @@
    @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) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -111,6 +112,7 @@
        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 +123,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())) {
@@ -133,28 +137,45 @@
            vo.setUseGoods(sb.substring(0, sb.length() - 1));
        }
        vo.setLimitFlag(coupon.getSendLimitFlag());
        vo.setReceiveNum(coupon.getSendLimitNumber());
        vo.setReceiveNum(coupon.getLimitNumber());
        int count = memberCouponService.count(new QueryWrapper<MemberCoupon>().eq("coupon_id", couponId).eq("del_flag", 0));
        vo.setLaveNum(coupon.getSendLimitNumber() - count);
        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());
        }
        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();
        MemberCoupon one = memberCouponService.getOne(new QueryWrapper<MemberCoupon>().eq("coupon_id", couponId)
                .eq("user_id", userId).ne("coupon_status", -1));
        return R.ok(null != one);
    }
}