using Learun.Application.Base.AuthorizeModule;
using Learun.Application.Base.SystemModule;
using Learun.Application.Organization;
using Learun.Util;
using Learun.Util.Operat;
using Learun.Util.SqlSugar;
using System.IO;
using System.Web;
using System.Web.Mvc;
namespace Learun.Application.Web.Controllers
{
///
/// 版 本 PIT-ADMS V7.0.3 敏捷开发框架
/// Copyright (c) 2013-2018 Hexagon PPM
/// 创建人:研发部
/// 日 期:2017.03.07
/// 描 述:个人中心
///
public class UserCenterController : MvcControllerBase
{
private UserRelationIBLL userRelationIBLL = new UserRelationBLL();
private DataItemIBLL dataItemIBLL = new DataItemBLL();
private UserIBLL userIBLL = new UserBLL();
private PostIBLL postIBLL = new PostBLL();
private RoleIBLL roleIBLL = new RoleBLL();
#region 视图功能
///
/// 个人中心
///
///
[HttpGet]
public ActionResult Index()
{
return View();
}
///
/// 联系方式
///
///
[HttpGet]
public ActionResult ContactForm()
{
return View();
}
///
/// 上传头像
///
///
[HttpGet]
public ActionResult HeadForm()
{
return View();
}
///
/// 修改密码
///
///
[HttpGet]
public ActionResult PassWordForm()
{
return View();
}
///
/// 修改密码
///
///
[HttpGet]
public ActionResult PassWordUpdate()//add by chenkai 20210322
{
return View();
}
///
/// 个人中心-日志管理
///
///
[HttpGet]
public ActionResult LogIndex()
{
return View();
}
///
/// 个人中心-语言设置
///
///
[HttpGet]
public ActionResult LanguageForm()
{
return View();
}
#endregion
#region 获取数据
///
/// 生成验证码
///
///
[HttpGet]
public ActionResult VerifyCode()
{
return File(new VerifyCode().GetVerifyCode(), @"image/Gif");
}
[HttpGet]
[AjaxOnly]
public ActionResult GetUserInfo()
{
// 获取角色信息
var data = LoginUserInfo.Get();
data.password = null;
data.secretkey = null;
var jsonData = new
{
baseinfo = data,
};
return Success(jsonData);
}
#endregion
#region 提交数据
///
/// 上传头像
///
///
[HttpPost]
public ActionResult UploadFile()
{
HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
//没有文件上传,直接返回
if (files[0].ContentLength == 0 || string.IsNullOrEmpty(files[0].FileName))
{
return HttpNotFound();
}
UserInfo userInfo = LoginUserInfo.Get();
string FileEextension = Path.GetExtension(files[0].FileName);
string fileHeadImg = Config.GetValue("fileHeadImg");
string fullFileName = string.Format("{0}/{1}{2}", fileHeadImg, userInfo.userId, FileEextension);
//创建文件夹,保存文件
string path = Path.GetDirectoryName(fullFileName);
Directory.CreateDirectory(path);
files[0].SaveAs(fullFileName);
//UserEntity userEntity = new UserEntity();
UserEntity userEntity = SqlSugarHelper.Db.Queryable().First(x => x.F_UserId == userInfo.userId);
if (userEntity != null)
{
userEntity.F_HeadIcon = FileEextension;
userIBLL.SaveEntity(userEntity.F_UserId, userEntity);
}
return Success("上传成功。");
}
///
/// 验证旧密码
///
///
///
[HttpPost]
[AjaxOnly]
public ActionResult ValidationOldPassword(string OldPassword)
{
UserInfo userInfo = LoginUserInfo.Get();
OldPassword = Md5Helper.Encrypt(DESEncrypt.Encrypt(OldPassword, userInfo.secretkey).ToLower(), 32).ToLower();
if (OldPassword != userInfo.password)
{
return Fail("原密码错误,请重新输入");
}
else
{
return Success("通过信息验证");
}
}
///
/// 提交修改密码
///
/// 新密码
/// 旧密码
/// 验证码
///
[HttpPost]
[AjaxOnly]
public ActionResult SubmitResetPassword(string password, string oldPassword, string verifyCode)
{
//add by chenkai 20210322
if (password.Equals(oldPassword))
{
return Fail("旧密码与新密码相同,请重新输入");
}
verifyCode = Md5Helper.Encrypt(verifyCode.ToLower(), 16);
if (Session["session_verifycode"].IsEmpty() || verifyCode != Session["session_verifycode"].ToString())
{
return Fail("验证码错误,请重新输入");
}
UserInfo userInfo = LoginUserInfo.Get();
//if (userInfo.isSystem)
//{
// return Fail("当前账户不能修改密码");
//}
bool res = userIBLL.RevisePassword(password, oldPassword);
if (!res)
{
return Fail("原密码错误,请重新输入");
}
Session.Abandon();
Session.Clear();
OperatorHelper.Instance.EmptyCurrent();
return Success("密码修改成功,请牢记新密码。\r 将会自动安全退出。");
}
#region add by chenkai 20210322
///
/// 修改密码
///
/// 新密码
/// 旧密码
///
[HttpPost]
[AjaxOnly]
public ActionResult ModifyPassword(string password, string oldPassword)
{
if (password.Equals(oldPassword))
{
return Fail("旧密码与新密码相同,请重新输入");
}
UserInfo userInfo = LoginUserInfo.Get();
//if (userInfo.isSystem)
//{
// return Fail("当前账户不能修改密码");
//}
bool res = userIBLL.RevisePassword(password, oldPassword);
if (!res)
{
return Fail("原密码错误,请重新输入");
}
Session.Abandon();
Session.Clear();
OperatorHelper.Instance.EmptyCurrent();
return Success("密码修改成功,请牢记新密码。\r 将会自动安全退出。");
}
#endregion
#endregion
}
}