| | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.account.api.dto.SendCouponDto; |
| | | import com.ruoyi.account.api.feignClient.AppCouponClient; |
| | | import com.ruoyi.account.api.model.TAppCoupon; |
| | | import com.ruoyi.account.api.model.TAppUserVipDetail; |
| | | import com.ruoyi.account.mapper.TAppUserVipDetailMapper; |
| | |
| | | import com.ruoyi.account.service.TAppCouponService; |
| | | import com.ruoyi.account.service.TAppUserVipDetailService; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.web.domain.AjaxResult; |
| | | import com.ruoyi.other.api.domain.TCoupon; |
| | | import com.ruoyi.other.api.domain.TVip; |
| | | import com.ruoyi.other.api.feignClient.OtherClient; |
| | | import com.ruoyi.other.api.feignClient.VipClient; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | public void giveVipCoupun(Long appUserId, Integer vipId,Long recordId,Integer monthNum) { |
| | | //如果不包含,则更新sendNum,并且赠送优惠卷 |
| | | TAppUserVipDetail byId = tAppUserVipDetailService.getById(recordId); |
| | | if (byId.getStartTime().toLocalDate().plusMonths(byId.getSendMonth()).compareTo(LocalDate.now())==0&&LocalDate.now().isBefore(byId.getEndTime().toLocalDate())){ |
| | | if (byId.getStartTime().plusMonths(byId.getSendMonth()).toLocalDate().compareTo(LocalDate.now())==0&&LocalDate.now().isBefore(byId.getEndTime().toLocalDate())){ |
| | | byId.setSendMonth(byId.getSendMonth()+1); |
| | | //给这个用户发放对应vip的优惠卷以及充电次数加满 |
| | | |
| | | if (byId.getCouponIds()!=null) { |
| | | String[] sendList = byId.getCouponIds().split(","); |
| | | for (String sendCouponDto : sendList) { |
| | | R<TCoupon> couponById = otherClient.getCouponById(Integer.valueOf(sendCouponDto)); |
| | | List<SendCouponDto> javaList = JSON.parseArray(byId.getCouponIds()).toJavaList(SendCouponDto.class); |
| | | for (SendCouponDto sendCouponDto : javaList) { |
| | | Integer number = sendCouponDto.getNumber(); |
| | | for (Integer i = 0; i < number; i++) { |
| | | R<TCoupon> couponById = otherClient.getCouponById(sendCouponDto.getId()); |
| | | TCoupon coupon = couponById.getData(); |
| | | //将该优惠卷添加到用户优惠卷中 |
| | | TAppCoupon tAppCoupon = new TAppCoupon(); |
| | | tAppCoupon.setAppUserId(appUserId); |
| | | tAppCoupon.setCouponId(Integer.valueOf(sendCouponDto)); |
| | | tAppCoupon.setCouponId(sendCouponDto.getId()); |
| | | if (coupon.getValidityPeriodMode() == 1) { |
| | | tAppCoupon.setEndTime(coupon.getEndTime()); |
| | | } else { |
| | |
| | | tAppCoupon.setCouponJson(JSON.toJSONString(coupon)); |
| | | appCouponService.save(tAppCoupon); |
| | | } |
| | | } |
| | | |
| | | } |
| | | byId.setChargeNum(byId.getSendChargeNum()); |
| | | tAppUserVipDetailService.updateById(byId); |
| | | } |
| | | } |
| | | |
| | | } |