package com.yunhai.svchall.entity; import lombok.Getter; import lombok.Setter; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Index; import javax.persistence.Table; import javax.persistence.UniqueConstraint; /** * 流程回调注册(V2.0 Part B.2.6):管理端在事项绑定 flow_guid 时经 * POST /oapi/flow/callback/reg 向流程中心注册并保存下发的 secret(回调签名密钥, * 与应用级 appSecret 分离、粒度到"应用×流程"——流程中心概览 §4.8)。 * 同 flow_guid 多事项共享一条注册。 */ @Getter @Setter @Entity @Table(name = "service_flow_reg", uniqueConstraints = @UniqueConstraint(name = "uk_svc_flow_reg", columnNames = {"sch_id", "flow_guid"}), indexes = @Index(name = "idx_svc_flow_reg_guid", columnList = "flow_guid")) public class ServiceFlowReg extends BaseEntity { /** 租户键 */ @Column(name = "sch_id", nullable = false) private Long schId; /** 订阅的流程 */ @Column(name = "flow_guid", nullable = false, length = 32) private String flowGuid; /** 回调接收端点(2026-10-05 起 = 平台推导地址 + /oapi/flow/callback;权威镜像在 starter 表 flow_callback_reg) */ @Column(name = "callback_url", nullable = false, length = 500) private String callbackUrl; /** 订阅事件逗号分隔(空=全部;flow.submitted/task.created/task.handled/completed/rejected/withdrawn) */ @Column(name = "event_types", length = 200) private String eventTypes; /** reg 接口下发的回调签名密钥(HmacSHA256;不回显给前端) */ @Column(name = "secret", nullable = false, length = 64) private String secret; /** 0 启用 / 1 停用 */ @Column(name = "status", nullable = false) private Integer status = 0; }