Browse Source

系统日志

master
luogw 1 month ago
parent
commit
b592fff7a0
  1. 1
      src/main/java/com/project/information/controller/ProductLineController.java
  2. 2
      src/main/java/com/project/operation/annotation/OperationLog.java
  3. 1
      src/main/java/com/project/operation/aop/OperationLogAspect.java
  4. 15
      src/main/java/com/project/operation/application/OperationLogApplicationServiceImpl.java
  5. 9
      src/main/java/com/project/operation/application/impl/OperationLogApplicationService.java
  6. 25
      src/main/java/com/project/operation/controller/OperationLogController.java
  7. 2
      src/main/java/com/project/operation/domain/dto/OperationLogDTO.java
  8. 3
      src/main/java/com/project/operation/domain/entity/OperationLogEntity.java
  9. 21
      src/main/java/com/project/operation/domain/param/OperationLogParam.java
  10. 12
      src/main/java/com/project/operation/domain/service/SearchOperationLogDomainService.java
  11. 47
      src/main/java/com/project/operation/domain/service/impl/SearchOperationLogDomainServiceImpl.java
  12. 2
      src/main/java/com/project/question/domain/enums/QuestionUseStatusEnum.java
  13. 3
      src/main/java/com/project/task/controller/TaskController.java

1
src/main/java/com/project/information/controller/ProductLineController.java

@ -30,7 +30,6 @@ public class ProductLineController {
}
@GetMapping("/treeList")
@OperationLog(module = "查询",description = "查询树形产品线")
public Result<List<ProductLineDTO>> treeList(ProductLineParam param) throws Exception {
return productLineApplicationService.treeList(param);
}

2
src/main/java/com/project/operation/annotation/OperationLog.java

@ -11,6 +11,8 @@ import java.lang.annotation.*;
public @interface OperationLog {
//操作模块
String module() default "";
//操作
String action() default "";
//操作描述
String description() default "";
}

1
src/main/java/com/project/operation/aop/OperationLogAspect.java

@ -73,6 +73,7 @@ public class OperationLogAspect {
//获取操作信息
OperationLog annotation = method.getAnnotation(OperationLog.class);
operationLogDTO.setModule(annotation.module());
operationLogDTO.setAction(annotation.action());
operationLogDTO.setDescription(annotation.description());

15
src/main/java/com/project/operation/application/OperationLogApplicationServiceImpl.java

@ -1,17 +1,24 @@
package com.project.operation.application;
import com.project.base.domain.result.Result;
import com.project.operation.application.impl.OperationLogApplicationService;
import com.project.operation.domain.dto.OperationLogDTO;
import com.project.operation.domain.param.OperationLogParam;
import com.project.operation.domain.service.OperationLogBaseService;
import com.project.operation.domain.service.SaveOperationLogDomainService;
import com.project.operation.domain.service.SearchOperationLogDomainService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class OperationLogApplicationServiceImpl implements OperationLogApplicationService {
@Autowired
private SaveOperationLogDomainService saveOperationLogDomainService;
@Autowired
private SearchOperationLogDomainService searchOperationLogDomainService;
/**
* 保存日志
@ -21,4 +28,12 @@ public class OperationLogApplicationServiceImpl implements OperationLogApplicati
saveOperationLogDomainService.saveOperationLog(operationLogDTO);
}
/**
* 查询日志
*/
@Override
public Result<List<OperationLogDTO>> list(OperationLogParam param) {
return searchOperationLogDomainService.list(param);
}
}

9
src/main/java/com/project/operation/application/impl/OperationLogApplicationService.java

@ -1,10 +1,19 @@
package com.project.operation.application.impl;
import com.project.base.domain.result.Result;
import com.project.operation.domain.dto.OperationLogDTO;
import com.project.operation.domain.param.OperationLogParam;
import java.util.List;
public interface OperationLogApplicationService {
/**
* 保存操作日志
*/
void saveOperationLog(OperationLogDTO operationLogDTO);
/**
* 查询日志
*/
Result<List<OperationLogDTO>> list(OperationLogParam param);
}

25
src/main/java/com/project/operation/controller/OperationLogController.java

@ -0,0 +1,25 @@
package com.project.operation.controller;
import com.project.base.domain.result.Result;
import com.project.operation.application.impl.OperationLogApplicationService;
import com.project.operation.domain.dto.OperationLogDTO;
import com.project.operation.domain.param.OperationLogParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/api/admin/operationLog")
public class OperationLogController {
@Autowired
private OperationLogApplicationService operationLogApplicationService;
@GetMapping("/list")
public Result<List<OperationLogDTO>> list(OperationLogParam param) throws Exception {
return operationLogApplicationService.list(param);
}
}

2
src/main/java/com/project/operation/domain/dto/OperationLogDTO.java

@ -15,6 +15,8 @@ public class OperationLogDTO extends BaseDTO {
private String module;
private String action;
private String description;
private Integer result;

3
src/main/java/com/project/operation/domain/entity/OperationLogEntity.java

@ -23,6 +23,9 @@ public class OperationLogEntity extends BaseEntity {
@Column(name = "module", columnDefinition = "varchar(255) comment '操作模块'")
private String module;
@Column(name = "action", columnDefinition = "varchar(255) comment '操作'")
private String action;
@Column(name = "description" , columnDefinition="varchar(255) comment '操作描述'")
private String description;

21
src/main/java/com/project/operation/domain/param/OperationLogParam.java

@ -0,0 +1,21 @@
package com.project.operation.domain.param;
import com.project.base.domain.param.BaseParam;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
public class OperationLogParam extends BaseParam {
//操作
public String action;
//详细信息
public String description;
//开始时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
public Date startTime;
//结束时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
public Date endTime;
}

12
src/main/java/com/project/operation/domain/service/SearchOperationLogDomainService.java

@ -0,0 +1,12 @@
package com.project.operation.domain.service;
import com.project.base.domain.result.Result;
import com.project.operation.domain.dto.OperationLogDTO;
import com.project.operation.domain.param.OperationLogParam;
import java.util.List;
public interface SearchOperationLogDomainService {
Result<List<OperationLogDTO>> list(OperationLogParam param);
}

47
src/main/java/com/project/operation/domain/service/impl/SearchOperationLogDomainServiceImpl.java

@ -0,0 +1,47 @@
package com.project.operation.domain.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.project.base.domain.result.Result;
import com.project.operation.domain.dto.OperationLogDTO;
import com.project.operation.domain.entity.OperationLogEntity;
import com.project.operation.domain.param.OperationLogParam;
import com.project.operation.domain.service.OperationLogBaseService;
import com.project.operation.domain.service.SearchOperationLogDomainService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class SearchOperationLogDomainServiceImpl implements SearchOperationLogDomainService {
@Autowired
private OperationLogBaseService operationLogBaseService;
/**
* 查询日志
*/
@Override
public Result<List<OperationLogDTO>> list(OperationLogParam param) {
QueryWrapper<OperationLogEntity> logQueryWrapper = new QueryWrapper<>();
if (StringUtils.isNotBlank(param.getAction())){
logQueryWrapper.like("action",param.getAction());
}
if (StringUtils.isNotBlank(param.getDescription())){
logQueryWrapper.like("description",param.getDescription());
}
if (param.getStartTime() != null) {
logQueryWrapper.ge("create_time",param.getStartTime());
}
if (param.getEndTime() != null) {
logQueryWrapper.le("create_time",param.getEndTime());
}
logQueryWrapper.orderByDesc("create_time");
List<OperationLogEntity> entityList = operationLogBaseService.list(logQueryWrapper);
return Result.success(entityList.stream()
.map(entity -> entity.toDTO(OperationLogDTO::new))
.collect(Collectors.toList()));
}
}

2
src/main/java/com/project/question/domain/enums/QuestionUseStatusEnum.java

@ -6,7 +6,7 @@ import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
@Getter
public enum QuestionUseStatusEnum implements HasValueEnum<String> {
public enum QuestionUseStatusEnum implements HasValueEnum<Boolean> {
Not_Use(Boolean.FALSE) ,
Used(Boolean.TRUE);
private final Boolean value;

3
src/main/java/com/project/task/controller/TaskController.java

@ -3,6 +3,7 @@ package com.project.task.controller;
import com.project.base.domain.result.PageResult;
import com.project.base.domain.result.Result;
import com.project.operation.annotation.OperationLog;
import com.project.task.application.TaskApplicationService;
import com.project.task.domain.dto.TaskDTO;
import com.project.task.domain.param.TaskParam;
@ -34,12 +35,14 @@ public class TaskController {
}
@PostMapping("/saveOrUpdate")
@OperationLog(module = "考试任务")
public Result<TaskDTO> save(TaskDTO dto) throws Exception {
return taskApplicationService.saveOrUpdate(dto);
}
@PostMapping("/batchDelete")
@OperationLog(module = "考试任务")
public Result<String> batchDelete(List<Long> idList) throws Exception {
return taskApplicationService.batchDelete(idList);
}

Loading…
Cancel
Save