ChangePasswordExcutor.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Data.SqlClient;
  5. using System.Linq;
  6. using System.Text;
  7. using JLHHJSvr.BLL;
  8. using JLHHJSvr.Com;
  9. using JLHHJSvr.Com.Model;
  10. using JLHHJSvr.DBA.DBModle;
  11. using JLHHJSvr.LJException;
  12. using LJLib.DAL.SQL;
  13. using LJLib.Net.SPI.Server;
  14. using LJLib.SQLEX;
  15. using LJLib.Tools.DEncrypt;
  16. using LJLib.Tools.Encry;
  17. namespace JLHHJSvr.Excutor
  18. {
  19. internal sealed class ChangePasswordExcutor : ExcutorBase<ChangePasswordRequest, ChangePasswordResponse>
  20. {
  21. protected override void ExcuteInternal(ChangePasswordRequest request, object state, ChangePasswordResponse rslt)
  22. {
  23. //if (string.IsNullOrEmpty(request.newpassword))
  24. //{
  25. // rslt.ErrMsg = "新密码不能为空";
  26. // return;
  27. //}
  28. psw_bczh3 pswhelper = new psw_bczh3();
  29. using (var con = GlobalVar.ConnectionString.NewSqlConnection())
  30. using (var cmd = con.CreateCommand())
  31. {
  32. con.Open();
  33. var sys_power_key = "123457851239866";
  34. cmd.CommandText =
  35. @"select psw from u_user_jlhprice where userid = @userid";
  36. cmd.Parameters.Clear();
  37. cmd.Parameters.AddWithValue("@userid", request.userid);
  38. using (var reader = cmd.ExecuteReader())
  39. {
  40. if (reader.Read())
  41. {
  42. var psw = Convert.ToString(reader["psw"]).Trim();
  43. if (pswhelper.GetEntrypt(request.oldpassword, 0, sys_power_key) != psw) //BC493812B6664BECBF44C21C3BB043C4
  44. {
  45. rslt.ErrMsg = "当前密码错误";
  46. return;
  47. }
  48. }
  49. else
  50. {
  51. rslt.ErrMsg = "用户名不存在或密码错误";
  52. return;
  53. }
  54. }
  55. //if (!UserHelper.CheckL1LoginPasswordStrength(option707, request.newpassword))
  56. //{
  57. // string pswErr = string.Empty;
  58. // switch (option707)
  59. // {
  60. // case 3:
  61. // pswErr = "数字字母加特殊符号混合(至少8位长度校验)";
  62. // break;
  63. // case 2:
  64. // pswErr = "数字字母混合(至少6位长度校验)";
  65. // break;
  66. // case 1:
  67. // pswErr = "纯数字(至少6位长度校验)";
  68. // break;
  69. // }
  70. // rslt.ErrMsg = $"新密码强度不匹配,匹配规则:{pswErr}";
  71. // return;
  72. //}
  73. cmd.Transaction = cmd.Connection.BeginTransaction(IsolationLevel.ReadUncommitted);
  74. var pswd1 = pswhelper.GetEntrypt(request.newpassword, 0, sys_power_key);
  75. cmd.CommandText = @"update u_user_jlhprice
  76. set psw = @psw
  77. where userid = @userid";
  78. cmd.Parameters.Clear();
  79. cmd.Parameters.AddWithValue("@userid", request.userid);
  80. cmd.Parameters.AddWithValue("@psw", pswd1);
  81. if (cmd.ExecuteNonQuery() == 1)
  82. {
  83. cmd.Transaction.Commit();
  84. }
  85. else
  86. {
  87. cmd.Transaction.Rollback();
  88. rslt.ErrMsg = "修改失败,修改数量不为1";
  89. }
  90. }
  91. }
  92. }
  93. }