CheckUserAttendenceCountMonthlyQuartz.java 1.98 KB
package com.xiniunet.quartz;

import com.alibaba.dubbo.common.utils.StringUtils;
import com.xiniunet.framework.security.Passport;
import com.xiniunet.framework.util.SettingUtil;
import com.xiniunet.service.railway.dal.UserMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.Calendar;

/**
 * 每月一重置用户每月上岗数据
 */
@Component
public class CheckUserAttendenceCountMonthlyQuartz {

    private static Logger logger = LoggerFactory.getLogger(CheckUserAttendenceCountMonthlyQuartz.class);

    @Autowired
    private UserMapper userMapper;

    /**
     * 执行定时器,每月1号零点20分执行一次
     */
    public void execute() {
        logger.error("定时修改用户每月护航统计任务启动,cron表达式为0 20 0 1 * ?==========================");
        String quartzTask = SettingUtil.getProperty("", "enable.quartz.task");
        if (StringUtils.isEmpty(quartzTask) || quartzTask.toLowerCase().equals("false")) {
            logger.error("定时任务CheckUserAttendenceCountMonthlyQuartz错误,该服务器未设置自动同步定时任务!");
            return;
        }
        logger.error("定时修改用户每月护航统计任务启动,cron表达式为0 20 0 1 * ?");
        Passport passport = new Passport();
        passport.setUserId(20201123L);
        passport.setTenantId(973848199737774088L);
        //判断是否是每月一号
        Calendar calendar = Calendar.getInstance();
        int day = calendar.get(Calendar.DAY_OF_WEEK);
        long result = 0;
        if (day == Calendar.MONDAY) {
            logger.error("定时修改用户每月护航统计任务结束,今天是周一");
        } else {
            result = userMapper.updateMonthly(passport);
            logger.error("定时修改用户每月护航统计任务结束,更新了" + result + "条记录");
        }
        return;
    }

}