微服务定时执行任务

需要的注解

@Configuration //1.主要用于标记配置类,兼备Component的效果。

@EnableScheduling // 2.开启定时任务

@Scheduled(fixedRate = 3000000) 定时 30分钟

java 复制代码
package com.czxy.conllonter;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.czxy.Administrator;
import com.czxy.config.BaseResult;
import com.czxy.config.JwtProperTies;
import com.czxy.mapper.UserMapper;
import com.czxy.servise.Userservise;
import com.czxy.untils.CodeUtil;
import com.czxy.untils.JwtUtils;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.sql.Time;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;

@RestController
@RequestMapping("/administrator")
@Configuration      //1.主要用于标记配置类,兼备Component的效果。
@EnableScheduling   // 2.开启定时任务
//@Component
public class UserConlleter {
    @Resource
    private Userservise userservise;
    @Resource
    private UserMapper userMapper;
    @Resource
    private JwtProperTies jwtProperTies;
    @Resource
    private HttpServletRequest httpServletRequest;


    //生成随机校验码用于注册
    @PostMapping("Invitationcode/{id}")
    private BaseResult<String> getCode(@PathVariable Integer id){
        String code = CodeUtil.toSerialCode(id);
        //设置权限码
        Administrator administrator = userMapper.selectById(id);
        administrator.setCode(code);
        userservise.updateById(administrator);
        return BaseResult.ok("请求成功",code);
    }

    //30分钟刷新校验码
    @Scheduled(fixedRate = 3000000)
    @GetMapping("updateCode")
    private void updateCode(){
        List<Administrator> administratorList = userservise.list();
        for (Administrator administrator:administratorList){
            //获取code
            BaseResult<String> code = getCode(administrator.getAid());
            //设置校验码
            administrator.setCode(code.getData());
            //更新
            userservise.updateById(administrator);
        }
    }
}
相关推荐
VX_CXsjNo1几秒前
免费送源码:Java+SSM+Android Studio 基于Android Studio游戏搜索app的设计与实现 计算机毕业设计原创定制
java·spring boot·spring·游戏·eclipse·android studio·android-studio
ylfhpy5 分钟前
Java面试黄金宝典33
java·开发语言·数据结构·面试·职场和发展·排序算法
乘风!22 分钟前
Java导出excel,表格插入pdf附件,以及实现过程中遇见的坑
java·pdf·excel
小小鸭程序员33 分钟前
Vue组件化开发深度解析:Element UI与Ant Design Vue对比实践
java·vue.js·spring·ui·elementui
南宫生1 小时前
Java迭代器【设计模式之迭代器模式】
java·学习·设计模式·kotlin·迭代器模式
seabirdssss1 小时前
通过动态获取项目的上下文路径来确保请求的 URL 兼容两种启动方式(IDEA 启动和 Tomcat 部署)下都能正确解析
java·okhttp·tomcat·intellij-idea
kill bert2 小时前
第30周Java分布式入门 消息队列 RabbitMQ
java·分布式·java-rabbitmq
穿林鸟3 小时前
Spring Boot项目信创国产化适配指南
java·spring boot·后端
此木|西贝3 小时前
【设计模式】模板方法模式
java·设计模式·模板方法模式
wapicn993 小时前
手机归属地查询Api接口,数据准确可靠
java·python·智能手机·php