Commit 81b1e2b6 authored by 罗超's avatar 罗超

新增密码重置功能

parent 885b6ee6
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Common.Encrypt
{
/// <summary>
/// 密码帮助类
/// </summary>
public static class PwHelper
{
/// <summary>
/// 生成指定长度的随机密码
/// </summary>
/// <param name="intlen"></param>
/// <returns></returns>
public static string MakePassword(int intlen)
{
var stringPwChar = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string strRe = "";
int iRandNum;
Random rnd = new Random();
for (int i = 0; i < intlen; i++)
{
iRandNum = rnd.Next(stringPwChar.Length);
strRe += stringPwChar[iRandNum];
}
return strRe;
}
}
}
using Edu.Model.ViewModel.User;
using Edu.Common.Encrypt;
using Edu.Model.ViewModel.User;
using Edu.Repository.User;
using System;
using System.Collections.Generic;
using VT.FW.DB;
......@@ -76,5 +78,28 @@ namespace Edu.Module.User
}
return flag;
}
/// <summary>
/// 重置密码
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public (bool reuslt,string newPass) SetResetPassword(RB_Account_ViewModel model)
{
bool flag;
//生成随机新密码
var newPwd = PwHelper.MakePassword(8);
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Account_ViewModel.Password), Common.DES.Encrypt(newPwd)}
};
var wheres = new List<WhereHelper>();
wheres.Add(new WhereHelper(nameof(RB_Account_ViewModel.AccountId), model.AccountId));
wheres.Add(new WhereHelper(nameof(RB_Account_ViewModel.AccountType), model.AccountType));
wheres.Add(new WhereHelper(nameof(RB_Account_ViewModel.Group_Id), model.Group_Id));
flag = accountRepository.Update(fileds, wheres);
return (flag, newPwd);
}
}
}
\ No newline at end of file
using Edu.AOP.CustomerAttribute;
using Edu.Common.Encrypt;
using Edu.Common.Enum;
using Edu.Common.Enum.User;
using Edu.Model.CacheModel;
......@@ -86,6 +87,7 @@ namespace Edu.Module.User
return flag;
}
/// <summary>
/// 根据教师编号获取实体
/// </summary>
......
using System;
using System.Linq;
using System.Text.Json.Serialization;
using Edu.Cache.User;
using Edu.Common.API;
using Edu.Common.Enum.User;
......@@ -13,6 +14,7 @@ using Edu.WebApi.Helper;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
......@@ -121,5 +123,7 @@ namespace Edu.WebApi.Controllers.User
return ApiResult.Failed();
}
}
}
}
\ No newline at end of file
......@@ -8,6 +8,7 @@ using Edu.Module.User;
using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
namespace Edu.WebApi.Controllers.User
{
......@@ -47,6 +48,50 @@ namespace Edu.WebApi.Controllers.User
/// </summary>
private readonly ManagerModule managerModule = AOPHelper.CreateAOPObject<ManagerModule>();
/// <summary>
/// 账户相关处理
/// </summary>
private readonly AccountModule accountModule = AOPHelper.CreateAOPObject<AccountModule>();
#region 用户账户管理
/// <summary>
/// 重置用户密码信息
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult ResetUserPassword()
{
RB_Account_ViewModel viewModel = JsonConvert.DeserializeObject<RB_Account_ViewModel>(RequestParm.Msg.ToString());
if (viewModel != null && viewModel.AccountType > 0 && viewModel.AccountId > 0)
{
int uid = 0;
if (int.TryParse(RequestParm.Uid,out uid))
{
viewModel.Group_Id = UserReidsCache.GetUserLoginInfo(uid).Group_Id;
var result = accountModule.SetResetPassword(viewModel);
if (result.reuslt)
{
return ApiResult.Success($"密码重置成功,用户新密码为【{result.newPass}】,请复制保存");
}
else
{
return ApiResult.Failed(message: "密码重置失败");
}
}
else
{
return ApiResult.Failed(message: "身份信息不合法,请尝试重新登录");
}
}
else
{
return ApiResult.Failed(message: "参数不合法,请刷新页面重试");
}
}
#endregion
#region 集团管理
/// <summary>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment