InputStream inputStream = this.getClass().getResourceAsStream("/feishuSecurityFile.txt");
File file = asFile(inputStream);
PEMParser pemParser = new PEMParser(new FileReader(file));
JcaPEMKeyConverter converter = new JcaPEMKeyConverter().setProvider("BC");
Object object = pemParser.readObject();
KeyPair kp = converter.getKeyPair((PEMKeyPair) object);
PrivateKey privateKey = kp.getPrivate();
SignatureAlgorithm algorithm = SignatureAlgorithm.RS256;
JwtBuilder jwtBuilder = Jwts.builder()
.setHeader(header)
.setClaims(claims)
.signWith(algorithm, privateKey);
String assertion = jwtBuilder.compact();
public static List<UacEmployeeDto> getDifferEmpListByMap(List<UacEmployeeDto> listA, List<UacEmployeeDto> listB) {
listA = listA.stream().filter(v-> StringUtils.isNotBlank(v.getCorpCode())).collect(Collectors.toList());
listB = listB.stream().filter(v-> StringUtils.isNotBlank(v.getCorpCode())).collect(Collectors.toList());
List<UacEmployeeDto> differList = new ArrayList<>();
Map<UacEmployeeDto, Integer> map = new HashMap<>();
for (UacEmployeeDto strA : listA) {
map.put(strA, 1);
}
for (UacEmployeeDto strB : listB) {
Integer value = map.get(strB);
if (value != null) {
map.put(strB, ++value);
continue;
}
map.put(strB, 1);
}
for (Map.Entry<UacEmployeeDto, Integer> entry : map.entrySet()) {
//获取不同元素集合
if (entry.getValue() == 1) {
if (!listA.contains(entry.getKey())){
differList.add(entry.getKey());
}
}
}
return differList.stream()
.collect(Collectors.collectingAndThen(Collectors.toCollection(
()->new TreeSet<>(Comparator.comparing(o->o.getEmpNo()+";"+o.getStatus()+";"+o.getDeptId()+";"+o.getPosition()+";"+o.getOrgCode())))
, ArrayList::new));
}
List<UacConfigEmployeeDto> configEmployees = employeeConfigVos.stream().map(v->{
UacConfigEmployeeDto configEmployeeDto = new UacConfigEmployeeDto();
configEmployeeDto.setOpenFeishu(v.getOpenFeishu());
configEmployeeDto.setUsername(v.getUsername());
configEmployeeDto.setEmpName(v.getDisplayName());
return configEmployeeDto;
}).collect(Collectors.toList());