创建唯一标识并展示的编码工具类——指定字符串、日期和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)
还没有任何评论哟~
