From 8ffce3e441bd7de8aae37c665009fa12d500d351 Mon Sep 17 00:00:00 2001 From: pbvfus8to <480171784@qq.com> Date: Wed, 18 Dec 2024 19:49:57 +0800 Subject: [PATCH] Update SysLogController.java --- .../shop/sys/controller/SysLogController.java | 57 +++++++++++-------- 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysLogController.java b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysLogController.java index 36eb59d..64c27cf 100644 --- a/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysLogController.java +++ b/yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysLogController.java @@ -10,7 +10,6 @@ package com.yami.shop.sys.controller; - import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.yami.shop.sys.model.SysLog; import org.springframework.beans.factory.annotation.Autowired; @@ -20,37 +19,49 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; - import com.yami.shop.common.util.PageParam; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yami.shop.sys.service.SysLogService; import cn.hutool.core.util.StrUtil; - - - /** - * 系统日志 + * SysLogController类,主要用于处理系统日志相关的请求操作,是一个Spring RESTful风格的控制器。 + * 它提供了获取系统日志列表等相关接口,通过调用对应的服务层方法与数据库交互来获取和返回数据。 + * * @author lgh */ @RestController @RequestMapping("/sys/log") public class SysLogController { - @Autowired - private SysLogService sysLogService; - - /** - * 列表 - */ - @GetMapping("/page") - @PreAuthorize("@pms.hasPermission('sys:log:page')") - public ServerResponseEntity> page(SysLog sysLog,PageParam page){ - IPage sysLogs = sysLogService.page(page, - new LambdaQueryWrapper() - .like(StrUtil.isNotBlank(sysLog.getUsername()),SysLog::getUsername, sysLog.getUsername()) - .like(StrUtil.isNotBlank(sysLog.getOperation()), SysLog::getOperation,sysLog.getOperation())); - return ServerResponseEntity.success(sysLogs); - } - -} + + /** + * 通过Spring的依赖注入自动装配SysLogService实例,用于调用服务层的业务逻辑方法, + * 比如获取系统日志数据、进行分页查询等操作都依赖此服务层对象来完成。 + */ + @Autowired + private SysLogService sysLogService; + + /** + * 处理获取系统日志列表的请求方法,返回分页后的系统日志信息。 + * 该方法接收前端传入的SysLog对象(可能包含查询条件,如用户名、操作内容等)和PageParam对象(用于分页相关参数设置)。 + * 会根据传入的条件进行模糊查询,并返回分页后的系统日志数据响应给前端。 + * 同时,通过@PreAuthorize注解进行权限校验,只有拥有'sys:log:page'权限的用户才能访问此接口。 + * + * @param sysLog 包含可能的查询条件的系统日志对象,例如用户名、操作内容等字段可作为查询过滤条件。 + * @param page 分页参数对象,包含了如页码、每页数量等分页相关的信息。 + * @return ServerResponseEntity> 返回包含分页系统日志信息的响应实体,如果查询成功则状态码为成功, + * 数据体中包含分页后的系统日志列表;如果出现异常等情况则返回相应的错误信息。 + */ + @GetMapping("/page") + @PreAuthorize("@pms.hasPermission('sys:log:page')") + public ServerResponseEntity> page(SysLog sysLog, PageParam page) { + // 使用LambdaQueryWrapper构建查询条件,根据传入的sysLog对象中的用户名和操作内容进行模糊查询。 + // 只有当用户名或操作内容不为空字符串时,才添加对应的模糊查询条件。 + IPage sysLogs = sysLogService.page(page, + new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(sysLog.getUsername()), SysLog::getUsername, sysLog.getUsername()) + .like(StrUtil.isNotBlank(sysLog.getOperation()), SysLog::getOperation, sysLog.getOperation())); + return ServerResponseEntity.success(sysLogs); + } +} \ No newline at end of file