找回密码
  注册[Register]
查看: 352|回复: 9

[其他] 生成随机不重复单号

[复制链接]
发表于 2021-7-3 07:05 来自手机 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

BillNoHelper.GenerateCouponKey();
[AppleScript] 纯文本查看 复制代码
    public class BillNoHelper
    {

        /// <summary>
        ///  防止创建类的实例
        /// </summary>
        private BillNoHelper() { }
        private static readonly object locker = new object();
        private static int _sn = 0;
        /// <summary>
        /// 生成单据编号
        /// </summary>
        /// <returns></returns>
        public static string GenerateId()
        {
            lock (locker)   //lock 关键字可确保当一个线程位于代码的临界区时,另一个线程不会进入该临界区。
            {
                if (_sn == 9999)
                {
                    _sn = 1;
                }
                else
                {
                    _sn++;
                }
                return DateTime.Now.ToString("yyMMddHHmmss") + _sn.ToString().PadLeft(4, '0');
            }
        }
        /// <summary>
        /// 唯一值
        /// </summary>
        /// <returns></returns>
        public static string guid()
        {
            return Guid.NewGuid().ToString().Replace("-", "");
        }
        /// <summary>
        /// GuidExtension
        /// </summary>
        /// <param name="guid"></param>
        /// <returns></returns>
        public static string IsNum(Guid guid)
        {
            var s = guid.ToString();
            var sb = new StringBuilder();
            for (int i = 0; i < s.Length; i++)
            {
                if (Char.IsNumber(s, i))
                {
                    sb.Append(s.Substring(i, 1));
                }
            }
            return sb.ToString();
        }

        #region 生成 Coupon Key 
        private static readonly object locker2 = new object();
        private static int _sn2 = 0;
        /// <summary>
        /// 生成key 12位  字母+数字 
        /// </summary>
        /// <returns></returns>
        public static string GenerateCouponKey()//
        {
            string s;
            lock (locker2)
            {
                if (_sn2 == 9999999)
                {
                    _sn2 = 1;
                }
                else
                {
                    _sn2++;
                }
                s = $"Qq@,.*745u787#$@,.><;'{DateTime.Now.Ticks}{_sn2}";
            }
            return MD5_16(s);

        }
        private static string MD5_16(string p_str)
        {

            System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
            byte[] data = System.Text.Encoding.Default.GetBytes(p_str);
            byte[] md5Data = md5.ComputeHash(data);
            string strResult = System.BitConverter.ToString(md5Data, 4, 8);
            md5.Clear();
            strResult = strResult.Replace("-", "").ToUpper();
            return strResult;
        }
        #endregion

    }

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2021-7-3 07:09 | 显示全部楼层
谢谢分享!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-7-3 07:59 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-7-3 07:59 | 显示全部楼层
尊重原创者,更尊重搬运者,辛苦了
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-7-3 07:59 | 显示全部楼层
多谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-7-3 09:08 | 显示全部楼层
6666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-7-3 09:54 | 显示全部楼层
感谢楼主分享!大牛有你更精彩!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-7-3 10:07 | 显示全部楼层
谢谢@Thanks!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-7-3 12:37 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-7-3 19:56 | 显示全部楼层
谢谢大佬
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|广告投放|大牛论坛

GMT+8, 2024-5-17 17:08 , Processed in 0.038881 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表