diff --git a/EuroTran/EasyBL.WEBAPP/ShowEasy/SignupService.cs b/EuroTran/EasyBL.WEBAPP/ShowEasy/SignupService.cs index 5b74fbb..e5a6c98 100644 --- a/EuroTran/EasyBL.WEBAPP/ShowEasy/SignupService.cs +++ b/EuroTran/EasyBL.WEBAPP/ShowEasy/SignupService.cs @@ -125,8 +125,6 @@ namespace EasyBL.WEBAPP.SYS SuccessResponseMessage srm = null; var db = SugarBase.GetIntance(); string sError = null; - - try { do @@ -139,19 +137,20 @@ namespace EasyBL.WEBAPP.SYS //string sSubscribe = newUser.Subscribe; string sMemberID = Guid.NewGuid().ToString(); //會員編號為GUID string sOrgID = "TG"; //公司編號預設為TG - string sStatus = "0"; //會員狀態為未驗證(F) + string sStatus = "0"; //會員狀態為未驗證 string sType = "Email"; - var rand = new Random(); //認證碼(隨機產生) - var sVerifyCode = new char[5]; //只要6碼 - //var NumString = "0123456789"; //從這串裡面取值(只要數字) - //for(int i = 0; i < sVerifyCode.Length; i++) - //{ - // sVerifyCode[i] = NumString[rand.Next(NumString.Length)]; - //} + var RandomTest = 6; - //var testCode = new String(sVerifyCode); - //System.Diagnostics.Debug.WriteLine("sVerifyCode: " + sVerifyCode); + string[] strings = new string[RandomTest]; + string[] str = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" }; + + Random r = new Random(); + string sRandom = ""; + for(int i = 0; i< RandomTest; i++) + { + sRandom += str[r.Next(str.Length)]; + } var checkAccount = db.Queryable() .Where(x => x.OrgID == sOrgID && x.Account == sAccount) @@ -172,9 +171,9 @@ namespace EasyBL.WEBAPP.SYS newUser.Password = sEncryptPwd; newUser.Account = newUser.Email; newUser.MemberType = sType; - newUser.VerifyCode = "123456"; //認證碼 + newUser.VerifyCode = sRandom; //認證碼 - var iExpireTime = 5; //(單位為小時,預設5分鐘到期) 1 Days = 24 hrs + var iExpireTime = 5; //(5分鐘到期) var sExpireTime = Common.GetSystemSetting(db, sOrgID, @"VerifyCodeExpireTime"); if (!string.IsNullOrEmpty(sExpireTime)) { @@ -236,9 +235,38 @@ namespace EasyBL.WEBAPP.SYS { do { - var Mailto = db.Queryable().Single(x => x.Email == Email); - string sMemberID = Mailto.MemberID; - string sOrgID = Mailto.OrgID; + var User = db.Queryable().Single(x => x.Email == Email); //找會員 + string sOrgID = User.OrgID; + + //每次重新寄出都要更新認證碼 + var RandomTest = 6; + + string[] strings = new string[RandomTest]; + string[] str = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" }; + + Random r = new Random(); + string sRandom = ""; + for (int i = 0; i < RandomTest; i++) + { + sRandom += str[r.Next(str.Length)]; + } + + //每次重新寄出都要更新時效 + var iExpireTime = 5; //(5分鐘到期) + var sExpireTime = Common.GetSystemSetting(db, sOrgID, @"VerifyCodeExpireTime"); + if (!string.IsNullOrEmpty(sExpireTime)) + { + iExpireTime = int.Parse(sExpireTime); + } + + var aExpireTime = DateTime.Now.AddMinutes(iExpireTime); + + var newVerifyCode = db.Updateable() //更新認證碼 + .UpdateColumns(x => new SETB_CMS_Member { VerifyCode = sRandom, ExpireTime = aExpireTime }) + .Where(x => x.Email == Email) + .ExecuteCommand(); + + var Mailto = db.Queryable().Single(x => x.Email == Email); //找會員 string sError = ""; var oEmail = new Emails(); //寄件人