diff --git a/src/main/java/com/project/appeal/application/AppealApplication.java b/src/main/java/com/project/appeal/application/AppealApplication.java index e0c9876..c564695 100644 --- a/src/main/java/com/project/appeal/application/AppealApplication.java +++ b/src/main/java/com/project/appeal/application/AppealApplication.java @@ -1,9 +1,9 @@ package com.project.appeal.application; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.tingyugetc520.ali.dingtalk.error.DtErrorException; import com.project.appeal.domain.dto.AppealDTO; import com.project.appeal.domain.param.AppealParam; +import com.project.base.domain.result.PageResult; import com.project.base.domain.result.Result; import java.util.List; @@ -17,5 +17,5 @@ public interface AppealApplication { /** * 查询申诉列表 */ - Result> list(AppealParam appealParam); + Result> list(AppealParam appealParam); } diff --git a/src/main/java/com/project/appeal/application/Impl/AppealApplicationImpl.java b/src/main/java/com/project/appeal/application/Impl/AppealApplicationImpl.java index c54acca..1129ea7 100644 --- a/src/main/java/com/project/appeal/application/Impl/AppealApplicationImpl.java +++ b/src/main/java/com/project/appeal/application/Impl/AppealApplicationImpl.java @@ -1,6 +1,5 @@ package com.project.appeal.application.Impl; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.tingyugetc520.ali.dingtalk.error.DtErrorException; import com.project.appeal.application.AppealApplication; import com.project.appeal.domain.dto.AppealDTO; @@ -8,6 +7,7 @@ import com.project.appeal.domain.param.AppealParam; import com.project.appeal.domain.service.CheckAppealDomainService; import com.project.appeal.domain.service.SaveAppealDomainService; import com.project.appeal.domain.service.SearchAppealDomainService; +import com.project.base.domain.result.PageResult; import com.project.base.domain.result.Result; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -36,7 +36,7 @@ public class AppealApplicationImpl implements AppealApplication { * 查询申诉列表 */ @Override - public Result> list(AppealParam appealParam) { + public Result> list(AppealParam appealParam) { return searchAppealDomainService.list(appealParam); } } diff --git a/src/main/java/com/project/appeal/controller/AppealAdminController.java b/src/main/java/com/project/appeal/controller/AppealAdminController.java index dad0de2..bed0a87 100644 --- a/src/main/java/com/project/appeal/controller/AppealAdminController.java +++ b/src/main/java/com/project/appeal/controller/AppealAdminController.java @@ -1,10 +1,10 @@ package com.project.appeal.controller; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.tingyugetc520.ali.dingtalk.error.DtErrorException; import com.project.appeal.application.AppealApplication; import com.project.appeal.domain.dto.AppealDTO; import com.project.appeal.domain.param.AppealParam; +import com.project.base.domain.result.PageResult; import com.project.base.domain.result.Result; import com.project.operation.annotation.OperationLog; import org.springframework.beans.factory.annotation.Autowired; @@ -26,7 +26,7 @@ public class AppealAdminController { } @GetMapping("list") - public Result> list(AppealParam appealParam){ + public Result> list(AppealParam appealParam){ return appealApplication.list(appealParam); } } diff --git a/src/main/java/com/project/appeal/domain/service/Impl/SearchAppealDomainServiceImpl.java b/src/main/java/com/project/appeal/domain/service/Impl/SearchAppealDomainServiceImpl.java index aebf2d3..08f9a12 100644 --- a/src/main/java/com/project/appeal/domain/service/Impl/SearchAppealDomainServiceImpl.java +++ b/src/main/java/com/project/appeal/domain/service/Impl/SearchAppealDomainServiceImpl.java @@ -1,20 +1,16 @@ package com.project.appeal.domain.service.Impl; -import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.project.appeal.domain.dto.AppealDTO; import com.project.appeal.domain.entity.AppealEntity; import com.project.appeal.domain.param.AppealParam; -import com.project.appeal.domain.service.AppealBaseService; import com.project.appeal.domain.service.SearchAppealDomainService; import com.project.appeal.mapper.AppealMapper; +import com.project.base.domain.result.PageResult; import com.project.base.domain.result.Result; import com.project.base.domain.utils.PageConverter; -import com.project.exam.domain.entity.ExamRecordEntity; -import com.project.exam.domain.service.ExamRecordBaseService; -import com.project.information.domain.dto.InformationDTO; import com.project.information.domain.entity.KnowledgePointEntity; import com.project.information.domain.service.KnowledgePointBaseService; import com.project.question.domain.entity.QuestionEntity; @@ -42,7 +38,7 @@ public class SearchAppealDomainServiceImpl implements SearchAppealDomainService private KnowledgePointBaseService knowledgePointBaseService; @Override - public Result> list(AppealParam appealParam) { + public Result> list(AppealParam appealParam) { QueryWrapper appealEntityQueryWrapper = new QueryWrapper<>(); IPage appealDTOIPage = new Page<>(); Map taskIdToSubLineNameMap = Map.of(); @@ -60,7 +56,7 @@ public class SearchAppealDomainServiceImpl implements SearchAppealDomainService appealDTOIPage = appealEntityPage.convert(entity -> entity.toDTO(AppealDTO::new)); } appealDTOIPage.setRecords(buildDTO(appealDTOIPage.getRecords(),taskIdToSubLineNameMap)); - return Result.success(appealDTOIPage); + return Result.page(appealDTOIPage); } diff --git a/src/main/java/com/project/appeal/domain/service/SearchAppealDomainService.java b/src/main/java/com/project/appeal/domain/service/SearchAppealDomainService.java index 76b7146..ffe58e6 100644 --- a/src/main/java/com/project/appeal/domain/service/SearchAppealDomainService.java +++ b/src/main/java/com/project/appeal/domain/service/SearchAppealDomainService.java @@ -1,10 +1,10 @@ package com.project.appeal.domain.service; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.project.appeal.domain.dto.AppealDTO; import com.project.appeal.domain.param.AppealParam; +import com.project.base.domain.result.PageResult; import com.project.base.domain.result.Result; public interface SearchAppealDomainService { - Result> list(AppealParam appealParam); + Result> list(AppealParam appealParam); } diff --git a/src/main/java/com/project/information/application/KnowledgePointApplicationService.java b/src/main/java/com/project/information/application/KnowledgePointApplicationService.java index ce1854b..4f42c23 100644 --- a/src/main/java/com/project/information/application/KnowledgePointApplicationService.java +++ b/src/main/java/com/project/information/application/KnowledgePointApplicationService.java @@ -2,7 +2,12 @@ package com.project.information.application; import com.project.base.domain.result.Result; import com.project.information.domain.dto.KnowledgePointStatisticsDTO; +import org.springframework.web.multipart.MultipartFile; + +import java.util.Map; public interface KnowledgePointApplicationService { Result getSum(Long subLineId); + + void parse(Map fileMap); } diff --git a/src/main/java/com/project/information/application/KnowledgePointApplicationServiceImpl.java b/src/main/java/com/project/information/application/KnowledgePointApplicationServiceImpl.java index d6c9cea..89c0c4d 100644 --- a/src/main/java/com/project/information/application/KnowledgePointApplicationServiceImpl.java +++ b/src/main/java/com/project/information/application/KnowledgePointApplicationServiceImpl.java @@ -1,18 +1,160 @@ package com.project.information.application; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; import com.project.base.domain.result.Result; import com.project.information.domain.dto.KnowledgePointStatisticsDTO; +import com.project.information.domain.entity.KnowledgePointEntity; +import com.project.information.domain.service.KnowledgePointBaseService; import com.project.information.domain.service.SearchKnowledgePointDomainService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.io.ByteArrayResource; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.multipart.MultipartFile; + +import java.util.*; +import java.util.stream.Collectors; @Service +@Slf4j public class KnowledgePointApplicationServiceImpl implements KnowledgePointApplicationService { @Autowired private SearchKnowledgePointDomainService searchKnowledgePointDomainService; + @Autowired + private KnowledgePointBaseService knowledgePointBaseService; + + private final RestTemplate restTemplate = new RestTemplate(); + + @Value("${analysis.host:172.16.204.50}") + private String analysisHost; + @Value("${analysis.port:8888}") + private String analysisPort; + @Value("${analysis.url:/word/parse}") + private String analysisUrl; @Override public Result getSum(Long subLineId) { return Result.success(searchKnowledgePointDomainService.getSum(subLineId)); } + + @Override + @Async("parseExecutor") + public void parse(Map fileMap) { + for (Long id : fileMap.keySet()) { + try { + uploadToPython(fileMap.get(id),id); + } catch (Exception e) { + log.error("文件解析失败:{}", fileMap.get(id).getOriginalFilename(), e); + } + } + } + + /** + * 发送请求,解析文档知识点 + */ + private void uploadToPython(MultipartFile file,Long id) throws Exception { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.MULTIPART_FORM_DATA); + headers.setAccept(MediaType.parseMediaTypes("*/*")); + + MultiValueMap body = new LinkedMultiValueMap<>(); + + ByteArrayResource fileResource = new ByteArrayResource(file.getBytes()) { + @Override + public String getFilename() { + return file.getOriginalFilename(); + } + }; + + body.add("file", fileResource); + + HttpEntity> requestEntity = + new HttpEntity<>(body, headers); + + ResponseEntity response = + restTemplate.postForEntity("http://"+analysisHost+":"+analysisPort+analysisUrl, requestEntity, String.class); + + log.info("文件 [{}] 解析完成,返回结果:{}", file.getOriginalFilename(), response.getBody()); + + List knowledgePointEntities = parseAnalysisResponse(response,id); + if(!CollectionUtils.isEmpty(knowledgePointEntities)){ + knowledgePointBaseService.saveBatch(knowledgePointEntities); + } + } + + /** + * 解析返回数据 + */ + public List parseAnalysisResponse(ResponseEntity response,Long id) throws JsonProcessingException { + if (response == null || response.getBody() == null) { + return Collections.emptyList(); + } + + ObjectMapper mapper = new ObjectMapper(); + + Map root = + mapper.readValue(response.getBody(), new TypeReference<>() {}); + + if (root.containsKey("detail")) { + log.error("文件解析失败:{}", root.get("detail")); + return Collections.emptyList(); + } + + List> data = new ArrayList<>(); + Object dataObj = root.get("data"); + if (dataObj instanceof List && ObjectUtils.isNotEmpty(dataObj)) { + data = (List>) dataObj; + }else{ + log.error("文件解析失败"); + return Collections.emptyList(); + } + + return data.stream() + .filter(item -> { + Object attrs = item.get("attrs"); + return attrs instanceof List && !((List) attrs).isEmpty(); + }) + .map(item -> { + + List> attrs = + (List>) item.get("attrs"); + + //判断是否存在精准知识点 + boolean hasYellow = attrs.stream() + .flatMap(m -> m.values().stream()) + .anyMatch("黄色"::equals); + + //收集考点信息 + List focusList = attrs.stream() + .flatMap(m -> m.entrySet().stream()) + .map(e -> { + KnowledgePointEntity.ExamFocus f = new KnowledgePointEntity.ExamFocus(); + f.setExamFocusContent(e.getKey()); + f.setColor(e.getValue()); + return f; + }) + .collect(Collectors.toList()); + + KnowledgePointEntity entity = new KnowledgePointEntity(); + entity.setContent((String) item.get("knowledge")); + entity.setKnowledgeType(hasYellow ? 0 : 1); + entity.setExamFocusList(focusList); + entity.setInformationId(id); + + return entity; + }).collect(Collectors.toList()); + } } diff --git a/src/main/java/com/project/information/config/InformationAsyncConfig.java b/src/main/java/com/project/information/config/InformationAsyncConfig.java new file mode 100644 index 0000000..17e76ba --- /dev/null +++ b/src/main/java/com/project/information/config/InformationAsyncConfig.java @@ -0,0 +1,41 @@ +package com.project.information.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.concurrent.Executor; +import java.util.concurrent.ThreadPoolExecutor; + +/** + * 异步配置类:开启异步支持 + */ +@Configuration +@EnableAsync +public class InformationAsyncConfig { + + /** + * 自定义发生通知异步线程池 + */ + @Bean(name = "parseExecutor") + public Executor parseExecutor() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + // 核心线程数(根据业务量调整) + executor.setCorePoolSize(5); + // 最大线程数 + executor.setMaxPoolSize(10); + // 队列容量 + executor.setQueueCapacity(100); + // 线程前缀名(便于日志排查) + executor.setThreadNamePrefix("parse-file-"); + // 线程空闲超时时间 + executor.setKeepAliveSeconds(60); + // 拒绝策略:队列满时由调用线程执行 + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); + // 初始化线程池 + executor.initialize(); + return executor; + } + +} diff --git a/src/main/java/com/project/information/domain/dto/KnowledgePointDTO.java b/src/main/java/com/project/information/domain/dto/KnowledgePointDTO.java index 4ebe0a5..267bb55 100644 --- a/src/main/java/com/project/information/domain/dto/KnowledgePointDTO.java +++ b/src/main/java/com/project/information/domain/dto/KnowledgePointDTO.java @@ -1,7 +1,13 @@ package com.project.information.domain.dto; +import cn.hutool.core.collection.CollUtil; import com.project.base.domain.dto.BaseDTO; +import com.project.information.domain.entity.KnowledgePointEntity; import lombok.Data; +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.function.Supplier; @Data public class KnowledgePointDTO extends BaseDTO { @@ -9,5 +15,33 @@ public class KnowledgePointDTO extends BaseDTO { private String content; - private Integer backgroundColor; + private Integer knowledgeType; + + private List examFocusDTOList; + + @Data + public static class ExamFocusDTO { + /*考点底色*/ + private String color; + /*考点内容*/ + private String examFocusContent; + } + + @Override + public T toEntity(Supplier supplier) { + T result = super.toEntity(supplier); + if (result instanceof KnowledgePointEntity entity) { + // 处理内部列表快照的转换 + if (CollUtil.isNotEmpty(this.examFocusDTOList)) { + List examFocusList = this.examFocusDTOList.stream().map(dto -> { + KnowledgePointEntity.ExamFocus examFocus = new KnowledgePointEntity.ExamFocus(); + BeanUtils.copyProperties(dto, examFocus); + return examFocus; + }).toList(); + entity.setExamFocusList(examFocusList); + } + entity.setId(this.getId()); + } + return result; + } } diff --git a/src/main/java/com/project/information/domain/entity/KnowledgePointEntity.java b/src/main/java/com/project/information/domain/entity/KnowledgePointEntity.java index 9a34520..f5729a7 100644 --- a/src/main/java/com/project/information/domain/entity/KnowledgePointEntity.java +++ b/src/main/java/com/project/information/domain/entity/KnowledgePointEntity.java @@ -1,15 +1,26 @@ package com.project.information.domain.entity; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.project.base.domain.entity.BaseEntity; +import com.project.exam.domain.dto.ExamRecordDTO; +import com.project.exam.domain.entity.ExamRecordEntity; +import com.project.information.domain.dto.KnowledgePointDTO; import jakarta.persistence.*; import lombok.Data; import lombok.EqualsAndHashCode; import org.hibernate.annotations.Comment; +import org.hibernate.annotations.JdbcTypeCode; +import org.hibernate.type.SqlTypes; +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.function.Supplier; @Data @Table(name = "evaluator_knowledge_point" , @@ -25,13 +36,43 @@ public class KnowledgePointEntity extends BaseEntity { @Column(name = "content", columnDefinition="TEXT comment '原始知识点文本内容'") private String content; - @Comment("知识点底色,0-黄,1-红,2-绿") - @Column(name = "background_color") - @TableField("background_color") - private Integer backgroundColor; + @Comment("知识点类型,0-精准,1-模糊") + @Column(name = "knowledge_type") + @TableField("knowledge_type") + private Integer knowledgeType; @Column(name = "information_id") @Comment("来源资料id") @TableField("information_id") private Long informationId; + + @TableField(value = "exam_focus_list" , typeHandler = JacksonTypeHandler.class) + @JdbcTypeCode(SqlTypes.JSON) + @Column(name = "exam_focus_list", columnDefinition = "json comment '考点集合'") + private List examFocusList; + + @Data + public static class ExamFocus { + /*考点底色*/ + private String color; + /*考点内容*/ + private String examFocusContent; + } + + @Override + public T toDTO(Supplier supplier) { + T result = super.toDTO(supplier); + if (result instanceof KnowledgePointDTO dto) { + // 处理内部快照列表从 Entity 到 DTO 的转换 + if (CollUtil.isNotEmpty(this.examFocusList)) { + List dtoList = this.examFocusList.stream().map(examFocus -> { + KnowledgePointDTO.ExamFocusDTO examFocusDTO = new KnowledgePointDTO.ExamFocusDTO(); + BeanUtils.copyProperties(examFocus, examFocusDTO); + return examFocusDTO; + }).toList(); + dto.setExamFocusDTOList(dtoList); + } + } + return result; + } } diff --git a/src/main/java/com/project/information/domain/service/impl/UploadInformationDomainServiceImpl.java b/src/main/java/com/project/information/domain/service/impl/UploadInformationDomainServiceImpl.java index 9d9b365..70c55df 100644 --- a/src/main/java/com/project/information/domain/service/impl/UploadInformationDomainServiceImpl.java +++ b/src/main/java/com/project/information/domain/service/impl/UploadInformationDomainServiceImpl.java @@ -6,8 +6,10 @@ import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.file.FileNameUtil; import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.project.base.config.CustomIdGenerator; import com.project.base.domain.exception.BusinessErrorException; import com.project.base.domain.result.Result; +import com.project.information.application.KnowledgePointApplicationService; import com.project.information.domain.dto.InformationDTO; import com.project.information.domain.entity.InformationEntity; import com.project.information.domain.entity.ProductLineEntity; @@ -22,10 +24,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; @Service @@ -37,6 +36,10 @@ public class UploadInformationDomainServiceImpl implements UploadInformationDoma private ProductLineBaseService productLineBaseService; @Autowired private MinIoUtils minIoUtils; + @Autowired + private KnowledgePointApplicationService knowledgePointApplicationService; + @Autowired + private CustomIdGenerator customIdGenerator; private static final long MAX_SIZE = 50 * 1024 * 1024; // 50MB 限制 @@ -92,6 +95,7 @@ public class UploadInformationDomainServiceImpl implements UploadInformationDoma throw new BusinessErrorException("不存在的子产品线"); } List successFiles = new ArrayList<>(); + Map fileMap = new HashMap<>(); for (MultipartFile file : files) { String fileName = file.getOriginalFilename(); // 删掉原来的 @@ -112,8 +116,17 @@ public class UploadInformationDomainServiceImpl implements UploadInformationDoma informationDTO.setFileSuffix(FileUtil.getSuffix(fileName)); informationDTO.setFilePath(filePath); informationDTO.setParseStatus(InformationParseStatusEnum.NotStart.getValue()); - informationBaseService.save(informationDTO.toEntity(InformationEntity::new)); + InformationEntity entity = informationDTO.toEntity(InformationEntity::new); + entity.setId(customIdGenerator.nextId(entity)); + informationBaseService.save(entity); + + //收集file + fileMap.put(entity.getId(), file); } + + //发起解析文档知识点 + knowledgePointApplicationService.parse(fileMap); + return Result.success(String.format("上传成功:【%s】" , String.join("," , successFiles))); } } diff --git a/src/main/java/com/project/information/mapper/KnowledgePointMapper.java b/src/main/java/com/project/information/mapper/KnowledgePointMapper.java index 22bc05b..c974d9a 100644 --- a/src/main/java/com/project/information/mapper/KnowledgePointMapper.java +++ b/src/main/java/com/project/information/mapper/KnowledgePointMapper.java @@ -19,8 +19,8 @@ public interface KnowledgePointMapper extends BaseMapper { */ @Select({ "SELECT", - " SUM(CASE WHEN p.background_color = 0 THEN 1 ELSE 0 END) AS preciseSum,", - " SUM(CASE WHEN p.background_color = 1 THEN 1 ELSE 0 END) AS blurSum", + " SUM(CASE WHEN p.knowledgeType = 0 THEN 1 ELSE 0 END) AS preciseSum,", + " SUM(CASE WHEN p.knowledgeType = 1 THEN 1 ELSE 0 END) AS blurSum", "FROM evaluator_knowledge_point e", "INNER JOIN evaluator_knowledge_point p ON p.information_id = e.id", "WHERE e.sub_line_id = #{subLineId}" diff --git a/src/main/java/com/project/operation/application/OperationLogApplicationServiceImpl.java b/src/main/java/com/project/operation/application/OperationLogApplicationServiceImpl.java index b33015e..6113d6f 100644 --- a/src/main/java/com/project/operation/application/OperationLogApplicationServiceImpl.java +++ b/src/main/java/com/project/operation/application/OperationLogApplicationServiceImpl.java @@ -1,19 +1,16 @@ package com.project.operation.application; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.project.base.domain.result.PageResult; 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.scheduling.annotation.Async; import org.springframework.stereotype.Service; -import java.util.List; - @Service public class OperationLogApplicationServiceImpl implements OperationLogApplicationService { @@ -34,7 +31,7 @@ public class OperationLogApplicationServiceImpl implements OperationLogApplicati * 查询日志 */ @Override - public Result> list(OperationLogParam param) { + public Result> list(OperationLogParam param) { return searchOperationLogDomainService.list(param); } diff --git a/src/main/java/com/project/operation/application/impl/OperationLogApplicationService.java b/src/main/java/com/project/operation/application/impl/OperationLogApplicationService.java index 0a33109..5104fd0 100644 --- a/src/main/java/com/project/operation/application/impl/OperationLogApplicationService.java +++ b/src/main/java/com/project/operation/application/impl/OperationLogApplicationService.java @@ -1,6 +1,6 @@ package com.project.operation.application.impl; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.project.base.domain.result.PageResult; import com.project.base.domain.result.Result; import com.project.operation.domain.dto.OperationLogDTO; import com.project.operation.domain.param.OperationLogParam; @@ -16,7 +16,7 @@ public interface OperationLogApplicationService { /** * 查询日志 */ - Result> list(OperationLogParam param); + Result> list(OperationLogParam param); /** * 异步保存日志 diff --git a/src/main/java/com/project/operation/controller/OperationLogController.java b/src/main/java/com/project/operation/controller/OperationLogController.java index 6793b68..a28a2b8 100644 --- a/src/main/java/com/project/operation/controller/OperationLogController.java +++ b/src/main/java/com/project/operation/controller/OperationLogController.java @@ -1,6 +1,6 @@ package com.project.operation.controller; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.project.base.domain.result.PageResult; import com.project.base.domain.result.Result; import com.project.operation.application.impl.OperationLogApplicationService; import com.project.operation.domain.dto.OperationLogDTO; @@ -20,7 +20,7 @@ public class OperationLogController { private OperationLogApplicationService operationLogApplicationService; @GetMapping("/list") - public Result> list(OperationLogParam param) throws Exception { + public Result> list(OperationLogParam param) throws Exception { return operationLogApplicationService.list(param); } } diff --git a/src/main/java/com/project/operation/domain/service/SearchOperationLogDomainService.java b/src/main/java/com/project/operation/domain/service/SearchOperationLogDomainService.java index 240eaae..b090619 100644 --- a/src/main/java/com/project/operation/domain/service/SearchOperationLogDomainService.java +++ b/src/main/java/com/project/operation/domain/service/SearchOperationLogDomainService.java @@ -1,13 +1,11 @@ package com.project.operation.domain.service; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.project.base.domain.result.PageResult; 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(OperationLogParam param); + Result> list(OperationLogParam param); } diff --git a/src/main/java/com/project/operation/domain/service/impl/SearchOperationLogDomainServiceImpl.java b/src/main/java/com/project/operation/domain/service/impl/SearchOperationLogDomainServiceImpl.java index 284ce0f..103fdae 100644 --- a/src/main/java/com/project/operation/domain/service/impl/SearchOperationLogDomainServiceImpl.java +++ b/src/main/java/com/project/operation/domain/service/impl/SearchOperationLogDomainServiceImpl.java @@ -4,22 +4,18 @@ import cn.hutool.core.util.DesensitizedUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.google.common.collect.Lists; -import com.project.appeal.domain.dto.AppealDTO; +import com.project.base.domain.result.PageResult; import com.project.base.domain.result.Result; import com.project.base.domain.utils.PageConverter; import com.project.ding.application.DepartmentApplicationService; import com.project.ding.application.UserApplicationService; import com.project.ding.domain.dto.DepartmentDTO; import com.project.ding.domain.dto.UserDTO; -import com.project.ding.domain.service.DepartmentBaseService; 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 com.project.operation.mapper.OperationLogMapper; -import com.project.task.domain.entity.TaskEntity; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -44,7 +40,7 @@ public class SearchOperationLogDomainServiceImpl implements SearchOperationLogDo * 查询日志 */ @Override - public Result> list(OperationLogParam param) { + public Result> list(OperationLogParam param) { QueryWrapper logQueryWrapper = new QueryWrapper<>(); if (StringUtils.isNotBlank(param.getAction())){ @@ -67,7 +63,7 @@ public class SearchOperationLogDomainServiceImpl implements SearchOperationLogDo List entityList = operationLogDTOIPage.getRecords(); if (CollectionUtils.isEmpty(entityList)){ - return Result.success(operationLogDTOIPage); + return Result.page(operationLogDTOIPage); } //收集用户ID,冗余字段 @@ -90,7 +86,7 @@ public class SearchOperationLogDomainServiceImpl implements SearchOperationLogDo .map(entity -> buildDTO(entity,userDTOMap,departmentDTOMap)) .collect(Collectors.toList())); - return Result.success(operationLogDTOIPage); + return Result.page(operationLogDTOIPage); } /** diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 388948d..92d68f1 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -63,6 +63,10 @@ mybatis-plus: milvus: host: 172.16.204.50 port: 19530 +analysis: + host: 172.16.204.50 + port: 8888 + url: /word/parse ding: appKey: ding7qohu1rhsl5cflme appSecret: GYxRa6GLbfpDTInpAOGrdvZZDWMSJkdDsxbjxnh6kxFijnswnO9oIT6Y9d598VKp