/******************************************************************************* * Copyright © 2020 HT.Cloud.Framework 版权所有 * Author: HT.Cloud * Description: WaterCloud快速开发平台 * Website: *********************************************************************************/ using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using HT.Cloud.Code; using HT.Cloud.Domain.SystemOrganize; using HT.Cloud.Service.SystemManage; using HT.Cloud.Service.SystemOrganize; namespace HT.Cloud.Web.Areas.SystemOrganize.Controllers { [Area("SystemOrganize")] public class UserController : BaseController { public UserService _service { get; set; } public UserLogOnService _userLogOnService { get; set; } public ModuleService _moduleService { get; set; } public RoleService _roleService { get; set; } public OrganizeService _orgService { get; set; } [HandlerAjaxOnly] [IgnoreAntiforgeryToken] public async Task GetGridJson(SoulPage pagination, string keyword) { if (string.IsNullOrEmpty(pagination.field)) { pagination.field = "F_OrganizeId"; pagination.order = "asc"; } var data = await _service.GetLookList(pagination, keyword); return Content(pagination.setData(data).ToJson()); } [HttpGet] public virtual ActionResult AddForm() { return View(); } [HttpGet] [HandlerAjaxOnly] public async Task GetListJson(string keyword, string ids) { var data = await _service.GetList(keyword); data = data.Where(a => a.F_EnabledMark == true).ToList(); if (!string.IsNullOrEmpty(ids)) { foreach (var item in ids.Split(',')) { var temp = data.Find(a => a.F_Id == item); if (temp != null) { temp.LAY_CHECKED = true; } } } return Success(data.Count, data); } [HttpGet] [HandlerAjaxOnly] public async Task GetFormJson(string keyValue) { var data = await _service.GetLookForm(keyValue); return Content(data.ToJson()); } [HttpGet] [HandlerAjaxOnly] public async Task GetUserFormJson() { var data = await _service.GetFormExtend(_service.currentuser.UserId); return Content(data.ToJson("yyyy-MM-dd")); } [HttpPost] [HandlerAjaxOnly] [HandlerLock] public async Task SubmitUserForm(string F_Account, string F_RealName, bool F_Gender, DateTime F_Birthday, string F_MobilePhone, string F_Email, string F_Description) { try { var userEntity = new UserEntity(); userEntity.F_Account = F_Account; userEntity.F_RealName = F_RealName; userEntity.F_Gender = F_Gender; userEntity.F_Birthday = F_Birthday; userEntity.F_MobilePhone = F_MobilePhone; userEntity.F_Email = F_Email; userEntity.F_Description = F_Description; userEntity.F_Id = _service.currentuser.UserId; await _service.SubmitUserForm(userEntity); return await Success("操作成功。", "", userEntity.F_Id); } catch (Exception ex) { return await Error(ex.Message, "", _service.currentuser.UserId); } } [HttpPost] [HandlerAjaxOnly] public async Task SubmitForm(UserEntity userEntity, UserLogOnEntity userLogOnEntity, string keyValue) { if (string.IsNullOrEmpty(keyValue)) { userEntity.F_IsAdmin = false; userEntity.F_DeleteMark = false; userEntity.F_IsBoss = false; userEntity.F_CompanyId = _service.currentuser.CompanyId; } else { if (_service.currentuser.UserId == keyValue) { return Error("操作失败,不能修改用户自身"); } } try { await _service.SubmitForm(userEntity, userLogOnEntity, keyValue); return await Success("操作成功。", "", keyValue); } catch (Exception ex) { return await Error(ex.Message, "", keyValue); } } [HttpPost] [HandlerAuthorize] [HandlerAjaxOnly] public async Task DeleteForm(string keyValue) { try { if (_service.currentuser.UserId == keyValue) { return Error("操作失败,不能删除用户自身"); } await _service.DeleteForm(keyValue); return await Success("操作成功。", "", keyValue, DbLogType.Delete); } catch (Exception ex) { return await Error(ex.Message, "", keyValue, DbLogType.Delete); } } [HttpGet] public ActionResult RevisePassword() { return View(); } [HttpPost] [HandlerAjaxOnly] public async Task SubmitRevisePassword(string F_UserPassword, string keyValue) { try { await _userLogOnService.RevisePassword(F_UserPassword, keyValue); return await Success("重置密码成功。", "", keyValue); } catch (Exception ex) { return await Error("重置密码失败," + ex.Message, "", keyValue); } } [HttpGet] public ActionResult ReviseSelfPassword() { return View(); } [HttpPost] [HandlerAjaxOnly] public async Task SubmitReviseSelfPassword(string F_UserPassword) { try { await _userLogOnService.ReviseSelfPassword(F_UserPassword, _service.currentuser.UserId); return await Success("重置密码成功。", "", _service.currentuser.UserId); } catch (Exception ex) { return await Error("重置密码失败," + ex.Message, "", _service.currentuser.UserId); } } [HttpPost] [HandlerAjaxOnly] [HandlerAuthorize] public async Task DisabledAccount(string keyValue) { try { UserEntity userEntity = new UserEntity(); userEntity.F_Id = keyValue; userEntity.F_EnabledMark = false; if (_service.currentuser.UserId == keyValue) { return Error("操作失败,不能修改用户自身"); } await _service.UpdateForm(userEntity); return await Success("账户禁用成功。", "", keyValue); } catch (Exception ex) { return await Error("账户禁用失败," + ex.Message, "", keyValue); } } [HttpPost] [HandlerAjaxOnly] [HandlerAuthorize] public async Task EnabledAccount(string keyValue) { try { UserEntity userEntity = new UserEntity(); userEntity.F_Id = keyValue; userEntity.F_EnabledMark = true; if (_service.currentuser.UserId == keyValue) { return Error("操作失败,不能修改用户自身"); } await _service.UpdateForm(userEntity); return await Success("账户启用成功。", "", keyValue); } catch (Exception ex) { return await Error("账户启用失败," + ex.Message, "", keyValue); } } } }