using Edu.Common.Enum.User; using Edu.Model.ViewModel.Log; using Edu.Repository.Log; using System; using System.Collections.Generic; using System.Text; using System.Linq; using Edu.Repository.User; using Edu.Model.ViewModel.User; namespace Edu.Module.Log { /// /// 用户信息改变日志处理类 /// public class UserChangeLogModule { /// /// 用户信息修改日志仓储层对象 /// private readonly RB_User_ChangeLogRepository changeLogRepository = new RB_User_ChangeLogRepository(); /// /// 账号仓储层对象 /// private readonly RB_AccountRepository accountRepository = new RB_AccountRepository(); /// /// 获取用户信息改变日志列表 /// /// /// public object GetUserChangeLogListModule(RB_User_ChangeLog_ViewModel query) { List list = new List(); var logList= changeLogRepository.GetUserChangeLogListRepository(query); if (logList != null && logList.Count > 0) { var empList = new List(); string uids = string.Join(",", logList.Select(qitem => qitem.CreateBy)); if (!string.IsNullOrEmpty(uids)) { empList= accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { QIds = uids }); } var dayList = logList.GroupBy(qitem => new { NewTime = Common.ConvertHelper.FormatDate(qitem.CreateTime) }).OrderByDescending(qitem => qitem.Key.NewTime).Select(qitem => new { qitem.Key.NewTime }); if (dayList != null && dayList.Count() > 0) { foreach (var item in dayList) { var subList = logList.Where(qitem => Common.ConvertHelper.FormatDate(qitem.CreateTime) == item.NewTime).ToList(); if (subList != null && subList.Count > 0) { list.Add(new { item.NewTime, WeekStr = Common.ConvertHelper.GetWeekDay(Convert.ToDateTime(item.NewTime)), LogList = subList.Select(qitem => new { TimeStr = Common.ConvertHelper.FormatTimeStr(qitem.CreateTime), UserIcon = empList?.Where(eItem=> eItem.Id==qitem.CreateBy)?.FirstOrDefault()?.UserIcon??"", CreateName = empList?.Where(eItem => eItem.Id == qitem.CreateBy)?.FirstOrDefault()?.EmployeeName ?? "", qitem.LogContent }) }); } } } } return list; } /// /// 新增日志 /// /// /// public bool SetUserChangeLogModule(RB_User_ChangeLog_ViewModel extModel) { return changeLogRepository.Insert(extModel) > 0; } /// /// 获取日志列表 /// /// /// /// /// /// public List GetUserChangeLogList(int pageIndex, int pageSize, out long count, RB_User_ChangeLog_ViewModel dmodel) { return changeLogRepository.GetPageList(pageIndex, pageSize, out count, dmodel); } /// /// 新增日志 /// /// 创建人 /// 集团编号 /// 校区编号 /// 日志内容 /// public bool SetUserChangeLogModule(int CreateBy, int GroupId,int SchoolId,string content, int Id, AccountTypeEnum accountType) { RB_User_ChangeLog_ViewModel model = new RB_User_ChangeLog_ViewModel() { Id = 0, CreateBy = CreateBy, CreateTime = DateTime.Now, Group_Id = GroupId, School_Id = SchoolId, LogContent = content.TrimStart(','), AccountType= accountType, SourceId= Id }; return changeLogRepository.Insert(model) > 0; } } }