package org.jeecg.modules.system.util;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import org.jeecg.modules.system.entity.SysTenant;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* <pre>
* Redis分布式ID生成器
* </pre>
*
* <pre>
* @author nicky
* 修改记录
* 修改后版本: 修改人: 修改日期: 2023/11/07 14:18 修改内容:
* </pre>
*/
@Component
public class RedisIdentifierGenerator{
@Resource
private RedisTemplate redisTemplate;
// 初始化ID为1000
public void initId(String key,Long num) {
redisTemplate.opsForValue().set(key, num);
}
// 自增ID并返回新ID
public Integer nextId(String key) {
return Math.toIntExact(redisTemplate.opsForValue().increment(key, 1L));
}
// 获取当前ID,不增加它
public Integer getCurrentId(String key) {
return (Integer) redisTemplate.opsForValue().get(key);
}
}
07-19
3416
11-24
1113
09-07