浩克网 手游攻略 软件教程 我写了一个简单的单号生成器英语翻译(我写了一个简单的单号生成器英文翻译)

我写了一个简单的单号生成器英语翻译(我写了一个简单的单号生成器英文翻译)

时间:2025-05-08 14:02:19 来源:网络整理 浏览:0

使用MySQL生成,相信大家在开发中都会满足生成业务订单号的需求。一般的生成格式是:

前缀YYMMDD流水号(比如3位流水号)这里的前缀日期不是很有技术含量,主要是尾部的流水号,这里需要3位流水号,我们从001开始。当等于10时,为当等于100时,

它是100。从001开始重置第二天。这里我们可以使用MySQL数据库存储,这里我们需要记录日期和序列号。MySQL表如下:

创建表` code _ generator `(` id ` bigint(10)NOT NULL AUTO _ INCREMENT COMMENT ' id '` number ` bigint(10)DEFAULT NULL COMMENT '序号,` gnerator_time `日期时间默认空注释'生成日期,`已删除` tinyint(1)默认' 0 '注释'是否删除,' created _ by ' varchar(32)字符集utf8mb 4 COLLATE utf8mb 4 _ unicode _ ci默认空注释'创建人,'创建时间'日期时间默认空注释'创建时间,' updated _ by ' varchar(32)字符集utf8mb 4 COLLATE utf8mb 4 _ unicode _ ci默认空注释'更新人,'更新时间'日期时间默认空注释'更新时间,使用BTREE的主键(` id `)ENGINE=InnoDB DEFAULT CHARSET=utf8mb 4 COLLATE=utf8mb 4 _ 0900 _ ai _ ci COMMENT='单号生成器'调用生成方法时,

使用Redis生成当然,除了使用MySQL生成,还可以使用Redis生成。与MySQL相比,Redis具有更好的性能。这里我们使用Redisson API。

首先,我们使用Spring注入一个Redisson客户端:

@ Bean(' redis onservice ')public redis onclient getredis onclient(){ String active profile=getActiveProfile();配置配置;if('prod ').equals(active profile)){ config=useClusterConfig();else { config=useSingleConfig();返回redisson . create(config);}在配置RedissonClient时,

@ Autowired private RedissonClientConfig redissonService;一般来说,您的数字核心代码如下:

private synchronized long getSuffixCode(String key){ redis onclient redis onclient=redis onservice . getredis onclient();RAtomicLong atomic var=redissonclient . get atomic long(key);string todayStr=getTodayStr();string code record=getCodeRecord(key);如果(!atomic var . is exists()){ atomic var . set(1);if(string utils . isnotblank(code record)){ if(!isSameDay(todayStr,code record)){ atomic var . set(1);} saveCodeRecord(key,todayStr);long value=atomic var . incrementandget();返回值;}代码的功能是串行编号的通用化.

私有void保存代码记录(String KEY,String value){ String RECORD KEY=KEY CODE _ DATE _ RECORD _ KEY;再版。set(记录键,值);序号如果小于10,

私有字符串getSuffixCodeStr(String key,int digit){ long code=getSuffixCode(key);返回getDigitNumber((int) code,digit);}公共字符串getdigit number(int number,int digit){数字格式formatter=数字格式。getnumber实例();格式化程序。setminimumintegerdigits(数字);格式化程序。setgroupingused(false);返回格式化程序.格式(数字);}之后我们再将前缀,

私有字符串generateCode(String prefix,String redisKey,int digit){ String dateStr=getTodayStr();string suffixCodeStr=getSuffixCodeStr(redisKey,digit);String[] codes={prefix,dateStr,suffixCodeStr };返回String.join(' '代码);}我们再做一层简单的封装:

公共字符串生成器代码(字符串前缀,int digit){ String redisKey=getRedisKey(前缀,‘GENERAL _ CODE’);返回生成代码(前缀、redisKey、数字);}对生成器代码()说明如下:

生成的单据号格式为:前缀YYMMDD流水号,例如generatorCode('D '4)。如果当前日期是2022年8月12日,将生成文档编号:D202208120001。

标题:我写了一个简单的单号生成器英语翻译(我写了一个简单的单号生成器英文翻译)
链接:https://www.52hkw.com/news/rj/62893.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
Tiktok专用的梯子加速器(TK加速器全球加速)

Tiktok作为当前最火爆的短视频平台,受到了全球用户的热烈欢迎。然而,由于网络限制或者其他原因,很多用户在观看

2025-05-08
怎么不让快递放菜鸟驿站

菜鸟裹裹怎么禁止放快递?经常网购的小伙伴都知道,如果附近有菜鸟驿站,那么驿站的快递员会默认选择放在驿站中,并

2025-05-08
德国游戏排行榜前十名(德国出品的游戏)

中国的玩家可能在新闻里听过德国科隆游戏展,但对德国的游戏却感觉很陌生。游戏玩家大部分多少应该都体验过SL

2025-05-08
菜鸟驿站怎么送货上门

菜鸟裹裹怎么送货上门?有过菜鸟驿站拿快递的小伙伴都知道,很多菜鸟驿站在派送快递时,默认是放在菜鸟驿站,需要我

2025-05-08