public ActionResult GetPagingOperateLogs(GetPagingOperateLogsRequest request, int page, int rows) { var result = string.Empty; if (request == null) { request = new GetPagingOperateLogsRequest(); } request.PageIndex = page; request.PageSize = rows; var rs = _operateLogService.GetPagingOperateLogs(request); if (rs.ReturnCode == ReturnCodeType.Success) { result = "{\"total\": " + rs.Content.TotalCount + ",\"rows\":" + rs.Content.Entities.ToJson(dateTimeFormat: "yyyy-MM-dd HH:mm:ss.fff") + "}"; } return(Content(result)); }
/// <summary> /// 获取所有操作日志(分页) /// </summary> /// <param name="request"></param> /// <returns></returns> public PagingResult <GetPagingOperateLogsResponse> GetPagingOperateLogs(GetPagingOperateLogsRequest request) { PagingResult <GetPagingOperateLogsResponse> result = null; var totalCount = 0; var startIndex = (request.PageIndex - 1) * request.PageSize + 1; var endIndex = request.PageIndex * request.PageSize; //按条件查询,构造where //使用DynamicParameters var p = new DynamicParameters(); var sbSqlPaging = new StringBuilder(@"SELECT ROW_NUMBER() OVER ( ORDER BY operateLogs.id DESC ) AS RowNum , operateLogs.created_time AS CreatedTime , operateLogs.system_code AS SystemCode , operateLogs.ip_address AS IpAddress, operateLogs.client_ip AS ClientIp, operateLogs.operated_time AS OperatedTime, operateLogs.user_id AS UserId, operateLogs.user_name AS UserName, operateLogs.operate_module AS OperateModule, operateLogs.operate_type AS OperateType, operateLogs.corp_id AS CorpId, operateLogs.corp_name AS CorpName, * FROM dbo.t_logs_operate_log(NOLOCK) AS operateLogs WHERE 1 = 1"); var sbSqlTotal = new StringBuilder(@"SELECT COUNT(operateLogs.id) FROM dbo.t_logs_operate_log(NOLOCK) AS operateLogs WHERE 1 = 1"); if (!request.SystemCode.IsNullOrEmpty()) { sbSqlPaging.Append(" AND operateLogs.system_code=@SystemCode"); sbSqlTotal.Append(" AND operateLogs.system_code=@SystemCode"); p.Add("SystemCode", request.SystemCode, dbType: System.Data.DbType.String); } if (!request.Source.IsNullOrEmpty()) { sbSqlPaging.Append(" AND operateLogs.source=@Source"); sbSqlTotal.Append(" AND operateLogs.source=@Source"); p.Add("Source", request.Source, System.Data.DbType.String); } if (!request.OperateModule.IsNullOrEmpty()) { sbSqlPaging.Append(" AND operateLogs.operate_module=@OperateModule"); sbSqlTotal.Append(" AND operateLogs.operate_module=@OperateModule"); p.Add("OperateModule", request.OperateModule, System.Data.DbType.String); } if (!request.OperateType.IsNullOrEmpty()) { sbSqlPaging.Append(" AND operateLogs.operate_type=@OperateType"); sbSqlTotal.Append(" AND operateLogs.operate_type=@OperateType"); p.Add("OperateType", request.OperateType, System.Data.DbType.String); } if (!request.UserId.IsNullOrEmpty()) { sbSqlPaging.Append(" AND operateLogs.user_id LIKE @UserId"); sbSqlTotal.Append(" AND operateLogs.user_id LIKE @UserId"); p.Add("UserId", "%" + request.UserId + "%", System.Data.DbType.String); } if (!request.UserName.IsNullOrEmpty()) { sbSqlPaging.Append(" AND operateLogs.user_name LIKE @UserName"); sbSqlTotal.Append(" AND operateLogs.user_name LIKE @UserName"); p.Add("UserName", "%" + request.UserName + "%", System.Data.DbType.String); } if (request.CorpId > 0) { sbSqlPaging.Append(" AND operateLogs.corp_id=@CorpId"); sbSqlTotal.Append(" AND operateLogs.corp_id=@CorpId"); p.Add("CorpId", request.CorpId, System.Data.DbType.Int64); } if (!request.CorpName.IsNullOrEmpty()) { sbSqlPaging.Append(" AND operateLogs.corp_name LIKE @CorpName"); sbSqlTotal.Append(" AND operateLogs.corp_name LIKE @CorpName"); p.Add("CorpName", "%" + request.CorpName + "%", System.Data.DbType.String); } if (!request.Remark.IsNullOrEmpty()) { sbSqlPaging.Append(" AND operateLogs.remark LIKE @Remark"); sbSqlTotal.Append(" AND operateLogs.remark LIKE @Remark"); p.Add("Remark", "%" + request.Remark + "%", System.Data.DbType.String); } if (request.OperatedTimeStart.HasValue) { sbSqlPaging.Append(" AND operateLogs.operated_time >= @OperatedTimeStart"); sbSqlTotal.Append(" AND operateLogs.operated_time >= @OperatedTimeStart"); p.Add("OperatedTimeStart", request.OperatedTimeStart.Value, System.Data.DbType.DateTime); } if (request.OperatedTimeEnd.HasValue) { sbSqlPaging.Append(" AND operateLogs.operated_time <= @OperatedTimeEnd"); sbSqlTotal.Append(" AND operateLogs.operated_time <= @OperatedTimeEnd"); p.Add("OperatedTimeEnd", request.OperatedTimeEnd.Value, System.Data.DbType.DateTime); } var sqlPaging = string.Format(@"SELECT rs.* FROM ( {0} ) AS rs WHERE rs.RowNum BETWEEN @Start AND @End", sbSqlPaging.ToString()); var sqlStr = string.Format("{0};{1};", sqlPaging, sbSqlTotal.ToString()); p.Add("Start", startIndex, System.Data.DbType.Int32); p.Add("End", endIndex, System.Data.DbType.Int32); using (var conn = DapperHelper.CreateConnection()) { var multi = conn.QueryMultiple(sqlStr, p); var query1 = multi.Read <GetPagingOperateLogsResponse>(); var query2 = multi.Read <int>(); totalCount = query2.First(); result = new PagingResult <GetPagingOperateLogsResponse>(totalCount, request.PageIndex, request.PageSize, query1); } return(result); }
/// <summary> /// 获取所有操作日志(分页) /// </summary> /// <param name="request"></param> /// <returns></returns> public ServiceResult <PagingResult <GetPagingOperateLogsResponse> > GetPagingOperateLogs(GetPagingOperateLogsRequest request) { var result = new ServiceResult <PagingResult <GetPagingOperateLogsResponse> > { ReturnCode = ReturnCodeType.Error, Content = new PagingResult <GetPagingOperateLogsResponse>() }; //处理详情页面url var logSiteUrl = Log.Common.Helper.ConfigHelper.LogSite; var rs = _operateLogDao.GetPagingOperateLogs(request); if (rs != null && rs.Entities.HasValue()) { var operateLogs = rs.Entities; foreach (var item in operateLogs) { item.DetailUrl = string.Format("{0}OperateLog/Detail/{1}", logSiteUrl, item.Id); } } result.ReturnCode = ReturnCodeType.Success; result.Content = rs; return(result); }