颐和api

UserLoginLogsController.cs 5.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using Microsoft.AspNetCore.Mvc;
  6. using MadRunFabric.Common;
  7. using Microsoft.Extensions.Logging;
  8. using MessageApi.IRepositories;
  9. using MongoDB.Driver;
  10. using MadRunFabric.Model;
  11. namespace MessageApi.Controllers
  12. {
  13. /// <summary>
  14. /// 会员登录日志 - 暂停
  15. /// </summary>
  16. [ApiVersion("6.0")]
  17. [Produces("application/json")]
  18. [Route("api/[controller]")]
  19. public class UserLoginLogsController : BaseController
  20. {
  21. private readonly ILogger<UserLoginLogsController> _logger;
  22. private readonly ISys_User_LoginLogsRepository _sys_user_loginlogsrepository;
  23. public UserLoginLogsController(
  24. ILogger<UserLoginLogsController> logger,
  25. ISys_User_LoginLogsRepository sys_user_loginlogsrepository
  26. )
  27. {
  28. _logger = logger;
  29. _sys_user_loginlogsrepository = sys_user_loginlogsrepository;
  30. }
  31. /// <summary>
  32. /// 获取登录日志列表 by page
  33. /// </summary>
  34. /// <param name="keyword">版本编号</param>
  35. /// <param name="createtime">添加开始时间</param>
  36. /// <param name="createtime">添加结束时间</param>
  37. /// <param name="pageindex">当前页</param>
  38. /// <param name="pagesize">每页条数</param>
  39. /// <returns></returns>
  40. [HttpGet("getlistbypage")]
  41. public async Task<IActionResult> GetListsByPageAsync(string keyword, string stime, string etime, int pageindex = 1, int pagesize = 10)
  42. {
  43. #region 条件信息
  44. ////排序字段
  45. var sort = Builders<Sys_User_LoginLogs>.Sort.Descending("logintime");
  46. var list = await _sys_user_loginlogsrepository.GetByPage(null, pageindex, pagesize, sort);
  47. var redCount = await _sys_user_loginlogsrepository.CountAsync(null); //获取总数
  48. //根据条件查询集合
  49. var listApp = new List<FilterDefinition<Sys_User_LoginLogs>>();
  50. listApp.Add(Builders<Sys_User_LoginLogs>.Filter.Eq("statetype", 0));
  51. if (!string.IsNullOrEmpty(stime))
  52. listApp.Add(Builders<Sys_User_LoginLogs>.Filter.Gt("logintime", stime));
  53. if (!string.IsNullOrEmpty(etime))
  54. listApp.Add(Builders<Sys_User_LoginLogs>.Filter.Lt("logintime", etime));
  55. //模糊查询
  56. if (!string.IsNullOrEmpty(keyword))
  57. listApp.Add(Builders<Sys_User_LoginLogs>.Filter.Where(s => s.result.Contains(keyword)));
  58. #endregion
  59. int recordCount = 0;
  60. if (listApp.Count > 0)
  61. {
  62. var filter = Builders<Sys_User_LoginLogs>.Filter.And(listApp);
  63. list = await _sys_user_loginlogsrepository.GetByPage(filter, pageindex, pagesize, sort);
  64. redCount = await _sys_user_loginlogsrepository.CountAsync(filter); //获取总数
  65. }
  66. recordCount = int.Parse(redCount.ToString());
  67. var obj = new
  68. {
  69. state = "success",
  70. message = "成功",
  71. rows = list,
  72. total = recordCount,
  73. };
  74. return Content(obj.ToJson());
  75. }
  76. /// <summary>
  77. /// 获取登录日志详情 by id
  78. /// </summary>
  79. /// <param name="id">登录日志id</param>
  80. /// <returns></returns>
  81. public async Task<IActionResult> GetDetailsAsync(string id)
  82. {
  83. if (string.IsNullOrEmpty(id))
  84. return Error("参数错误");
  85. var model = await _sys_user_loginlogsrepository.GetSingle(id);
  86. if (model == null)
  87. return Error("获取失败");
  88. var result = new
  89. {
  90. id = model.id,
  91. loginid = model.loginid,
  92. loginname = model.loginname,
  93. result = model.result,
  94. loginip = model.loginip,
  95. loginhostname = model.loginhostname,
  96. logintime = model.logintime.ToLocalTime(),
  97. loginouttime=model.loginouttime,
  98. statetype=model.statetype,
  99. content=model.content,
  100. };
  101. return Success("获取成功", result);
  102. }
  103. /// <summary>
  104. /// 删除App版本信息 by ids
  105. /// </summary>
  106. /// <param name="ids">string[] id</param>
  107. /// <returns></returns>
  108. [HttpPost("delete")]
  109. public async Task<IActionResult> DeleteAsync(string[] ids)
  110. {
  111. int num = 0;
  112. if (ids == null && ids.Length <= 0)
  113. return Error("请选择要删除的记录");
  114. foreach (var item in ids)
  115. {
  116. var model = await _sys_user_loginlogsrepository.GetSingle(item);
  117. model.isdelete = -1;
  118. if (await _sys_user_loginlogsrepository.Update(model))
  119. num += 1;
  120. }
  121. if (num == ids.Length)
  122. return Success("删除成功");
  123. if (num > 0 && num < ids.Length)
  124. return Error("部分删除失败,请查看后重新操作");
  125. return Error("删除失败,请查看后重新操作");
  126. }
  127. }
  128. }