| | |
| | | package com.ruoyi.account.controller; |
| | | |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.account.api.model.AppUser; |
| | |
| | | import com.ruoyi.account.service.UserCouponService; |
| | | import com.ruoyi.account.service.UserPointService; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.utils.bean.BeanUtils; |
| | | import com.ruoyi.account.api.vo.PaymentUserCoupon; |
| | | import com.ruoyi.other.api.domain.Goods; |
| | |
| | | .lt(status!=null&&status==3,UserCoupon::getEndTime, LocalDateTime.now()) |
| | | .eq(UserCoupon::getAppUserId, userid).page(Page.of(pageNum-1, pageSize)); |
| | | for (UserCoupon record : page.getRecords()) { |
| | | record.setIdStr(record.getId().toString()); |
| | | CouponInfo data = couponClient.detail(record.getCouponId()).getData(); |
| | | CouponInfoVo vo = new CouponInfoVo(); |
| | | BeanUtils.copyProperties(data,vo); |
| | |
| | | userPoint.setBalance(byId.getLavePoint()); |
| | | userPoint.setAppUserId(userid); |
| | | userPoint.setObjectId(Long.valueOf(data.getId())); |
| | | userPoint.setCreateTime(LocalDateTime.now()); |
| | | userPointService.save(userPoint); |
| | | } |
| | | //增加优惠券记录,根据时间类型设置开始结束时间 |
| | |
| | | public R<UserCoupon> getCouponInfoInfo(String id){ |
| | | UserCoupon userCoupon = userCouponService.getById(id); |
| | | CouponInfo couponInfo = couponClient.detail(userCoupon.getCouponId()).getData(); |
| | | List<Goods> goods = null; |
| | | if("-1".equals(couponInfo.getForGoodIds())){ |
| | | goods = goodsClient.getGoodsByType(2).getData(); |
| | | List<String> goodNames = new ArrayList<>(); |
| | | if(!"null".equals(couponInfo.getGoodsNameJson()) && StringUtils.isNotEmpty(couponInfo.getGoodsNameJson())){ |
| | | goodNames = JSON.parseArray(couponInfo.getGoodsNameJson(), String.class); |
| | | }else{ |
| | | goods = goodsClient.getGoodsById(couponInfo.getForGoodIds().split(",")).getData(); |
| | | List<Goods> goods = null; |
| | | if("-1".equals(couponInfo.getForGoodIds())){ |
| | | goods = goodsClient.getGoodsByType(2).getData(); |
| | | }else{ |
| | | goods = goodsClient.getGoodsById(couponInfo.getForGoodIds().split(",")).getData(); |
| | | } |
| | | goodNames = goods.stream().map(Goods::getName).collect(Collectors.toList()); |
| | | } |
| | | |
| | | CouponInfoVo couponInfoVo = new CouponInfoVo(); |
| | | BeanUtils.copyProperties(couponInfo, couponInfoVo); |
| | | couponInfoVo.setGoodNames(goods.stream().map(Goods::getName).collect(Collectors.toList())); |
| | | couponInfoVo.setGoodNames(goodNames); |
| | | userCoupon.setCouponInfoVo(couponInfoVo); |
| | | if (userCoupon.getUseTime()==null){ |
| | | userCoupon.setStatus(1); |
| | | if (userCoupon.getEndTime().isBefore(LocalDateTime.now())){ |
| | | userCoupon.setStatus(3); |
| | | } |
| | | }else { |
| | | userCoupon.setStatus(2); |
| | | } |
| | | return R.ok(userCoupon); |
| | | } |
| | | |
| | |
| | | if(null == userCoupon){ |
| | | return R.ok("核销码错误"); |
| | | } |
| | | if(userCoupon.getStatus() == 2){ |
| | | if(userCoupon.getUseTime() != null){ |
| | | return R.ok("优惠券已使用"); |
| | | } |
| | | if(userCoupon.getStatus() == 3){ |
| | | if(LocalDateTime.now().isAfter(userCoupon.getEndTime())){ |
| | | return R.ok("优惠券已过期"); |
| | | } |
| | | userCoupon.setStatus(2); |