Files
2025-11-18 03:36:49 +08:00

5.6 KiB
Raw Permalink Blame History

UserPlanService

用户购买的套餐管理服务


buyUserPlan

购买套餐

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/UserPlanService/buyUserPlan
  • RPCrpc buyUserPlan(BuyUserPlanRequest) returns (BuyUserPlanResponse);

请求对象 (BuyUserPlanRequest)

{
  "userId": "int64 // 用户ID",
  "planId": "int64",
  "dayTo": "string",
  "period": "string",
  "countPeriod": "int32",
  "name": "string // 名称"
}

响应对象 (BuyUserPlanResponse)

{
  "userPlanId": "int64"
}

调用示例

curl -X POST "https://backend.dooki.cloud/UserPlanService/buyUserPlan" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

countAllEnabledUserPlans

计算已购套餐数

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/UserPlanService/countAllEnabledUserPlans
  • RPCrpc countAllEnabledUserPlans(CountAllEnabledUserPlansRequest) returns (RPCCountResponse);

请求对象 (CountAllEnabledUserPlansRequest)

{
  "isAvailable": "bool",
  "isExpired": "bool",
  "expiringDays": "int32",
  "userId": "int64 // 用户ID"
}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/UserPlanService/countAllEnabledUserPlans" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

deleteUserPlan

删除已购套餐

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/UserPlanService/deleteUserPlan
  • RPCrpc deleteUserPlan(DeleteUserPlanRequest) returns (RPCSuccess);

请求对象 (DeleteUserPlanRequest)

{
  "userPlanId": "int64"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/UserPlanService/deleteUserPlan" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findAllEnabledUserPlansForServer

查找所有服务可用的套餐

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/UserPlanService/findAllEnabledUserPlansForServer
  • RPCrpc findAllEnabledUserPlansForServer(FindAllEnabledUserPlansForServerRequest) returns (FindAllEnabledUserPlansForServerResponse);

请求对象 (FindAllEnabledUserPlansForServerRequest)

{
  "userId": "int64 // 用户ID",
  "serverId": "int64 // 服务ID网站ID"
}

响应对象 (FindAllEnabledUserPlansForServerResponse)

{
  "userPlans": "[]UserPlan"
}

调用示例

curl -X POST "https://backend.dooki.cloud/UserPlanService/findAllEnabledUserPlansForServer" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findEnabledUserPlan

查找单个已购套餐信息

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/UserPlanService/findEnabledUserPlan
  • RPCrpc findEnabledUserPlan(FindEnabledUserPlanRequest) returns (FindEnabledUserPlanResponse);

请求对象 (FindEnabledUserPlanRequest)

{
  "userPlanId": "int64"
}

响应对象 (FindEnabledUserPlanResponse)

{
  "userPlan": "UserPlan"
}

调用示例

curl -X POST "https://backend.dooki.cloud/UserPlanService/findEnabledUserPlan" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

listEnabledUserPlans

列出单页已购套餐

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/UserPlanService/listEnabledUserPlans
  • RPCrpc listEnabledUserPlans(ListEnabledUserPlansRequest) returns (ListEnabledUserPlansResponse);

请求对象 (ListEnabledUserPlansRequest)

{
  "isAvailable": "bool",
  "isExpired": "bool",
  "expiringDays": "int32",
  "userId": "int64 // 用户ID",
  "offset": "int64 // 读取位置",
  "size": "int64 // 数量通常不能小于0"
}

响应对象 (ListEnabledUserPlansResponse)

{
  "userPlans": "[]UserPlan"
}

调用示例

curl -X POST "https://backend.dooki.cloud/UserPlanService/listEnabledUserPlans" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

renewUserPlan

续费套餐

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/UserPlanService/renewUserPlan
  • RPCrpc renewUserPlan(RenewUserPlanRequest) returns (RPCSuccess);

请求对象 (RenewUserPlanRequest)

{
  "userPlanId": "int64",
  "dayTo": "string",
  "period": "string",
  "countPeriod": "int32"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/UserPlanService/renewUserPlan" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateUserPlan

修改已购套餐

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/UserPlanService/updateUserPlan
  • RPCrpc updateUserPlan(UpdateUserPlanRequest) returns (RPCSuccess);

请求对象 (UpdateUserPlanRequest)

{
  "userPlanId": "int64",
  "planId": "int64",
  "dayTo": "string",
  "isOn": "bool // 是否启用",
  "name": "string // 名称"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/UserPlanService/updateUserPlan" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'