qgraphflow 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +2 -2
  4. package/.cursor-plugin/plugin.json +1 -1
  5. package/.qoder-plugin/plugin.json +1 -1
  6. package/README.md +119 -70
  7. package/docs/clients.de.md +15 -24
  8. package/docs/clients.es.md +15 -24
  9. package/docs/clients.ja.md +15 -24
  10. package/docs/clients.md +15 -24
  11. package/docs/clients.pt.md +15 -24
  12. package/docs/clients.ru.md +15 -24
  13. package/docs/clients.zh-CN.md +15 -24
  14. package/docs/readme/README.de.md +120 -71
  15. package/docs/readme/README.es.md +120 -71
  16. package/docs/readme/README.ja.md +120 -71
  17. package/docs/readme/README.pt.md +120 -71
  18. package/docs/readme/README.ru.md +120 -71
  19. package/docs/readme/README.zh-CN.md +106 -59
  20. package/examples/jeepay/README.md +23 -0
  21. package/examples/jeepay/capabilities.graph.json +270 -0
  22. package/examples/jeepay/class.graph.json +237 -0
  23. package/examples/jeepay/collection.graph.json +3057 -0
  24. package/examples/jeepay/dataflow.graph.json +212 -0
  25. package/examples/jeepay/deployment.graph.json +222 -0
  26. package/examples/jeepay/engineering.graph.json +277 -0
  27. package/examples/jeepay/er.graph.json +482 -0
  28. package/examples/jeepay/flowchart.graph.json +312 -0
  29. package/examples/jeepay/relations.graph.json +289 -0
  30. package/examples/jeepay/sequence.graph.json +355 -0
  31. package/examples/jeepay/source.json +95 -0
  32. package/examples/jeepay/state.graph.json +175 -0
  33. package/examples/jeepay/usecase.graph.json +222 -0
  34. package/package.json +14 -3
  35. package/skills/q-flow/SKILL.md +28 -20
  36. package/skills/q-flow/agents/openai.yaml +1 -1
  37. package/skills/q-flow/assets/viewer/package.json +1 -1
  38. package/skills/q-flow/assets/viewer/src/architecture-overview-theme.js +22 -0
  39. package/skills/q-flow/assets/viewer/src/architecture-overview.js +340 -0
  40. package/skills/q-flow/assets/viewer/src/diagrams/architecture.js +8 -5
  41. package/skills/q-flow/assets/viewer/src/diagrams/card.js +35 -17
  42. package/skills/q-flow/assets/viewer/src/diagrams/deployment.js +7 -5
  43. package/skills/q-flow/assets/viewer/src/diagrams/drawing.js +5 -2
  44. package/skills/q-flow/assets/viewer/src/diagrams/registry.js +10 -0
  45. package/skills/q-flow/assets/viewer/src/diagrams/sequence.js +13 -7
  46. package/skills/q-flow/assets/viewer/src/edge-routing.js +43 -22
  47. package/skills/q-flow/assets/viewer/src/export-svg.js +27 -5
  48. package/skills/q-flow/assets/viewer/src/graph-validation.js +72 -15
  49. package/skills/q-flow/assets/viewer/src/i18n-messages.json +184 -8
  50. package/skills/q-flow/assets/viewer/src/layout-compaction.js +123 -0
  51. package/skills/q-flow/assets/viewer/src/layout-measure.js +14 -8
  52. package/skills/q-flow/assets/viewer/src/layout-policy.js +6 -0
  53. package/skills/q-flow/assets/viewer/src/layout-quality.js +61 -15
  54. package/skills/q-flow/assets/viewer/src/layout-refinement.js +271 -0
  55. package/skills/q-flow/assets/viewer/src/layout-semantics.js +8 -0
  56. package/skills/q-flow/assets/viewer/src/layout-spacing.js +23 -4
  57. package/skills/q-flow/assets/viewer/src/layout-templates.js +298 -0
  58. package/skills/q-flow/assets/viewer/src/node-svg.js +1 -1
  59. package/skills/q-flow/assets/viewer/src/orthogonal-routing.js +475 -0
  60. package/skills/q-flow/assets/viewer/src/presentation-graph.js +31 -0
  61. package/skills/q-flow/assets/viewer/src/route-clearance.js +144 -0
  62. package/skills/q-flow/assets/viewer/src/sequence-executions.js +22 -0
  63. package/skills/q-flow/assets/viewer/src/sequence-fragments.js +20 -2
  64. package/skills/q-flow/assets/viewer/src/session-graph.js +46 -3
  65. package/skills/q-flow/assets/viewer/src/text-layout.js +33 -6
  66. package/skills/q-flow/assets/viewer/src/view-identity.js +26 -0
  67. package/skills/q-flow/assets/viewer/src/visual-style.js +13 -5
  68. package/skills/q-flow/assets/viewer-dist/index.html +30 -28
  69. package/skills/q-flow/references/evidence-sources.md +7 -5
  70. package/skills/q-flow/references/graph-common.md +34 -34
  71. package/skills/q-flow/references/graph-schema.md +28 -7
  72. package/skills/q-flow/references/guided-intake.md +51 -71
  73. package/skills/q-flow/references/layout-routing.md +47 -0
  74. package/skills/q-flow/references/types/architecture.md +42 -22
  75. package/skills/q-flow/references/types/class.md +9 -2
  76. package/skills/q-flow/references/types/dataflow.md +11 -4
  77. package/skills/q-flow/references/types/deployment.md +11 -3
  78. package/skills/q-flow/references/types/er.md +8 -1
  79. package/skills/q-flow/references/types/flowchart.md +12 -5
  80. package/skills/q-flow/references/types/sequence.md +20 -16
  81. package/skills/q-flow/references/types/state.md +10 -3
  82. package/skills/q-flow/references/types/usecase.md +6 -0
  83. package/skills/q-flow/references/viewer-development.md +37 -24
  84. package/skills/q-flow/references/visual-contract.md +12 -6
  85. package/skills/q-flow/scripts/compile-layout.mjs +85 -102
  86. package/skills/q-flow/scripts/compile-sequence.mjs +4 -21
  87. package/skills/q-flow/scripts/generate-viewer.mjs +18 -9
  88. package/skills/q-flow/scripts/validate-graph.mjs +38 -21
  89. package/examples/order-flow.graph.json +0 -94
@@ -0,0 +1,355 @@
1
+ {
2
+ "meta": {
3
+ "title": "统一下单与成功回调时序图",
4
+ "subtitle": "Jeepay 源码与配置证据",
5
+ "sourceRef": "jeequan/jeepay@e1ac9086d679826bab593f20431b7ecd292eb685",
6
+ "scope": "普通下单及异步成功回调",
7
+ "diagramType": "sequence",
8
+ "locale": "zh-CN",
9
+ "notes": [
10
+ "图中回调阶段仅展示 CONFIRM_SUCCESS 分支;失败分支更新 STATE_FAIL。",
11
+ "渠道支付接口由运行时 Bean 选择;支付渠道内部调用未在仓库中展开。"
12
+ ],
13
+ "viewId": "jeepay-sequence"
14
+ },
15
+ "nodes": [
16
+ {
17
+ "id": "merchant",
18
+ "label": "商户系统",
19
+ "kind": "actor"
20
+ },
21
+ {
22
+ "id": "unified",
23
+ "label": "UnifiedOrderController",
24
+ "kind": "service",
25
+ "module": "payment",
26
+ "source": {
27
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/UnifiedOrderController.java",
28
+ "lineStart": 44,
29
+ "lineEnd": 44,
30
+ "kind": "source"
31
+ }
32
+ },
33
+ {
34
+ "id": "abstract",
35
+ "label": "AbstractPayOrderController",
36
+ "kind": "service",
37
+ "module": "payment",
38
+ "source": {
39
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/AbstractPayOrderController.java",
40
+ "lineStart": 64,
41
+ "lineEnd": 64,
42
+ "kind": "source"
43
+ }
44
+ },
45
+ {
46
+ "id": "orders",
47
+ "label": "PayOrderService",
48
+ "kind": "service",
49
+ "module": "payment",
50
+ "source": {
51
+ "file": "jeepay-service/src/main/java/com/jeequan/jeepay/service/impl/PayOrderService.java",
52
+ "lineStart": 49,
53
+ "lineEnd": 49,
54
+ "kind": "source"
55
+ }
56
+ },
57
+ {
58
+ "id": "channelapi",
59
+ "label": "IPaymentService",
60
+ "kind": "service",
61
+ "module": "channel",
62
+ "source": {
63
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/channel/IPaymentService.java",
64
+ "lineStart": 30,
65
+ "lineEnd": 30,
66
+ "kind": "source"
67
+ }
68
+ },
69
+ {
70
+ "id": "channel",
71
+ "label": "支付渠道",
72
+ "kind": "external",
73
+ "module": "channel"
74
+ },
75
+ {
76
+ "id": "callback",
77
+ "label": "ChannelNoticeController",
78
+ "kind": "service",
79
+ "module": "payment",
80
+ "source": {
81
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/ChannelNoticeController.java",
82
+ "lineStart": 54,
83
+ "lineEnd": 54,
84
+ "kind": "source"
85
+ }
86
+ },
87
+ {
88
+ "id": "process",
89
+ "label": "PayOrderProcessService",
90
+ "kind": "service",
91
+ "module": "payment",
92
+ "source": {
93
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/service/PayOrderProcessService.java",
94
+ "lineStart": 40,
95
+ "lineEnd": 40,
96
+ "kind": "source"
97
+ }
98
+ },
99
+ {
100
+ "id": "notify",
101
+ "label": "PayMchNotifyService",
102
+ "kind": "service",
103
+ "module": "notification",
104
+ "source": {
105
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/service/PayMchNotifyService.java",
106
+ "lineStart": 45,
107
+ "lineEnd": 45,
108
+ "kind": "source"
109
+ }
110
+ }
111
+ ],
112
+ "edges": [
113
+ {
114
+ "id": "m1",
115
+ "source": "merchant",
116
+ "target": "unified",
117
+ "kind": "sync",
118
+ "label": "POST /api/pay/unifiedOrder",
119
+ "evidence": "source",
120
+ "site": {
121
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/UnifiedOrderController.java",
122
+ "lineStart": 52,
123
+ "lineEnd": 52
124
+ },
125
+ "order": 1
126
+ },
127
+ {
128
+ "id": "m2",
129
+ "source": "unified",
130
+ "target": "abstract",
131
+ "kind": "sync",
132
+ "label": "unifiedOrder(wayCode, bizRQ)",
133
+ "evidence": "source",
134
+ "site": {
135
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/UnifiedOrderController.java",
136
+ "lineStart": 61,
137
+ "lineEnd": 61
138
+ },
139
+ "order": 2
140
+ },
141
+ {
142
+ "id": "m3",
143
+ "source": "abstract",
144
+ "target": "orders",
145
+ "kind": "sync",
146
+ "label": "save(payOrder)",
147
+ "evidence": "source",
148
+ "site": {
149
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/AbstractPayOrderController.java",
150
+ "lineStart": 201,
151
+ "lineEnd": 201
152
+ },
153
+ "order": 3
154
+ },
155
+ {
156
+ "id": "m4",
157
+ "source": "abstract",
158
+ "target": "channelapi",
159
+ "kind": "sync",
160
+ "label": "pay(bizRQ, payOrder, context)",
161
+ "evidence": "source",
162
+ "site": {
163
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/AbstractPayOrderController.java",
164
+ "lineStart": 205,
165
+ "lineEnd": 205
166
+ },
167
+ "order": 4
168
+ },
169
+ {
170
+ "id": "m5",
171
+ "source": "channelapi",
172
+ "target": "abstract",
173
+ "kind": "return",
174
+ "label": "UnifiedOrderRS / ChannelRetMsg",
175
+ "evidence": "source",
176
+ "site": {
177
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/AbstractPayOrderController.java",
178
+ "lineStart": 208,
179
+ "lineEnd": 208
180
+ },
181
+ "order": 5,
182
+ "replyTo": "m4"
183
+ },
184
+ {
185
+ "id": "m6",
186
+ "source": "abstract",
187
+ "target": "unified",
188
+ "kind": "return",
189
+ "label": "ApiRes",
190
+ "evidence": "source",
191
+ "site": {
192
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/AbstractPayOrderController.java",
193
+ "lineStart": 210,
194
+ "lineEnd": 210
195
+ },
196
+ "order": 6,
197
+ "replyTo": "m2"
198
+ },
199
+ {
200
+ "id": "m7",
201
+ "source": "unified",
202
+ "target": "merchant",
203
+ "kind": "return",
204
+ "label": "signed UnifiedOrderRS",
205
+ "evidence": "source",
206
+ "site": {
207
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/UnifiedOrderController.java",
208
+ "lineStart": 78,
209
+ "lineEnd": 78
210
+ },
211
+ "order": 7,
212
+ "replyTo": "m1"
213
+ },
214
+ {
215
+ "id": "m8",
216
+ "source": "channel",
217
+ "target": "callback",
218
+ "kind": "async",
219
+ "label": "/api/pay/notify/{ifCode}",
220
+ "evidence": "source",
221
+ "site": {
222
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/ChannelNoticeController.java",
223
+ "lineStart": 169,
224
+ "lineEnd": 169
225
+ },
226
+ "order": 8
227
+ },
228
+ {
229
+ "id": "m9",
230
+ "source": "callback",
231
+ "target": "orders",
232
+ "kind": "sync",
233
+ "label": "updateIng2Success",
234
+ "evidence": "source",
235
+ "site": {
236
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/ChannelNoticeController.java",
237
+ "lineStart": 237,
238
+ "lineEnd": 237
239
+ },
240
+ "order": 9
241
+ },
242
+ {
243
+ "id": "m10",
244
+ "source": "callback",
245
+ "target": "process",
246
+ "kind": "sync",
247
+ "label": "confirmSuccess(payOrder)",
248
+ "evidence": "source",
249
+ "site": {
250
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/ChannelNoticeController.java",
251
+ "lineStart": 254,
252
+ "lineEnd": 254
253
+ },
254
+ "order": 10
255
+ },
256
+ {
257
+ "id": "m11",
258
+ "source": "process",
259
+ "target": "notify",
260
+ "kind": "sync",
261
+ "label": "payOrderNotify(payOrder)",
262
+ "evidence": "source",
263
+ "site": {
264
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/service/PayOrderProcessService.java",
265
+ "lineStart": 60,
266
+ "lineEnd": 60
267
+ },
268
+ "order": 11
269
+ },
270
+ {
271
+ "id": "m12",
272
+ "source": "callback",
273
+ "target": "channel",
274
+ "kind": "return",
275
+ "label": "responseEntity",
276
+ "evidence": "source",
277
+ "site": {
278
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/ChannelNoticeController.java",
279
+ "lineStart": 259,
280
+ "lineEnd": 259
281
+ },
282
+ "order": 12,
283
+ "replyTo": "m8"
284
+ }
285
+ ],
286
+ "groups": [
287
+ {
288
+ "id": "success",
289
+ "label": "渠道确认成功",
290
+ "kind": "opt",
291
+ "operands": [
292
+ {
293
+ "id": "ok",
294
+ "guard": "CONFIRM_SUCCESS",
295
+ "edgeIds": [
296
+ "m9",
297
+ "m10",
298
+ "m11"
299
+ ]
300
+ }
301
+ ]
302
+ }
303
+ ],
304
+ "executions": [
305
+ {
306
+ "id": "x1",
307
+ "participantId": "unified",
308
+ "start": {
309
+ "edgeId": "m1",
310
+ "at": "receive"
311
+ },
312
+ "end": {
313
+ "edgeId": "m7",
314
+ "at": "send"
315
+ }
316
+ },
317
+ {
318
+ "id": "x2",
319
+ "participantId": "abstract",
320
+ "start": {
321
+ "edgeId": "m2",
322
+ "at": "receive"
323
+ },
324
+ "end": {
325
+ "edgeId": "m6",
326
+ "at": "send"
327
+ }
328
+ },
329
+ {
330
+ "id": "x3",
331
+ "participantId": "channelapi",
332
+ "start": {
333
+ "edgeId": "m4",
334
+ "at": "receive"
335
+ },
336
+ "end": {
337
+ "edgeId": "m5",
338
+ "at": "send"
339
+ }
340
+ },
341
+ {
342
+ "id": "x4",
343
+ "participantId": "callback",
344
+ "start": {
345
+ "edgeId": "m8",
346
+ "at": "receive"
347
+ },
348
+ "end": {
349
+ "edgeId": "m12",
350
+ "at": "send"
351
+ }
352
+ }
353
+ ],
354
+ "layout": {}
355
+ }
@@ -0,0 +1,95 @@
1
+ {
2
+ "repository": "jeequan/jeepay",
3
+ "revision": "e1ac9086d679826bab593f20431b7ecd292eb685",
4
+ "files": {
5
+ "docker-compose.yml": "cb181e35cef43ea99e23f8dd442d53e568dd4bd86313a02685801eeb147da99d",
6
+ "docs/sql/init.sql": "02a962516fe0f9a7586adbf6be3366d0e51aa00e3f42093149359c7c6e102fcd",
7
+ "jeepay-components/jeepay-components-mq/pom.xml": "a64941c6c8b9f20ff7f14219361bce7ea8f98c4d7b6bb3d4640c46cdfd523313",
8
+ "jeepay-components/jeepay-components-oss/pom.xml": "3c616049b355ebcf3096a377f91b2b0810af06576d842090fbe859579757f6e4",
9
+ "jeepay-core/pom.xml": "18dcb61d56252c58d4d092c56deb9614235a534d2793d74fd824153928209f5f",
10
+ "jeepay-core/src/main/java/com/jeequan/jeepay/core/entity/PayOrder.java": "e94a24aec836e33aec8159689d1fc53b8d215e9b21c3a06b56c4aa478b05b6a4",
11
+ "jeepay-manager/pom.xml": "83140aef766c74c1c6d2a16582fabec862b079169a58a4af631cd6e33834a230",
12
+ "jeepay-merchant/pom.xml": "4f9580e6b64d9980d1f78cc6572dc916b9adc35a3d9237f388cf24f830324ebc",
13
+ "jeepay-payment/pom.xml": "69dd1c0c6d3ade3f97c60c9fe7df4df47efcb8b6e712c6412324813c5be873f2",
14
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/channel/AbstractPaymentService.java": "eaf17da5ac7d156ce0918edd46402be512f47660a6ba78e12e5d0cd46b2f7154",
15
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/channel/IPaymentService.java": "ad964e47681e64947db4501cbc6743b3527a4a9313b4a78b1819d319a50ec6bd",
16
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/channel/alipay/AlipayPaymentService.java": "d24dc9707af4776e50caf1f47ab5de9954d633475811607b0dfd793284b0a39f",
17
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/channel/wxpay/WxpayPaymentService.java": "c420d79014294a406a937d5c569d350ea5df6fb5490fed9d6d1ddc3d5ece2180",
18
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/ApiController.java": "e60e6940bb4a59990be79e43a16c08dab92bd06b55690ab21818a914aff38feb",
19
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/division/PayOrderDivisionExecController.java": "de3af2d2cc3751560db87ac163c7657c9c8337d7d1383069a4af1cb5c297a903",
20
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/AbstractPayOrderController.java": "c189361d3017554c3f642db9254f3230a426fa4f71f59b51aff0e9f5eaf82bc7",
21
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/ChannelNoticeController.java": "6597d98925f890d1eecfd18e0abc8af2f76ec7ea926ae813c481288f6d0a73f4",
22
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/CloseOrderController.java": "d5ffc40a626fefd68209e2bf81dac6abb900c15937f62d3977d3a77c51395318",
23
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/QueryOrderController.java": "5e414c97bcd2c69acc119595ad66d689039e16e18980ac8d694cd4ee84b70579",
24
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/UnifiedOrderController.java": "52e30d2f7841867fd41b90921a243815c801afcd896663bdbebc4d5bc57c9d26",
25
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/refund/RefundOrderController.java": "9bac0f16748ad123dc373d02270497c05f1a83a95a05a33067db8be60ad7b38e",
26
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/transfer/TransferOrderController.java": "f68c16dd7e462f78d40ee82b2d8d48fe8ca28a5096c4664bff80e1aa896e27cc",
27
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/service/ConfigContextQueryService.java": "66197a1976977c0563bc7294c681a901706d71f6f7d5c77b295e1365df0de635",
28
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/service/PayMchNotifyService.java": "7cc42aea07811ee165bb4fad82922775617225516c0061762e4f8d77b0dc355f",
29
+ "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/service/PayOrderProcessService.java": "cab46d286815f3a466f112d348d1fa755c0664870d80600934e1a977bf299dff",
30
+ "jeepay-service/pom.xml": "750a710b392b85473a4a1af377ccf8cff18a860f2a54e5fb7c684a86691799c6",
31
+ "jeepay-service/src/main/java/com/jeequan/jeepay/service/impl/MchPayPassageService.java": "834a8d01c9d08a7480ce255b2b66b688da753a3dfd2cb09dd69b5582b040799e",
32
+ "jeepay-service/src/main/java/com/jeequan/jeepay/service/impl/PayOrderService.java": "1efb0a56a8fc8df768c85ef4edc4cd2ef99ca09049beded87407175e2c21db67"
33
+ },
34
+ "views": [
35
+ {
36
+ "id": "jeepay-capabilities",
37
+ "type": "architecture",
38
+ "architectureView": "capabilities"
39
+ },
40
+ {
41
+ "id": "jeepay-engineering",
42
+ "type": "architecture",
43
+ "architectureView": "engineering"
44
+ },
45
+ {
46
+ "id": "jeepay-relations",
47
+ "type": "architecture",
48
+ "architectureView": "relations"
49
+ },
50
+ {
51
+ "id": "jeepay-flowchart",
52
+ "type": "flowchart"
53
+ },
54
+ {
55
+ "id": "jeepay-sequence",
56
+ "type": "sequence"
57
+ },
58
+ {
59
+ "id": "jeepay-er",
60
+ "type": "er"
61
+ },
62
+ {
63
+ "id": "jeepay-deployment",
64
+ "type": "deployment"
65
+ },
66
+ {
67
+ "id": "jeepay-class",
68
+ "type": "class"
69
+ },
70
+ {
71
+ "id": "jeepay-state",
72
+ "type": "state"
73
+ },
74
+ {
75
+ "id": "jeepay-usecase",
76
+ "type": "usecase"
77
+ },
78
+ {
79
+ "id": "jeepay-dataflow",
80
+ "type": "dataflow"
81
+ }
82
+ ],
83
+ "sourceEvidence": {
84
+ "scope": "working-tree",
85
+ "references": 163,
86
+ "checked": 163,
87
+ "files": 28,
88
+ "relations": {
89
+ "sited": 79,
90
+ "eligible": 79
91
+ },
92
+ "status": "passed",
93
+ "symbols": 0
94
+ }
95
+ }
@@ -0,0 +1,175 @@
1
+ {
2
+ "meta": {
3
+ "title": "PayOrder 支付状态图",
4
+ "subtitle": "Jeepay 源码与配置证据",
5
+ "sourceRef": "jeequan/jeepay@e1ac9086d679826bab593f20431b7ecd292eb685",
6
+ "scope": "统一下单及支付回调状态",
7
+ "diagramType": "state",
8
+ "locale": "zh-CN",
9
+ "notes": [
10
+ "INIT 到 SUCCESS/FAIL 在下单响应处理里经 ING 条件更新;图按持久化状态变更展示。",
11
+ "PayOrder 声明了 CANCEL、REFUND 常量,但本次主线未找到相应状态迁移调用,故不绘制。"
12
+ ],
13
+ "viewId": "jeepay-state"
14
+ },
15
+ "nodes": [
16
+ {
17
+ "id": "initial",
18
+ "label": "创建请求",
19
+ "kind": "initial"
20
+ },
21
+ {
22
+ "id": "init",
23
+ "label": "STATE_INIT",
24
+ "kind": "state",
25
+ "module": "payment",
26
+ "source": {
27
+ "file": "jeepay-core/src/main/java/com/jeequan/jeepay/core/entity/PayOrder.java",
28
+ "lineStart": 53,
29
+ "lineEnd": 53,
30
+ "kind": "source"
31
+ }
32
+ },
33
+ {
34
+ "id": "ing",
35
+ "label": "STATE_ING",
36
+ "kind": "state",
37
+ "module": "payment",
38
+ "source": {
39
+ "file": "jeepay-core/src/main/java/com/jeequan/jeepay/core/entity/PayOrder.java",
40
+ "lineStart": 54,
41
+ "lineEnd": 54,
42
+ "kind": "source"
43
+ }
44
+ },
45
+ {
46
+ "id": "success",
47
+ "label": "STATE_SUCCESS",
48
+ "kind": "state",
49
+ "module": "payment",
50
+ "source": {
51
+ "file": "jeepay-core/src/main/java/com/jeequan/jeepay/core/entity/PayOrder.java",
52
+ "lineStart": 55,
53
+ "lineEnd": 55,
54
+ "kind": "source"
55
+ },
56
+ "tags": [
57
+ "core"
58
+ ]
59
+ },
60
+ {
61
+ "id": "fail",
62
+ "label": "STATE_FAIL",
63
+ "kind": "state",
64
+ "module": "payment",
65
+ "source": {
66
+ "file": "jeepay-core/src/main/java/com/jeequan/jeepay/core/entity/PayOrder.java",
67
+ "lineStart": 56,
68
+ "lineEnd": 56,
69
+ "kind": "source"
70
+ },
71
+ "tags": [
72
+ "failure"
73
+ ]
74
+ },
75
+ {
76
+ "id": "closed",
77
+ "label": "STATE_CLOSED",
78
+ "kind": "state",
79
+ "module": "payment",
80
+ "source": {
81
+ "file": "jeepay-core/src/main/java/com/jeequan/jeepay/core/entity/PayOrder.java",
82
+ "lineStart": 59,
83
+ "lineEnd": 59,
84
+ "kind": "source"
85
+ }
86
+ }
87
+ ],
88
+ "edges": [
89
+ {
90
+ "id": "s0",
91
+ "source": "initial",
92
+ "target": "init",
93
+ "kind": "transition",
94
+ "label": "genPayOrder",
95
+ "evidence": "source",
96
+ "site": {
97
+ "file": "jeepay-payment/src/main/java/com/jeequan/jeepay/pay/ctrl/payorder/AbstractPayOrderController.java",
98
+ "lineStart": 256,
99
+ "lineEnd": 256
100
+ }
101
+ },
102
+ {
103
+ "id": "s1",
104
+ "source": "init",
105
+ "target": "ing",
106
+ "kind": "transition",
107
+ "label": "渠道下单返回等待/未知",
108
+ "evidence": "source",
109
+ "site": {
110
+ "file": "jeepay-service/src/main/java/com/jeequan/jeepay/service/impl/PayOrderService.java",
111
+ "lineStart": 61,
112
+ "lineEnd": 61
113
+ }
114
+ },
115
+ {
116
+ "id": "s2",
117
+ "source": "ing",
118
+ "target": "success",
119
+ "kind": "transition",
120
+ "label": "渠道确认成功",
121
+ "evidence": "source",
122
+ "site": {
123
+ "file": "jeepay-service/src/main/java/com/jeequan/jeepay/service/impl/PayOrderService.java",
124
+ "lineStart": 79,
125
+ "lineEnd": 79
126
+ },
127
+ "guard": "STATE_ING"
128
+ },
129
+ {
130
+ "id": "s3",
131
+ "source": "ing",
132
+ "target": "fail",
133
+ "kind": "transition",
134
+ "label": "渠道确认失败",
135
+ "evidence": "source",
136
+ "site": {
137
+ "file": "jeepay-service/src/main/java/com/jeequan/jeepay/service/impl/PayOrderService.java",
138
+ "lineStart": 113,
139
+ "lineEnd": 113
140
+ },
141
+ "guard": "STATE_ING"
142
+ },
143
+ {
144
+ "id": "s4",
145
+ "source": "init",
146
+ "target": "closed",
147
+ "kind": "transition",
148
+ "label": "关闭订单",
149
+ "evidence": "source",
150
+ "site": {
151
+ "file": "jeepay-service/src/main/java/com/jeequan/jeepay/service/impl/PayOrderService.java",
152
+ "lineStart": 102,
153
+ "lineEnd": 102
154
+ },
155
+ "guard": "STATE_INIT"
156
+ },
157
+ {
158
+ "id": "s5",
159
+ "source": "ing",
160
+ "target": "closed",
161
+ "kind": "transition",
162
+ "label": "关闭订单",
163
+ "evidence": "source",
164
+ "site": {
165
+ "file": "jeepay-service/src/main/java/com/jeequan/jeepay/service/impl/PayOrderService.java",
166
+ "lineStart": 92,
167
+ "lineEnd": 92
168
+ },
169
+ "guard": "STATE_ING"
170
+ }
171
+ ],
172
+ "layout": {
173
+ "direction": "down"
174
+ }
175
+ }