274 lines
4.9 KiB
Markdown
274 lines
4.9 KiB
Markdown
# NSUserPlanService
|
||
> 用户DNS套餐服务
|
||
|
||
---
|
||
|
||
## buyNSUserPlan
|
||
> 使用余额购买用户套餐
|
||
|
||
- 角色:`admin`
|
||
- HTTP:`POST https://backend.dooki.cloud/NSUserPlanService/buyNSUserPlan`
|
||
- RPC:`rpc buyNSUserPlan(BuyNSUserPlanRequest) returns (BuyNSUserPlanResponse);`
|
||
|
||
**请求对象 (`BuyNSUserPlanRequest`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID",
|
||
"planId": "int64",
|
||
"period": "string"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`BuyNSUserPlanResponse`)**
|
||
|
||
```json
|
||
{
|
||
"userPlanId": "int64"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
curl -X POST "https://backend.dooki.cloud/NSUserPlanService/buyNSUserPlan" \
|
||
-H "Content-Type: application/json" \
|
||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||
-d '{
|
||
...
|
||
}'
|
||
```
|
||
|
||
---
|
||
|
||
## countNSUserPlans
|
||
> 计算用户套餐数量
|
||
|
||
- 角色:`admin`
|
||
- HTTP:`POST https://backend.dooki.cloud/NSUserPlanService/countNSUserPlans`
|
||
- RPC:`rpc countNSUserPlans(CountNSUserPlansRequest) returns (RPCCountResponse);`
|
||
|
||
**请求对象 (`CountNSUserPlansRequest`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID",
|
||
"nsPlanId": "int64",
|
||
"periodUnit": "string",
|
||
"isExpired": "bool",
|
||
"expireDays": "int32"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`RPCCountResponse`)**
|
||
|
||
```json
|
||
{
|
||
"count": "int64 // 数量"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
curl -X POST "https://backend.dooki.cloud/NSUserPlanService/countNSUserPlans" \
|
||
-H "Content-Type: application/json" \
|
||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||
-d '{
|
||
...
|
||
}'
|
||
```
|
||
|
||
---
|
||
|
||
## createNSUserPlan
|
||
> 创建用户套餐
|
||
|
||
- 角色:`admin`
|
||
- HTTP:`POST https://backend.dooki.cloud/NSUserPlanService/createNSUserPlan`
|
||
- RPC:`rpc createNSUserPlan(CreateNSUserPlanRequest) returns (CreateNSUserPlanResponse);`
|
||
|
||
**请求对象 (`CreateNSUserPlanRequest`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID",
|
||
"nsPlanId": "int64",
|
||
"dayFrom": "string // YYYYMMDD",
|
||
"dayTo": "string // YYYYMMDD",
|
||
"periodUnit": "string // yearly|monthly"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`CreateNSUserPlanResponse`)**
|
||
|
||
```json
|
||
{
|
||
"nsUserPlanId": "int64"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
curl -X POST "https://backend.dooki.cloud/NSUserPlanService/createNSUserPlan" \
|
||
-H "Content-Type: application/json" \
|
||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||
-d '{
|
||
...
|
||
}'
|
||
```
|
||
|
||
---
|
||
|
||
## deleteNSUserPlan
|
||
> 删除用户套餐
|
||
|
||
- 角色:`admin`
|
||
- HTTP:`POST https://backend.dooki.cloud/NSUserPlanService/deleteNSUserPlan`
|
||
- RPC:`rpc deleteNSUserPlan(DeleteNSUserPlanRequest) returns (RPCSuccess);`
|
||
|
||
**请求对象 (`DeleteNSUserPlanRequest`)**
|
||
|
||
```json
|
||
{
|
||
"nsUserPlanId": "int64"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`RPCSuccess`)**
|
||
|
||
```json
|
||
{}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
curl -X POST "https://backend.dooki.cloud/NSUserPlanService/deleteNSUserPlan" \
|
||
-H "Content-Type: application/json" \
|
||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||
-d '{
|
||
...
|
||
}'
|
||
```
|
||
|
||
---
|
||
|
||
## findNSUserPlan
|
||
> 读取用户套餐
|
||
|
||
- 角色:`admin`, `user`
|
||
- HTTP:`POST https://backend.dooki.cloud/NSUserPlanService/findNSUserPlan`
|
||
- RPC:`rpc findNSUserPlan(FindNSUserPlanRequest) returns (FindNSUserPlanResponse);`
|
||
|
||
**请求对象 (`FindNSUserPlanRequest`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 和 nsUserPlanId 二选一",
|
||
"nsUserPlanId": "int64"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`FindNSUserPlanResponse`)**
|
||
|
||
```json
|
||
{
|
||
"nsUserPlan": "NSUserPlan"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
curl -X POST "https://backend.dooki.cloud/NSUserPlanService/findNSUserPlan" \
|
||
-H "Content-Type: application/json" \
|
||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||
-d '{
|
||
...
|
||
}'
|
||
```
|
||
|
||
---
|
||
|
||
## listNSUserPlans
|
||
> 列出单页套餐
|
||
|
||
- 角色:`admin`
|
||
- HTTP:`POST https://backend.dooki.cloud/NSUserPlanService/listNSUserPlans`
|
||
- RPC:`rpc listNSUserPlans(ListNSUserPlansRequest) returns (ListNSUserPlansResponse);`
|
||
|
||
**请求对象 (`ListNSUserPlansRequest`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID",
|
||
"nsPlanId": "int64",
|
||
"periodUnit": "string",
|
||
"isExpired": "bool",
|
||
"expireDays": "int32",
|
||
"offset": "int64 // 读取位置",
|
||
"size": "int64 // 数量,通常不能小于0"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`ListNSUserPlansResponse`)**
|
||
|
||
```json
|
||
{
|
||
"nsUserPlans": "[]NSUserPlan"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
curl -X POST "https://backend.dooki.cloud/NSUserPlanService/listNSUserPlans" \
|
||
-H "Content-Type: application/json" \
|
||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||
-d '{
|
||
...
|
||
}'
|
||
```
|
||
|
||
---
|
||
|
||
## updateNSUserPlan
|
||
> 修改用户套餐
|
||
|
||
- 角色:`admin`
|
||
- HTTP:`POST https://backend.dooki.cloud/NSUserPlanService/updateNSUserPlan`
|
||
- RPC:`rpc updateNSUserPlan(UpdateNSUserPlanRequest) returns (RPCSuccess);`
|
||
|
||
**请求对象 (`UpdateNSUserPlanRequest`)**
|
||
|
||
```json
|
||
{
|
||
"nsUserPlanId": "int64",
|
||
"nsPlanId": "int64",
|
||
"dayFrom": "string // YYYYMMDD",
|
||
"dayTo": "string // YYYYMMDD",
|
||
"periodUnit": "string // yearly|monthly"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`RPCSuccess`)**
|
||
|
||
```json
|
||
{}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
curl -X POST "https://backend.dooki.cloud/NSUserPlanService/updateNSUserPlan" \
|
||
-H "Content-Type: application/json" \
|
||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||
-d '{
|
||
...
|
||
}'
|
||
```
|
||
|
||
---
|