1. 修复案件详情原子指标统计有误bug

2. 关闭生产环境的swagger
topo_dev
xueqingkun 11 months ago
parent 7bb3a51f0b
commit 2afc8ced56

@ -1,14 +1,19 @@
package com.supervision.config; package com.supervision.config;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
@Configuration @Configuration
@RequiredArgsConstructor
public class WebConfig implements WebMvcConfigurer { public class WebConfig implements WebMvcConfigurer {
private final Environment environment;
@Override @Override
public void addInterceptors(InterceptorRegistry registry) { public void addInterceptors(InterceptorRegistry registry) {
@ -20,13 +25,6 @@ public class WebConfig implements WebMvcConfigurer {
public List<String> ignorePathPatterns() { public List<String> ignorePathPatterns() {
List<String> paths = new ArrayList<>(); List<String> paths = new ArrayList<>();
paths.add("/swagger-resources/**");
paths.add("/webjars/**");
paths.add("/v3/**");
paths.add("/swagger-ui.html/**");
paths.add("/swagger-ui/**");
paths.add("/webjars/");
paths.add("/doc.html/**");
paths.add("/error"); paths.add("/error");
paths.add("/favicon.ico"); paths.add("/favicon.ico");
paths.add("/user/login"); paths.add("/user/login");
@ -34,8 +32,18 @@ public class WebConfig implements WebMvcConfigurer {
paths.add("/minio/uploadFile"); paths.add("/minio/uploadFile");
paths.add("/user/changePassWord"); paths.add("/user/changePassWord");
paths.add("/fileManage/downloadFile"); paths.add("/fileManage/downloadFile");
// 开发环境,放开不校验token.每次修改这里需要重启(热部署不行)
// paths.add("/**"); // 开发环境放开swagger
long count = Arrays.stream(environment.getActiveProfiles()).filter("dev"::equals).count();
if (count > 0){
paths.add("/swagger-resources/**");
paths.add("/webjars/**");
paths.add("/v3/**");
paths.add("/swagger-ui.html/**");
paths.add("/swagger-ui/**");
paths.add("/webjars/");
paths.add("/doc.html/**");
}
return paths; return paths;
} }
} }

@ -15,7 +15,9 @@ import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function; import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -200,11 +202,17 @@ public class CaseScoreDetailBuilder {
.flatMap(indexResult -> indexResult.getAtomicResults().stream()).filter(atomicResult -> { .flatMap(indexResult -> indexResult.getAtomicResults().stream()).filter(atomicResult -> {
JudgeResultEnum instance = JudgeResultEnum.getInstance(atomicResult.getJudgeResult()); JudgeResultEnum instance = JudgeResultEnum.getInstance(atomicResult.getJudgeResult());
return instance == null || !instance.flagIsTrue(); return instance == null || !instance.flagIsTrue();
}).count() }).filter(distinctPredicate(AtomicResult::getAtomicId)).count()
); );
return caseScoreDetailDTO; return caseScoreDetailDTO;
} }
private <K> Predicate<K> distinctPredicate(Function<K,Object> function){
ConcurrentHashMap<Object, Boolean> map = new ConcurrentHashMap<>();
return (t)-> null == map.putIfAbsent(function.apply(t),true);
}
private Integer sumIndexGroupScore(String indexGroup) { private Integer sumIndexGroupScore(String indexGroup) {
if (CollUtil.isEmpty(this.indexResultList)){ if (CollUtil.isEmpty(this.indexResultList)){
return 0; return 0;

@ -64,17 +64,16 @@ public class IndexResult {
// 填充原子指标结果属性 // 填充原子指标结果属性
List<String> atomicIdList = Arrays.stream(modelIndexResult.getAtomicIds().split(",")).toList(); List<String> atomicIdList = Arrays.stream(modelIndexResult.getAtomicIds().split(",")).toList();
atomicResultList = atomicResultList.stream().filter(atomicResult -> atomicIdList.contains(atomicResult.getAtomicId())).distinct().toList(); List<ModelAtomicResult> atomicResultListFilter = atomicResultList.stream()
if (CollUtil.isEmpty(atomicResultList)){ .filter(atomicResult -> atomicIdList.contains(atomicResult.getAtomicId())
&& StrUtil.equals(this.indexId, atomicResult.getIndexId())).toList();
if (CollUtil.isEmpty(atomicResultListFilter)){
log.info("IndexResult:经过过滤后的原子指标结果为空"); log.info("IndexResult:经过过滤后的原子指标结果为空");
return; return;
} }
if (Objects.isNull(atomicIndexList)){
atomicIndexList = new ArrayList<>(1);
}
// 注意不要有重复值 // 注意不要有重复值
Map<String, ModelAtomicIndex> atomicIndexMap = atomicIndexList.stream().collect(Collectors.toMap(ModelAtomicIndex::getId, k -> k, (k1, k2) -> k1)); Map<String, ModelAtomicIndex> atomicIndexMap = atomicIndexList.stream().collect(Collectors.toMap(ModelAtomicIndex::getId, k -> k, (k1, k2) -> k1));
this.atomicResults = atomicResultList.stream().map(atomicResult -> new AtomicResult(indexId, this.atomicResults = atomicResultListFilter.stream().map(atomicResult -> new AtomicResult(indexId,
atomicIndexMap.get(atomicResult.getAtomicId()), atomicResult)).toList(); atomicIndexMap.get(atomicResult.getAtomicId()), atomicResult)).toList();
} }

@ -47,7 +47,7 @@ public class ChatServiceImpl implements ChatService {
} catch (Exception e) { } catch (Exception e) {
log.error("chat: caseNo:{},query{},error:{}", modelCase.getCaseNo(), chatReqVO.getQuery(), e.getMessage(),e); log.error("chat: caseNo:{},query{},error:{}", modelCase.getCaseNo(), chatReqVO.getQuery(), e.getMessage(),e);
chat = new ChatResDTO(); chat = new ChatResDTO();
chat.setAnswer("我暂时还不知道怎么回答,您可以尝试换一种问法"); chat.setAnswer("服务繁忙,请稍后重试");
} }
if (null ==chat){ if (null ==chat){

Loading…
Cancel
Save