From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 jnpf-flow-engine/README.md |   83 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 83 insertions(+), 0 deletions(-)

diff --git a/jnpf-flow-engine/README.md b/jnpf-flow-engine/README.md
new file mode 100644
index 0000000..378a498
--- /dev/null
+++ b/jnpf-flow-engine/README.md
@@ -0,0 +1,83 @@
+# jnpf-flow-engine 鈥� JNPF 鐙珛娴佺▼寮曟搸锛堣嚜鏈夋簮鐮侀噸寤哄伐绋嬶級
+
+JNPF 鐙珛娴佺▼寮曟搸 `jnpf-workflow-admin` 鐨�**鑷湁婧愮爜**鐗堟湰銆傜敱榛戠洅鍙戣 jar
+锛坄jnpf-workflow-admin-1.0.0-RELEASE.jar`锛屾棤婧愮爜锛夊弽缂栬瘧杩樺師锛�2026-07-17锛屼换鍔� B锛夛紝
+瀹炵幇"寮曟搸渚� bug 鍙慨銆丗lowable 鐗堟湰鍙崌"銆�
+
+## 杩欐槸浠�涔�
+
+榛戠洅寮曟搸 = **瀹樻柟 Flowable 7.0.1 + 鏋佸皯閲� JNPF 瀹氬埗**銆傚弽缂栬瘧纭瀹氬埗浠� 42 涓嚜鏈夌被锛�
+
+| 灞� | 绫� | 璇存槑 |
+|---|---|---|
+| 鍚姩 | `JnpfFlowableApplication` | 鏍囧噯 `@SpringBootApplication` |
+| REST 鎺у埗鍣� | `admin/controller/{Definition,Instance,Task}Controller` | `/api/Flow/*` 鍏� 27 绔偣 |
+| 鍝嶅簲/寮傚父 | `admin/result/Result`銆乣admin/handle/GlobalExceptionHandler` | 缁熶竴 `{success,code,msg,data}` 鍖呰 |
+| 鏈嶅姟瀹炵幇 | `flowable/service/{Definition,Instance,Task}ServiceImpl` | 璋� Flowable 寮曟搸 API |
+| 鎷撴墤宸ュ叿 | `flowable/util/FlowableUtil`銆乣flowable/cmd/JumpCmd` | BPMN 鍥炬帹瀵� + 鑷畾涔夎妭鐐硅烦杞懡浠� |
+| 濂戠害妯″瀷 | `common/model/fo/*`锛�14 涓級銆乣common/model/vo/*`锛�9 涓級 | 璇锋眰/鍝嶅簲瀵硅薄 |
+| 濂戠害鎺ュ彛 | `common/service/I{Definition,Instance,Task}Service` | |
+| 鏋氫妇/寮傚父/宸ュ叿 | `common/exception/{ResultCode,BizException}`銆乣common/util/FlowUtil` | |
+| **Liquibase 琛ヤ竵** | `liquibase/snapshot/JdbcDatabaseSnapshot` | **杈炬ⅵ DM8 琛ㄥ揩鐓ч�傞厤**锛屼粎 `jdbc:dm` 杩炴帴涓茬敓鏁� |
+
+`liquibase/snapshot/JdbcDatabaseSnapshot` 鏄畼鏂� liquibase-core 4.27.0 鍚屽悕绫荤殑 JNPF 琛ヤ竵鐗�
+锛堣鐩� classpath 閲岀殑瀹樻柟绫伙級锛氱粰杈炬ⅵ DM8 澧炲姞 `queryDM()` 琛ㄦ竻鍗曟煡璇� + `escapeForLike/getTables`
+鍒嗘敮銆傜幇浜や粯搴撴槸 PostgreSQL 鐢ㄤ笉鍒版璺緞锛屼絾**閫愯淇濈湡淇濈暀**浠ョ淮鎸� 100% 绛変环锛堝垏杈炬ⅵ搴撻浂鏀瑰姩锛夈��
+鏈伐绋嬬敤瀹樻柟 4.27.0 婧愮爜涓哄簳銆佷粎鎵撹繖 3 澶� DM 琛ヤ竵锛堣鏂囦欢鍐� `JNPF 琛ヤ竵` 娉ㄩ噴锛夈��
+
+## HTTP 濂戠害锛堜笉鍙彉锛�
+
+`/api/Flow/*` 27 绔偣涓庨粦鐩� jar **濂戠害鍏煎**锛岃皟鐢ㄦ柟 = jnpf-flowable 鐨� `FlowAbleUrl`锛堝敮涓�璋冪敤鏂癸級銆�
+鍏煎杈圭晫锛堣楠岃瘉锛夛細`success`/`code`/`data` 涓夊瓧娈甸�愬瓧鑺備竴鑷达紱**鍞竴渚嬪**鏄� move 绯诲垪鍙傛暟鏍¢獙鐨�
+澶氬瓧娈甸敊璇� `msg` 鎷兼帴椤哄簭锛圔ean Validation 瀵圭害鏉熻繚鍙嶉泦鍚堢殑閬嶅巻搴忔湭瀹氫箟銆佽法缂栬瘧涓嶄繚璇佺ǔ瀹氾級锛�
+浣嗚皟鐢ㄦ柟鍙垽 `success`/`code`銆佷笉瑙f瀽璇� `msg`锛屾晠涓嶅奖鍝嶅绾︺�傚叧閿害鏉燂細
+- `Result.success` 鏄� **Boolean**锛堣皟鐢ㄦ柟鍒� `Boolean.FALSE.equals(getSuccess())`锛�
+- `Result.code` 鏄� **String**锛堟垚鍔� = `"200"`锛屽嬁鍐欐暟瀛楋級
+- 寮曟搸**涓嶆牎楠� token**锛堟棤 Sa-Token filter锛夛紝璋冪敤鏂归�忎紶 Authorization 澶翠絾寮曟搸蹇界暐鈥斺�斿嬁鍔犻壌鏉�
+
+## 鏋勫缓
+
+鐙珛 Spring Boot 3.3.2 / JDK 21 宸ョ▼锛�**涓嶆寕涓讳粨鐖� POM**锛堜富浠撴槸 Spring Cloud/JDK 8 浣撶郴锛屼笉鍚屾簮锛夈��
+
+```bash
+mvn -f jnpf-flow-engine/pom.xml clean package -DskipTests
+# 浜х墿锛歫npf-flow-engine/target/jnpf-workflow-admin-1.0.0-RELEASE.jar
+```
+
+渚濊禆鐗堟湰涓庨粦鐩� jar 閫愰」瀵归綈锛圫pring Boot 3.3.2銆丗lowable 7.0.1銆乲nife4j 4.5.0銆乭utool 5.8.27銆�
+postgresql 42.6.2銆佷簲瀹舵暟鎹簱椹卞姩 + protobuf锛夈�傛瀯寤轰骇鐗╀緷璧栨竻鍗曚笌榛戠洅 jar 浠呭樊 3 椤癸細
+2 涓� JNPF 瀹氬埗 jar锛堝凡灞曞紑涓烘湰宸ョ▼婧愮爜锛�+ lombok锛坈ompile-only锛屾纭帓闄わ級銆�
+
+## 閮ㄧ讲锛堝鍣級
+
+闀滃儚宸ョ▼鍦� `docker/flow-engine/`銆俙prepare-context.sh` 鍙栨簮浼樺厛绾э細
+1. `FLOWAPI_JAR` 鐜鍙橀噺鏄惧紡鎸囧畾
+2. **鏈伐绋� `jnpf-flow-engine/target/` 鐨勬瀯寤轰骇鐗�**锛堥粯璁わ級
+3. 榛戠洅鍘熶欢 `~/Infra/jnpf/flowApi/`锛堝洖婊氶敋鐐癸級
+
+```bash
+mvn -f jnpf-flow-engine/pom.xml clean package -DskipTests
+docker compose build jnpf-flow-engine && docker compose up -d jnpf-flow-engine
+```
+
+鍥炴粴鍒伴粦鐩掞紙蹇呴』鏄惧紡锛岃剼鏈笉鍐嶈嚜鍔ㄩ檷绾э級锛�
+`FLOWAPI_JAR=~/Infra/jnpf/flowApi/jnpf-workflow-admin-1.0.0-RELEASE.jar ./docker/flow-engine/prepare-context.sh`銆�
+
+## 鍥炲綊娴嬭瘯
+
+`test/` 涓嬩袱涓剼鏈浐鍖栦簡 A/B 楠岃瘉锛屾敼寮曟搸鍚庨噸璺戝嵆鍙細
+- `test/contract-smoke.sh [base]`锛�27 绔偣閿欒鐮�/绌烘暟鎹柇瑷�锛涙柊鏃у紩鎿庡悇璺戜竴閬� diff = 濂戠害瀛楄妭瀵规瘮
+- `test/lifecycle.sh [base] [tag]`锛歞eploy鈫抯tart鈫抧ext鈫抍omplete鈫抌ack(JumpCmd)鈫抙istoric鈫抎elete 鍏ㄧ敓鍛藉懆鏈燂紝
+  鎶� taskKey/code/name 楠ㄦ灦 A/B diff锛堣鐩栫姸鎬佹満鍐欒矾寰勶級
+
+## 楠岃瘉锛�2026-07-17 宸茶繃锛�
+
+- 27 椤瑰绾﹀搷搴� A/B 瀵规瘮锛�26 閫愬瓧鑺備竴鑷达紱鍞竴宸紓 = move 鏍¢獙澶氬瓧娈甸敊璇� `msg` 鎷兼帴椤哄簭
+  锛圔ean Validation 绾︽潫闆嗗悎閬嶅巻搴忔湭瀹氫箟銆佽法缂栬瘧涓嶄繚璇侊紱璋冪敤鏂瑰彧鍒� success/code 涓嶈В鏋� msg锛岄潪濂戠害锛�
+- 瀹屾暣鐢熷懡鍛ㄦ湡 A/B锛坉eploy鈫抯tart鈫抧ext鈫抍omplete鈫抌ack(JumpCmd 鑺傜偣璺宠浆)鈫抙istoric鈫抎elete锛�
+  璇箟楠ㄦ灦閫愯涓�鑷�
+- 鑷缓闀滃儚瀹瑰櫒 healthy锛屽叏鏍� 16 瀹瑰櫒鍚姩锛宩npf-flowable 鏃ュ織鏃�"娴佺▼寮曟搸寮傚父"
+
+## 璁稿彲
+
+JNPF 鍟嗕笟鎺堟潈瀹㈡埛瀵硅嚜鏈夐儴缃插仛绛変环閲嶅缓灞炵淮鎶よ涓猴紱**浜х墿涓嶅鍙�/涓嶅紑婧�**銆�

--
Gitblit v1.8.0