【通过redis生成编码】生成不重复的序列号

news/2024/7/7 23:24:00
/**
     * 生成一个序列号,每天从0开始自增
     * yyyyMMdd0001
     * @Param leftCode编号特定前缀
     * */
     
     public String getSequence(String leftCode){

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
        String dateTime = simpleDateFormat.format(new Date());
        String key = MessageFormat.format("{0}:{1}","dmv:carapplicationcode"+":"+leftCode,dateTime);
        Long autoID = redisTemplate.opsForValue().increment(key,1);
        if(autoID == 1){
            //设置 hash 值在凌晨23;59:59 清理
            Date date = Date.from(LocalDateTime.of(LocalDate.now(), LocalTime.MAX).toInstant(ZoneOffset.of("+8")));
            redisTemplate.expireAt(key,date);
        }
        String value = org.apache.commons.lang.StringUtils.leftPad(String.valueOf(autoID),3,"0");
        String code = MessageFormat.format("{0}{1}",dateTime,value);
        return leftCode+code;
    }

redis中的存储
在这里插入图片描述

实际的生成效果
在这里插入图片描述


http://lihuaxi.xjx100.cn/news/1001945.html

相关文章

STM32F103引脚输入输出模式详解

目录 一:输入模式 1.1:模拟输入 1.2: 浮空输入 1.3:上拉输入 1.4:下拉输入 1.5: 为什么没有复用输入配置模式 二:输出模式 2.1:推挽输出 2.2:开漏输出 2.3&#xf…

并发情况下, 必须对iterator 进行加锁

java集合操作中, remove 元素请使用 Iterator 方式,如果并发操作,需要对 Iterator 对象加锁, 为什么并发情况下, 必须对iterator 进行加锁 在并发环境下,如果多个线程同时尝试访问同一个集合并且其中某个线程正在使用Iterator遍历该集合&…

【day2】Android Jetpack Compose环境搭建

【day2】Android Jetpack Compose环境搭建 以下是适用于 Jetpack Compose 的环境要求: Android Studio 版本:4.2 Canary 15 或更高版本Gradle 版本:7.0.0-beta02 或更高版本Android 插件版本:4.2.0-beta15 或更高版本Kotlin 版本…

C# 结构体

C#中的结构体(Struct)是一种轻量级的数据类型,用于存储数据。与类(Class)不同,结构体是一种值类型,即在赋值或传递参数时是按值传递的,而不是按引用传递的。 结构体的声明和使用方式…

docker push时出现denied: requested access to the resource is denied

1、首先确认自己已经登陆 docker login2、修改镜像到自己账户的名下 docker tag ${原镜像的名称} ${自己的账户名称}/${原镜像的名称} docker push ${自己的账户名称}/${原镜像的名称}

HTB-Popcorn

HTB-Popcorn信息收集开机提权信息收集 前1000个常用端口 全体端口 22 ssh OpenSSH 5.1p180 http Apache httpd 2.2.12 80端口的页面如下。 dirmap gobuster dirbuster 得出如下结果: 当前可访问 http://10.10.10.6/indexhttp://10.10.10.6/testhttp://10.1…

【K8S系列】深入解析无状态服务

目录 序言 1. 无服务介绍 1.1 优点 1.2 使用场景 1.3 资源类型 1.4 总结 2 使用介绍 2.1 Deployment 使用场景: 2.2 ReplicaSet 使用场景 2.3 pod Pod 资源定义示例 2.4 service 创建一个Deployment: 创建一个Service: 总结…

全志D1S在rt-smart下驱动OLED方法分享

D1S使用rt-smart驱动OLED 前言 本次使用RT-Smart的IIC驱动OLED屏幕,进行基本的字符串显示,在使用的过程中遇到一些问题,在这里做记录分享,本次以熟悉RT-Smart使用为主。 过程 本次直接开始添加离线包,环境搭建请参考上一篇文章…