Jelajahi Sumber

feat: 用户列表认证状态只显示启用的3

李学松 2 tahun lalu
induk
melakukan
d47f18248b

+ 38 - 14
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserController.java

@@ -1524,14 +1524,44 @@ public class SysUserController {
 				if (CollUtil.isNotEmpty(userSubList) && CollUtil.isNotEmpty(locations)) {
 					// 不同渠道认证信息列表
 					List<SysUserSubVO> certList = new ArrayList<>();
-					userSubList.stream()
-							.filter(userSub -> locations.contains(userSub.getSubjectLocation()))
-							.forEach(sysUserSub -> {
-						SysUserSubVO userSubVO = BeanUtil.copyProperties(sysUserSub, SysUserSubVO.class, "certStatus");
-						userSubVO.setCertStatus(GigTypeEnum.getCertStatusByCode(sysUserSub.getGigType(), sysUserSub.getCertStatus()));
-						userSubVO.setCertStatusDisplay(String.format("%s:%s", sysUserSub.getSubjectLocation().getDescription(),GigTypeEnum.getCertStatusNameByCode(sysUserSub.getGigType(), sysUserSub.getCertStatus())));
-						certList.add(userSubVO);
-					});
+//					userSubList.stream()
+//							.filter(userSub -> locations.contains(userSub.getSubjectLocation()))
+//							.forEach(sysUserSub -> {
+//						SysUserSubVO userSubVO = BeanUtil.copyProperties(sysUserSub, SysUserSubVO.class, "certStatus");
+//						userSubVO.setCertStatus(GigTypeEnum.getCertStatusByCode(sysUserSub.getGigType(), sysUserSub.getCertStatus()));
+//						userSubVO.setCertStatusDisplay(String.format("%s:%s", sysUserSub.getSubjectLocation().getDescription(),GigTypeEnum.getCertStatusNameByCode(sysUserSub.getGigType(), sysUserSub.getCertStatus())));
+//						certList.add(userSubVO);
+//					});
+
+					// 不同渠道认证名称,封装成中文名称数组格式
+					Map<SubjectLocation, SysUserSub> certStatusMap = userSubList.stream()
+							.collect(Collectors.toMap(SysUserSub::getSubjectLocation,
+									sysUserSub -> sysUserSub));
+
+					// 以企业配置并启用的税源地为基准,进行回显
+					List<SysUserSubVO> subVOS = locations.stream().map(loc -> {
+								SysUserSub sysUserSub = certStatusMap.get(loc);
+								if (sysUserSub != null) {
+									// 如果userSub存在该税源地对应的认证数据,则处理后返回
+									SysUserSubVO userSubVO = BeanUtil.copyProperties(sysUserSub, SysUserSubVO.class, "certStatus");
+									userSubVO.setCertStatus(GigTypeEnum.getCertStatusByCode(sysUserSub.getGigType(), sysUserSub.getCertStatus()));
+									userSubVO.setCertStatusDisplay(String.format("%s:%s", sysUserSub.getSubjectLocation().getDescription(),
+											GigTypeEnum.getCertStatusNameByCode(sysUserSub.getGigType(), sysUserSub.getCertStatus())));
+									return userSubVO;
+								} else {
+									// 如果userSub不存在该税源地对应的认证数据,则默认返回一条
+									SysUserSubVO userSubVO = new SysUserSubVO();
+									userSubVO.setUserId(userVO.getUserId());
+									userSubVO.setGigType(loc.getGigType());
+									userSubVO.setSubjectLocation(loc);
+									userSubVO.setCertStatus(GigTypeEnum.getCertStatusByCode(userSubVO.getGigType(), 0));
+									userSubVO.setCertStatusDisplay(String.format("%s:%s", userSubVO.getSubjectLocation().getDescription(),
+											GigTypeEnum.getCertStatusNameByCode(userSubVO.getGigType(), 0)));
+									return userSubVO;
+								}
+							}
+					).collect(Collectors.toList());
+					userVO.setCertList(subVOS);
 
 //					List<SubjectLocation> collect = certList.stream().map(SysUserSubVO::getSubjectLocation).collect(Collectors.toList());
 
@@ -1547,12 +1577,6 @@ public class SysUserController {
 //					).collect(Collectors.toList());
 //					certList.addAll(subVOS);
 
-					userVO.setCertList(certList);
-
-					// 不同渠道认证名称,封装成中文名称数组格式
-					Map<SubjectLocation, SysUserSub> certStatusMap = userSubList.stream()
-							.collect(Collectors.toMap(SysUserSub::getSubjectLocation,
-									sysUserSub -> sysUserSub));
 					// 该企业配置的所有税源地
 					List<SubjectLocation> subjectLocationList = subList.stream().map(SysDeptSub::getSubjectLocation).collect(Collectors.toList());