This example is a long time ago learning demo, for reference only

package com.hxkj.fsslr.core.utils;

import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.hxkj.fsslr.core.config.ConstantKey;
import com.hxkj.fsslr.entity.Comment;
import com.hxkj.fsslr.entity.DataCollect;
import com.hxkj.fsslr.entity.EnumType;
import com.hxkj.fsslr.entity.EnumValue;
import com.hxkj.fsslr.entity.FileCenter;
import com.hxkj.fsslr.entity.FileShare;
import com.hxkj.fsslr.entity.FileType;
import com.hxkj.fsslr.entity.FriendLink;
import com.hxkj.fsslr.entity.LabelCenter;
import com.hxkj.fsslr.entity.Log;
import com.hxkj.fsslr.entity.NavBar;
import com.hxkj.fsslr.entity.Question;
import com.hxkj.fsslr.entity.ShareData;
import com.hxkj.fsslr.entity.SysUser;
import com.hxkj.fsslr.entity.ThirdLogin;
import com.hxkj.fsslr.entity.WebsiteVisit;

/ * * *@ClassName: CuidUtils 
 * @Description: CUID utility class *@author [email protected]
 * @date5:47:00 PM, July 13, 2016 */
public class CuidUtils {

	private static Logger logger = LoggerFactory.getLogger(CuidUtils.class);
	private static Map<String,Integer> mapCuid = new Hashtable<>();
	private static final Map<String,String> mapCuidName = new HashMap<>();
	static{
		initCuidRedis();
	}
	
	/ * * *@Title: getCuid 
	 * @Description: get globally unique CUID *@param b
	 * @return   
	 * @return String    
	 * @author [email protected]
	 * @dateJuly 14, 2016 5:46:01 PM */
	@SuppressWarnings("unchecked")
	public synchronized static String getCuid(String className){
		mapCuid = (Map<String, Integer>) RedisUtils.get(ConstantKey.CUID_REDIS);
		mapCuid.put(className, mapCuid.get(className)+1);
		RedisUtils.save(ConstantKey.CUID_REDIS, mapCuid);
		return mapCuidName.get(className)+TimeUtils.getCuitPreTime()+mapCuid.get(className).toString();
	}
	
	/ * * *@Title: initCuidRedis 
	 * @DescriptionInitialize redis and save cuID *@return void    
	 * @author [email protected]
	 * @dateJuly 20, 2016 4:20:03 PM */
	private static void initCuidRedis(a){
		mapCuid.put(Comment.class.getName(), 0);
		mapCuid.put(DataCollect.class.getName(), 0);
		mapCuid.put(EnumType.class.getName(), 0);
		mapCuid.put(EnumValue.class.getName(), 0);
		mapCuid.put(FileCenter.class.getName(), 0);
		mapCuid.put(FileShare.class.getName(), 0);
		mapCuid.put(FileType.class.getName(), 0);
		mapCuid.put(FriendLink.class.getName(), 0);
		mapCuid.put(LabelCenter.class.getName(), 0);
		mapCuid.put(Log.class.getName(), 0);
		mapCuid.put(NavBar.class.getName(), 0);
		mapCuid.put(Question.class.getName(), 0);
		mapCuid.put(ShareData.class.getName(), 0);
		mapCuid.put(SysUser.class.getName(), 0);
		mapCuid.put(ThirdLogin.class.getName(), 0);
		mapCuid.put(WebsiteVisit.class.getName(), 0);
		
		mapCuidName.put(Comment.class.getName(), "COMMENT");
		mapCuidName.put(DataCollect.class.getName(), "DATA_COLLECT");
		mapCuidName.put(EnumType.class.getName(), "ENUM_TYPE");
		mapCuidName.put(EnumValue.class.getName(), "ENUM_VALUE");
		mapCuidName.put(FileCenter.class.getName(), "FILE_CENTER");
		mapCuidName.put(FileShare.class.getName(), "FILE_SHARE");
		mapCuidName.put(FileType.class.getName(), "FILE_TYPE");
		mapCuidName.put(FriendLink.class.getName(), "FRIEND_LINK");
		mapCuidName.put(LabelCenter.class.getName(), "LABEL_CENTER");
		mapCuidName.put(Log.class.getName(), "LOG");
		mapCuidName.put(NavBar.class.getName(), "NAV_BAR");
		mapCuidName.put(Question.class.getName(), "QUESTION");
		mapCuidName.put(ShareData.class.getName(), "SHARE_DATA");
		mapCuidName.put(SysUser.class.getName(), "SYS_USER");
		mapCuidName.put(ThirdLogin.class.getName(), "THIRD_LOGIN");
		mapCuidName.put(WebsiteVisit.class.getName(), "WEBSITE_VISIT");
		
		if(! RedisUtils.exists(ConstantKey.CUID_REDIS)){ logger.debug("-- -- -- -- -- -- -- -- -- -- : set CUID_REDIS");
			RedisUtils.save(ConstantKey.CUID_REDIS, mapCuid);
		}else{
			logger.debug("-- -- -- -- -- -- -- -- -- -- : existence CUID_REDIS"); }}}Copy the code