feat(def): 流程定义唯一键改按流程线管 + 归属应用筛选
build / build-push (push) Successful in 8m31s

- flw_def 唯一键 (sch,code,ver)→(sch,flow_guid,ver)(uk_flw_def_guid_ver,生产/本地已手工切索引):升版本 maxByGuid+1 与唯一键同口径,同编码多条流程线(work-leave 三条线实锤追尾)不再死锁
- 新建永远新开流程线 v1,删除同编码草稿复用;撞唯一键转"保存冲突"友好提示
- 新增 flw_def.app_key 归属应用列:save 全链路透传(升版本缺省继承源线、传非空覆盖);/admin/def/list 支持 appKey 过滤;新增 /admin/def/appkeys 应用清单(flw_def 已标注 ∪ 已注册回调)
- FlowDefAdminServiceSaveTest 10 用例锁 save 分派语义
This commit is contained in:
chenxing
2026-10-10 14:34:25 +08:00
parent 7c92e953ec
commit a1f99fd7e0
6 changed files with 248 additions and 38 deletions
@@ -20,8 +20,8 @@ import java.time.LocalDateTime;
@Setter
@Entity
@Table(name = "flw_def",
uniqueConstraints = @UniqueConstraint(name = "uk_flw_def_sch_code_ver",
columnNames = {"sch_id", "code", "version"}),
uniqueConstraints = @UniqueConstraint(name = "uk_flw_def_guid_ver",
columnNames = {"sch_id", "flow_guid", "version"}),
indexes = @Index(name = "idx_flw_def_guid", columnList = "sch_id, flow_guid, status, version"))
public class FlwDef extends BaseEntity {
@@ -33,7 +33,10 @@ public class FlwDef extends BaseEntity {
@Column(name = "flow_guid", nullable = false, length = 32)
private String flowGuid;
/** 流程编码(本应用内部管理键) */
/**
* 流程编码(管理端分类/检索标签,可重名)。2026-10-10 起唯一键改为 (sch_id, flow_guid, version),
* 编码不再承担唯一性——多条流程线(如同为请假的产假/丧假)可共用一个编码。
*/
@Column(name = "code", nullable = false, length = 64)
private String code;
@@ -41,6 +44,10 @@ public class FlwDef extends BaseEntity {
@Column(name = "name", nullable = false, length = 128)
private String name;
/** 归属应用(子应用 appKey,可空=未分配;管理端"按应用筛选"维度,2026-10-10) */
@Column(name = "app_key", length = 64)
private String appKey;
/** 版本,发布后不可改,改定义=升版本 */
@Column(name = "version", nullable = false)
private Integer version;