Files
pyGoEdge-UserPanel/reference/goedge 文档/NSUserPlanService.md
2025-11-18 03:36:49 +08:00

274 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 '{
...
}'
```
---