yeg
2026-09-29 b78295e8da96c3e5e76befeef9582ce5273dbb74
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.battery.business.service;
 
/**
 * 推式来源的接收端点业务:按来源实例校验凭据,把厂商原始行落进落地表(ADR-0065)。
 *
 * <p>拒绝一律不留痕:凭据错误、来源未启用或载荷不合法时整批不落库,
 * 取数程序因此不会推进自己的读取位置,重试也不会产生半批数据。
 */
public interface IDeviceIngestService
{
    /**
     * 接收一批原始行。返回结果表示本批的落库情况,返回即代表"对方已收下"。
     *
     * @param adapterCode 来源实例编码(端点路径)
     * @param token       该来源的凭据(请求头)
     * @param body        请求体原文:厂商原始行,不做任何换算
     */
    IngestResult ingest(String adapterCode, String token, String body);
 
    /** 本批落库结果:新增、幂等忽略与同身份内容冲突的条数。 */
    record IngestResult(int accepted, int ignored, int conflicts) { }
}