using ce.autofac.extension; using learun.iapplication; using learun.util; using Newtonsoft.Json.Linq; using System.Collections.Generic; using System.Data; using System.Drawing; using System.IO; using System.Threading.Tasks; namespace learun.application { /// /// 版 本 EasyCode EC管理后台 /// Copyright (c) 2019-present EC管理有限公司 /// 创建人:tobin /// 日 期:2019.09.12 /// 描 述:用户 /// public class UserBLL : UserIBLL, BLL { private readonly UserService userService = new UserService(); #region 获取数据 /// /// 获取用户信息通过账号 /// /// 用户账号 /// public Task GetEntityByAccount(string account) { return userService.GetEntityByAccount(account); } /// /// 获取用户信息 /// /// 主键 /// public Task GetEntity(string keyValue) { return userService.GetEntity(keyValue); } /// /// 获取登录者用户信息 /// /// public async Task GetEntity() { string account = ContextHelper.GetItem("account") as string; if (string.IsNullOrEmpty(account)) { return new UserEntity(); } return await userService.GetEntityByAccount(account); } /// /// 用户列表(根据用户主键集合) /// /// 用户主键集合主键 /// public Task> GetListByKeyValues(string keyValues) { return userService.GetListByKeyValues(keyValues); } /// /// 用户列表(根据公司主键,部门主键) /// /// 公司主键 /// 部门主键 /// 查询关键词 /// public Task> GetList(string companyId, string departmentId, string keyword) { return userService.GetList(companyId, departmentId, keyword); } /// /// 获取分页数据 /// /// 公司主键 /// 部门主键 /// 分页参数 /// 查询关键词 /// public Task> GetPageList(string companyId, string departmentId, Pagination pagination, string keyword) { return userService.GetPageList(companyId, departmentId, pagination, keyword); } /// /// 用户列表,全部 /// /// 关键词 /// public Task> GetAllList(string keyword) { return userService.GetAllList(keyword); } /// /// 用户列表(导出Excel) /// /// public async Task GetExportList() { //取出数据源 DataTable exportTable = await userService.GetExportList(); //设置导出格式 ExcelConfig excelconfig = new ExcelConfig(); excelconfig.Title = "测试用户导出"; excelconfig.TitleFont = "微软雅黑"; excelconfig.TitlePoint = 25; excelconfig.FileName = "用户导出.xls"; excelconfig.IsAllSizeColumn = true; //每一列的设置,没有设置的列信息,系统将按datatable中的列名导出 excelconfig.ColumnEntity = new List(); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_account", ExcelColumn = "账户" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_realname", ExcelColumn = "姓名" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_gender", ExcelColumn = "性别" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_birthday", ExcelColumn = "生日" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_mobile", ExcelColumn = "手机", Background = Color.Red }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_telephone", ExcelColumn = "电话", Background = Color.Red }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_wechat", ExcelColumn = "微信" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_organize", ExcelColumn = "公司" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_department", ExcelColumn = "部门" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_description", ExcelColumn = "说明" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_createdate", ExcelColumn = "创建日期" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "f_createusername", ExcelColumn = "创建人" }); // return ExcelHelper.ExportMemoryStream(exportTable, excelconfig); } /// /// 获取超级管理员用户列表 /// /// public Task> GetAdminList() { return userService.GetAdminList(); } #endregion 获取数据 #region 2 /// /// 用户列表(根据公司主键,部门主键) /// /// 查询参数,json字串 /// public Task> GetList(JObject queryParam) { return userService.GetList(queryParam); } /// /// 获取分页数据 /// /// 分页参数 /// 查询参数,json字串 /// public Task> GetPageList(Pagination pagination, JObject queryParam) { return userService.GetPageList(pagination, queryParam); } #endregion 2 #region 提交数据 /// /// 虚拟删除 /// /// 主键 public async Task Delete(string keyValue) { await userService.Delete(keyValue); } /// /// 保存用户表单(新增、修改) /// /// 主键值 /// 用户实体 /// public async Task SaveEntity(string keyValue, UserEntity userEntity) { await userService.SaveEntity(keyValue, userEntity); } /// /// 修改用户登录密码 /// /// 新密码(MD5 小写) /// 旧密码(MD5 小写) public async Task RevisePassword(string newPassword, string oldPassword) { var userInfo = await GetEntity(); string oldPasswordByEncrypt = Md5Helper.Encrypt(DESEncrypt.Encrypt(oldPassword, userInfo.F_Secretkey).ToLower(), 32).ToLower(); if (oldPasswordByEncrypt == userInfo.F_Password) { await userService.RevisePassword(userInfo.F_UserId, newPassword, userInfo); } else { return false; } return true; } /// /// 重置密码(000000) /// /// 账号主键 public async Task ResetPassword(string keyValue) { var userInfo = await GetEntity(); string password = Md5Helper.Encrypt("000000", 32).ToLower(); await userService.RevisePassword(keyValue, password, userInfo); } /// /// 修改用户状态 /// /// 主键值 /// 状态:1-启动;0-禁用 public async Task UpdateState(string keyValue, int state) { var userInfo = await GetEntity(); await userService.UpdateState(keyValue, state, userInfo); } #endregion 提交数据 #region 扩展方法 /// /// 判断密码是否正确 /// /// 旧密码 /// 新密码 /// 密钥 /// public bool IsPasswordOk(string oldPassword, string newPassWord, string secretkey) { string dbPassword = Md5Helper.Encrypt(DESEncrypt.Encrypt(newPassWord, secretkey).ToLower(), 32).ToLower(); if (string.Equals(dbPassword, oldPassword)) { return true; } return false; } #endregion 扩展方法 } }