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());