Browse Source

补充日志信息

master
luogw 1 month ago
parent
commit
911e1e14b7
  1. 3
      src/main/java/com/project/classicpaper/controller/ClassicCategoryController.java
  2. 2
      src/main/java/com/project/classicpaper/controller/ClassicPaperSetController.java
  3. 8
      src/main/java/com/project/classicpaper/mapper/ClassicPaperSetMapper.java
  4. 2
      src/main/java/com/project/information/controller/InformationController.java
  5. 2
      src/main/java/com/project/operation/aop/OperationLogAspect.java
  6. 3
      src/main/java/com/project/operation/domain/enums/ModuleEnum.java
  7. 27
      src/main/java/com/project/operation/domain/service/impl/description/DataDescriptionStrategy.java

3
src/main/java/com/project/classicpaper/controller/ClassicCategoryController.java

@ -3,6 +3,7 @@ package com.project.classicpaper.controller;
import com.project.base.domain.result.Result;
import com.project.classicpaper.application.ClassicCategoryApplicationService;
import com.project.classicpaper.domain.dto.ClassicCategoryDTO;
import com.project.operation.annotation.OperationLog;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -27,6 +28,7 @@ public class ClassicCategoryController {
}
@PostMapping("/save")
@OperationLog(module = "套题管理", action = "添加")
public Result<ClassicCategoryDTO> save(ClassicCategoryDTO dto) throws Exception {
return classicCategoryApplicationService.save(dto);
}
@ -37,6 +39,7 @@ public class ClassicCategoryController {
}
@PostMapping("/delete")
@OperationLog(module = "套题管理", action = "删除")
public Result<String> delete(Long id) throws Exception {
return classicCategoryApplicationService.delete(id);
}

2
src/main/java/com/project/classicpaper/controller/ClassicPaperSetController.java

@ -22,6 +22,7 @@ public class ClassicPaperSetController {
private ClassicPaperSetApplicationService classicPaperSetApplicationService;
@PostMapping("/generate")
@OperationLog(module = "套题管理", action = "添加")
public Result<ClassicPaperSetDTO> generate(ClassicPaperSetDTO request) throws Exception {
return classicPaperSetApplicationService.generate(request);
}
@ -52,6 +53,7 @@ public class ClassicPaperSetController {
}
@PostMapping("/delete")
@OperationLog(module = "套题管理", action = "删除")
public Result<String> delete(String ids) throws Exception {
return classicPaperSetApplicationService.delete(ids);
}

8
src/main/java/com/project/classicpaper/mapper/ClassicPaperSetMapper.java

@ -6,9 +6,17 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface ClassicPaperSetMapper extends BaseMapper<ClassicPaperSetEntity> {
@Select("SELECT * FROM evaluator_classic_paper_set WHERE id = #{id}")
ClassicPaperSetEntity selectByIdIncludeDeleted(@Param("id") Long id);
@Select({"<script>",
"SELECT * FROM evaluator_classic_paper_set WHERE id IN",
"<foreach collection='list' item='id' open='(' separator=',' close=')'>#{id}</foreach>",
"</script>"})
List<ClassicPaperSetEntity> selectBatchIdsIncludeDeleted(@Param("list") List<Long> idList);
}

2
src/main/java/com/project/information/controller/InformationController.java

@ -52,6 +52,7 @@ public class InformationController {
}
@PostMapping("/batchUploadAndOverwrite")
@OperationLog(module = "资料管理",action = "添加")
public Result<String> batchUploadAndOverwrite(MultipartFile[] files, Long subLineId, @RequestParam(required = false, defaultValue = "false") Boolean skipExisting) throws Exception {
return informationApplicationService.batchUploadAndOverwrite(files , subLineId, skipExisting);
}
@ -83,6 +84,7 @@ public class InformationController {
* form-data 参数subLineId, fileName, fileNames[], filePaths[], fileSuffixes[], contentCategories[]
*/
@PostMapping("/generateFromFiles")
@OperationLog(module = "资料管理",action = "添加")
public Result<String> generateFromFiles(GenerateFromFilesParam param) throws Exception {
return generateFromFilesApplicationService.generateFromFiles(param);
}

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

@ -123,10 +123,10 @@ public class OperationLogAspect {
operationLogDTO.setModule(annotation.module());
ModuleEnum moduleEnum = ModuleEnum.findByValue(annotation.module());
operationLogDTO.setAction(annotation.action());
if (moduleEnum != null) {
descriptionManager.process(moduleEnum.name(), joinPoint.getArgs(), operationLogDTO, method.getName());
} else {
operationLogDTO.setAction(annotation.action());
operationLogDTO.setDescription(annotation.description());
}
}

3
src/main/java/com/project/operation/domain/enums/ModuleEnum.java

@ -9,7 +9,8 @@ import lombok.RequiredArgsConstructor;
public enum ModuleEnum implements HasValueEnum<String> {
EXAM_TASK("考试任务"),
DATA_MANAGEMENT("资料管理"),
APPEAL_APPROVAL("申诉审批");
APPEAL_APPROVAL("申诉审批"),
CLASSIC_PAPER("套题管理");
private final String value;

27
src/main/java/com/project/operation/domain/service/impl/description/DataDescriptionStrategy.java

@ -1,8 +1,10 @@
package com.project.operation.domain.service.impl.description;
import cn.hutool.core.util.ObjectUtil;
import com.project.information.domain.dto.ProductLineDTO;
import com.project.information.domain.entity.InformationEntity;
import com.project.information.domain.entity.ProductLineEntity;
import com.project.information.domain.param.GenerateFromFilesParam;
import com.project.information.mapper.InformationMapper;
import com.project.information.mapper.ProductLineMapper;
import com.project.operation.domain.dto.OperationLogDTO;
@ -14,6 +16,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import org.springframework.web.multipart.MultipartFile;
import java.util.Arrays;
import java.util.List;
@ -25,6 +28,9 @@ import java.util.stream.Collectors;
*/
@Component
public class DataDescriptionStrategy implements DescriptionStrategy {
private static final String CATEGORY_LEVEL_1 = "【一级分类】";
private static final String CATEGORY_LEVEL_2 = "【二级分类】";
@Autowired
private ProductLineMapper productLineMapper;
@Autowired
@ -43,7 +49,9 @@ public class DataDescriptionStrategy implements DescriptionStrategy {
}else{
operationLogDTO.setAction("创建");
}
operationLogDTO.setDescription("【"+ productLineDTO.getName()+"】");
String categoryPrefix = ObjectUtil.isNull(productLineDTO.getParentId()) ? CATEGORY_LEVEL_1 : CATEGORY_LEVEL_2;
operationLogDTO.setDescription(categoryPrefix + "/【" + productLineDTO.getName() + "】");
}
if(methodName.equals("delete") && ObjectUtils.isNotEmpty(args) && args[0] instanceof Long id){
@ -54,7 +62,8 @@ public class DataDescriptionStrategy implements DescriptionStrategy {
if (productLineEntity == null){
return false;
}
operationLogDTO.setDescription("【"+ productLineEntity.getName()+"】");
String categoryPrefix = ObjectUtil.isNull(productLineEntity.getParentId()) ? CATEGORY_LEVEL_1 : CATEGORY_LEVEL_2;
operationLogDTO.setDescription(categoryPrefix + "/【" + productLineEntity.getName() + "】");
}
if (methodName.equals("batchDelete") && ObjectUtils.isNotEmpty(args) && args[0] instanceof String ids) {
@ -76,12 +85,24 @@ public class DataDescriptionStrategy implements DescriptionStrategy {
String description = infoEntities.stream()
.map(informationDTO ->{
String taskName = Optional.ofNullable(informationDTO.getName()).orElse("未知文件");
return "【" + informationDTO.getName() + "】";
return "【" + taskName + "】";
})
.collect(Collectors.joining(","));
operationLogDTO.setDescription(description);
}
if (methodName.equals("batchUploadAndOverwrite") && ObjectUtils.isNotEmpty(args) && args[0] instanceof MultipartFile[] files) {
String description = Arrays.stream(files)
.map(f -> "【" + Optional.ofNullable(f.getOriginalFilename()).orElse("未知文件") + "】")
.collect(Collectors.joining(","));
operationLogDTO.setDescription(description);
}
if (methodName.equals("generateFromFiles") && ObjectUtils.isNotEmpty(args) && args[0] instanceof GenerateFromFilesParam param) {
String fileName = Optional.ofNullable(param.getFileName()).orElse("未知文件");
operationLogDTO.setDescription("【" + fileName + "】");
}
return true;
}

Loading…
Cancel
Save