diff --git a/README.md b/README.md index 1cbfc03..af06e23 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ ## TODO -### 长期 +日志记录,使用任务来实现 -更新支付状态后,缓存结果以便查询 +支付后事件,需要检测是否已完成操作 + +### 长期 模型字段修改,特定枚举字段使用自定义类型代替通用 int32 diff --git a/docs/服务网络建立流程图v2.excalidraw b/docs/服务网络建立流程图v2.excalidraw new file mode 100644 index 0000000..ecfbb90 --- /dev/null +++ b/docs/服务网络建立流程图v2.excalidraw @@ -0,0 +1,1357 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "YQSFOzXAIoimZKDRAMPdO", + "type": "rectangle", + "x": 736, + "y": 370, + "width": 151.00000000000003, + "height": 86, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a0", + "roundness": { + "type": 3 + }, + "seed": 340768131, + "version": 234, + "versionNonce": 1778796772, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "6yN0B8axFJVKs58rLflfz" + }, + { + "id": "dEVrjkg326aOu-z_V79TO", + "type": "arrow" + }, + { + "id": "X0pOWHu2Eq03pkuAdCXG8", + "type": "arrow" + }, + { + "id": "XPyBOS_LqtMOCnawJu_WA", + "type": "arrow" + } + ], + "updated": 1758249961760, + "link": null, + "locked": false + }, + { + "id": "6yN0B8axFJVKs58rLflfz", + "type": "text", + "x": 756.5600433349609, + "y": 388, + "width": 109.87991333007812, + "height": 50, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a1", + "roundness": null, + "seed": 1905217116, + "version": 204, + "versionNonce": 954814308, + "isDeleted": false, + "boundElements": [], + "updated": 1758246519357, + "link": null, + "locked": false, + "text": "代理端口\nsocks/http", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "YQSFOzXAIoimZKDRAMPdO", + "originalText": "代理端口\nsocks/http", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "4Bnah8890hn5qWFx2u44d", + "type": "rectangle", + "x": 730.2857142857142, + "y": 88.57142857142856, + "width": 154.00000000000003, + "height": 86, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a14", + "roundness": { + "type": 3 + }, + "seed": 326248028, + "version": 221, + "versionNonce": 2145532252, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "J19S0nmuMJhEz2C9bfDz7" + }, + { + "id": "_gOmU_mvoRmSpG8q2QkAO", + "type": "arrow" + }, + { + "id": "9V22f7KfKiXD-7Ponl3Bj", + "type": "arrow" + } + ], + "updated": 1758250553687, + "link": null, + "locked": false + }, + { + "id": "J19S0nmuMJhEz2C9bfDz7", + "type": "text", + "x": 747.2857142857142, + "y": 119.07142857142856, + "width": 120, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a18", + "roundness": null, + "seed": 1469381340, + "version": 195, + "versionNonce": 42642908, + "isDeleted": false, + "boundElements": [], + "updated": 1758250553687, + "link": null, + "locked": false, + "text": "节点控制端口", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "4Bnah8890hn5qWFx2u44d", + "originalText": "节点控制端口", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "iB-y0pvq-AaVD3LCLJmqs", + "type": "rectangle", + "x": 1317.142857142857, + "y": 132.57142857142856, + "width": 189.99999999999991, + "height": 86, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a18V", + "roundness": { + "type": 3 + }, + "seed": 1138502628, + "version": 445, + "versionNonce": 2137352540, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "VOjVUBIFmkZ1WVuiIQN3k" + }, + { + "id": "WicNdCeUUK-PbTuBnAbYh", + "type": "arrow" + }, + { + "id": "_gOmU_mvoRmSpG8q2QkAO", + "type": "arrow" + }, + { + "id": "X0pOWHu2Eq03pkuAdCXG8", + "type": "arrow" + }, + { + "id": "bOO8NghHhpbsbwMizWHMg", + "type": "arrow" + } + ], + "updated": 1758250845080, + "link": null, + "locked": false + }, + { + "id": "VOjVUBIFmkZ1WVuiIQN3k", + "type": "text", + "x": 1338.552868434361, + "y": 150.57142857142856, + "width": 147.1799774169922, + "height": 50, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a19", + "roundness": null, + "seed": 515182436, + "version": 455, + "versionNonce": 170384860, + "isDeleted": false, + "boundElements": [], + "updated": 1758250845080, + "link": null, + "locked": false, + "text": "节点池(m)\n数据连接池(m*j)", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "iB-y0pvq-AaVD3LCLJmqs", + "originalText": "节点池(m)\n数据连接池(m*j)", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "OVHWjR9Ict69KRGCXnx98", + "type": "rectangle", + "x": 736, + "y": 206, + "width": 151.00000000000003, + "height": 86, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a1A", + "roundness": { + "type": 3 + }, + "seed": 1057591140, + "version": 232, + "versionNonce": 2106648804, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "HUNCyASpZDNQzoCkWchR_" + }, + { + "id": "WicNdCeUUK-PbTuBnAbYh", + "type": "arrow" + }, + { + "id": "rqWZ5ArAtwKR6dmJc9PxO", + "type": "arrow" + } + ], + "updated": 1758250847667, + "link": null, + "locked": false + }, + { + "id": "HUNCyASpZDNQzoCkWchR_", + "type": "text", + "x": 751.5, + "y": 236.5, + "width": 120, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a1C", + "roundness": null, + "seed": 627704548, + "version": 215, + "versionNonce": 483011684, + "isDeleted": false, + "boundElements": [], + "updated": 1758250847667, + "link": null, + "locked": false, + "text": "节点数据端口", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "OVHWjR9Ict69KRGCXnx98", + "originalText": "节点数据端口", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "3RO_1ekdwosRo148aHQ16", + "type": "rectangle", + "x": 984.7142857142858, + "y": 438.42857142857144, + "width": 127, + "height": 82, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a1G", + "roundness": { + "type": 3 + }, + "seed": 107993436, + "version": 279, + "versionNonce": 1632928476, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "93RiXfPuNKKvd0vvL6UJk" + }, + { + "id": "dEVrjkg326aOu-z_V79TO", + "type": "arrow" + }, + { + "id": "FLnYPnmPXglTjS5CET7I1", + "type": "arrow" + } + ], + "updated": 1758250855820, + "link": null, + "locked": false + }, + { + "id": "93RiXfPuNKKvd0vvL6UJk", + "type": "text", + "x": 1014.5242985316686, + "y": 466.92857142857144, + "width": 67.37997436523438, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a1V", + "roundness": null, + "seed": 644107740, + "version": 261, + "versionNonce": 1643628380, + "isDeleted": false, + "boundElements": [], + "updated": 1758250855820, + "link": null, + "locked": false, + "text": "入栈(n)", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "3RO_1ekdwosRo148aHQ16", + "originalText": "入栈(n)", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "xAMHk9JEjcpvIH98p7v8j", + "type": "rectangle", + "x": 1174.7142857142858, + "y": 436.42857142857144, + "width": 127, + "height": 82, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a1X", + "roundness": { + "type": 3 + }, + "seed": 1496533852, + "version": 320, + "versionNonce": 314455260, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "-VRZdhbMIC--ASDeMgqyP" + }, + { + "id": "FLnYPnmPXglTjS5CET7I1", + "type": "arrow" + }, + { + "id": "NF8UY--pQucfBdNyMcDOr", + "type": "arrow" + } + ], + "updated": 1758250855830, + "link": null, + "locked": false + }, + { + "id": "-VRZdhbMIC--ASDeMgqyP", + "type": "text", + "x": 1218.2142857142858, + "y": 464.92857142857144, + "width": 40, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a1Z", + "roundness": null, + "seed": 1944682460, + "version": 316, + "versionNonce": 1599813980, + "isDeleted": false, + "boundElements": [], + "updated": 1758250855830, + "link": null, + "locked": false, + "text": "认证", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "xAMHk9JEjcpvIH98p7v8j", + "originalText": "认证", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "hS8KJjHGigL9_n9Y0k3VW", + "type": "rectangle", + "x": 1364.7142857142858, + "y": 438.42857142857144, + "width": 127, + "height": 82, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a1d", + "roundness": { + "type": 3 + }, + "seed": 1737661148, + "version": 667, + "versionNonce": 1354688220, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "JLCPdqk2XPDxgz1YTgllV" + }, + { + "id": "NF8UY--pQucfBdNyMcDOr", + "type": "arrow" + }, + { + "id": "bOO8NghHhpbsbwMizWHMg", + "type": "arrow" + } + ], + "updated": 1758250855830, + "link": null, + "locked": false + }, + { + "id": "JLCPdqk2XPDxgz1YTgllV", + "type": "text", + "x": 1394.5242985316686, + "y": 466.92857142857144, + "width": 67.37997436523438, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a1l", + "roundness": null, + "seed": 682811228, + "version": 615, + "versionNonce": 1047898972, + "isDeleted": false, + "boundElements": [], + "updated": 1758250855830, + "link": null, + "locked": false, + "text": "出栈(n)", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "hS8KJjHGigL9_n9Y0k3VW", + "originalText": "出栈(n)", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "WicNdCeUUK-PbTuBnAbYh", + "type": "arrow", + "x": 900, + "y": 247.26817677368138, + "width": 400.1428571428571, + "height": 74.6792487773674, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a3", + "roundness": { + "type": 2 + }, + "seed": 1324742628, + "version": 193, + "versionNonce": 453967844, + "isDeleted": false, + "boundElements": [], + "updated": 1758250847678, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 400.1428571428571, + -74.6792487773674 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "OVHWjR9Ict69KRGCXnx98", + "focus": 0.25908480084792057, + "gap": 13 + }, + "endBinding": { + "elementId": "iB-y0pvq-AaVD3LCLJmqs", + "focus": 0.3925884319900834, + "gap": 17.000000000000227 + }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "_gOmU_mvoRmSpG8q2QkAO", + "type": "arrow", + "x": 896.7142857142856, + "y": 128.13124020624997, + "width": 406.74329009001895, + "height": 23.325633595104506, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a4", + "roundness": { + "type": 2 + }, + "seed": 2138089692, + "version": 223, + "versionNonce": 280434396, + "isDeleted": false, + "boundElements": [], + "updated": 1758250845095, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 406.74329009001895, + 23.325633595104506 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "4Bnah8890hn5qWFx2u44d", + "focus": -0.16388743702333297, + "gap": 12.428571428571331 + }, + "endBinding": { + "elementId": "iB-y0pvq-AaVD3LCLJmqs", + "focus": 0.3678709146278951, + "gap": 13.747703262535307 + }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "dEVrjkg326aOu-z_V79TO", + "type": "arrow", + "x": 901.7470562438845, + "y": 420.58516699539945, + "width": 75.79716730376038, + "height": 25.394126619390647, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a5", + "roundness": { + "type": 2 + }, + "seed": 2014425188, + "version": 337, + "versionNonce": 1723759580, + "isDeleted": false, + "boundElements": [], + "updated": 1758250855830, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 75.79716730376038, + 25.394126619390647 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "YQSFOzXAIoimZKDRAMPdO", + "focus": -0.32587746813723606, + "gap": 14.747056243884572 + }, + "endBinding": { + "elementId": "3RO_1ekdwosRo148aHQ16", + "focus": 0.15464786110134618, + "gap": 9.297238455994918 + }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "FLnYPnmPXglTjS5CET7I1", + "type": "arrow", + "x": 1121.7142857142858, + "y": 480.34174696108755, + "width": 42.00000000000023, + "height": 2.2830995593715784, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a6", + "roundness": { + "type": 2 + }, + "seed": 31689564, + "version": 406, + "versionNonce": 868330852, + "isDeleted": false, + "boundElements": [], + "updated": 1758250856847, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 42.00000000000023, + 2.2830995593715784 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "3RO_1ekdwosRo148aHQ16", + "focus": -0.0693390746587104, + "gap": 10 + }, + "endBinding": { + "elementId": "xAMHk9JEjcpvIH98p7v8j", + "focus": -0.2080017633064551, + "gap": 10.999999999999773 + }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "X0pOWHu2Eq03pkuAdCXG8", + "type": "arrow", + "x": 1297.2895331841237, + "y": 199.0677585090273, + "width": 400.28953318412357, + "height": 197.28657807993912, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a7", + "roundness": { + "type": 2 + }, + "seed": 845357788, + "version": 139, + "versionNonce": 803724124, + "isDeleted": false, + "boundElements": [], + "updated": 1758250845107, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -400.28953318412357, + 197.28657807993912 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "iB-y0pvq-AaVD3LCLJmqs", + "focus": 0.3682776729522173, + "gap": 19.885703820119716 + }, + "endBinding": { + "elementId": "YQSFOzXAIoimZKDRAMPdO", + "focus": 0.3268336531314281, + "gap": 10 + }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "VFny9yVS5m6V0OnXFA-nu", + "type": "text", + "x": 1536.5714285714284, + "y": 111, + "width": 482.6399841308594, + "height": 225, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "a9", + "roundness": null, + "seed": 731652836, + "version": 1189, + "versionNonce": 325042020, + "isDeleted": false, + "boundElements": [], + "updated": 1758252253877, + "link": null, + "locked": false, + "text": "1. 网关监听控制端口和数据端口,节点主动建立控制连\n接,如果网关可建立连接数已满,则响应拒绝\n2. 接收节点连接后,网关下发连接配置,节点根据配\n置建立多条数据连接(整个流程完成后,节点才会被记\n入可用列表)\n3. 网关上报节点信息,以便平台分配用户连接\n4. 用户建立连接,控制通道发送连接指令,节点返回\n连接结果并选择一条数据通道,服务端开始将用户数据\n写入指定数据通道", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "1. 网关监听控制端口和数据端口,节点主动建立控制连接,如果网关可建立连接数已满,则响应拒绝\n2. 接收节点连接后,网关下发连接配置,节点根据配置建立多条数据连接(整个流程完成后,节点才会被记入可用列表)\n3. 网关上报节点信息,以便平台分配用户连接\n4. 用户建立连接,控制通道发送连接指令,节点返回连接结果并选择一条数据通道,服务端开始将用户数据写入指定数据通道", + "autoResize": false, + "lineHeight": 1.25 + }, + { + "id": "KdL3Wzz4ZJb7d_ef-tWBu", + "type": "text", + "x": 262.714285714286, + "y": -122.28571428571428, + "width": 316.47998046875, + "height": 250, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "aA", + "roundness": null, + "seed": 1020522460, + "version": 1005, + "versionNonce": 831608292, + "isDeleted": false, + "boundElements": [], + "updated": 1758250815223, + "link": null, + "locked": false, + "text": "1. 节点连接网关控制端口(域名负\n载均衡),网关下发连接配置,节\n点根据配置建立数据连接池\n2. 收到网关发送的连接命令后,节\n点尝试连接,然后选择一个可用通\n道建立绑定,将选择结果发送给服\n务端\n3. 如果连接池已耗尽,则自动请求\n新连接,如果连接已达到允许最大\n量,则返回失败以及原因", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "1. 节点连接网关控制端口(域名负载均衡),网关下发连接配置,节点根据配置建立数据连接池\n2. 收到网关发送的连接命令后,节点尝试连接,然后选择一个可用通道建立绑定,将选择结果发送给服务端\n3. 如果连接池已耗尽,则自动请求新连接,如果连接已达到允许最大量,则返回失败以及原因", + "autoResize": false, + "lineHeight": 1.25 + }, + { + "id": "NF8UY--pQucfBdNyMcDOr", + "type": "arrow", + "x": 1312.7142857142858, + "y": 478.42857142857144, + "width": 36, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "aB", + "roundness": { + "type": 2 + }, + "seed": 1192023012, + "version": 51, + "versionNonce": 2117641316, + "isDeleted": false, + "boundElements": [], + "updated": 1758250856847, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 36, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "xAMHk9JEjcpvIH98p7v8j", + "focus": 0.024390243902438533, + "gap": 11 + }, + "endBinding": { + "elementId": "hS8KJjHGigL9_n9Y0k3VW", + "focus": 0.024390243902438533, + "gap": 16 + }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "bOO8NghHhpbsbwMizWHMg", + "type": "arrow", + "x": 1425.9261337543624, + "y": 425.42857142857144, + "width": 0.9723216160143693, + "height": 186.85714285714286, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "aC", + "roundness": { + "type": 2 + }, + "seed": 1853068380, + "version": 57, + "versionNonce": 856654940, + "isDeleted": false, + "boundElements": [], + "updated": 1758250855830, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.9723216160143693, + -186.85714285714286 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "hS8KJjHGigL9_n9Y0k3VW", + "focus": -0.03296703296703676, + "gap": 13 + }, + "endBinding": { + "elementId": "iB-y0pvq-AaVD3LCLJmqs", + "focus": -0.12657091561938946, + "gap": 20 + }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "qCWZNmKtzDfMv4AC8D0oG", + "type": "rectangle", + "x": 293.42857142857144, + "y": 141.9999999999999, + "width": 196, + "height": 93, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "aD", + "roundness": { + "type": 3 + }, + "seed": 223069020, + "version": 110, + "versionNonce": 2035763292, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "vbeA_KNhf7f_atLlrD2cH" + }, + { + "id": "9V22f7KfKiXD-7Ponl3Bj", + "type": "arrow" + }, + { + "id": "rqWZ5ArAtwKR6dmJc9PxO", + "type": "arrow" + } + ], + "updated": 1758249983798, + "link": null, + "locked": false + }, + { + "id": "vbeA_KNhf7f_atLlrD2cH", + "type": "text", + "x": 336.3685814993722, + "y": 175.9999999999999, + "width": 110.11997985839844, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "aE", + "roundness": null, + "seed": 1562058852, + "version": 61, + "versionNonce": 1216732380, + "isDeleted": false, + "boundElements": [], + "updated": 1758249983798, + "link": null, + "locked": false, + "text": "边缘节点(m)", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "qCWZNmKtzDfMv4AC8D0oG", + "originalText": "边缘节点(m)", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "7xwPc3ATVg-eoVidGgx-9", + "type": "rectangle", + "x": 301.57142857142867, + "y": 352, + "width": 196, + "height": 93, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "aEG", + "roundness": { + "type": 3 + }, + "seed": 309943132, + "version": 130, + "versionNonce": 289974884, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "vRsFuYuNDx59Pnnc5uKTk" + }, + { + "id": "XPyBOS_LqtMOCnawJu_WA", + "type": "arrow" + } + ], + "updated": 1758250199757, + "link": null, + "locked": false + }, + { + "id": "vRsFuYuNDx59Pnnc5uKTk", + "type": "text", + "x": 365.8814413888115, + "y": 386, + "width": 67.37997436523438, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "aEV", + "roundness": null, + "seed": 971870172, + "version": 93, + "versionNonce": 1140024924, + "isDeleted": false, + "boundElements": [], + "updated": 1758250204070, + "link": null, + "locked": false, + "text": "用户(n)", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "7xwPc3ATVg-eoVidGgx-9", + "originalText": "用户(n)", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "9V22f7KfKiXD-7Ponl3Bj", + "type": "arrow", + "x": 499.42857142857144, + "y": 181.43307642485092, + "width": 215.85714285714278, + "height": 46.76792076656196, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "aF", + "roundness": { + "type": 2 + }, + "seed": 441123420, + "version": 116, + "versionNonce": 1252386524, + "isDeleted": false, + "boundElements": [], + "updated": 1758250553709, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 215.85714285714278, + -46.76792076656196 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "qCWZNmKtzDfMv4AC8D0oG", + "focus": 0.2349897268092233, + "gap": 10 + }, + "endBinding": { + "elementId": "4Bnah8890hn5qWFx2u44d", + "focus": 0.28164678722585557, + "gap": 15 + }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "rqWZ5ArAtwKR6dmJc9PxO", + "type": "arrow", + "x": 501.42857142857144, + "y": 211.53561243889487, + "width": 217.57142857142856, + "height": 32.90264193875478, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "aG", + "roundness": { + "type": 2 + }, + "seed": 2008806116, + "version": 99, + "versionNonce": 812475236, + "isDeleted": false, + "boundElements": [], + "updated": 1758250847687, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 217.57142857142856, + 32.90264193875478 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "qCWZNmKtzDfMv4AC8D0oG", + "focus": 0.10279065698539035, + "gap": 12 + }, + "endBinding": { + "elementId": "OVHWjR9Ict69KRGCXnx98", + "focus": -0.17283172540844574, + "gap": 17 + }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "XPyBOS_LqtMOCnawJu_WA", + "type": "arrow", + "x": 514.5714285714287, + "y": 408.6007028205131, + "width": 208.42857142857133, + "height": 3.7734231403638887, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "aH", + "roundness": { + "type": 2 + }, + "seed": 1876458332, + "version": 72, + "versionNonce": 434397540, + "isDeleted": false, + "boundElements": [], + "updated": 1758250199757, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 208.42857142857133, + 3.7734231403638887 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "7xwPc3ATVg-eoVidGgx-9", + "focus": 0.15820297449333562, + "gap": 17 + }, + "endBinding": { + "elementId": "YQSFOzXAIoimZKDRAMPdO", + "focus": -0.012406110220272623, + "gap": 13 + }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + } + ], + "appState": { + "gridSize": 20, + "gridStep": 5, + "gridModeEnabled": false, + "viewBackgroundColor": "#ffffff", + "lockedMultiSelections": {} + }, + "files": {} +} \ No newline at end of file diff --git a/scripts/sql/init.sql b/scripts/sql/init.sql index 02737b5..b47f31a 100644 --- a/scripts/sql/init.sql +++ b/scripts/sql/init.sql @@ -908,7 +908,7 @@ comment on column trade.subject is '订单主题'; comment on column trade.remark is '订单备注'; comment on column trade.amount is '订单总金额'; comment on column trade.payment is '实际支付金额'; -comment on column trade.method is '支付方式:1-支付宝,2-微信,3-商福通渠道支付宝,4-商福通渠道微信'; +comment on column trade.method is '支付方式:1-支付宝,2-微信,3-商福通,4-商福通渠道支付宝,5-商福通渠道微信'; comment on column trade.platform is '支付平台:1-电脑网站,2-手机网站'; comment on column trade.acquirer is '收单机构:1-支付宝,2-微信,3-银联'; comment on column trade.status is '订单状态:0-待支付,1-已支付,2-已取消';