---
# System prepended metadata

title: 訂購記錄

---

# 訂購記錄

---
- 常數定義
  - [訂購類型](#訂購類型)
  - [訂購記錄狀態](#訂購記錄狀態)
  - [使用者訂購記錄項目狀態](#使用者訂購記錄項目狀態)
- 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
```

