提交 7356fb1a 编写于 作者: yongbo.wang's avatar yongbo.wang

批量获取数据

上级 230fc96d
流水线 #26699 已失败 于阶段
in 0 second
......@@ -382,12 +382,23 @@ public class PatHealthPackServiceIml implements PatHealthPackService {
AcctPatIdResp resp = new AcctPatIdResp();
Map<Integer, Integer> patFamId = new HashMap<>();
if (acctPatIdReq != null && acctPatIdReq.getPatIds().size() > 1000) {
throw new AccountException(AccountExceptionEnum.PAT_QUERY_MAX);
if (acctPatIdReq == null) {
throw new AccountException(AccountExceptionEnum.PICA_PARAMS_ERROR);
}
/***批量处理*/
List<Integer> allPatIds = acctPatIdReq.getPatIds();
int once = 500;
for (int i = 0; i < allPatIds.size(); i += once) {
List<Integer> patIds = null;
if (allPatIds.size() < i + once) {
patIds = allPatIds.subList(i, allPatIds.size());
} else {
patIds = allPatIds.subList(i, i + once);
}
/**先获取是主账号本人的居民id*/
List<AcctPatFamily> acctMembers = patFamilyMapper.getListByPatIdSelfs(acctPatIdReq.getPatIds());
List<AcctPatFamily> acctMembers = patFamilyMapper.getListByPatIdSelfs(patIds);
for (AcctPatFamily family : acctMembers) {
patFamId.put(family.getPatientId(), family.getPatientId());
}
......@@ -396,7 +407,7 @@ public class PatHealthPackServiceIml implements PatHealthPackService {
List<Integer> acctMemberPatIds = acctMembers.stream().map(o -> o.getPatientId()).collect(toList());
/**作为成员的记录*/
List<Integer> memberIds = acctPatIdReq.getPatIds().stream().filter(reqPatId -> acctMemberPatIds.stream().noneMatch(patId -> reqPatId.equals(patId))).collect(toList());
List<Integer> memberIds = patIds.stream().filter(reqPatId -> acctMemberPatIds.stream().noneMatch(patId -> reqPatId.equals(patId))).collect(toList());
if (CollectionUtils.isNotEmpty(memberIds)) {
......@@ -418,12 +429,13 @@ public class PatHealthPackServiceIml implements PatHealthPackService {
/**没有主账号的patIds*/
memberIds.removeAll(members.stream().map(o -> o.getPatientId()).collect(toList()));
if (CollectionUtils.isNotEmpty(memberIds)) {
for(Integer member : memberIds) {
for (Integer member : memberIds) {
patFamId.put(member, member);
}
}
}
}
}
resp.setPatFamId(patFamId);
return resp;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册