刘光辉
15 小时以前 34981c30a78e8bbd7791131059a9210f9928b62c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package jnpf.limsService;
 
import java.util.Map;
 
/**
 * 检验任务"要求完成日期"提醒 daily 任务。
 *
 * <p>触发方式:
 * <ul>
 *   <li>cron 自动触发:{@code @Scheduled(cron = "${lims.remind.cron:0 0 8 * * ?}")}</li>
 *   <li>手动触发:POST /lims/biz/jiance-task/remind/run-now(开发 / 紧急补发用)</li>
 * </ul>
 *
 * <p>提醒分支:
 * <ul>
 *   <li>D-7 / D-3 / D-1:检验员收到"剩 N 天"提醒,各精确一次</li>
 *   <li>EXPIRED:检验员 + 任务分配人各收一次过期告警</li>
 * </ul>
 */
public interface LimsJianceTaskRemindService {
 
    /**
     * 扫描并发送提醒。
     *
     * @param dryRun true 仅日志不发消息、不写 remind_flags
     * @return 各分支统计:key = "D7"/"D3"/"D1"/"EXPIRED",value = {hit, sent, skipped}
     */
    Map<String, Map<String, Integer>> scanAndRemind(boolean dryRun);
}