///重置用户密码
$('[func=btnResetPassword]').click(function () {
var cks = $('input[type=checkbox][name=id]:checked');
var ids = "";
if (cks.length > 0) {
cks.each(function (index, cur) {
if (ids !== "") {
ids += ",";
}
ids += $(cur).val();
});
}
else {
iDialog.alert("请选择一条记录");
return;
}
var ele = $(this);
iDialog.confirm({ message: '确认要重置选中的这些用户密码?' }).on(function (flag) {
if (flag) {
richAjax({ userId: ids }, '@Url.Action("_UpdateUserPassword", "Merchant")', true, true, true).Do(ele, function (data) {
if (data.Message) {
iDialog.alert({ message: data.Message }).on(function (ok) {
if (ok) {
if (!data.IsError) {
window.location.href = '@Url.Action("MerchantUsersIndex", "Merchant", new { area= "Merchant" })';
}
}
})
}
})
@*richAjax({ userId: ids }, '@Url.Action("_UpdateUserPassword", "Merchant")', true, true, true).Do(ele, "@Url.Action("MerchantUsersIndex", "Merchant")");*@
}
});
<div class="btn-group">
<a href="javascript:;" class="btn btn-default btn-sm" func="btnResetPassword"><i class="fa fa-repeat"></i> 重置密码</a>
</div>
/// <summary>
/// 重置密码
/// </summary>
/// <returns></returns>
public JsonResult _UpdateUserPassword(int userId)
{
if (userId <= 0) return Json(AjaxResult.Error("缺少商户标识"));
const string randomChars = "0123456789";//ABCDEFGHIJKLMNOPQRSTUVWXYZ
var password = string.Empty;
var random = new Random();
for (var i = 0; i < 6; i++)
{
password += randomChars[random.Next(randomChars.Length)];
}
var dto = MerchantService.Value.ChangeMerchantPassword(userId, password);
return Json(dto.CheckSuccess() ? AjaxResult.Success("密码重置成功:" + password) : AjaxResult.Error(dto.Message));
}
/// <summary>
/// 修改商户密码
/// </summary>
/// <param name="userId"></param>
/// <param name="newPassword"></param>
/// <returns></returns>
public AnyDTO ChangeMerchantPassword(int userId, string newPassword)
{
var user = base.MerchantUsersAccess.Value.GetById(userId);
//var user = this.GetMerchantById(userId);
if (user == null) return AnyDTO.Error("商户不存在");
user.Password = newPassword.ToMD5();
user.UpdateTime = DateTime.Now;
MerchantUsersAccess.Value.Save(user);
return AnyDTO.Success("密码修改成功");
}