syntax = "proto3"; option go_package = "./pb"; package pb; import "models/model_ns_user_plan.proto"; import "models/rpc_messages.proto"; // 用户DNS套餐服务 service NSUserPlanService { // 创建用户套餐 rpc createNSUserPlan(CreateNSUserPlanRequest) returns (CreateNSUserPlanResponse); // 修改用户套餐 rpc updateNSUserPlan(UpdateNSUserPlanRequest) returns (RPCSuccess); // 删除用户套餐 rpc deleteNSUserPlan(DeleteNSUserPlanRequest) returns (RPCSuccess); // 读取用户套餐 rpc findNSUserPlan(FindNSUserPlanRequest) returns (FindNSUserPlanResponse); // 计算用户套餐数量 rpc countNSUserPlans(CountNSUserPlansRequest) returns (RPCCountResponse); // 列出单页套餐 rpc listNSUserPlans(ListNSUserPlansRequest) returns (ListNSUserPlansResponse); // 使用余额购买用户套餐 rpc buyNSUserPlan(BuyNSUserPlanRequest) returns (BuyNSUserPlanResponse); } // 创建用户套餐 message CreateNSUserPlanRequest { int64 userId = 1; int64 nsPlanId = 2; string dayFrom = 3; // YYYYMMDD string dayTo = 4; // YYYYMMDD string periodUnit = 5; // yearly|monthly } message CreateNSUserPlanResponse { int64 nsUserPlanId = 1; } // 修改用户套餐 message UpdateNSUserPlanRequest { int64 nsUserPlanId = 1; int64 nsPlanId = 2; string dayFrom = 3; // YYYYMMDD string dayTo = 4; // YYYYMMDD string periodUnit = 5; // yearly|monthly } // 删除用户套餐 message DeleteNSUserPlanRequest{ int64 nsUserPlanId = 1; } // 读取用户套餐 message FindNSUserPlanRequest { int64 userId = 1; // 和 nsUserPlanId 二选一 int64 nsUserPlanId = 2; } message FindNSUserPlanResponse { NSUserPlan nsUserPlan = 1; } // 计算用户套餐数量 message CountNSUserPlansRequest{ int64 userId = 1; int64 nsPlanId = 2; string periodUnit = 3; bool isExpired = 4; int32 expireDays = 5; } // 列出单页套餐 message ListNSUserPlansRequest { int64 userId = 1; int64 nsPlanId = 2; string periodUnit = 3; bool isExpired = 4; int32 expireDays = 5; int64 offset = 6; int64 size = 7; } message ListNSUserPlansResponse { repeated NSUserPlan nsUserPlans = 1; } // 使用余额购买用户套餐 message BuyNSUserPlanRequest{ int64 userId = 1; int64 planId = 2; string period = 3; } message BuyNSUserPlanResponse { int64 userPlanId = 1; }