增加流量包相关接口

This commit is contained in:
刘祥超
2022-10-20 10:24:52 +08:00
parent e98de100b9
commit 1e75f61464
19 changed files with 9790 additions and 3806 deletions

View File

@@ -0,0 +1,13 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
// 流量包
message TrafficPackage {
int64 id = 1;
int32 size = 2;
string unit = 3;
int64 bytes = 4;
bool isOn = 5;
}

View File

@@ -0,0 +1,13 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
// 流量包有效期
message TrafficPackagePeriod {
int64 id = 1;
bool isOn = 2;
int32 count = 3;
string unit = 4;
int32 months = 5;
}

View File

@@ -0,0 +1,12 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
// 流量包价格定义
message TrafficPackagePrice {
int64 trafficPackageId = 1;
int64 nodeRegionId = 2;
int64 trafficPackagePeriodId = 3;
float price = 4;
}

View File

@@ -14,8 +14,10 @@ message UserTrafficBill {
float bandwidthMB = 5;
int32 bandwidthPercentile = 6;
float trafficGB = 7;
float pricePerUnit = 8;
string priceType = 9;
float trafficPackageGB = 8;
repeated int64 userTrafficPackageIds = 9;
float pricePerUnit = 10;
string priceType = 11;
NodeRegion nodeRegion = 30;
}

View File

@@ -0,0 +1,29 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_node_region.proto";
import "models/model_traffic_package.proto";
import "models/model_user.proto";
// 用户流量包
message UserTrafficPackage {
int64 id = 1;
int64 userId = 2;
int64 trafficPackageId = 3;
int64 totalBytes = 4;
int64 usedBytes = 5;
int64 nodeRegionId = 6;
int64 trafficPackagePeriodId = 7;
int32 trafficPackagePeriodCount = 8;
string trafficPackagePeriodUnit = 9;
string dayFrom = 10;
string dayTo = 11;
int64 createdAt = 12;
TrafficPackage trafficPackage = 30;
NodeRegion nodeRegion = 31;
User user = 32;
bool canDelete = 33;
}

View File

@@ -0,0 +1,76 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_traffic_package.proto";
import "models/rpc_messages.proto";
// 流量包服务
service TrafficPackageService {
// 创建流量包
rpc createTrafficPackage(CreateTrafficPackageRequest) returns (CreateTrafficPackageResponse);
// 修改流量包
rpc updateTrafficPackage(UpdateTrafficPackageRequest) returns (RPCSuccess);
// 删除流量包
rpc deleteTrafficPackage(DeleteTrafficPackageRequest) returns (RPCSuccess);
// 查找流量包
rpc findTrafficPackage(FindTrafficPackageRequest) returns (FindTrafficPackageResponse);
// 查找所有流量包
rpc findAllTrafficPackages(FindAllTrafficPackagesRequest) returns (FindAllTrafficPackagesResponse);
// 查找所有可用流量包
rpc findAllAvailableTrafficPackages(FindAllAvailableTrafficPackagesRequest) returns (FindAllAvailableTrafficPackagesResponse);
}
// 创建流量包
message CreateTrafficPackageRequest {
int32 size = 1; // 流量包尺寸
string unit = 2; // 单位gb, tb, pb
}
message CreateTrafficPackageResponse {
int64 trafficPackageId = 1;
}
// 修改流量包
message UpdateTrafficPackageRequest {
int64 trafficPackageId = 1;
bool isOn = 2;
}
// 删除流量包
message DeleteTrafficPackageRequest {
int64 trafficPackageId = 1;
}
// 查找流量包
message FindTrafficPackageRequest {
int64 trafficPackageId = 1;
}
message FindTrafficPackageResponse {
TrafficPackage trafficPackage = 1;
}
// 查找所有流量包
message FindAllTrafficPackagesRequest {
}
message FindAllTrafficPackagesResponse {
repeated TrafficPackage trafficPackages = 1;
}
// 查找所有可用流量包
message FindAllAvailableTrafficPackagesRequest {
}
message FindAllAvailableTrafficPackagesResponse {
repeated TrafficPackage trafficPackages = 1;
}

View File

@@ -0,0 +1,76 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_traffic_package_period.proto";
import "models/rpc_messages.proto";
// 流量包有效期服务
service TrafficPackagePeriodService {
// 创建有效期
rpc createTrafficPackagePeriod(CreateTrafficPackagePeriodRequest) returns (CreateTrafficPackagePeriodResponse);
// 修改有效期
rpc updateTrafficPackagePeriod(UpdateTrafficPackagePeriodRequest) returns (RPCSuccess);
// 删除有效期
rpc deleteTrafficPackagePeriod(DeleteTrafficPackagePeriodRequest) returns (RPCSuccess);
// 查找有效期
rpc findTrafficPackagePeriod(FindTrafficPackagePeriodRequest) returns (FindTrafficPackagePeriodResponse);
// 列出所有有效期
rpc findAllTrafficPackagePeriods(FindAllTrafficPackagePeriodsRequest) returns (FindAllTrafficPackagePeriodsResponse);
// 列出所有可用有效期
rpc findAllAvailableTrafficPackagePeriods(FindAllAvailableTrafficPackagePeriodsRequest) returns (FindAllAvailableTrafficPackagePeriodsResponse);
}
// 创建有效期
message CreateTrafficPackagePeriodRequest {
int32 count = 1;
string unit = 2; // month | year
}
message CreateTrafficPackagePeriodResponse {
int64 trafficPackagePeriodId = 1;
}
// 修改有效期
message UpdateTrafficPackagePeriodRequest {
int64 trafficPackagePeriodId = 1;
bool isOn = 2;
}
// 删除有效期
message DeleteTrafficPackagePeriodRequest {
int64 trafficPackagePeriodId = 1;
}
// 查找有效期
message FindTrafficPackagePeriodRequest {
int64 trafficPackagePeriodId = 1;
}
message FindTrafficPackagePeriodResponse {
TrafficPackagePeriod trafficPackagePeriod = 1;
}
// 列出所有有效期
message FindAllTrafficPackagePeriodsRequest {
}
message FindAllTrafficPackagePeriodsResponse {
repeated TrafficPackagePeriod trafficPackagePeriods = 1;
}
// 列出所有可用有效期
message FindAllAvailableTrafficPackagePeriodsRequest {
}
message FindAllAvailableTrafficPackagePeriodsResponse {
repeated TrafficPackagePeriod trafficPackagePeriods = 1;
}

View File

@@ -0,0 +1,69 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_traffic_package_price.proto";
import "models/rpc_messages.proto";
// 流量包价格服务
service TrafficPackagePriceService {
// 设置流量包价格
rpc updateTrafficPackagePrice(UpdateTrafficPackagePriceRequest) returns (RPCSuccess);
// 获取单个流量包具体价格
rpc findTrafficPackagePrice(FindTrafficPackagePriceRequest) returns (FindTrafficPackagePriceResponse);
// 计算流量包价格项数量
rpc countTrafficPackagePrices(CountTrafficPackagePricesRequest) returns (RPCCountResponse);
// 查找流量包价格
rpc findTrafficPackagePrices(FindTrafficPackagePricesRequest) returns (FindTrafficPackagePricesResponse);
// 查找所有流量包价格
rpc findAllTrafficPackagePrices(FindAllTrafficPackagePricesRequest) returns (FindAllTrafficPackagePricesResponse);
}
// 设置流量包价格
message UpdateTrafficPackagePriceRequest {
int64 trafficPackageId = 1;
int64 nodeRegionId = 2;
int64 trafficPackagePeriodId = 3;
float price = 4;
}
// 获取单个流量包具体价格
message FindTrafficPackagePriceRequest {
int64 trafficPackageId = 1;
int64 nodeRegionId = 2;
int64 trafficPackagePeriodId = 3;
int32 count = 4;
}
message FindTrafficPackagePriceResponse {
float price = 1; // 单价
float amount = 2; // 总价
}
// 计算流量包价格项数量
message CountTrafficPackagePricesRequest {
int64 trafficPackageId = 1;
}
// 查找流量包价格
message FindTrafficPackagePricesRequest {
int64 trafficPackageId = 1;
}
message FindTrafficPackagePricesResponse {
repeated TrafficPackagePrice trafficPackagePrices = 1;
}
// 查找所有流量包价格
message FindAllTrafficPackagePricesRequest {
}
message FindAllTrafficPackagePricesResponse {
repeated TrafficPackagePrice trafficPackagePrices = 1;
}

View File

@@ -0,0 +1,82 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_user_traffic_package.proto";
import "models/rpc_messages.proto";
// 用户流量包服务
service UserTrafficPackageService {
// 创建用户流量包
rpc createUserTrafficPackage(CreateUserTrafficPackageRequest) returns (CreateUserTrafficPackageResponse);
// 购买用户流量包
rpc buyUserTrafficPackage(BuyUserTrafficPackageRequest) returns (BuyUserTrafficPackageResponse);
// 查询当前流量包数量
rpc countUserTrafficPackages(CountUserTrafficPackagesRequest) returns (RPCCountResponse);
// 列出单页流量包
rpc listUserTrafficPackages(ListUserTrafficPackagesRequest) returns (ListUserTrafficPackagesResponse);
// 删除流量包
rpc deleteUserTrafficPackage(DeleteUserTrafficPackageRequest) returns (RPCSuccess);
}
// 创建用户流量包
message CreateUserTrafficPackageRequest {
int64 userId = 1;
int64 trafficPackageId = 2;
int64 nodeRegionId = 3;
int64 trafficPackagePeriodId = 4;
int32 count = 5;
}
message CreateUserTrafficPackageResponse {
repeated int64 userTrafficPackageIds = 1;
}
// 购买用户流量包
message BuyUserTrafficPackageRequest {
int64 userId = 1;
int64 trafficPackageId = 2;
int64 nodeRegionId = 3;
int64 trafficPackagePeriodId = 4;
int32 count = 5;
}
message BuyUserTrafficPackageResponse {
repeated int64 userTrafficPackageIds = 1;
}
// 查询当前流量包数量
message CountUserTrafficPackagesRequest {
int64 trafficPackageId = 1;
int64 userId = 2;
int64 nodeRegionId = 3;
int64 trafficPackagePeriodId = 4;
string expiresDay = 5;
bool availableOnly = 6; // 是否只查询有效的流量包
}
// 列出单页流量包
message ListUserTrafficPackagesRequest {
int64 trafficPackageId = 1;
int64 userId = 2;
int64 nodeRegionId = 3;
int64 trafficPackagePeriodId = 4;
string expiresDay = 5;
bool availableOnly = 6; // 是否只查询有效的流量包
int64 offset = 7;
int64 size = 8;
}
message ListUserTrafficPackagesResponse {
repeated UserTrafficPackage userTrafficPackages = 1;
}
// 删除流量包
message DeleteUserTrafficPackageRequest {
int64 userTrafficPackageId = 1;
}