Advertisement

创建唯一标识并展示的编码工具类——指定字符串、日期和n位编号

阅读量:

此前在需求中一直要求列表展示编码,我曾疑惑这样的展示方式有何实际意义,毕竟后台关联关系所使用的标识符为随机生成的ID,不可能直接呈现。后来向邻座的资深同事咨询后得知,该需求在实际工作中是合理的。经过一番思考与理解后,我编写了以下工具;

需求:"***"+日期+4位顺序码

接下来我将阐述生成唯一编码的实现思路:

1、首先通过工具生成"***"+日期字符串的组合

2、从数据库中进行模糊查询,获取所有包含"***"+日期字符串的编码字段,并将其存储为一个数组

3、对数组中的元素进行排序,提取出数值最大的那个编码值

4、确定顺序码部分中第一个非零数字的位置索引

5、截取顺序码对应的数字部分,并在此基础上进行加1操作,该加1逻辑在工具类中实现

6、最终将各部分重新拼接组合成完整的编码字符串

工具类:

复制代码
 package com.sunyard.ec.promotion.util;

    
  
    
 import java.time.LocalDate;
    
 import java.time.format.DateTimeFormatter;
    
  
    
 public class CodeCreateTool {
    
 	
    
 	/* * 时间格式20190429
    
 	 */
    
     public

全部评论 (0)

还没有任何评论哟~