luodangjia
2024-10-28 bcff6cd41a09c5b3f5db68db8b9dbb2f90fb78f3
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/task/TaskUtil.java
@@ -1,14 +1,16 @@
package com.ruoyi.account.task;
import com.ruoyi.account.api.model.TAppUser;
import com.ruoyi.account.api.model.TAppUserVipDetail;
import com.ruoyi.account.service.TAppUserService;
import com.ruoyi.account.service.TAppUserVipDetailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@@ -21,6 +23,8 @@
    @Resource
    private TAppUserVipDetailService tAppUserVipDetailService;
    @Resource
    private TAppUserService appUserService;
    /**
@@ -48,6 +52,27 @@
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    @Scheduled(fixedRate = 1000 * 60)
    public void changeVipId(){
        LocalDateTime currentDate = LocalDateTime.now();
        List<TAppUserVipDetail> recentDetails = tAppUserVipDetailService.lambdaQuery()
                .le(TAppUserVipDetail::getStartTime, currentDate)
                .ge(TAppUserVipDetail::getEndTime, currentDate)
                .orderByDesc(TAppUserVipDetail::getStartTime).list();
        for (TAppUserVipDetail recentDetail : recentDetails) {
            TAppUser byId = appUserService.getById(recentDetail.getAppUserId());
            if (byId!=null) {
                byId.setVipId(recentDetail.getVipId());
                appUserService.updateById(byId);
            }
        }
    }