📄 seqnumber.java
字号:
package com.rainbow.mas.plugin.dbplugin.util;
import java.util.Calendar;
import java.util.Date;
public class SeqNumber
{
private static SeqNumber instance = null;
private static final int Max_Seq = 999999999;
private static final int Min_Seq = 0;
private static int seqNumber = Min_Seq;
//用于发送短信息时 累加的一个序号
private static int seqDBNumber = 0;
private SeqNumber()
{}
public synchronized static SeqNumber getInstance()
{
if(instance == null)
instance = new SeqNumber();
return instance;
}
/**
* 生成唯一序列号
* 格式:时间+消息序号
* @return
*/
public synchronized int genSeqNum()
{
if(seqDBNumber >= Max_Seq)
seqDBNumber = Min_Seq;
else
seqDBNumber++;
return seqDBNumber;
}
/**
* 生成一次请求的 唯一标识
* 标识一组特定的短消息发送请求
* 格式:时间+消息序号
* @return
*/
public synchronized String genRequestIdentifier()
{
Date date = new Date();
if(seqNumber >= Max_Seq)
seqNumber = Min_Seq;
else
seqNumber++;
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
long head = (month + 1) * 0x5f5e100 + day * 0xf4240 + hour * 10000 + minute * 100 + second;
StringBuffer seqSB = new StringBuffer();
seqSB.append(head);
seqSB.append(seqNumber);
return seqSB.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -