# 諮詢討論 ## 新增諮詢內容 ```url= POST /consult/question/add ``` Request | 欄位 | 型態 | 必填 | 預設 | 說明 | |---|---|---|---|---| | title | String |N | | 諮詢標題 | | content | String | Y | | 諮詢內容 | | tenantId | String | Y | | 期望回復單位的租戶ID | ### Request Body Example: ```javascript= { "content": "test content", "tenantId": "858b7fbb-3ba0-4d49-9882-c893a1ef07dc" } ``` ### Response Body Param | 欄位 | 型態 | 說明 | | -----| -----|-------- | | id| String | 諮詢ID | ### Response Body Example ```json= { "httpCode": 200, "result": { "data": { "id": "927ea139-88a7-42e2-aa91-f3f8bb2db298" } } } ``` ## 編輯諮詢內容 ```url= POST /consult/question/update ``` Request | 欄位 | 型態 | 必填 | 預設 | 說明 | |---|---|---|---|---| | consultQuestionId | String | Y | | 要編輯的諮詢ID | | title | String |N | | 諮詢標題 | | content | String | Y | | 諮詢內容 | ### Request Body Example: ```javascript= { "consultQuestionId": "1503588f-f611-463b-b031-68395570ca00", "content": "new content1" } ``` ### Response Body Param | 欄位 | 型態 | 說明 | | -----| -----|-------- | | id| String | 諮詢ID | ### Response Body Example ```json= { "httpCode": 200, "result": { "data": { "id": "927ea139-88a7-42e2-aa91-f3f8bb2db298" } } } ``` ## 回覆諮詢內容 ```url= POST /consult/answer/add ``` Request | 欄位 | 型態 | 必填 | 預設 | 說明 | |---|---|---|---|---| | consultQuestionId | String | Y | | 要回覆的諮詢ID | | content | String | Y | | 諮詢內容 | ### Request Body Example: ```javascript= { "consultQuestionId":"927ea139-88a7-42e2-aa91-f3f8bb2db298", "content": "reply content 1" } ``` ### Response Body Param | 欄位 | 型態 | 說明 | | -----| -----|-------- | | consultAnswerId| String | 回覆ID | ### Response Body Example ```json= { "httpCode": 200, "result": { "data": { "consultAnswerId": "927ea139-88a7-42e2-aa91-f3f8bb2db298" } } } ``` ## 編輯回覆諮詢內容 ```url= POST /consult/answer/update ``` Request | 欄位 | 型態 | 必填 | 預設 | 說明 | |---|---|---|---|---| | consultQuestionId | String | Y | | 要編輯的諮詢ID | | consultAnswerId | String | Y | | 要編輯的回覆ID | | content | String | Y | | 諮詢內容 | ### Request Body Example: ```javascript= { "consultQuestionId":"927ea139-88a7-42e2-aa91-f3f8bb2db298", "consultAnswerId": "64e5c7da-b246-4f5b-9280-e17a5546988f", "content": "reply content new" } ``` ### Response Body Param | 欄位 | 型態 | 說明 | | -----| -----|-------- | | id| String | 諮詢ID | ### Response Body Example ```json= { "httpCode": 200, "result": { "data": { "id": "927ea139-88a7-42e2-aa91-f3f8bb2db298" } } } ``` ## 取得諮詢列表(by作者) ```url= GET /consult/question/listByAuthor ``` Request | 欄位 | 型態 | 必填 | 預設 | 說明 | |---|---|---|---|---| | read| Boolean|N | 過濾回復已讀狀態 |不帶的話就是撈全部, 帶false就是撈回復未讀的諮詢 ### Request Body Example: ```javascript= ``` ### Response Body Param | 欄位 | 型態 | 說明 | | -----| -----|-------- | | consultQuestionId| String | 諮詢ID | | title| String | 諮詢標題 | | content| String | 諮詢內容 | | authorName| String | 作者姓名 | | authorAccount| String | 諮詢帳號 | | answerCount| int | 回覆數量 | | isAuthor| String | 該諮詢/回覆 是否為本人提交 | | roleType| String | 該篇作者腳色(GENERAL_PUBLIC為app用戶, 其他是web 用戶) | | diseaseInfo| String | 當腳色是app用戶時, 且有被收案. 該欄位為被收案的疾病 | | roleName| String | 當腳色是web用戶時, 且有被設定腳色. 該欄位為腳色名稱 | | divisionName| String | 當腳色是web用戶時, 且有被設定科別. 該欄位為科別名稱 | | createTime| String | 諮詢項目創建時間 | | updateTime| String | 諮詢項目更新時間 | | read| Boolean | 諮詢問題是否已讀 | | latestAnswer| json | 當answerCount > 0時, 這項會列出最新一筆回覆 | | consultQuestionId| String | 諮詢ID | |consultAnswerId| String|回覆ID| | content| String | 回覆內容 | | authorName| String | 作者姓名 | | authorAccount| String | 諮詢帳號 | | isAuthor| String | 該諮詢/回覆 是否為本人提交 | | read| boolean | 是否已讀 | | roleType| String | 該篇作者腳色(GENERAL_PUBLIC為app用戶, 其他是web 用戶) | | diseaseInfo| String | 當腳色是app用戶時, 且有被收案. 該欄位為被收案的疾病 | | roleName| String | 當腳色是web用戶時, 且有被設定腳色. 該欄位為腳色名稱 | | divisionName| String | 當腳色是web用戶時, 且有被設定科別. 該欄位為科別名稱 | | createTime| String | 回覆諮詢創建時間 | | updateTime| String | 回覆諮詢更新時間 | ### Response Body Example ```json= { "httpCode": 200, "result": { "data": [ { "consultQuestionId": "927ea139-88a7-42e2-aa91-f3f8bb2db298", "title": "test title", "authorAccount": "F147926210", "authorName": "陳大天", "content": "test content", "answerCount": 3, "isAuthor": true, "roleType": "GENERAL_PUBLIC", "diseaseInfo": "DM ,ECKD Stage 1,ECKD Stage 1", "createTime": "2021-03-17 17:42", "updateTime": "2021-03-17 17:42", "total": 2, "read": false, "latestAnswer": { "consultAnswerId": "26eeab10-738e-4a9f-8a0c-af30b102462c", "consultQuestionId": "833e0f22-c603-4629-b9d2-3290b8b3e15a", "authorAccount": "n_nurse@nn.nn", "authorName": "n護士", "content": "reply content 2", "isAuthor": false, "roleType": "TENANT_ROLE_USER", "roleName": "護士", "divisionName": "神經科", "read": false, "createTime": "2021-03-22 13:12", "updateTime": "2021-03-22 13:12" } }, { "consultQuestionId": "1503588f-f611-463b-b031-68395570ca00", "title": "new title", "authorAccount": "F147926210", "authorName": "陳大天", "content": "new content", "answerCount": 0, "isAuthor": true, "roleType": "TENANT_ROLE_USER", "roleName": "腦科醫生", "divisionName": "心臟科", "read": false, "createTime": "2021-03-17 17:29", "updateTime": "2021-03-17 17:37", "total": 2 } ] } } ``` ## 取得諮詢內容(含回覆) (租戶呼叫後會把諮詢題目和同租戶以外的回復設為已讀, 個人用戶呼叫後會把非自己的回覆設為已讀) ```url= POST /consult/question ``` Request | 欄位 | 型態 | 必填 | 預設 | 說明 | |---|---|---|---|---| | consultQuestionId | String | Y | | 要查詢的諮詢ID | ### Request Body Example: ```javascript= { "query": { "consultQuestionId":"927ea139-88a7-42e2-aa91-f3f8bb2db298" } } ``` ### Response Body Param | 欄位 | 型態 | 說明 | | -----| -----|-------- | | question| json | 諮詢內容 | | consultQuestionId| String | 諮詢ID | | title| String | 諮詢標題 | | content| String | 諮詢內容 | | authorName| String | 作者姓名 | | authorAccount| String | 諮詢帳號 | | isAuthor| String | 該諮詢/回覆 是否為本人提交 | | roleType| String | 該篇作者腳色(GENERAL_PUBLIC為app用戶, 其他是web 用戶) | | diseaseInfo| String | 當腳色是app用戶時, 且有被收案. 該欄位為被收案的疾病 | | roleName| String | 當腳色是web用戶時, 且有被設定腳色. 該欄位為腳色名稱 | | divisionName| String | 當腳色是web用戶時, 且有被設定科別. 該欄位為科別名稱 | | createTime| String | 諮詢項目創建時間 | | updateTime| String | 諮詢項目更新時間 | | answers| json array | 諮詢內容 | | consultQuestionId| String | 諮詢ID | |consultAnswerId| String|回覆ID| | content| String | 回覆內容 | | authorName| String | 作者姓名 | | authorAccount| String | 諮詢帳號 | | isAuthor| String | 該諮詢/回覆 是否為本人提交 | | roleType| String | 該篇作者腳色(GENERAL_PUBLIC為app用戶, 其他是web 用戶) | | diseaseInfo| String | 當腳色是app用戶時, 且有被收案. 該欄位為被收案的疾病 | | roleName| String | 當腳色是web用戶時, 且有被設定腳色. 該欄位為腳色名稱 | | divisionName| String | 當腳色是web用戶時, 且有被設定科別. 該欄位為科別名稱 | | createTime| String | 回覆諮詢創建時間 | | updateTime| String | 回覆諮詢更新時間 | ### Response Body Example ```json= { "httpCode": 200, "result": { "data": { "question": { "consultQuestionId": "927ea139-88a7-42e2-aa91-f3f8bb2db298", "title": "test title", "authorAccount": "F147926210", "authorName": "陳大天", "content": "test content", "answerCount": 3, "isAuthor": true, "roleType": "GENERAL_PUBLIC", "createTime": "2021-03-17 17:42", "updateTime": "2021-03-17 17:42", "total": 1 }, "answers": [ { "consultAnswerId": "64e5c7da-b246-4f5b-9280-e17a5546988f", "consultQuestionId": "927ea139-88a7-42e2-aa91-f3f8bb2db298", "authorAccount": "F147926210", "authorName": "陳大天", "content": "reply content 1", "isAuthor": true, "roleType": "GENERAL_PUBLIC", "createTime": "2021-03-18 08:57", "updateTime": "" } ] } } }