zelong.shao

task|邮件调整

......@@ -112,14 +112,16 @@ public class SendFailedEmailUtil {
.map(typeCode -> {
List<EmailHistory> emailList = groupedEmails.getOrDefault(typeCode, Collections.emptyList());
// 1. 统计 STATUS_CODE 为 FAILED 的数量
// 1. 统计 STATUS_CODE 为 FAILED 且 sendNum 等于 3 的数量
long statusCodeCount = emailList.stream()
.filter(email -> EmailStatusEnum.FAILED.getCode().equals(email.getStatusCode()))
.filter(email -> EmailStatusEnum.FAILED.getCode().equals(email.getStatusCode())) // 筛选 STATUS_CODE 为 FAILED
.filter(email -> email.getSendNum() >1) // 筛选 sendNum 等于 3
.count();
// 2. 获取 STATUS_CODE 为 FAILED 且 MODIFY_TIME 最晚的 10 个 BIZ_CODE
// 2. 获取 STATUS_CODE 为 FAILED 且 sendNum 等于 3 且 MODIFY_TIME 最晚的指定数量的 BIZ_CODE
List<String> latestFailedBizCodes = emailList.stream()
.filter(email -> EmailStatusEnum.FAILED.getCode().equals(email.getStatusCode())) // 筛选 STATUS_CODE 为 FAILED
.filter(email -> email.getSendNum() >1) // 筛选 sendNum 等于 3
.sorted(Comparator.comparing(EmailHistory::getModifyTime).reversed()) // 按 MODIFY_TIME 降序排序
.limit(Long.parseLong(size)) // 获取最晚的指定数量
.map(EmailHistory::getBizCode) // 提取 BIZ_CODE
......