`
keney_oak
  • 浏览: 27298 次
社区版块
存档分类
最新评论

java代码生成流水号

    博客分类:
  • java
阅读更多
public String getPackageId() {

String packageId = "";
DateFormat fmt = new SimpleDateFormat("yyyyMMdd");
String dateStr = fmt.format(new Date());
Integer dateInt = Integer.parseInt(dateStr);

OrderPackage op = orderPackageDao.findMaxById();
if (op == null) {
packageId = dateStr + "00001";

} else {

String id = op.getId();
String idSub = id.substring(0, 8.);
Integer idInt = Integer.parseInt(idSub);
if (dateInt > idInt) {

packageId = dateStr + "00001";

} else if (dateInt.equals(idInt)) {

String before = id.substring(0, 8.);
String numStr =id.substring(8,id.length());

Integer numInt = Integer.parseInt(numStr);
Integer addnumInt = numInt + 1;

Integer numLenght = addnumInt.toString().length();

Integer lenght = 5 - numLenght;

StringBuffer sb = new StringBuffer();
for (int i = 0; i < lenght; i++) {
sb.append("0");
}

String mid = sb.toString();
packageId = before + mid + addnumInt;
}
}
return packageId;
}
分享到:
评论

相关推荐

    JAVA生成订单号(日期+流水号)

    2. **流水号**:生成流水号通常需要一个全局变量,如原子整型(`AtomicInteger`),以保证在多线程环境中的安全性。初始化原子整型为0,每次生成订单号时自增1,然后取其值作为流水号: ```java AtomicInteger ...

    java生成流水-格式202001270001

    在Java编程中,生成流水号是一项常见的需求,特别是在金融、电商等系统中,流水号作为交易的唯一标识,对于数据的追踪和管理至关重要。在这个场景中,“java生成流水-格式202001270001”指的是一个Java程序,用于...

    流水号生成(不通过数据库)

    可以生成各种类型的不会重复的流水号,支持批量生成流水号,支持生成各个类型的流水号且互不冲突,例如给每个业务生成互不影响的流水号。 生成的流水号支持各种格式和长度,例如TB201708100001,AAS2017080001,SDB...

    java开发利用日期+xxx生成形如20131210001的流水号

    java开发用于给上传文件附上ID,此ID号为日期+xxx,生成形如20131210001 第二天自动从20131211001开发不会重复。有问题可联系我。

    Produced-four-serial-for-java.rar_four_java 生成流水_java四位流水号

    在Java编程中,生成流水号是一项常见的需求,特别是在数据库记录、订单系统或者任何需要唯一标识符的场景。流水号通常是一串连续的数字,用于表示数据的顺序或时间序列。在给定的“Produced-four-serial-for-java....

    生成并发唯一性流水号的解决方案.doc

    通过测试代码,可以模拟多个线程同时请求流水号的场景,从而验证该解决方案的可靠性和高效性。 总结 生成并发唯一性流水号的解决方案是满足业务系统中对流水号的需求的关键解决方案。该解决方案使用了表结构的设计...

    java自动生成id策略

    在Java编程中,自动生成ID是一项常见的需求,特别是在数据库记录、分布式系统节点标识等领域。"java自动生成id策略"指的是设计并实现一种机制,确保在多线程环境下能够高效、唯一地生成ID。这里我们将详细探讨这个...

    java自动生成编号的实现(格式:yyMM+四位流水号)

    java自动生成编号的实现(格式:yyMM+四位流水号) java自动生成编号的实现是指通过java语言生成一个唯一的编号,格式为yyMM+四位流水号。在实际应用中,自动生成编号可以应用于各种场景,如订单编号、用户编号、物流...

    二维码生成和业务流水号生成demo

    在提供的压缩包`demo`中,可能包含了实现这两个功能的示例代码,包括二维码生成的Python脚本和业务流水号生成的逻辑。解压并查看这些文件,你可以更深入地了解如何在实际项目中应用这些技术。对于初学者来说,这是一...

    mybatis+mysql 使用存储过程生成流水号的实现代码

    在IT领域,尤其是在数据库管理与应用开发中,正确地生成流水号是确保数据一致性与唯一性的关键步骤。本文将详细讲解如何使用MyBatis和MySQL结合存储过程来实现流水号的生成,以及如何在Java应用中调用这个过程。 ...

    冠字号码解析及生成java源码

    生成冠字号码通常需要模拟银行系统的逻辑,包括选择合适的分行代码和生成流水号。分行代码通常是固定的,可以根据实际需求预先设定;流水号则需要确保全局唯一性,可以使用`java.util.Random`或`java.util.UUID`类...

    自动生成不重复无序化id

    这是自动生成不重复主键的代码包,直接导包进入程序即可使用,帮助生成由字母数字组成的16位id号,可以用于数据库主键存储(使用数据库自增主键始终有问题,不适合大型程序的使用),该代码包运用于很多大型企业级...

    生成以日期开头,加4位数字,每次加1的工具类.如:201712140001

    以上代码片段是基于假设的实现,实际应用中可能需要根据具体需求进行调整。使用这样的工具类,我们可以方便地生成唯一的、基于日期的序列号,并能持久化存储以保持状态。这种设计对于需要跟踪时间顺序并确保唯一性的...

    java web在高并发和分布式下实现订单号生成唯一的解决方案

    Java Web 在高并发和分布式下实现订单号生成唯一的解决方案 在高并发和分布式下,实现订单号生成唯一是 Java Web 开发中的一大挑战。为了解决这个问题,我们需要从多方面考虑,包括时间戳、随机数、线程ID、进程ID...

    简单的订单ID生成工具类

    Java代码写的订单ID生成工具类,注意需要借助Redis。返回结果为当天年月日加6位订单序列号

    批次号转化_批次号转化_

    1. **格式转换**:将不同格式的批次号统一转换为标准格式,如将纯数字转换为包含日期和流水号的字符串。 2. **数据解码**:解析批次号中的各个组成部分,如提取生产日期、生产线代码等。 3. **数据编码**:将批次号...

    java生成申请单序列号的实现方法

    1. `getMoveOrderNo()` 方法是主要的序列号生成方法,它以当前日期(格式为yyyyMMdd)作为基础,加上三位的流水号(初始为000),并前缀"CB",形成完整的序列号。这个方法是同步的(`synchronized` 关键字),以防止...

    快递号生成器

    编码规则中的数字部分可能包含日期信息,如年月日或周几,以及内部流水号,确保在同一天内不会重复。 3. **生成算法**: 快递号生成器的工作原理通常涉及随机数生成、日期处理和自定义格式化。它会根据设定的编码...

    微信支付后端demo(java)_微信小程序模板js代码前台前端H5页面源码+后台源码.rar

    - 支付记录表:记录支付的详细信息,如交易流水号、支付时间、金额等。 7. **安全性考虑**: - 防止重复支付:通过订单状态校验,确保同一订单不会被多次支付。 - 验证支付结果:接收到支付成功通知后,要验证...

Global site tag (gtag.js) - Google Analytics