# 訂購記錄 --- - 常數定義 - [訂購類型](#訂購類型) - [訂購記錄狀態](#訂購記錄狀態) - [使用者訂購記錄項目狀態](#使用者訂購記錄項目狀態) - API 清單 - App端 - [取得訂購記錄列表](#取得訂購記錄列表) - [取得訂購記錄明細](#取得訂購記錄明細) - Web端 - [取得當日新訂購數量](#取得當日新訂購數量) - [取得加值服務機構單位列表](#取得加值服務機構單位列表) - [取得加值服務列表](#取得加值服務列表) - [匯出會員訂單報表](#匯出會員訂單報表) --- ## 常數定義 ### 訂購類型 欄位 | 型態 | 說明 ---|---|--- purchaseType | string | 訂購類型, MEMBER_CARD: 會員卡, VALUE_ADDED_SERVICE: 加值服務 ### 訂購記錄狀態 欄位 | 型態 | 說明 ---|---|--- status | string | 訂購記錄狀態, CREATED: 已建立, PAYING: 付款中, PAID: 已付款, PROCESSED: 已完成後續處理 ### 使用者訂購記錄項目狀態 欄位 | 型態 | 說明 ---|---|--- status | string | 使用者訂購記錄項目狀態, 01: 未啟用, 02:啟用中, 03:已啟用, 04:已終止, 05:退款中 --- # API 清單 ## App端 ### 取得訂購記錄列表 ```url POST /purchase-record/list ``` * 權限: App一般使用者 #### Request-取得訂購記錄列表 欄位 | 型態 | 必填 | 長度限制 | 預設 | 說明 ---|---|---|---|---|--- query | json | | | | 查詢條件json #### Request-取得訂購記錄列表-query(json) 欄位 | 型態 | 必填 | 長度限制 | 預設 | 說明 ---|---|---|---|---|--- status | string | | | | 使用者訂購記錄項目狀態, 未填則表示查詢全部, 請參閱 [使用者訂購記錄項目狀態](#使用者訂購記錄項目狀態) ```javascript { "query": { "status": null } } ``` #### Response-取得訂購記錄列表 欄位 | 型態 | 說明 --- | --- | --- purchaseId | string | 訂購記錄id purchaseType | string | 訂購類型, 參閱 [訂購類型](#訂購類型) purchaseItemName | string | 訂購項目名稱 orderId | string | 訂單記錄id targetId | string | 訂購項目id, 依據purchaseType=MEMBER_CARD, 為memberCardId, purchaseType=VALUE_ADDED_SERVICE, 為加值服務id purchaseTime | timestamp | 訂購時間 status | string | 使用者訂購記錄項目狀態, 參閱 [使用者訂購記錄項目狀態](#使用者訂購記錄項目狀態) activeTime | timestamp | 啟用時間 expiredTime | timestamp | 到期時間 activeApplyEndTime | timestamp | 服務申請啟用截止時間 activeApplyTime | timestamp | 服務申請啟用時間 ```javascript { "httpCode": 200, "result": { "data": [ { "purchaseId": "530860e4-c8db-4133-b311-0bbd97faa09b", "purchaseType": "MEMBER_CARD", "purchaseItemName": "銀卡會員", "orderId": "7e274d01-2541-4cc1-9251-296f1c6e9570", "targetId": "283634a5-aee8-499f-a4cb-7cb27a8048e9", "purchaseTime": 1677061442771, "status": "03", "activeTime": 1677061582749, "expiredTime": 1768838399999 }, { "purchaseId": "3dccc957-c113-4b00-ba51-041224aa6f06", "purchaseType": "VALUE_ADDED_SERVICE", "purchaseItemName": "營養師諮詢服務", "orderId": "a159010a-1ed7-486a-970d-c55e4dedb0b6", "targetId": "e8330b6f-6b8a-4320-a71e-94ef54bcd23d", "purchaseTime": 1677059915484, "tenantId": "1af0a4c2-ef73-4385-aa8e-8e7ae8afe155", "tenantName": "小港醫院", "status": "01", "activeApplyEndTime": 1679759999999 }, ... ], "total": 4 } } ``` ### 取得訂購記錄明細 ```url POST /purchase-record/info ``` * 權限: App一般使用者 #### Request-取得訂購記錄明細 欄位 | 型態 | 必填 | 長度限制 | 預設 | 說明 ---|---|---|---|---|--- id | string | Y | 36 | | 訂購記錄id ```javascript { "id": "530860e4-c8db-4133-b311-0bbd97faa09b" } ``` #### Response-取得訂購記錄明細 欄位 | 型態 | 說明 --- | --- | --- userMemberCardInfo | json | 使用者會員卡記錄json userValueAddedServiceInfo | json | 使用者加值服務記錄json orderInfo | json | 訂單info json ##### Response-取得訂購記錄明細-userMemberCardInfo(json) 欄位 | 型態 | 說明 --- | --- | --- id | string | householdMemberId | string | householdMemberId memberCardId | string | 訂購的會員卡id period | int | 訂購時的會員卡效期 periodType | string | 訂購時的會員卡效期類型, 參閱 [會員卡效期類型](#https://hackmd.io/kvZLCMSqSpW159tkxEVKmg#%E6%9C%83%E5%93%A1%E5%8D%A1%E6%95%88%E6%9C%9F%E9%A1%9E%E5%9E%8B) activeTime | timestamp | 會員效期啟始時間 expiredTime | timestamp | 會員效期到期時間 price | decimal | 訂購時的售價 upgradePoints | int | 訂購時的升等贈點 purchaseId | string | 訂購記錄id levelType | string | 會員卡等級, 參閱 [會員卡類型](#https://hackmd.io/kvZLCMSqSpW159tkxEVKmg#%E6%9C%83%E5%93%A1%E5%8D%A1%E9%A1%9E%E5%9E%8B) isHot | boolean | 熱門選項 contentZh | string | 內容描述(中文) contentEn | string | 內容描述(英文) status | string | 使用者訂購記錄項目狀態, 參閱 [使用者訂購記錄項目狀態](#使用者訂購記錄項目狀態) ##### Response-取得訂購記錄明細-userValueAddedServiceInfo(json) 欄位 | 型態 | 說明 --- | --- | --- id | string | householdMemberId | string | housholdMemberId vasId | string | 訂購的加值服務id purchaseId | string | 訂購記錄id memberLevel | string | 訂購時的會員卡等級, 參閱 [會員卡類型](#https://hackmd.io/kvZLCMSqSpW159tkxEVKmg#%E6%9C%83%E5%93%A1%E5%8D%A1%E9%A1%9E%E5%9E%8B) price | decimal | 訂購時的售價 period | int | 訂購時的加值服務效期 periodType | string | 訂購時的加值服務效期類型, 參閱 [加值服務效期類型](#https://hackmd.io/3o9lX9ByRr6i3d4vQ3Epig?view#%E5%8A%A0%E5%80%BC%E6%9C%8D%E5%8B%99%E6%95%88%E6%9C%9F%E9%A1%9E%E5%9E%8B) applyPeriod | int | 訂購時的加值服務啟用效期 applyPeriodType | string | 訂購時的加值服務啟用效期類型, 參閱 [加值服務啟用效期類型](#https://hackmd.io/3o9lX9ByRr6i3d4vQ3Epig?view#%E5%8A%A0%E5%80%BC%E6%9C%8D%E5%8B%99%E5%95%9F%E7%94%A8%E6%95%88%E6%9C%9F%E9%A1%9E%E5%9E%8B) priceType | string | 訂購時的售價優惠條件類型, 參閱 [售價優惠條件類型](#https://hackmd.io/3o9lX9ByRr6i3d4vQ3Epig?view#%E5%94%AE%E5%83%B9%E5%84%AA%E6%83%A0%E6%A2%9D%E4%BB%B6%E9%A1%9E%E5%9E%8B) activeTime | timestamp | 服務啟用時間 expiredTime | timestamp | 服務到期時間 activeApplyEndTime | timestamp | 服務申請啟用截止時間 activeApplyTime | timestamp | 服務申請啟用時間 status | string | 使用者訂購記錄項目狀態, 參閱 [使用者訂購記錄項目狀態](#使用者訂購記錄項目狀態) tenantId | string | 提供加值服務的租戶id tenantName | string | 提供加值服務的租戶名稱 serviceName | string | 加值服務名稱(中文) serviceNameEn | string | 加值服務名稱(英文) description | string | 加值服務說明(中文) descriptionEn | string | 加值服務說明(英文) ##### Response-取得訂購記錄明細-orderInfo(json) 欄位 | 型態 | 說明 --- | --- | --- id | string | 訌單id orderType | string | 訂單類型, MEMBER_LEVEL: 會員卡, VALUE_ADDED_SERVICE: 加值服務 orderNo | string | 訂單號碼 orderStatus | string | 訂單狀態, NONE:尚未付款, PROCESSING:付款處理中, COMPLETED:付款成功, FAILED:付款失敗 totalAmount | int | 付款金額 orderTime | timestamp | 訂單建立日期時間 paymentType | string | 付款類型, ONETIME: 信用卡一次付清 itemName | string | 訂購目名稱 * 使用者會員卡記錄 ```javascript { "httpCode": 200, "result": { "data": { "userMemberCardInfo": { "id": "82a530fd-a449-4132-8f60-cbbed1424692", "householdMemberId": "150b53f5-7126-4900-9fb0-87a08b45e06b", "memberCardId": "283634a5-aee8-499f-a4cb-7cb27a8048e9", "period": 1, "periodType": "YEAR", "activeTime": 1677061582749, "expiredTime": 1768838399999, "price": 1000, "upgradePoints": 100, "purchaseId": "530860e4-c8db-4133-b311-0bbd97faa09b", "levelType": "SILVER", "isHot": false, "contentZh": ".健康購物享優惠價\r\n.生理量測/步行/飲食健康紀錄\r\n.健康分析\r\n.衛教資訊\r\n.參與線上活動", "contentEn": ". Enjoy discounted prices for healthy shopping\r\n. Physiological measurement/walking/diet health records\r\n. Health analysis\r\n. Health education information\r\n. Online activities", "status": "03" }, "orderInfo": { "id": "7e274d01-2541-4cc1-9251-296f1c6e9570", "orderType": "MEMBER_LEVEL", "orderNo": "ML2302220004", "orderStatus": "COMPLETED", "totalAmount": 1000, "orderTime": 1677061442838, "paymentType": "ONETIME", "itemName": "銀卡會員" } } } } ``` * 使用者加值服務記錄 ```javascript { "httpCode": 200, "result": { "data": { "userValueAddedServiceInfo": { "id": "29449983-a5d7-4bd4-bed1-1c24a845bdba", "householdMemberId": "150b53f5-7126-4900-9fb0-87a08b45e06b", "vasId": "e8330b6f-6b8a-4320-a71e-94ef54bcd23d", "purchaseId": "3dccc957-c113-4b00-ba51-041224aa6f06", "memberLevel": "SILVER", "price": 3000, "period": 1, "periodType": "YEAR", "applyPeriod": 1, "applyPeriodType": "MONTH", "priceType": "DEFAULT", "activeApplyEndTime": 1679759999999, "status": "01", "tenantId": "1af0a4c2-ef73-4385-aa8e-8e7ae8afe155", "tenantName": "小港醫院", "serviceName": "營養師諮詢服務", "serviceNameEn": "Dietitian Consulting Services", "description": "透過營養師個人化專屬菜單設計,精算每日所需營養,規劃出飲食執行計劃,並且由營養師追蹤客戶的執行與成效,用飲食打造客戶最佳的身體狀態!", "descriptionEn": "Through the dietitian's personalized and exclusive menu design, actuarial calculation of dialy nutritional needs, planning a diet execution plan, and the nutritionist will track the client's execution and results, and use diet to create the best physical condition of the client!" }, "orderInfo": { "id": "a159010a-1ed7-486a-970d-c55e4dedb0b6", "orderType": "VALUE_ADDED_SERVICE", "orderNo": "VA2302220001", "orderStatus": "COMPLETED", "totalAmount": 3000, "orderTime": 1677059915652, "paymentType": "ONETIME", "itemName": "營養師諮詢服務" } } } } ``` ## Web端 ### 取得當日新訂購數量 ```url POST /purchase-record-mgmt/new-purchase-count ``` * 權限: 平台管理員 #### Request-取得當日新訂購數量 欄位 | 型態 | 必填 | 長度限制 | 預設 | 說明 ---|---|---|---|---|--- ```javascript ``` #### Response-取得訂購記錄列表 欄位 | 型態 | 說明 --- | --- | --- totalCount | int | 當日新訂購的總數量 dataList | json array | 訂購類型json array #### Response-取得訂購記錄列表-dataList(json) 欄位 | 型態 | 說明 --- | --- | --- purchaseType | string | 訂購類型, 參閱 [訂購類型](#訂購類型) count | int | 數量 ```javascript { "httpCode": 200, "result": { "data": { "totalCount": 5, "dataList": [ { "purchaseType": "MEMBER_CARD", "count": 3 }, { "purchaseType": "VALUE_ADDED_SERVICE", "count": 2 } ] } } } ``` ### 取得加值服務機構單位列表 ```url POST /purchase-record-mgmt/vas-tenant-list ``` * 權限: 平台管理員 * 只列出有提供加值服務的租戶列表 #### Request-取得加值服務機構單位列表 欄位 | 型態 | 必填 | 長度限制 | 預設 | 說明 ---|---|---|---|---|--- ```javascript ``` #### Response-取得加值服務機構單位列表 欄位 | 型態 | 說明 --- | --- | --- tenantId | string | 租戶id tenantName | string | 租戶名稱 ```javascript { "httpCode": 200, "result": { "data": [ { "tenantId": "1af0a4c2-ef73-4385-aa8e-8e7ae8afe155", "tenantName": "小港醫院" }, ... ] } } ``` ### 取得加值服務列表 ```url POST /purchase-record-mgmt/vas-name-list ``` * 權限: 平台管理員 #### Request-取得加值服務列表 欄位 | 型態 | 必填 | 長度限制 | 預設 | 說明 ---|---|---|---|---|--- tenantId | string | | 36 | | 租戶id, 若未填入, 則列出所有加值服務列表 ```javascript { "tenantId": null } ``` #### Response-取得加值服務列表 欄位 | 型態 | 說明 --- | --- | --- id | string | 加值服務id serviceName | string | 加值服務名稱(中文) serviceNameEn | string | 加值服務名稱(英文) ```javascript { "httpCode": 200, "result": { "data": [ { "id": "e8330b6f-6b8a-4320-a71e-94ef54bcd23d", "serviceName": "營養師諮詢服務", "serviceNameEn": "Dietitian Consulting Services" }, ... ] } } ``` ### 匯出會員訂單報表 ```url POST /purchase-record-mgmt/export ``` * 權限: 平台管理員 #### Request-匯出會員訂單報表 欄位 | 型態 | 必填 | 長度限制 | 預設 | 說明 ---|---|---|---|---|--- startDate | string | Y | 10 | | 訂單期間啟始日, YYYY-MM-DD endDate | string | Y | 10 | | 訂單期間截止日, YYYY-MM-DD purchaseType | string | | 10 | | 訂購類型, 參閱 [訂購類型](#訂購類型) tenantId | string | | 36 | | 租戶id vasId | string | | 36 | | 加值服務id memberLevel | string | | 10 | | 會員等級, 參閱 [會員卡類型](#https://hackmd.io/kvZLCMSqSpW159tkxEVKmg#%E6%9C%83%E5%93%A1%E5%8D%A1%E9%A1%9E%E5%9E%8B) ```javascript { "startDate": "2023-02-01", "endDate": "2023-02-28", "purchaseType": null, "tenantId": null, "vasId": null, "memberLevel": null } ``` #### Response-匯出會員訂單報表 * httpCode 200 -Download file ``` File name: 會員訂單報表.xlsx ```