Record Class PushRecord<T>

java.lang.Object
java.lang.Record
com.midi.his.sdk.push.PushRecord<T>
类型参数:
T - 载荷类型,例如 ExamReport
记录组件:
id - 记录主键值,建议取业务唯一号,供消费方做幂等
lastUpdate - 变更前的最后更新时间,写入 lastUpdate 属性,不可为 null
action - 操作类型
payload - 业务字段载体,不可为 null

public record PushRecord<T>(String id, LocalDateTime lastUpdate, PushAction action, T payload) extends Record
一条待推送记录,对应报文 MsgInfo/Msg 节点及其属性。

属性来源为 docs/WebServer/消息外层格式定义/业务推送格式.xml: id 是记录主键值,lastUpdate 是记录更新前的最后更新日期,action 是操作类型。 SDK 把它们写成节点属性,业务字段由 payload 序列化而来。

  • 构造器详细资料

    • PushRecord

      public PushRecord(String id, LocalDateTime lastUpdate, PushAction action, T payload)
      构造并校验必填项。
      参数:
      id - 记录主键值
      lastUpdate - 变更前的最后更新时间
      action - 操作类型
      payload - 业务载荷
  • 方法详细资料

    • of

      public static <T> PushRecord<T> of(String id, PushAction action, T payload)
      快捷构造,lastUpdate 取当前时间。

      当前时间只对 PushAction.INSERT 成立:新增没有前序版本。按定义书, UPDATE 与 DELETE 的 lastUpdate 是记录本次变更前的最后更新日期, 消费方可能据此比较版本决定要不要覆盖,填推送时刻的墙钟时间会让每次重试都显得比上一条更新; 这两种动作请用全参构造器显式传源库读到的变更前时间。

      类型参数:
      T - 载荷类型
      参数:
      id - 记录主键值
      action - 操作类型
      payload - 业务载荷
      返回:
      记录
    • insert

      public static <T> PushRecord<T> insert(String id, T payload)
      以 insert 动作快捷构造。
      类型参数:
      T - 载荷类型
      参数:
      id - 记录主键值
      payload - 业务载荷
      返回:
      记录
    • lastUpdateText

      public String lastUpdateText()
      返回:
      写入 lastUpdate 属性的文本,格式 yyyy-MM-dd HH:mm:ss
    • toString

      public final String toString()
      返回此记录的字符串表示形式。此表示形式包含类型的名称,后跟每个记录组件的名称和值。
      指定者:
      toString 在类中 Record
      返回:
      此对象的字符串表示形式
    • hashCode

      public final int hashCode()
      返回此对象的哈希代码值。此值派生自每个记录组件的哈希代码。
      指定者:
      hashCode 在类中 Record
      返回:
      此对象的哈希代码值
    • equals

      public final boolean equals(Object o)
      指示某个其他对象是否“等于”此对象。如果两个对象属于同一个类,而且所有记录组件都相等,则这两个对象相等。 此记录中的所有组件都使用 Objects::equals(Object,Object) 进行比较。
      指定者:
      equals 在类中 Record
      参数:
      o - 要与之进行比较的对象
      返回:
      如果此对象与 o 参数相同,则为 true;否则为 false。
    • id

      public String id()
      返回 id 记录组件的值。
      返回:
      id 记录组件的值
    • lastUpdate

      public LocalDateTime lastUpdate()
      返回 lastUpdate 记录组件的值。
      返回:
      lastUpdate 记录组件的值
    • action

      public PushAction action()
      返回 action 记录组件的值。
      返回:
      action 记录组件的值
    • payload

      public T payload()
      返回 payload 记录组件的值。
      返回:
      payload 记录组件的值