From 72decd970a10666f8f7903362430a21a9aae30e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com> Date: Tue, 21 Feb 2023 21:15:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=89=8D=E7=AB=AF=E6=98=BE=E7=A4=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OperationLogGetListInputVo.cs | 10 +-------- .../Identity/RoleService.cs | 1 + .../Identity/UserService.cs | 7 +++++- .../Logs/LoginLogService.cs | 8 ++++++- .../Logs/OperationLogService.cs | 21 ++++++++++++++++-- .../rbac/Yi.RBAC.Web/yi-sqlsugar-dev.db | Bin 135168 -> 135168 bytes Yi.RuoYi.Vue3/src/api/monitor/operlog.js | 2 +- .../src/views/monitor/operlog/index.vue | 6 ++--- 8 files changed, 38 insertions(+), 17 deletions(-) diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Logs/Dtos/OperationLog/OperationLogGetListInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Logs/Dtos/OperationLog/OperationLogGetListInputVo.cs index dce0661b..0275dba1 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Logs/Dtos/OperationLog/OperationLogGetListInputVo.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Logs/Dtos/OperationLog/OperationLogGetListInputVo.cs @@ -10,15 +10,7 @@ namespace Yi.RBAC.Application.Contracts.Logs.Dtos { public class OperationLogGetListInputVo : PagedAllResultRequestDto { - public string? Title { get; set; } - public OperEnum OperType { get; set; } - public string? RequestMethod { get; set; } + public OperEnum? OperType { get; set; } public string? OperUser { get; set; } - public string? OperIp { get; set; } - public string? OperLocation { get; set; } - public string? Method { get; set; } - public string? RequestParam { get; set; } - public string? RequestResult { get; set; } - public DateTime CreationTime { get; set; } } } diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/RoleService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/RoleService.cs index bf516fd0..a9af44dc 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/RoleService.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/RoleService.cs @@ -99,6 +99,7 @@ namespace Yi.RBAC.Application.Identity } entity.State = state; + await _repository.UpdateAsync(entity); return await MapToGetOutputDtoAsync(entity); } } diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/UserService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/UserService.cs index c41f34d4..fff06ecc 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/UserService.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/UserService.cs @@ -12,6 +12,7 @@ using SqlSugar; using Mapster; using Microsoft.AspNetCore.Mvc; using Yi.Framework.Auth.JwtBearer.Authorization; +using Yi.RBAC.Domain.Shared.Logs; namespace Yi.RBAC.Application.Identity { @@ -67,6 +68,7 @@ namespace Yi.RBAC.Application.Identity /// /// /// + [OperLog("添加用户", OperEnum.Insert)] public async override Task CreateAsync(UserCreateInputVo input) { if (string.IsNullOrEmpty(input.Password)) @@ -111,6 +113,7 @@ namespace Yi.RBAC.Application.Identity /// /// /// + [OperLog("更新用户", OperEnum.Update)] public async override Task UpdateAsync(long id, UserUpdateInputVo input) { if (await _repository.IsAnyAsync(u => input.UserName!.Equals(u.UserName) && !id.Equals(u.Id))) @@ -142,7 +145,8 @@ namespace Yi.RBAC.Application.Identity /// /// [Route("/api/user/{id}/{state}")] - public async Task UpdateStateAsync([FromRoute] long id,[FromRoute] bool state) + [OperLog("更新用户状态", OperEnum.Update)] + public async Task UpdateStateAsync([FromRoute] long id, [FromRoute] bool state) { var entity = await _repository.GetByIdAsync(id); if (entity is null) @@ -151,6 +155,7 @@ namespace Yi.RBAC.Application.Identity } entity.State = state; + await _repository.UpdateAsync(entity); return await MapToGetOutputDtoAsync(entity); } } diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Logs/LoginLogService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Logs/LoginLogService.cs index 3ab6d27f..a0a34d8f 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Logs/LoginLogService.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Logs/LoginLogService.cs @@ -1,4 +1,5 @@ -using NET.AutoWebApi.Setting; +using Microsoft.AspNetCore.Mvc; +using NET.AutoWebApi.Setting; using SqlSugar; using System; using System.Collections.Generic; @@ -29,5 +30,10 @@ namespace Yi.RBAC.Application.Logs return new PagedResultDto(total, await MapToGetListOutputDtosAsync(entities)); } + [NonAction] + public override Task UpdateAsync(long id, LoginLogGetListOutputDto input) + { + return base.UpdateAsync(id, input); + } } } diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Logs/OperationLogService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Logs/OperationLogService.cs index b267768a..b6e073a5 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Logs/OperationLogService.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Logs/OperationLogService.cs @@ -5,6 +5,9 @@ using Yi.RBAC.Domain.Logs.Entities; using Yi.Framework.Ddd.Services; using Yi.Framework.Model.RABC.Entitys; using Yi.Framework.Ddd.Dtos; +using SqlSugar; +using Yi.RBAC.Application.Contracts.Logs.Dtos.LoginLog; +using Microsoft.AspNetCore.Mvc; namespace Yi.RBAC.Application.Logs { @@ -15,9 +18,23 @@ namespace Yi.RBAC.Application.Logs public class OperationLogService : CrudAppService, IOperationLogService, IAutoApiService { - public override Task> GetListAsync(OperationLogGetListInputVo input) + public override async Task> GetListAsync(OperationLogGetListInputVo input) { - return base.GetListAsync(input); + var entity = await MapToEntityAsync(input); + + RefAsync total = 0; + + var entities = await _DbQueryable.WhereIF(!string.IsNullOrEmpty(input.OperUser), x => x.OperUser.Contains(input.OperUser!)) + .WhereIF(input.OperType is not null, x => x.OperType==input.OperType) + .WhereIF(input.StartTime is not null && input.EndTime is not null, x => x.CreationTime >= input.StartTime && x.CreationTime <= input.EndTime) + .ToPageListAsync(input.PageNum, input.PageSize, total); + return new PagedResultDto(total, await MapToGetListOutputDtosAsync(entities)); + } + + [NonAction] + public override Task UpdateAsync(long id, OperationLogGetListOutputDto input) + { + return base.UpdateAsync(id, input); } } } diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/yi-sqlsugar-dev.db b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Web/yi-sqlsugar-dev.db index 2ebb7ed8ccf616efd81a43a166437207064ad417..de82930b0c2b758bced1488b41f934bbb628d953 100644 GIT binary patch delta 4422 zcmchbUrbw79LH}<*OotP*B zae81IirA_7A0$uE1Ei$?fg$ z+}}OF^SR&O?{^rRQIE~2uN{?*Tz|nL8~OU}&-90?uMn!LYC=nEe%$+b?~66fRn=AZ zXFKZut3=~X$|FiOK^zztnuw!>^pPno_^hrxJoV^8;$kh~^Z9zujQU*;@4y>z+vuR> ztk;p~I^REP?dyqht}g3arc;T&Aij`Si&oDT(jo~Sw6&Di^5ts~yBsi_G-8bAo;hp*mNapqbAQjpeB zPzOOh1V)NCLPH}kP#ni{1|<0M_VcttrEuh2D|#EQrtUnD^~@?}e$wuj z=2S~4(h)sOdHv%bS^Yt^e2&ogYaUb^D<@Ttm2HamE^dYeP!rJ4zu~)XGtTOymfbF@;0`e3cCCO`~!Y@Po6*D=ne-{H=N53H+eh}F&fQY zI(*>}ehi>_mO&iL3M{~*L$OHMGwhD}*B;X;23?W02PNk|`17k9*mIYdAdM70$6PV& zC>3A>X^Dug)Xh$RDjYJaARss)Gy=g0VIxOzv;YL`p;(ikhNH3E%sayYF>~=Q5GYDV0esX`luoD>AS3pyWaJx9SOcRyDNh;THUUo}32QJD>;Vey)r+@%h)<7F* z9tr^J2VE#1XQ90uoar)^lG{doW~vD`W(1lRdA=}FF=b|kl~81QghUSJbXb}k1kO|$ z&M#$nVkoObEa%kMZOM+@vw>6pLP^=>IH96Bv=9UawM(3klt{|}wM(4P#*A4U)U)99 zvO=SLMJjbx;xdx-ggQv`dO?*}C10stzhuh>(j)3wj& z?Z5Ntld=!BlZ*B}1DS1=I=wYpmiqF{&U0Dn>XaFa)H>|RTu9|9vz=R(GGIm8l9rjg Mxt;oVDt7(iU?=wnHUw@x56sYhy)TGUV8_x5y^MVyHO@H#9QDHO7hClKE`lL0U diff --git a/Yi.RuoYi.Vue3/src/api/monitor/operlog.js b/Yi.RuoYi.Vue3/src/api/monitor/operlog.js index 17c3470a..4a0e9bf9 100644 --- a/Yi.RuoYi.Vue3/src/api/monitor/operlog.js +++ b/Yi.RuoYi.Vue3/src/api/monitor/operlog.js @@ -3,7 +3,7 @@ import request from '@/utils/request' // 查询操作日志列表 export function list(query) { return request({ - url: '/operationLog/pageList', + url: '/operation-log', method: 'get', params: query }) diff --git a/Yi.RuoYi.Vue3/src/views/monitor/operlog/index.vue b/Yi.RuoYi.Vue3/src/views/monitor/operlog/index.vue index 4e2510c4..4e152056 100644 --- a/Yi.RuoYi.Vue3/src/views/monitor/operlog/index.vue +++ b/Yi.RuoYi.Vue3/src/views/monitor/operlog/index.vue @@ -155,8 +155,8 @@ -
正常
-
失败
+
正常
+
失败
@@ -212,7 +212,7 @@ const { queryParams, form } = toRefs(data); function getList() { loading.value = true; list(proxy.addDateRange(queryParams.value, dateRange.value)).then(response => { - operlogList.value = response.data.data; + operlogList.value = response.data.items; total.value = response.data.total; loading.value = false; });