From d0e06e122eb3da9cb73ae3349ec04e42cff5b592 Mon Sep 17 00:00:00 2001 From: "13621160019@163.com" <13621160019@163.com> Date: Fri, 24 Dec 2021 19:54:22 +0800 Subject: [PATCH] added POST actions to create new email/wechat/text messages --- myems-api/MyEMS.postman_collection.json | 22 +++++++++--------- myems-api/README.md | 30 ++++++++++++++++++++++--- myems-api/core/emailmessage.py | 8 +++---- myems-api/core/textmessage.py | 10 ++++----- myems-api/core/wechatmessage.py | 13 +++++------ 5 files changed, 53 insertions(+), 30 deletions(-) diff --git a/myems-api/MyEMS.postman_collection.json b/myems-api/MyEMS.postman_collection.json index f3ba7f48..fb457ea5 100644 --- a/myems-api/MyEMS.postman_collection.json +++ b/myems-api/MyEMS.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "10c28155-4a57-4951-b80e-9893a2edb0d0", + "_postman_id": "5020b7e9-5538-4b05-a649-f881fe5ae637", "name": "MyEMS", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, @@ -2188,7 +2188,7 @@ "response": [] }, { - "name": "POST Create New Email Message TODO", + "name": "POST Create New Email Message", "request": { "method": "POST", "header": [ @@ -2200,7 +2200,7 @@ }, { "key": "Token", - "value": "aad10e8cd48a3b8719860fed577033098cbc6caeb1454986189b0018bb76c6abc3a0b0600d0bec2fefb2c9cc5147aab23f50c4a4c8a64aaad0b7e4a7054905b8", + "value": "cb0c43bc302b478e938395f8a135239dd3a1e14668bbde0efc8f91e3648c55f1321b4ac1abe9fa8572e33544aacb70f1a1102d220d6092c91ced0b87fa4f651c", "type": "text", "description": "Login to get a valid token" } @@ -2211,11 +2211,11 @@ { "key": "file", "type": "file", - "src": "/home/zhongtianlin/offline_meter_data.xlsx" + "src": "/D:/myems/meterenergy (3).xlsx" }, { "key": "req", - "value": "{\"data\":{\"rule_id\":1, \"recipient_name\":\"Yinghao Huang\", \"recipient_email\":\"yinghao.huang@qq.com\", \"subject\":\"report_01_2021年10月24日\", \"message\":\"report_01_2021年10月24日\", \"created_datetime\":\"2021-11-01T00:00:00\", \"scheduled_datetime\":\"2021-11-01T00:00:00\"}}", + "value": "{\"data\":{\"rule_id\":1, \"recipient_name\":\"myems\", \"recipient_email\":\"myems@163.com\", \"subject\":\"report_01_2021_12_24\", \"message\":\"report_01_2021_12_24\", \"created_datetime\":\"2021-12-24T00:00:00\", \"scheduled_datetime\":\"2021-12-24T00:00:00\"}}", "type": "text" } ] @@ -8874,7 +8874,7 @@ "response": [] }, { - "name": "POST Create New Text Message TODO", + "name": "POST Create New Text Message", "request": { "method": "POST", "header": [ @@ -8886,14 +8886,14 @@ }, { "key": "Token", - "value": "c6f5fa938c0e228d06e1f3adb3ef1eac319e1167e6ff0cb7fd5d928e83da5764ddb66e29204e0f4e6aa407ded3702b15be67a435c4825dc722b6047010398714", + "value": "cb0c43bc302b478e938395f8a135239dd3a1e14668bbde0efc8f91e3648c55f1321b4ac1abe9fa8572e33544aacb70f1a1102d220d6092c91ced0b87fa4f651c", "type": "text", "description": "Login to get a valid token" } ], "body": { "mode": "raw", - "raw": "{\"data\":{\"rule_id\":1, \"recipient_name\":\"Yinghao Huang\", \"recipient_mobile\":\"12345678912\", \"message\":\"report_01_2021年10月24日\", \"acknowledge_code\":\"9e52ad6d-3d80-403c-a525-40\", \"created_datetime\":\"2021-11-01T00:00:00\", \"scheduled_datetime\":\"2021-11-01T00:00:00\"}}" + "raw": "{\"data\":{\"rule_id\":1, \"recipient_name\":\"myems\", \"recipient_mobile\":\"13888888888\", \"message\":\"report_01_2021年12月24日\", \"acknowledge_code\":\"123456\", \"created_datetime\":\"2021-12-24T00:00:00\", \"scheduled_datetime\":\"2021-12-24T00:00:00\"}}" }, "url": { "raw": "{{base_url}}/textmessages", @@ -9833,7 +9833,7 @@ "response": [] }, { - "name": "POST Create New Wechat Message TODO", + "name": "POST Create New Wechat Message", "request": { "method": "POST", "header": [ @@ -9845,14 +9845,14 @@ }, { "key": "Token", - "value": "c6f5fa938c0e228d06e1f3adb3ef1eac319e1167e6ff0cb7fd5d928e83da5764ddb66e29204e0f4e6aa407ded3702b15be67a435c4825dc722b6047010398714", + "value": "cb0c43bc302b478e938395f8a135239dd3a1e14668bbde0efc8f91e3648c55f1321b4ac1abe9fa8572e33544aacb70f1a1102d220d6092c91ced0b87fa4f651c", "type": "text", "description": "Login to get a valid token" } ], "body": { "mode": "raw", - "raw": "{\"data\":{\"rule_id\":1, \"recipient_name\":\"SPACE01\", \"recipient_openid\":\"oia2TjuEGTNoeX76QEjQNrcURxG8\", \"message_template_id\":\"Doclyl5uP7Aciu-qZ7mJNPtWkbkYnWBWVja26EGbNyk\", \"message_data\":\"{\\\"space_id\\\":1, \\\"high_limit\\\":1000.000}\", \"acknowledge_code\":\"9e52ad6d\", \"created_datetime\":\"2021-11-01T00:00:00\", \"scheduled_datetime\":\"2021-11-01T00:00:00\"}}" + "raw": "{\"data\":{\"rule_id\":1, \"recipient_name\":\"myems\", \"recipient_openid\":\"oia2TjuEGTNoeX76QEjQNrcURxG8\", \"message_template_id\":\"Doclyl5uP7Aciu-qZ7mJNPtWkbkYnWBWVja26EGbNyk\", \"message_data\":\"{\\\"space_id\\\":1, \\\"high_limit\\\":1000.000}\", \"acknowledge_code\":\"9e52ad6d\", \"created_datetime\":\"2021-12-24T00:00:00\", \"scheduled_datetime\":\"2021-12-24T00:00:00\"}}" }, "url": { "raw": "{{base_url}}/wechatmessages", diff --git a/myems-api/README.md b/myems-api/README.md index 7017e95c..30217029 100644 --- a/myems-api/README.md +++ b/myems-api/README.md @@ -506,7 +506,15 @@ Result in JSON ```bash curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/emailmessages/{id} ``` -* GET Email Messages by Datetime Range +* POST Create New Email Message +```bash +curl --location --request POST '{{base_url}}/emailmessages' \ +--header 'User-UUID: dcdb67d1-6116-4987-916f-6fc6cf2bc0e4' \ +--header 'Token: GET-TOKEN-AFTER-LOGIN' \ +--form 'file=@"/D:/myems/meterenergy.xlsx"' \ +--form 'req="{\"data\":{\"rule_id\":1, \"recipient_name\":\"myems\", \"recipient_email\":\"myems@163.com\", \"subject\":\"report_01_2021_12_24\", \"message\":\"report_01_2021_12_24\", \"created_datetime\":\"2021-12-24T00:00:00\", \"scheduled_datetime\":\"2021-12-24T00:00:00\"}}"' +``` +* GET Email Messages by Datetime Range ```bash curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/emailmessages?startdatetime={startdatetime}&enddatetime={enddatetime} ``` @@ -1955,7 +1963,15 @@ Result in JSON ```bash curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/textmessages/{id} ``` -* GET Text Messages by Datetime Range +* POST Create New Text Message +```bash +curl --location --request POST '{{base_url}}/textmessages' \ +--header 'User-UUID: dcdb67d1-6116-4987-916f-6fc6cf2bc0e4' \ +--header 'Token: GET-TOKEN-AFTER-LOGIN' \ +--header 'Content-Type: text/plain' \ +--data-raw '{"data":{"rule_id":1, "recipient_name":"myems", "recipient_mobile":"13888888888", "message":"report_01_2021_12_24", "acknowledge_code":"123456", "created_datetime":"2021-12-24T00:00:00", "scheduled_datetime":"2021-12-24T00:00:00"}}' +``` +* GET Text Messages by Datetime Range ```bash curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/textmessages?startdatetime={startdatetime}&enddatetime={enddatetime} ``` @@ -2120,7 +2136,15 @@ Result in JSON ```bash curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/wechatmessages/{id} ``` -* GET Wechat Messages by Datetime Range +* POST Create New Wechat Message +```bash +curl --location --request POST '{{base_url}}/wechatmessages' \ +--header 'User-UUID: dcdb67d1-6116-4987-916f-6fc6cf2bc0e4' \ +--header 'Token: GET-TOKEN-AFTER-LOGIN' \ +--header 'Content-Type: text/plain' \ +--data-raw '{"data":{"rule_id":1, "recipient_name":"myems", "recipient_openid":"oia2TjuEGTNoeX76QEjQNrcURxG8", "message_template_id":"Doclyl5uP7Aciu-qZ7mJNPtWkbkYnWBWVja26EGbNyk", "message_data":"{\"space_id\":1, \"high_limit\":1000.000}", "acknowledge_code":"9e52ad6d", "created_datetime":"2021-12-24T00:00:00", "scheduled_datetime":"2021-12-24T00:00:00"}}' +``` +* GET Wechat Messages by Datetime Range ```bash curl -i -H "User-UUID: 793f1bb4-6e25-4242-8cdc-2f662b25484f" -H "Token: GET-TOKEN-AFTER-LOGIN" -X GET {{base_url}}/wechatmessages?startdatetime={startdatetime}&enddatetime={enddatetime} ``` diff --git a/myems-api/core/emailmessage.py b/myems-api/core/emailmessage.py index 1ed3e232..3a1d20d9 100644 --- a/myems-api/core/emailmessage.py +++ b/myems-api/core/emailmessage.py @@ -174,7 +174,7 @@ class EmailMessageCollection: if created_datetime_local is None: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', - description="API.INVALID_CREATED_DATETIME_FORMAT") + description="API.INVALID_CREATED_DATETIME") else: created_datetime_local = str.strip(created_datetime_local) try: @@ -183,11 +183,11 @@ class EmailMessageCollection: timedelta(minutes=timezone_offset) except ValueError: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', - description="API.INVALID_CREATED_DATETIME_FORMAT") + description="API.INVALID_CREATED_DATETIME") if scheduled_datetime_local is None: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', - description="API.INVALID_SCHEDULED_DATETIME_FORMAT") + description="API.INVALID_SCHEDULED_DATETIME") else: scheduled_datetime_local = str.strip(scheduled_datetime_local) try: @@ -196,7 +196,7 @@ class EmailMessageCollection: timedelta(minutes=timezone_offset) except ValueError: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', - description="API.INVALID_SCHEDULED_DATETIME_FORMAT") + description="API.INVALID_SCHEDULED_DATETIME") status = 'new' diff --git a/myems-api/core/textmessage.py b/myems-api/core/textmessage.py index 6058c716..ab35a9c4 100644 --- a/myems-api/core/textmessage.py +++ b/myems-api/core/textmessage.py @@ -134,7 +134,7 @@ class TextMessageCollection: not isinstance(new_values['data']['acknowledge_code'], str) or \ len(str.strip(new_values['data']['acknowledge_code'])) == 0: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', - description='API.INVALID_MESSAGE_ACKNOWLEDGE_CODE') + description='API.INVALID_ACKNOWLEDGE_CODE') acknowledge_code = str.strip(new_values['data']['acknowledge_code']) if 'created_datetime' not in new_values['data'].keys() or \ @@ -157,7 +157,7 @@ class TextMessageCollection: if created_datetime_local is None: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', - description="API.INVALID_CREATED_DATETIME_FORMAT") + description="API.INVALID_CREATED_DATETIME") else: created_datetime_local = str.strip(created_datetime_local) try: @@ -166,11 +166,11 @@ class TextMessageCollection: timedelta(minutes=timezone_offset) except ValueError: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', - description="API.INVALID_CREATED_DATETIME_FORMAT") + description="API.INVALID_CREATED_DATETIME") if scheduled_datetime_local is None: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', - description="API.INVALID_SCHEDULED_DATETIME_FORMAT") + description="API.INVALID_SCHEDULED_DATETIME") else: scheduled_datetime_local = str.strip(scheduled_datetime_local) try: @@ -179,7 +179,7 @@ class TextMessageCollection: timedelta(minutes=timezone_offset) except ValueError: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', - description="API.INVALID_SCHEDULED_DATETIME_FORMAT") + description="API.INVALID_SCHEDULED_DATETIME") status = 'new' diff --git a/myems-api/core/wechatmessage.py b/myems-api/core/wechatmessage.py index 6823c8ec..b5eddb42 100644 --- a/myems-api/core/wechatmessage.py +++ b/myems-api/core/wechatmessage.py @@ -130,7 +130,6 @@ class WechatMessageCollection(object): raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', description='API.INVALID_OPENID') - if 'message_template_id' not in new_values['data'].keys() or \ not isinstance(new_values['data']['message_template_id'], str) or \ len(str.strip(new_values['data']['message_template_id'])) == 0: @@ -140,7 +139,7 @@ class WechatMessageCollection(object): match = re.match(r'^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[\w-]{43}$', message_template_id) if match is None: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', - description='API.INVALID_TEMPLATE_ID') + description='API.INVALID_MESSAGE_TEMPLATE_ID') if 'message_data' not in new_values['data'].keys() or \ not isinstance(new_values['data']['message_data'], str) or \ @@ -159,7 +158,7 @@ class WechatMessageCollection(object): not isinstance(new_values['data']['acknowledge_code'], str) or \ len(str.strip(new_values['data']['acknowledge_code'])) == 0: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', - description='API.INVALID_MESSAGE_ACKNOWLEDGE_CODE') + description='API.INVALID_ACKNOWLEDGE_CODE') acknowledge_code = str.strip(new_values['data']['acknowledge_code']) if 'created_datetime' not in new_values['data'].keys() or \ @@ -182,7 +181,7 @@ class WechatMessageCollection(object): if created_datetime_local is None: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', - description="API.INVALID_CREATED_DATETIME_FORMAT") + description="API.INVALID_CREATED_DATETIME") else: created_datetime_local = str.strip(created_datetime_local) try: @@ -191,11 +190,11 @@ class WechatMessageCollection(object): timedelta(minutes=timezone_offset) except ValueError: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', - description="API.INVALID_CREATED_DATETIME_FORMAT") + description="API.INVALID_CREATED_DATETIME") if scheduled_datetime_local is None: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', - description="API.INVALID_SCHEDULED_DATETIME_FORMAT") + description="API.INVALID_SCHEDULED_DATETIME") else: scheduled_datetime_local = str.strip(scheduled_datetime_local) try: @@ -204,7 +203,7 @@ class WechatMessageCollection(object): timedelta(minutes=timezone_offset) except ValueError: raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', - description="API.INVALID_SCHEDULED_DATETIME_FORMAT") + description="API.INVALID_SCHEDULED_DATETIME") status = 'new'