#3fc10
Back
2026/02/02
1 min read

Rule engine el規則轉換 (for cms)

Rule engine el規則轉換 (for cms).md
46 additions, 16 deletions
... ... @@ -7,14 +7,22 @@
7 - * Reference Table:
7 + * Reference Table:RULE_ENGINE_FLOW
8 - 1. 待母任務送審時, 會先以"子任務"為單位, 寫入MISSION_SUB_SETTING.mission_content, 格式為JSON
9 - 2. 呼叫Backend api, 以"母任務"為單位 此api為寫入RULE_ENGINE_FLOW table (若子任務有更動也要重打該api), 以及若該母任務下架的話也要將該對應的RULE_ENGINE_FLOW.enable設定為false
10 - 3. 之後cms在協助將response的資訊協助寫入RULE_ENGINE_FLOW(以及其母任務相關資訊), 及將MISSION_MASTER_SETTING.rule.id回
8 + 1. 母任務送審時, 會先"子任務"為單位, 入對應的子任務json object到MISSION_SUB_SETTING.mission_content , example :
9 + ```json
10 + {
11 + "field": "product_name",
12 + "operator": "in",
13 + "values": ["星巴克 150 元券", "威秀電影票"]
14 + }
15 + ```
16 + 2. 呼叫Backend api  /rs/ruleEngineSetting, 此為以"母任務"為單位作為Request,其response如此頁spec 所述
17 + 3. 之後cms在協助將b的response的資訊,協助寫入RULE_ENGINE_FLOW table 中(包含table pk), 以及將MISSION_MASTER_SETTING.rule_id回寫
18 + 4. 註解:若子任務有更動或是若該母任務下架的話也要重打該api,RULE_ENGINE_FLOW.enable設定為false
19 +request:
20 + "activity_type":"EXCHANGE_VOUCHER",
11 21 "content": {
12 22 "logic": "and",
13 23 "rules": [
14 24 "errorCode": null,
15 25 "message": null,
16 26 "values": {
17 - "CHAIN_ID":"VERIFY001",
27 + "CHAIN_TYPE":"MISSION",
28 + "CHAIN_ID":"EXCHANGE_VOUCHER_0001",
29 + "ID":"0001",
18 30 "content": "SER(
19 31 VERIFY001,
20 32 AND(
21 - "tier": "1",
33 + "sub_id": "001",
22 34 "activity_type":"exchange_voucher",
23 35 "field": null,
24 36 "operator": null,
25 - SER(
37 + {
38 + "success": true,
39 + "errorCode": null,
40 + "message": null,
41 + "values": {
42 + "CHAIN_TYPE":"MISSION",
43 + "CHAIN_ID":"EXCHANGE_VOUCHER_0001",
44 + "ID":"0001",
45 + "content": "SER(
26 46 VERIFY001,
27 47 AND(VOUCHER)
28 - ).DATA'{"sub_id": '004', 'value': null}'
48 + ).DATA'{"sub_id": '004', 'value': null}' "
49 +}
29 50 "logic": "and",
30 51 "rules": [
31 52 {
32 - "tier": "1",
53 + "sub_id": "001",
33 54 "activity_type":"exchange_voucher",
34 55 "field": "serial_id",
35 56 "operator": "in",
36 57 "values": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]
37 58 },
38 59 {
39 - "tier": "2",
60 + "sub_id": "002",
40 61 "activity_type":"exchange_voucher",
41 62 "field": "product_name",
42 63 "operator": "in",
43 64 "values": ["星巴克 150 元券", "威秀電影票"]
44 65 },
45 66 {
46 - "tier": "3",
67 + "sub_id": "003",
47 68 "activity_type":"exchange_voucher",
48 69 "logic": "and",
49 70 "rules": [
50 71 ]
51 72 },
52 73 {
53 - "tier": "4",
74 + "sub_id": "004",
54 75 "activity_type":"exchange_voucher",
55 76 "field": null,
56 77 "operator": null,
57 78 }
58 79
59 -
60 -
61 - SER(
80 + {
81 + "success": true,
82 + "errorCode": null,
83 + "message": null,
84 + "values": {
85 + "CHAIN_TYPE":"MISSION",
86 + "CHAIN_ID":"EXCHANGE_VOUCHER_0001",
87 + "ID":"0001",
88 + "content": "SER(
62 89 VERIFY001,
63 90 AND(
64 91 SER(SERIAL_ID, IN).TAG(["1", "2"]),
65 92 ),
66 93 VOUCHER.DATA'{"sub_id": '004', 'value': null}'
67 94 )
68 - )
95 + )"
96 +}
97 +
98 +