Merge remote-tracking branch 'origin/dev_2.0.0' into dev_2.0.0

dev_2.0.0
xueqingkun 1 year ago
commit 0a00e89278

@ -44,11 +44,14 @@
<mysql-connector-java.version>8.0.26</mysql-connector-java.version> <mysql-connector-java.version>8.0.26</mysql-connector-java.version>
<io-swagger.version>1.5.22</io-swagger.version> <io-swagger.version>1.5.22</io-swagger.version>
<lock4j.version>2.2.5</lock4j.version> <lock4j.version>2.2.5</lock4j.version>
<minio.version>8.5.7</minio.version>
<okhttp.version>4.9.0</okhttp.version>
</properties> </properties>
<dependencyManagement> <dependencyManagement>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>
@ -121,6 +124,18 @@
<artifactId>swagger-annotations</artifactId> <artifactId>swagger-annotations</artifactId>
<version>${io-swagger.version}</version> <version>${io-swagger.version}</version>
</dependency> </dependency>
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>${minio.version}</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>${okhttp.version}</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>

@ -101,6 +101,16 @@
<artifactId>hutool-all</artifactId> <artifactId>hutool-all</artifactId>
</dependency> </dependency>
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</dependency>

@ -37,21 +37,21 @@ public class JwtInterceptor implements HandlerInterceptor {
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
//请求消息头获取用户ID // //请求消息头获取用户ID
String token = request.getHeader("token"); // String token = request.getHeader("token");
if (StrUtil.isBlank(token)) { // if (StrUtil.isBlank(token)) {
// 如果是swagger来的接口,说明这里是测试的,会伪造一个用户 // // 如果是swagger来的接口,说明这里是测试的,会伪造一个用户
if (StrUtil.isNotBlank(request.getHeader("Knife4j-Gateway-Code"))) { // if (StrUtil.isNotBlank(request.getHeader("Knife4j-Gateway-Code"))) {
cacheAuth(JWTUtil.parseToken(devActiveUser())); // cacheAuth(JWTUtil.parseToken(devActiveUser()));
return true; // return true;
} else { // } else {
throw new BusinessException("当前用户未登录", HttpStatus.UNAUTHORIZED.value()); // throw new BusinessException("当前用户未登录", HttpStatus.UNAUTHORIZED.value());
} // }
} // }
JWT jwt = JWTUtil.parseToken(token); // JWT jwt = JWTUtil.parseToken(token);
// 校验token是否过期,如果过期了,需要提示过期重新登录 // // 校验token是否过期,如果过期了,需要提示过期重新登录
checkTokenExpire(jwt); // checkTokenExpire(jwt);
cacheAuth(jwt); // cacheAuth(jwt);
return true; return true;
} }

@ -0,0 +1,24 @@
package com.supervision.config;
import io.minio.MinioClient;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MinioConfig {
/**
* JavaMinioClient
*/
@Bean
@ConditionalOnProperty(prefix = "minio",name = "url")
public MinioClient minioClient(MinioProperties minioProperties) {
return MinioClient.builder().endpoint(minioProperties.getUrl())
.credentials(minioProperties.getAccessKey(), minioProperties.getSecretKey())
.build();
}
}

@ -0,0 +1,19 @@
package com.supervision.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Data
@Component
@ConfigurationProperties(prefix = "minio")
public class MinioProperties {
private String url;
private String accessKey;
private String secretKey;
private String bucketName;
}

@ -0,0 +1,85 @@
package com.supervision.util;
import com.supervision.config.MinioProperties;
import io.minio.*;
import io.minio.http.Method;
import lombok.extern.slf4j.Slf4j;
import java.io.InputStream;
@Slf4j
public class MinioUtil {
private static final MinioClient minioClient = SpringBeanUtil.getBean(MinioClient.class);
private static final String bucketName = SpringBeanUtil.getBean(MinioProperties.class).getBucketName();
static {
try {
if (!minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build())) {
log.info("未找到bucket,自动建立");
minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
*
*/
public static String uploadFile(InputStream stream, String objectName) throws Exception {
ObjectWriteResponse objectWriteResponse = minioClient.putObject(PutObjectArgs.builder().bucket(bucketName).object(objectName)
.stream(stream, -1, 10485760).build());
return objectWriteResponse.object();
}
/**
*
*/
public static InputStream download(String fileId) throws Exception {
return minioClient.getObject(GetObjectArgs.builder().bucket(bucketName).object(fileId).build());
}
/**
*
*/
public static void deleteObject(String fileId) throws Exception {
minioClient.removeObject(RemoveObjectArgs.builder().bucket(bucketName).object(fileId).build());
}
/**
*
*
* @Param: [bucket, objectName]
* @return: java.lang.String
* @Author: MrFugui
* @Date: 2021/11/15
*/
public static String getObjectInfo(String fileId) throws Exception {
return minioClient.statObject(StatObjectArgs.builder().bucket(bucketName).object(fileId).build()).toString();
}
/**
* HTTP GETpresigned URL/URL使
*
* @Param: [bucketName, objectName, expires]
* @return: java.lang.String
* @Author: MrFugui
* @Date: 2021/11/15
*/
public static String getPresignedObjectUrl(String bucketName, String objectName, Integer expires) throws Exception {
GetPresignedObjectUrlArgs build = GetPresignedObjectUrlArgs
.builder().bucket(bucketName).object(objectName).expiry(expires).method(Method.GET).build();
return minioClient.getPresignedObjectUrl(build);
}
}

@ -1,11 +1,25 @@
package com.supervision.vo.ask; package com.supervision.vo.ask;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.List;
@Data @Data
public class ModifyPrimaryDiseaseInfoReqVO { public class ModifyPrimaryDiseaseInfoReqVO {
@NotBlank(message = "初步诊断ID不能为空")
private String id; private String id;
private String patientDiseaseInfo; private String patientDiseaseInfo;
@ApiModelProperty("问诊ID列表")
private List<String> askIdList;
@ApiModelProperty("辅助检查ID列表")
private List<String> ancillaryIdList;
@ApiModelProperty("体格检查ID列表")
private List<String> physicalIdList;
} }

@ -3,6 +3,7 @@ package com.supervision;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ComponentScans; import org.springframework.context.annotation.ComponentScans;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;

@ -16,12 +16,15 @@ import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.util.List; import java.util.List;
@Api(tags = "初步诊断") @Api(tags = "初步诊断")
@Validated
@RestController @RestController
@RequestMapping("askPrimary") @RequestMapping("askPrimary")
@RequiredArgsConstructor @RequiredArgsConstructor
@ -31,7 +34,7 @@ public class AskPrimaryController {
@ApiOperation("查询初步诊断列表") @ApiOperation("查询初步诊断列表")
@GetMapping("queryAskPrimaryList") @GetMapping("queryAskPrimaryList")
public List<DiagnosisPrimaryVO> queryAskPrimaryList(String processId) { public List<DiagnosisPrimaryVO> queryAskPrimaryList(@NotBlank(message = "流程ID不能为空") String processId) {
return askPrimaryService.queryAskPrimaryList(processId); return askPrimaryService.queryAskPrimaryList(processId);
} }
@ -43,13 +46,13 @@ public class AskPrimaryController {
@ApiOperation("修改初步诊断病情依据") @ApiOperation("修改初步诊断病情依据")
@PostMapping("modifyPrimaryDiseaseInfo") @PostMapping("modifyPrimaryDiseaseInfo")
public void modifyPrimaryDiseaseInfo(@RequestBody ModifyPrimaryDiseaseInfoReqVO reqVO) { public void modifyPrimaryDiseaseInfo(@RequestBody @Validated ModifyPrimaryDiseaseInfoReqVO reqVO) {
askPrimaryService.modifyPrimaryDiseaseInfo(reqVO); askPrimaryService.modifyPrimaryDiseaseInfo(reqVO);
} }
@ApiOperation("新增初步诊断") @ApiOperation("新增初步诊断")
@PostMapping("savePrimary") @PostMapping("savePrimary")
public void savePrimary(@RequestBody SaveDiagnosisPrimaryReqVO reqVO) { public void savePrimary(@RequestBody @Validated SaveDiagnosisPrimaryReqVO reqVO) {
askPrimaryService.savePrimary(reqVO); askPrimaryService.savePrimary(reqVO);
} }
@ -61,7 +64,7 @@ public class AskPrimaryController {
@ApiOperation("删除初步诊断") @ApiOperation("删除初步诊断")
@GetMapping("deletePrimary") @GetMapping("deletePrimary")
public void deletePrimary(String id) { public void deletePrimary(@NotBlank(message = "初步诊断ID不能为空") String id) {
askPrimaryService.deletePrimary(id); askPrimaryService.deletePrimary(id);
} }
@ -74,7 +77,7 @@ public class AskPrimaryController {
@ApiOperation("确认诊断页面,保存初步诊断以及鉴别依据") @ApiOperation("确认诊断页面,保存初步诊断以及鉴别依据")
@PostMapping("confirmPrimaryByAskEnd") @PostMapping("confirmPrimaryByAskEnd")
public void confirmPrimaryByAskEnd(@RequestBody List<PrimaryConfirmReqVO> reqVOList) { public void confirmPrimaryByAskEnd(@RequestBody @Valid List<PrimaryConfirmReqVO> reqVOList) {
askPrimaryService.confirmPrimaryByAskEnd(reqVOList); askPrimaryService.confirmPrimaryByAskEnd(reqVOList);
} }
} }

@ -7,9 +7,14 @@ import cn.hutool.json.JSONUtil;
import com.supervision.exception.BusinessException; import com.supervision.exception.BusinessException;
import com.supervision.model.ConfigPhysicalTool; import com.supervision.model.ConfigPhysicalTool;
import com.supervision.service.ConfigPhysicalToolService; import com.supervision.service.ConfigPhysicalToolService;
import com.supervision.util.MinioUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.*; import java.util.*;
@RestController @RestController
@ -86,6 +91,16 @@ public class TestController {
return signServer; return signServer;
} }
@PostMapping("testFileUpload")
public String testFileUpload(MultipartFile file) throws Exception {
return MinioUtil.uploadFile(file.getInputStream(), UUID.randomUUID().toString());
}
@PostMapping("downloadFile")
public InputStream downloadFile(String fileId) throws Exception {
return MinioUtil.download(fileId);
}
} }

@ -133,18 +133,10 @@ public class UserController {
@ApiOperation("获取本机IP地址,用来给websocket使用") @ApiOperation("获取本机IP地址,用来给websocket使用")
@GetMapping("queryWebSocketUrl") @GetMapping("queryWebSocketUrl")
public String queryWebSocketUrl() { public String queryWebSocketUrl() {
// 如果是本地开发环境,则获取本机IP地址 String template = "wss://{}:{}/virtual-patient-websocket/";
if ("local".equals(active)) { if (StrUtil.isNotBlank(wsIp) && StrUtil.isNotBlank(wsPort)) {
String template = "ws://{}:{}/virtual-patient/"; return StrUtil.format(template, wsIp, wsPort);
String localhostStr = NetUtil.getLocalhostStr();
return StrUtil.format(template, localhostStr, port);
} else {
String template = "wss://{}:{}/virtual-patient-websocket/";
if (StrUtil.isNotBlank(wsIp) && StrUtil.isNotBlank(wsPort)) {
return StrUtil.format(template, wsIp, wsPort);
}
} }
throw new BusinessException("未获取到ws的nginx地址,请确认配置文件是否配置"); throw new BusinessException("未获取到ws的nginx地址,请确认配置文件是否配置");
} }

@ -3,14 +3,17 @@ package com.supervision.pojo.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.List; import java.util.List;
@Data @Data
public class PrimaryConfirmReqVO { public class PrimaryConfirmReqVO {
@ApiModelProperty("初步诊断ID") @ApiModelProperty("初步诊断ID")
@NotBlank(message = "初步诊断ID不能为空")
private String primaryId; private String primaryId;
@NotBlank(message = "流程ID不能为空")
private String processId; private String processId;

@ -9,6 +9,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import java.util.List; import java.util.List;
@Data @Data
@ -19,12 +20,14 @@ public class SaveDiagnosisPrimaryReqVO {
* ID * ID
*/ */
@ApiModelProperty("诊断流程ID") @ApiModelProperty("诊断流程ID")
@NotBlank(message = "诊断流程ID不能为空")
private String processId; private String processId;
/** /**
* ,diseaseID * ,diseaseID
*/ */
@ApiModelProperty("初步诊断疾病ID,关联disease表ID") @ApiModelProperty("初步诊断疾病ID,关联disease表ID")
@NotBlank(message = "初步诊断疾病ID不能为空")
private String primaryDiagnosisId; private String primaryDiagnosisId;
@ApiModelProperty("患者病情(初步诊断填写)") @ApiModelProperty("患者病情(初步诊断填写)")

@ -12,6 +12,7 @@ import com.supervision.pojo.vo.*;
import com.supervision.vo.ask.*; import com.supervision.vo.ask.*;
import com.supervision.service.*; import com.supervision.service.*;
import com.supervision.util.UserUtil; import com.supervision.util.UserUtil;
import io.swagger.models.auth.In;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -50,9 +51,9 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
if (CollUtil.isNotEmpty(relationList)) { if (CollUtil.isNotEmpty(relationList)) {
Map<Integer, List<String>> relationIdMap = relationList.stream() Map<Integer, List<String>> relationIdMap = relationList.stream()
.collect(Collectors.groupingBy(DiagnosisPrimaryRelation::getType, Collectors.mapping(DiagnosisPrimaryRelation::getRelationId, Collectors.toList()))); .collect(Collectors.groupingBy(DiagnosisPrimaryRelation::getType, Collectors.mapping(DiagnosisPrimaryRelation::getRelationId, Collectors.toList())));
diagnosisPrimaryVO.setAskIdList(relationIdMap.get(1)); diagnosisPrimaryVO.setAskIdList(Optional.ofNullable(relationIdMap.get(1)).orElseGet(ArrayList::new));
diagnosisPrimaryVO.setPhysicalIdList(relationIdMap.get(2)); diagnosisPrimaryVO.setPhysicalIdList(Optional.ofNullable(relationIdMap.get(2)).orElseGet(ArrayList::new));
diagnosisPrimaryVO.setAncillaryIdList(relationIdMap.get(3)); diagnosisPrimaryVO.setAncillaryIdList(Optional.ofNullable(relationIdMap.get(3)).orElseGet(ArrayList::new));
} }
} }
} }
@ -65,14 +66,48 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void modifyPrimaryDiseaseInfo(ModifyPrimaryDiseaseInfoReqVO reqVO) { public void modifyPrimaryDiseaseInfo(ModifyPrimaryDiseaseInfoReqVO reqVO) {
DiagnosisPrimary diagnosisPrimary = diagnosisPrimaryService.getById(reqVO.getId());
diagnosisPrimaryService.lambdaUpdate().set(DiagnosisPrimary::getPatientDiseaseInfo, reqVO.getPatientDiseaseInfo()) diagnosisPrimaryService.lambdaUpdate().set(DiagnosisPrimary::getPatientDiseaseInfo, reqVO.getPatientDiseaseInfo())
.eq(DiagnosisPrimary::getId, reqVO.getId()).update(); .eq(DiagnosisPrimary::getId, reqVO.getId()).update();
// 然后这里保存初步诊断依据的修改
// 首先查到已经存在的列表
List<DiagnosisPrimaryRelation> list = diagnosisPrimaryRelationService.lambdaQuery().eq(DiagnosisPrimaryRelation::getPrimaryId, reqVO.getId()).list();
Map<Integer, List<DiagnosisPrimaryRelation>> groupByTypeMap = list.stream().collect(Collectors.groupingBy(DiagnosisPrimaryRelation::getType));
// 保存问诊
List<DiagnosisPrimaryRelation> askExistList = groupByTypeMap.getOrDefault(1, new ArrayList<>());
if (CollUtil.isNotEmpty(reqVO.getAskIdList())) {
List<String> existIdList = askExistList.stream().map(DiagnosisPrimaryRelation::getRelationId).collect(Collectors.toList());
List<String> newIdList = reqVO.getAskIdList().stream().filter(id -> !existIdList.contains(id)).collect(Collectors.toList());
saveDiagnosisPrimaryRelation(newIdList, diagnosisPrimary.getProcessId(), diagnosisPrimary.getId(), 1);
}
// 保存体格检查
List<DiagnosisPrimaryRelation> physicalIdExistList = groupByTypeMap.getOrDefault(2, new ArrayList<>());
if (CollUtil.isNotEmpty(reqVO.getPhysicalIdList())) {
List<String> existIdList = physicalIdExistList.stream().map(DiagnosisPrimaryRelation::getRelationId).collect(Collectors.toList());
List<String> newIdList = reqVO.getPhysicalIdList().stream().filter(id -> !existIdList.contains(id)).collect(Collectors.toList());
saveDiagnosisPrimaryRelation(newIdList, diagnosisPrimary.getProcessId(), diagnosisPrimary.getId(), 2);
}
// 保存辅助检查
List<DiagnosisPrimaryRelation> ancillaryExistList = groupByTypeMap.getOrDefault(3, new ArrayList<>());
if (CollUtil.isNotEmpty(reqVO.getAncillaryIdList())) {
List<String> existIdList = ancillaryExistList.stream().map(DiagnosisPrimaryRelation::getRelationId).collect(Collectors.toList());
List<String> newIdList = reqVO.getAncillaryIdList().stream().filter(id -> !existIdList.contains(id)).collect(Collectors.toList());
saveDiagnosisPrimaryRelation(newIdList, diagnosisPrimary.getProcessId(), diagnosisPrimary.getId(), 3);
}
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void savePrimary(SaveDiagnosisPrimaryReqVO reqVO) { public void savePrimary(SaveDiagnosisPrimaryReqVO reqVO) {
// 新增初步诊断之前,校验是否已经存在相同的初步诊断,如果有了,则不允许重复添加
Integer count = diagnosisPrimaryService.lambdaQuery().eq(DiagnosisPrimary::getProcessId, reqVO.getProcessId())
.eq(DiagnosisPrimary::getPrimaryDiagnosisId, reqVO.getPrimaryDiagnosisId()).count();
if (0 < count) {
throw new BusinessException("已经存在该疾病的初步诊断");
}
DiagnosisPrimary diagnosisPrimary = BeanUtil.toBean(reqVO, DiagnosisPrimary.class); DiagnosisPrimary diagnosisPrimary = BeanUtil.toBean(reqVO, DiagnosisPrimary.class);
diagnosisPrimary.setExcludeFlag(null); diagnosisPrimary.setExcludeFlag(null);
diagnosisPrimary.setCreateUserId(UserUtil.getUser().getId()); diagnosisPrimary.setCreateUserId(UserUtil.getUser().getId());
@ -85,46 +120,24 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
diagnosisPrimaryService.save(diagnosisPrimary); diagnosisPrimaryService.save(diagnosisPrimary);
// 然后开始保存初步诊断关键的诊断 // 然后开始保存初步诊断关键的诊断
if (CollUtil.isNotEmpty(reqVO.getAskIdList())) {
List<DiagnosisPrimaryRelation> askRelationList = reqVO.getAskIdList().stream().map(e -> {
DiagnosisPrimaryRelation relation = new DiagnosisPrimaryRelation();
relation.setProcessId(diagnosisPrimary.getProcessId());
relation.setPrimaryId(diagnosisPrimary.getId());
relation.setType(1);
relation.setRelationId(e);
relation.setCreateUserId(UserUtil.getUser().getId());
return relation;
}).collect(Collectors.toList());
diagnosisPrimaryRelationService.saveBatch(askRelationList);
}
if (CollUtil.isNotEmpty(reqVO.getPhysicalIdList())) {
List<DiagnosisPrimaryRelation> physicalRelationList = reqVO.getPhysicalIdList().stream().map(e -> {
DiagnosisPrimaryRelation relation = new DiagnosisPrimaryRelation();
relation.setProcessId(diagnosisPrimary.getProcessId());
relation.setPrimaryId(diagnosisPrimary.getId());
relation.setType(2);
relation.setRelationId(e);
relation.setCreateUserId(UserUtil.getUser().getId());
return relation;
}).collect(Collectors.toList());
diagnosisPrimaryRelationService.saveBatch(physicalRelationList);
} saveDiagnosisPrimaryRelation(reqVO.getAskIdList(), diagnosisPrimary.getProcessId(), diagnosisPrimary.getId(), 1);
saveDiagnosisPrimaryRelation(reqVO.getPhysicalIdList(), diagnosisPrimary.getProcessId(), diagnosisPrimary.getId(), 2);
saveDiagnosisPrimaryRelation(reqVO.getAncillaryIdList(), diagnosisPrimary.getProcessId(), diagnosisPrimary.getId(), 3);
}
if (CollUtil.isNotEmpty(reqVO.getAncillaryIdList())) { private void saveDiagnosisPrimaryRelation(List<String> itemList, String processId, String primaryId, Integer type) {
List<DiagnosisPrimaryRelation> ancillaryRelationList = reqVO.getAncillaryIdList().stream().map(e -> { if (CollUtil.isNotEmpty(itemList)) {
List<DiagnosisPrimaryRelation> ancillaryRelationList = itemList.stream().map(e -> {
DiagnosisPrimaryRelation relation = new DiagnosisPrimaryRelation(); DiagnosisPrimaryRelation relation = new DiagnosisPrimaryRelation();
relation.setProcessId(diagnosisPrimary.getProcessId()); relation.setProcessId(processId);
relation.setPrimaryId(diagnosisPrimary.getId()); relation.setPrimaryId(primaryId);
relation.setType(3); relation.setType(type);
relation.setRelationId(e); relation.setRelationId(e);
relation.setCreateUserId(UserUtil.getUser().getId()); relation.setCreateUserId(UserUtil.getUser().getId());
return relation; return relation;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
diagnosisPrimaryRelationService.saveBatch(ancillaryRelationList); diagnosisPrimaryRelationService.saveBatch(ancillaryRelationList);
} }
} }

@ -36,6 +36,7 @@ public class HumanUtil {
String res = HttpUtil.get(QUERY_ROOM_ID_URL, param); String res = HttpUtil.get(QUERY_ROOM_ID_URL, param);
HumanRes resDTO = JSONUtil.toBean(res, HumanRes.class); HumanRes resDTO = JSONUtil.toBean(res, HumanRes.class);
if (!"200".equals(resDTO.code)) { if (!"200".equals(resDTO.code)) {
log.info("数字人失败-----------:{}",res);
throw new BusinessException("获取房间号失败"); throw new BusinessException("获取房间号失败");
} }
// 去过为true,则data是房间号 // 去过为true,则data是房间号

@ -51,6 +51,12 @@ spring:
port: 6379 port: 6379
password: 123456 password: 123456
minio:
url: http://192.168.10.138:9002
accessKey: admin
secretKey: 12345678
bucketName: virtual-patient-bucket-dev
mybatis-plus: mybatis-plus:
mapper-locations: classpath*:mapper/**/*.xml mapper-locations: classpath*:mapper/**/*.xml

@ -51,6 +51,11 @@ spring:
port: 6379 port: 6379
password: 123456 password: 123456
minio:
url: http://192.168.10.138:9002
accessKey: admin
secretKey: 12345678
bucketName: virtual-patient-bucket-dev
mybatis-plus: mybatis-plus:
mapper-locations: classpath*:mapper/**/*.xml mapper-locations: classpath*:mapper/**/*.xml
@ -72,4 +77,10 @@ human:
room-id: /getRoomId room-id: /getRoomId
text-driven: /text_driven text-driven: /text_driven
talk-status: /talkStatus talk-status: /talkStatus
resourceMaxNumber: 5 resourceMaxNumber: 5
# local环境使用dev的
ws:
# nginx的wss地址(如果是wss的,那么带不带s都可以访问)
nginx-ip: 192.168.10.138
nginx-port: 443
Loading…
Cancel
Save