package com.ruoyi.account.util;
|
|
import com.ruoyi.account.api.model.TAppUser;
|
import com.ruoyi.account.api.model.TAppUserVipDetail;
|
import com.ruoyi.account.service.TAppUserVipDetailService;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.time.LocalDateTime;
|
|
@Component
|
public class GiveVipUtil {
|
@Resource
|
private TAppUserVipDetailService tAppUserVipDetailService;
|
public void sendVip(TAppUser nowUser,Integer vipId,Integer plusDay){
|
if (nowUser.getVipEndTime()==null||nowUser.getVipEndTime().isBefore(LocalDateTime.now())) {
|
|
nowUser.setVipEndTime(LocalDateTime.now().plusDays(plusDay));
|
|
//直接再detail里新增数据,因为不是续费
|
TAppUserVipDetail tAppUserVipDetail = new TAppUserVipDetail();
|
tAppUserVipDetail.setAppUserId(nowUser.getId());
|
tAppUserVipDetail.setStartTime(LocalDateTime.now());
|
tAppUserVipDetail.setEndTime(LocalDateTime.now().plusDays(plusDay));
|
tAppUserVipDetail.setVipId(vipId);
|
tAppUserVipDetailService.save(tAppUserVipDetail);
|
//直接赠送优惠卷
|
}else {
|
nowUser.setVipEndTime(nowUser.getVipEndTime().plusDays(plusDay));
|
//获取detail里结束时间大于当前时间的数据,并将enttime延长
|
TAppUserVipDetail tAppUserVipDetail = tAppUserVipDetailService.lambdaQuery().eq(TAppUserVipDetail::getAppUserId, nowUser.getId()).orderByDesc(TAppUserVipDetail::getEndTime).last("limit 1").one();
|
|
TAppUserVipDetail newAppUser = new TAppUserVipDetail();
|
newAppUser.setAppUserId(nowUser.getId());
|
newAppUser.setStartTime(tAppUserVipDetail.getEndTime());
|
newAppUser.setEndTime(tAppUserVipDetail.getEndTime().plusDays(plusDay));
|
|
newAppUser.setVipId(vipId);
|
tAppUserVipDetailService.save(newAppUser);
|
// tAppUserVipDetail.setEndTime(tAppUserVipDetail.getEndTime().plusDays(plusDay));
|
// tAppUserVipDetailService.updateById(tAppUserVipDetail);
|
}
|
|
}
|
}
|