/// <summary> /// 生成打印 POS流水单号 等编号等 /// </summary> /// <returns></returns> public static long ExtendGenerate(SerialType serialType) { TypePrefix typePrefix = SerialTypeHelper.GetSerialTypeAndPrefix(serialType); SerialCache gen = SerialCache.GetInstance(); return(gen.CreateID(typePrefix.Type)); }
/// <summary> /// 生产指定长度的单号 /// </summary> /// <param name="serialType"></param> /// <param name="pkLength">序列号总长度</param> /// <returns></returns> public static string Generate(SerialType serialType, int length) { TypePrefix typePrefix = SerialTypeHelper.GetSerialTypeAndPrefix(serialType); if (typePrefix.IsRandom) { return(RandomSerial.CreateID(length)); } SerialCache cache = SerialCache.GetInstance(); return(cache.CreateID(typePrefix.Type, length)); }
/// <summary> /// 生产单号 /// </summary> /// <param name="serialType">默认长度10位</param> /// <returns></returns> public static string Generate(SerialType serialType) { TypePrefix typePrefix = SerialTypeHelper.GetSerialTypeAndPrefix(serialType); if (typePrefix.IsRandom) { return(RandomSerial.CreateID(DefualtLength)); } SerialCache cache = SerialCache.GetInstance(); //日期5位 编号5位 return(cache.CreateID(typePrefix.Type, DefualtLength)); }
/// <summary> /// 序列号缓存 /// </summary> /// <returns></returns> public static SerialCache GetInstance() { if (_instance == null) { lock (Lock) { if (_instance == null) { _instance = new SerialCache(); Thread.MemoryBarrier(); } } } return(_instance); }