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") @GetMapping("/treeList")
@OperationLog(module = "查询",description = "查询树形产品线")
public Result<List<ProductLineDTO>> treeList(ProductLineParam param) throws Exception { public Result<List<ProductLineDTO>> treeList(ProductLineParam param) throws Exception {
return productLineApplicationService.treeList(param); 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 { public @interface OperationLog {
//操作模块 //操作模块
String module() default ""; String module() default "";
//操作
String action() default "";
//操作描述 //操作描述
String description() 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); OperationLog annotation = method.getAnnotation(OperationLog.class);
operationLogDTO.setModule(annotation.module()); operationLogDTO.setModule(annotation.module());
operationLogDTO.setAction(annotation.action());
operationLogDTO.setDescription(annotation.description()); operationLogDTO.setDescription(annotation.description());

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

@ -1,17 +1,24 @@
package com.project.operation.application; package com.project.operation.application;
import com.project.base.domain.result.Result;
import com.project.operation.application.impl.OperationLogApplicationService; import com.project.operation.application.impl.OperationLogApplicationService;
import com.project.operation.domain.dto.OperationLogDTO; 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.OperationLogBaseService;
import com.project.operation.domain.service.SaveOperationLogDomainService; import com.project.operation.domain.service.SaveOperationLogDomainService;
import com.project.operation.domain.service.SearchOperationLogDomainService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
@Service @Service
public class OperationLogApplicationServiceImpl implements OperationLogApplicationService { public class OperationLogApplicationServiceImpl implements OperationLogApplicationService {
@Autowired @Autowired
private SaveOperationLogDomainService saveOperationLogDomainService; private SaveOperationLogDomainService saveOperationLogDomainService;
@Autowired
private SearchOperationLogDomainService searchOperationLogDomainService;
/** /**
* 保存日志 * 保存日志
@ -21,4 +28,12 @@ public class OperationLogApplicationServiceImpl implements OperationLogApplicati
saveOperationLogDomainService.saveOperationLog(operationLogDTO); 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; 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.dto.OperationLogDTO;
import com.project.operation.domain.param.OperationLogParam;
import java.util.List;
public interface OperationLogApplicationService { public interface OperationLogApplicationService {
/** /**
* 保存操作日志 * 保存操作日志
*/ */
void saveOperationLog(OperationLogDTO operationLogDTO); 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 module;
private String action;
private String description; private String description;
private Integer result; 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 '操作模块'") @Column(name = "module", columnDefinition = "varchar(255) comment '操作模块'")
private String module; private String module;
@Column(name = "action", columnDefinition = "varchar(255) comment '操作'")
private String action;
@Column(name = "description" , columnDefinition="varchar(255) comment '操作描述'") @Column(name = "description" , columnDefinition="varchar(255) comment '操作描述'")
private String description; 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 @RequiredArgsConstructor
@Getter @Getter
public enum QuestionUseStatusEnum implements HasValueEnum<String> { public enum QuestionUseStatusEnum implements HasValueEnum<Boolean> {
Not_Use(Boolean.FALSE) , Not_Use(Boolean.FALSE) ,
Used(Boolean.TRUE); Used(Boolean.TRUE);
private final Boolean value; 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.PageResult;
import com.project.base.domain.result.Result; import com.project.base.domain.result.Result;
import com.project.operation.annotation.OperationLog;
import com.project.task.application.TaskApplicationService; import com.project.task.application.TaskApplicationService;
import com.project.task.domain.dto.TaskDTO; import com.project.task.domain.dto.TaskDTO;
import com.project.task.domain.param.TaskParam; import com.project.task.domain.param.TaskParam;
@ -34,12 +35,14 @@ public class TaskController {
} }
@PostMapping("/saveOrUpdate") @PostMapping("/saveOrUpdate")
@OperationLog(module = "考试任务")
public Result<TaskDTO> save(TaskDTO dto) throws Exception { public Result<TaskDTO> save(TaskDTO dto) throws Exception {
return taskApplicationService.saveOrUpdate(dto); return taskApplicationService.saveOrUpdate(dto);
} }
@PostMapping("/batchDelete") @PostMapping("/batchDelete")
@OperationLog(module = "考试任务")
public Result<String> batchDelete(List<Long> idList) throws Exception { public Result<String> batchDelete(List<Long> idList) throws Exception {
return taskApplicationService.batchDelete(idList); return taskApplicationService.batchDelete(idList);
} }

Loading…
Cancel
Save