⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 seqnumber.java

📁 DbService数据库接口,测试规范?菘饨涌?测试规范数据库接口,测试规范
💻 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 + -