Пример #1
0
        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));
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }