C# 生成编码

     #region ===================================生成编码=================================
        private string getuser_number()
        {
            //套餐订单
            string str = "HY" + DateTime.Now.ToString("yyyymmdd") + GetOrderNumber(6);
            string strSql = "select id from dt_users where user_number='" + str + "' and datediff(dd,getdate(),reg_time)=0";
            DataTable dt = DBUtility.DbHelperSQL.Query(strSql).Tables[0];
            if (dt.Rows.Count > 0)
            {
                str = getuser_number();
            }
            return str;
        }
        #region *********************辅助方法*******************
        /// <summary>
        /// 根据日期和随机码生成订单号
        /// </summary>
        /// <returns></returns>
        public static string GetOrderNumber(int len)
        {
            return Number(len, true).ToString();
        }
        /// <summary>
        /// 生成随机数字
        /// </summary>
        /// <param name="length">生成长度</param>
        /// <returns></returns>
        public static string Number(int Length)
        {
            return Number(Length, false);
        }
        /// <summary>
        /// 生成随机数字
        /// </summary>
        /// <param name="Length">生成长度</param>
        /// <param name="Sleep">是否要在生成前将当前线程阻止以避免重复</param>
        /// <returns></returns>
        public static string Number(int Length, bool Sleep)
        {
            if (Sleep)
                System.Threading.Thread.Sleep(3);
            string result = "";
            System.Random random = new Random();
            for (int i = 0; i < Length; i++)
            {
                result += random.Next(10).ToString();
            }
            return result;
        }
        #endregion

        #endregion

猜你喜欢

转载自blog.csdn.net/weixin_42413952/article/details/86664519