Commit cf9dc460 by henry

添加日志controller

1 parent 173740d9
package org.arch.common.modules.sysmange.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "sysEventLog接口对象", description = "系统日志对象")
@Data
public class SysEventLogDTO {
/**
* 是否成功 0 失败 1 成功
*/
@ApiModelProperty(value = "是否成功 0 失败 1 成功")
private String result;
/**
* 日志级别
*/
@ApiModelProperty(value = "日志级别")
private String logLev;
@ApiModelProperty(value = "事件类型")
private String eventType;
/**
* 事件内容
*/
@ApiModelProperty(value = "事件内容")
private String eventContent;
/**
* 日志类型
*/
@ApiModelProperty(value = "日志类型")
private String logType;
/**
* 用户名
*/
@ApiModelProperty(value = "用户名")
private String username;
@ApiModelProperty(value = "时间排序 升序 1 降序 0")
private String sortType;
@ApiModelProperty(value = "日志列表上的排序字段: 事件类型 eventtype 事件内容 eventcontent 日志类型:logtype 日志级别:loglev 时间:time")
private String sortField;
@ApiModelProperty(value = "查询条件时间")
@TableField(exist = false)
private String time;
@ApiModelProperty(value = "当前页")
private Integer current;
@ApiModelProperty(value = "每页显示条数")
private Integer pageSize;
}
package org.arch.manage.conterller;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.arch.base.Result;
import org.arch.common.modules.sysmange.dto.SysEventLogDTO;
import org.arch.log.entity.SysEventLog;
import org.arch.log.service.SysEventLogService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
import java.util.Objects;
/**
* 系统操作日志(SysEventLog)表控制层
*
* @author makejava
* @since 2024-01-25 09:50:14
*/
@Api(tags = "系统操作日志(SysEventLog)")
@RestController
@RequestMapping("sysEventLog")
public class SysEventLogController extends BaseController {
/**
* 服务对象
*/
@Resource
private SysEventLogService sysEventLogService;
/**
* 添加日志
*
* @param request 请求头
* @param params 请求参数
* @return 响应结果
*/
@PostMapping(value = "/addLog")
@ApiOperation(value = "添加日志接口", notes = "添加日志接口")
@ApiOperationSupport(ignoreParameters = {"userid", "username", "ipaddr", "lid", "eventtypeN", "logtypeN", "loglevN"})
public Result<Object> addLog(HttpServletRequest request, @RequestBody SysEventLog params) {
sysEventLogService.addLog(request, params, getUserDto());
return Result.success();
}
@PostMapping(value = "/getTjCount")
@ApiOperation(value = "日志统计", notes = "获取审计日志总条数")
public Result<String>getTjCount() {
long count = sysEventLogService.count();
return Result.success(String.valueOf(count));
}
@PostMapping(value = "/getCount")
@ApiOperation(value = "获取日志统计", notes = "获取日志统计")
public Result<Map<String, Object>> getCount(HttpServletRequest request) {
Map<String, Object> result = sysEventLogService.getCount();
return Result.success(result);
}
/**
* 查询日志列表
*
* @param sysEventLogDTO 日志对象
* @return
*/
@PostMapping(value = "/")
@ApiOperation(value = "查询日志列表", notes = "查询日志列表")
@ApiOperationSupport(ignoreParameters = {"userid", "username", "ipaddr", "eventcontent", "iswarn", "lid", "usercode", "menuid", "menupath", "eventtypeN", "logtypeN", "loglevN"})
public Result<com.baomidou.mybatisplus.extension.plugins.pagination.Page<SysEventLog>> getData(@RequestBody SysEventLogDTO sysEventLogDTO) {
Integer current = sysEventLogDTO.getCurrent();
Integer pageSize = sysEventLogDTO.getPageSize();
String sortType = sysEventLogDTO.getSortType();
String sortField = sysEventLogDTO.getSortField();
if (current == null) {
current = 1;
}
if (pageSize == null) {
pageSize = 10;
}
QueryWrapper<SysEventLog> queryWrapper = Wrappers.query();
queryWrapper.eq(StrUtil.isNotBlank(sysEventLogDTO.getEventType()), SysEventLog.ENENT_TYPE, sysEventLogDTO.getEventType());
queryWrapper.eq(StrUtil.isNotBlank(sysEventLogDTO.getLogLev()), SysEventLog.LOG_LEV, sysEventLogDTO.getLogLev());
queryWrapper.likeRight(StrUtil.isNotBlank(sysEventLogDTO.getTime()), SysEventLog.CREATE_TIME, sysEventLogDTO.getTime());
queryWrapper.eq(StrUtil.isNotBlank(sysEventLogDTO.getLogType()), SysEventLog.LOG_TYPE, sysEventLogDTO.getLogType());
queryWrapper.like(StrUtil.isNotBlank(sysEventLogDTO.getUsername()), SysEventLog.USER_NAME, sysEventLogDTO.getUsername());
queryWrapper.eq(StrUtil.isNotBlank(sysEventLogDTO.getResult()), SysEventLog.RESULT, sysEventLogDTO.getResult());
boolean flag ;
// 降序排列
flag = !"0".equals(sortType);
if(Objects.isNull(sortField)){
queryWrapper.orderByDesc(SysEventLog.CREATE_TIME);
}else {
getSort(sortField,flag,queryWrapper);
}
com.baomidou.mybatisplus.extension.plugins.pagination.Page<SysEventLog> aPage = sysEventLogService.page(new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(current, pageSize), queryWrapper);
return Result.success(aPage);
}
private void getSort(String sortField,boolean sortType,QueryWrapper<SysEventLog> queryWrapper){
switch (sortField){
case "eventtype":
// queryWrapper.orderBy(true,sortType,"a." +Eventlog.EVENTTYPE).orderBy(true,false,"a." + Eventlog.CREATETIME);
queryWrapper.orderBy(true,sortType,SysEventLog.ENENT_TYPE);
break;
case "eventcontent":
// queryWrapper.orderBy(true,sortType,"CONVERT('a.eventcontent' USING 'gbk')").orderBy(true,false,"a." + Eventlog.CREATETIME);
queryWrapper.orderBy(true,sortType,"CONVERT(event_content USING 'gbk')");
break;
case "logtype":
// queryWrapper.orderBy(true,sortType,"a." +Eventlog.LOGTYPE).orderBy(true,false,"a." + Eventlog.CREATETIME);
queryWrapper.orderBy(true,sortType,SysEventLog.LOG_TYPE);
break;
case "loglev":
// queryWrapper.orderBy(true,sortType,"a." +Eventlog.LOGLEV).orderBy(true,false,"a." + Eventlog.CREATETIME);
queryWrapper.orderBy(true,sortType,SysEventLog.LOG_LEV);
break;
case "time":
queryWrapper.orderBy(true,sortType, SysEventLog.CREATE_TIME);
break;
default:
queryWrapper.orderByDesc(SysEventLog.CREATE_TIME);
}
}
/**
* 分页查询
*
* @param sysEventLog 筛选条件
* @param pageRequest 分页对象
* @return 查询结果
*/
// @GetMapping
// public ResponseEntity<Page<SysEventLog>> queryByPage(SysEventLog sysEventLog, PageRequest pageRequest) {
// return ResponseEntity.ok(this.sysEventLogService.queryByPage(sysEventLog, pageRequest));
// }
//
// /**
// * 通过主键查询单条数据
// *
// * @param id 主键
// * @return 单条数据
// */
// @GetMapping("{id}")
// public ResponseEntity<SysEventLog> queryById(@PathVariable("id") String id) {
// return ResponseEntity.ok(this.sysEventLogService.queryById(id));
// }
//
// /**
// * 新增数据
// *
// * @param sysEventLog 实体
// * @return 新增结果
// */
// @PostMapping
// public ResponseEntity<SysEventLog> add(SysEventLog sysEventLog) {
// return ResponseEntity.ok(this.sysEventLogService.insert(sysEventLog));
// }
//
// /**
// * 编辑数据
// *
// * @param sysEventLog 实体
// * @return 编辑结果
// */
// @PutMapping
// public ResponseEntity<SysEventLog> edit(SysEventLog sysEventLog) {
// return ResponseEntity.ok(this.sysEventLogService.update(sysEventLog));
// }
//
// /**
// * 删除数据
// *
// * @param id 主键
// * @return 删除是否成功
// */
// @DeleteMapping
// public ResponseEntity<Boolean> deleteById(String id) {
// return ResponseEntity.ok(this.sysEventLogService.deleteById(id));
// }
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!