syntax = "proto3"; package gorpc; option go_package = "./pb"; enum RegisterMode { RegisterModeUnknown = 0; RegisterModeGuest = 1; RegisterModeApp = 2; RegisterModeWeb = 3; RegisterModePc = 4; RegisterModeInvalid = 9999; } // enum Provider { // ProviderUnknown = 0; // ProviderGoogle = 1; // ProviderApple = 2; // ProviderMeta = 3; // ProviderGithub = 4; // } // 根据需要增加状态 enum CommonResultCode { Success = 0; } enum Status { UnknownStatus = 0; StatusValid = 1; StatusInValid = 2; StatusDefault = 9; } enum BoolInt { BoolIntUnknown = 0; BoolIntTrue = 1; BoolIntFalse = 2; } enum UserType { UserTypeUnknown = 0; UserTypeDevice = 1; UserTypeAccount= 2; } message Empty {} message Int64SelectController { repeated int64 values = 1; bool exclude = 2; } message IntSelectController { repeated int32 values = 1; bool exclude = 2; } message StringSelectController { repeated string values = 1; bool exclude = 2; } message Page { message OrderItem { string column = 1; bool asc = 2; bool isFunc = 3; } int64 pageNo = 1; int64 pageSize = 2; int64 startTime = 3; int64 endTime = 4; repeated OrderItem sortBy = 5; bool ignoreTotal = 6; // 忽略总条数 bool ignoreStat = 7; // 忽略总条数 bool ignoreList = 8; // 忽略列表 repeated int64 ids = 9; repeated string groupBy = 10; } message CommonResult { CommonResultCode code = 1; string msg = 2; } message BaseReq { int64 timeZoneOffset = 1; string lan = 2; } message DeleteIdResp { repeated int64 failedIds = 1; } message Ids { repeated int64 ids = 1; } message Request {} message Response { string msg = 1; } message TransactionOperation { string table = 1; // 表名 string operate = 2; // delete,insert,update string data = 3; // json格式 } message TransactionReq { repeated TransactionOperation transactions = 1; } message GameVo { int64 id = 1; string name = 2; string pkg = 3; string categories = 4; string icon = 5; string internal_icon = 6; string source_icon = 7; int64 status = 8; int64 state = 9; int64 enableRating = 10; int64 gameUpdateTime = 11; int64 gameBoostCount = 12; string gameBoostCountryCount = 13; int64 createTime = 14; int64 updateTime = 15; } message GameReq { GameVo vo = 1; } message GameListReq { Page page = 1; repeated string pkgs = 2; GameVo vo = 3; } message GameListRes { int64 total = 1; repeated GameVo list = 2; } message RelGameRankVo { int64 id = 1; int64 gameId = 2; int64 rankId = 3; int64 weight = 4; int64 createTime = 5; int64 updateTime = 6; } message RelGameRankReq { RelGameRankVo vo = 1; } message RelGameRankListReq { Page page = 1; RelGameRankVo vo = 2; } message RelGameRankListRes { int64 total = 1; repeated RelGameRankVo list = 2; } message RelGameVpnGroupVo { int64 id = 1; int64 gameId = 2; string productCode = 3; int64 vpnGroupId = 4; int64 status = 5; int64 createTime = 6; int64 updateTime = 7; } message RelGameVpnGroupReq { RelGameVpnGroupVo vo = 1; } message RelGameVpnGroupListReq { repeated int64 gameIds = 1; RelGameVpnGroupVo vo = 2; } message RelGameVpnGroupListRes { int64 total = 1; repeated RelGameVpnGroupVo list = 2; } message GameRedisHScanByNameReq { string name = 1; int64 cursor = 2; int64 count = 3; } message GameRedisHScanByNameResp { repeated int64 ids = 1; int64 cursor = 2; } message GameCustomerVo { int64 id = 1; string name = 2; string pkg = 3; string icon = 4; int64 createTime = 5; int64 updateTime = 6; } message GameCustomerListReq { Page page = 1; repeated string pkgs = 2; GameCustomerVo vo = 3; } message GameCustomerListRes { int64 total = 1; repeated GameCustomerVo list = 2; } message GameCustomerAddResp { GameCustomerVo vo = 1; bool ExistBoost = 2; } message GameCategoryVo { int64 id = 1; string code = 2; string name = 3; string described = 4; int64 createTime = 5; int64 updateTime = 6; } message GameCategoryReq { GameCategoryVo vo = 1; } message GameCategoryListReq { Page page = 1; GameCategoryVo vo = 3; } message GameCategoryListRes { int64 total = 1; repeated GameCategoryVo list = 2; } // 定义一个GameRank的属性字段 message GameRankOption { bool showRanking = 1; } service GoGameClient { // 加速器游戏管理 rpc GameAdd(GameVo) returns (GameVo); rpc GameUpdate(GameVo) returns (Empty); rpc GameDel(Ids) returns (Empty); rpc GameGet(GameReq) returns (GameVo); rpc GameList(GameListReq) returns (GameListRes); rpc GameAll(Request) returns (GameListRes); rpc GameRedisHScanByName(GameRedisHScanByNameReq) returns (GameRedisHScanByNameResp); // 游戏榜单关联关系 rpc RelGameRankAdd(RelGameRankVo) returns (RelGameRankVo); rpc RelGameRankUpdate(RelGameRankVo) returns (Empty); rpc RelGameRankDel(Ids) returns (Empty); rpc RelGameRankGet(RelGameRankReq) returns (RelGameRankVo); rpc RelGameRankList(RelGameRankListReq) returns (RelGameRankListRes); // 游戏地域关联关系 rpc RelGameVpnGroupAdd(RelGameVpnGroupVo) returns (RelGameVpnGroupVo); rpc RelGameVpnGroupUpdate(RelGameVpnGroupVo) returns (Empty); rpc RelGameVpnGroupDel(Ids) returns (Empty); rpc RelGameVpnGroupGet(RelGameVpnGroupReq) returns (RelGameVpnGroupVo); rpc RelGameVpnGroupList(RelGameVpnGroupListReq) returns (RelGameVpnGroupListRes); // 用户提交游戏 rpc GameCustomerList(GameCustomerListReq) returns (GameCustomerListRes); rpc GameCustomerAdd(GameCustomerVo) returns (GameCustomerAddResp); rpc GameCustomerDel(Ids) returns (Empty); rpc GameCategoryAdd(GameCategoryVo) returns (GameCategoryVo); rpc GameCategoryUpdate(GameCategoryVo) returns (Empty); rpc GameCategoryDel(Ids) returns (Empty); rpc GameCategoryGet(GameCategoryReq) returns (GameCategoryVo); rpc GameCategoryList(GameCategoryListReq) returns (GameCategoryListRes); rpc GameCategoryAll(Request) returns (GameCategoryListRes); } message I18nVo { string code = 1; string value = 2; } message ConfigGetReq { int64 id = 1; // ID string code = 2; // 类型标识 } // GlobalParam message GlobalParamVo { int64 id = 1; string paramKey = 2; string paramValue = 3; string valueType = 4; float minValue = 5; float maxValue = 6; string name = 7; BoolInt editable = 8; BoolInt nullable = 9; BoolInt hidden = 10; BoolInt mutiLang = 11; int64 sort = 12; string remark = 13; BoolInt apiExport = 14; string apiExportName = 15; int64 createTime = 16; int64 updateTime = 17; // valueType 为 string、text、json、string[], 且 mutiLang 为 true 时,需要同时干查询/修改/插入多语言数据 repeated I18nVo i18ns = 18; } message GlobalParamGetReq { GlobalParamVo vo = 1; string lang = 2; } message GlobalParamListReq { Page page = 1; GlobalParamVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID }; message GlobalParamListResp { int64 total = 1; repeated GlobalParamVo list = 2; }; // end GlobalParam // Product message ProductVo { int64 id = 1; string code = 2; string name = 3; string domain = 4; Status status = 5; string langs = 6; string defaultLang = 7; string remark = 8; int64 createTime = 9; int64 updateTime = 10; } message ProductListReq { Page page = 1; ProductVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; } message ProductListResp { int64 total = 1; repeated ProductVo list = 2; } // end Product // ProductParam message ProductParamVo { int64 id = 1; string productCode = 2; string paramKey = 3; string paramValue = 4; string valueType = 5; float minValue = 6; float maxValue = 7; string name = 8; BoolInt editable = 9; BoolInt nullable = 10; BoolInt hidden = 11; BoolInt mutiLang = 12; int64 sort = 13; string remark = 14; BoolInt apiExport = 15; string apiExportName = 16; int64 createTime = 17; int64 updateTime = 18; // valueType 为 string、text、json、string[], 且 mutiLang 为 true // 时,需要同时干查询/修改/插入多语言数据 repeated I18nVo i18ns = 19; } message ProductParamGetReq { ProductParamVo vo = 1; string lang = 2; } message ProductParamListReq { Page page = 1; ProductParamVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; }; message ProductParamListResp { int64 total = 1; repeated ProductParamVo list = 2; }; // end ProductParam // ProductAction message ProductActionVo { int64 id = 1; int64 groupId = 2; string productCode = 3; string imgUrl = 4; string actionType = 5; string actionData = 6; string title = 7; Status status = 8; int64 createTime = 9; int64 updateTime = 10; int64 sort = 11; string versionPolicy = 12; string platform = 13; string channel = 14; } message ProductActionReq { ProductActionVo vo = 1; } message ProductActionListReq { Page page = 1; ProductActionVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; repeated int64 groupIds = 5; } message ProductActionListResp { int64 total = 1; repeated ProductActionVo list = 2; } // end ProductAction // ProductActionGroup 产品行为分组 message ProductActionGroupVo { int64 id = 1; string productCode = 2; string area = 3; // 地区,存储json字符串 string platform = 4; // 平台,存储json字符串 string channel = 5; // 渠道,存储json字符串 string versionPolicy = 6; // 版本策略,存储json字符串 int64 sort = 7; // 排序 Status status = 8; // 状态 0未知 1正常 2禁用 string title = 9; // 标题 int64 createTime = 10; int64 updateTime = 11; } message ProductActionGroupReq { ProductActionGroupVo vo = 1; } message ProductActionGroupListReq { Page page = 1; ProductActionGroupVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; } message ProductActionGroupListResp { int64 total = 1; repeated ProductActionGroupVo list = 2; } message ProductActionGroupDisableReq { repeated int64 ids = 1; } message ProductActionGroupEnableReq { repeated int64 ids = 1; } // end ProductActionGroup // ProductActionPolicyGroup 产品行为策略分组 message ProductActionPolicyGroupVo { int64 id = 1; string productCode = 2; int64 groupId = 3; // productActionGroupID string platform = 4; // 平台,存储json字符串 string channel = 5; // 渠道,存储json字符串 string versionPolicy = 6; // 版本策略,存储json字符串 int64 sort = 7; // 排序 Status status = 8; // 状态 0未知 1正常 2禁用 string title = 9; // 标题 int64 createTime = 10; int64 updateTime = 11; string Position = 12; } message ProductActionPolicyGroupReq { ProductActionPolicyGroupVo vo = 1; } message ProductActionPolicyGroupListReq { Page page = 1; ProductActionPolicyGroupVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; repeated int64 groupIds = 5; } message ProductActionPolicyGroupListResp { int64 total = 1; repeated ProductActionPolicyGroupVo list = 2; } message ProductActionPolicyGroupDisableReq { repeated int64 ids = 1; } message ProductActionPolicyGroupEnableReq { repeated int64 ids = 1; } // end ProductActionPolicyGroup // ProductActionType 产品行为类型 message ProductActionTypeVo { int64 id = 1; string name = 2; // 名称 string description = 3; // 描述 int64 createTime = 4; int64 updateTime = 5; } message ProductActionTypeReq { ProductActionTypeVo vo = 1; } message ProductActionTypeListReq { Page page = 1; ProductActionTypeVo vo = 2; repeated int64 excludeIds = 3; } message ProductActionTypeListResp { int64 total = 1; repeated ProductActionTypeVo list = 2; } // end ProductActionType // AreaParam message AreaParamVo { int64 id = 1; string productCode = 2; string name = 3; string areas = 4; string paramValue = 5; Status status = 6; int64 sort = 7; string remark = 8; int64 createTime = 9; int64 updateTime = 10; string version = 11; } message AreaParamListReq { Page page = 1; AreaParamVo vo = 2; repeated string productCodes = 3; // 产品code repeated int64 excludeIds = 4; // 排除的ID } message AreaParamListResp { int64 total = 1; repeated AreaParamVo list = 2; } // end AreaParam // NationalLanguage message NationalLanguageVo { int64 id = 1; string tbName = 2; int64 tbRowId = 3; string tbFieldName = 4; string lan = 5; string value = 6; Status status = 7; int64 updateTime = 8; int64 createTime = 9; } message NationalLanguageListReq { Page page = 1; NationalLanguageVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID } message NationalLanguageListResp { int64 total = 1; repeated NationalLanguageVo list = 2; } // end NationalLanguage // Tip message TipVo { int64 id = 1; string productCode = 2; string paramKey = 3; string paramValue = 4; string code = 5; int64 showType = 6; int64 sort = 7; string remark = 8; int64 createTime = 9; int64 updateTime = 10; repeated I18nVo i18ns = 11; } message TipGetReq { TipVo vo = 1; string lang = 2; } message TipListReq { Page page = 1; TipVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; // 排除的ID } message TipListResp { int64 total = 1; repeated TipVo list = 2; } // end Tip // Dict message DictVo { int64 id = 1; string productCode = 2; int64 parentId = 3; string dataType = 4; string name = 5; string payload = 6; int64 sort = 7; Status status = 8; string remark = 9; int64 createTime = 10; int64 updateTime = 11; string payloadJson = 12; } message DictGetReq { DictVo vo = 1; } message DictListReq { Page page = 1; DictVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; } message DictListResp { int64 total = 1; repeated DictVo list = 2; } // end Dict // message UpgradeResVo { // int64 id = 1; // string title = 2; // string path = 3; // string fileMd5 = 4; // string filePath = 5; // string metadataId = 6; // string createdAt = 7; // string runtimeVersion = 8; // int64 runtimeVersionCode = 9; // string appVersionName = 10; // int64 appVersionCode = 11; // Status status = 12; // string remark = 13; // int64 createTime = 14; // int64 updateTime = 15; // int64 resSize = 16; // } // message UpgradeResConfigVo { // int64 id = 1; // int64 productId = 2; // string platform = 3; // string channel = 4; // int64 resId = 5; // int64 isForceUpdate = 6; // string forceIntro = 7; // string areaConfigs = 8; // string versionConfigs = 9; // int64 interval = 10; // int64 upgradeRate = 11; // string intro = 12; // string apis = 13; // Status status = 14; // string remark = 15; // string userIds = 16; // int64 createTime = 17; // int64 updateTime = 18; // string forceVersionConfigs = 19; // string forceAreaConfigs = 20; // string runtimeVersionConfigs = 21; // string title = 22; // int64 isSilent = 23; // } // message UpgradePkgVo { // int64 id = 1; // int64 productId = 2; // string platform = 3; // string channel = 4; // int64 versionCode = 5; // string versionName = 6; // string fileMd5 = 7; // string areaConfigs = 8; // string versionConfigs = 9; // int64 interval = 10; // int64 upgradeRate = 11; // string intro = 12; // string appStoreUrl = 13; // string url = 14; // string onlineUrls = 15; // string userIds = 16; // int64 isForceUpdate = 17; // string forceIntro = 18; // string forceVersionConfigs = 19; // Status status = 20; // string remark = 21; // int64 createTime = 22; // int64 updateTime = 23; // string title = 24; // string forceAreaConfigs = 25; // } // message UpgradeResConfigGetReq { // Page page = 1; // int64 id = 2; // } // message UpgradeResConfigListReq { // Page page = 1; // UpgradeResConfigVo vo = 2; // } // message UpgradeResConfigListResp { // int64 total = 1; // repeated UpgradeResConfigVo list = 2; // } // message UpgradePkgGetReq { UpgradePkgVo vo = 1; } // message UpgradePkgListReq { // Page page = 1; // UpgradePkgVo vo = 2; // } // message UpgradePkgListResp { // int64 total = 1; // repeated UpgradePkgVo list = 2; // } // message UpgradeResGetReq { UpgradeResVo vo = 1; } // message UpgradeResListReq { // Page page = 1; // UpgradeResVo vo = 2; // } // message UpgradeResListResp { // int64 total = 1; // repeated UpgradeResVo list = 2; // } // message ResourceDelReq { // repeated int64 ids = 1; // string fileMd5 = 2; // } // UpgradePkgPlan message UpgradePkgPlanVo { int64 id = 1; string productCode = 2; // 产品code string areas = 3; // 地区列表 int64 sort = 4; Status status = 5; // 状态 string remark = 6; int64 createTime = 7; int64 updateTime = 8; } message UpgradePkgPlanListReq { Page page = 1; UpgradePkgPlanVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; } message UpgradePkgPlanListResp { int64 total = 1; repeated UpgradePkgPlanVo list = 2; } // end UpgradePkgPlan // UpgradePkgPlanDetail message UpgradePkgPlanDetailVo { int64 id = 1; int64 planId = 2; // 方案ID string platform = 3; // 平台 string channel = 4; // 渠道 string name = 5; // 名称 int64 ver = 6; // 版本号 string url = 7; // 商店地址 string websiteUrl = 8; // 官网地址 string directUrl = 9; // 直接下载地址 string md5 = 10; // MD5 string info = 11; // 更新信息 string testUpgradePolicyConfig = 12; // 测试更新策略配置 string upgradePolicyConfig = 13; // 更新策略配置 string forceUpgradePolicyConfig = 14; // 强制更新策略 Status status = 15; // 状态 string remark = 16; int64 createTime = 17; int64 updateTime = 18; } message UpgradePkgPlanDetailListReq { Page page = 1; UpgradePkgPlanDetailVo vo = 2; repeated int64 planIds = 3; } message UpgradePkgPlanDetailListResp { int64 total = 1; repeated UpgradePkgPlanDetailVo list = 2; } // end UpgradePkgPlanDetail // UpgradeResPlan message UpgradeResPlanVo { int64 id = 1; string productCode = 2; // 产品code string areas = 3; // 地区列表 int64 sort = 4; Status status = 5; // 状态 string remark = 6; int64 createTime = 7; int64 updateTime = 8; } message UpgradeResPlanListReq { Page page = 1; UpgradeResPlanVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; } message UpgradeResPlanListResp { int64 total = 1; repeated UpgradeResPlanVo list = 2; } // end UpgradeResPlan // UpgradeResPlanDetail message UpgradeResPlanDetailVo { int64 id = 1; // ID int64 planId = 2; // 方案ID string platform = 3; // 平台 string channel = 4; // 渠道 string name = 5; // 名称 int64 ver = 6; // 资源版本号 string url = 7; // 资源地址 string info = 8; // 更新信息 string md5 = 9; // 资源 md5值 int64 size = 10; // 资源大小 string testUpgradePolicyConfig = 11; // 测试更新策略配置 string upgradePolicyConfig = 12; // 更新策略配置 string forceUpgradePolicyConfig = 13; // 强制更新策略 Status status = 14; // 状态,1=正常,2=冻结 string remark = 15; // 备注 int64 createTime = 16; // 创建时间秒 int64 updateTime = 17; // 修改时间秒 } message UpgradeResPlanDetailListReq { Page page = 1; UpgradeResPlanDetailVo vo = 2; repeated int64 planIds = 3; } message UpgradeResPlanDetailListResp { int64 total = 1; repeated UpgradeResPlanDetailVo list = 2; } // end UpgradeResPlanDetail // AdPlan message AdPlanVo { int64 id = 1; string productCode = 2; // 产品code string areas = 3; // 地区列表 string config = 4; // 配置 int64 sort = 5; Status status = 6; // 状态 string remark = 7; int64 createTime = 8; int64 updateTime = 9; } message AdPlanListReq { Page page = 1; AdPlanVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; } message AdPlanListResp { int64 total = 1; repeated AdPlanVo list = 2; } // end AdPlan // AdPlanDetail message AdPlanDetailVo { int64 id = 1; int64 planId = 2; // 方案ID string adPlatform = 3; // 平台 string adType = 4; // 广告类型 string adSlot = 5; // 广告位置 string adDatas = 6; // 广告资源 string testPolicyConfig = 7; // 策略配置 string policyConfig = 8; // 策略配置 int64 sort = 9; // 排序 Status status = 10; // 0未知,1正常,2暂停 string remark = 11; int64 createTime = 12; int64 updateTime = 13; string version = 14; } message AdPlanDetailListReq { Page page = 1; AdPlanDetailVo vo = 2; repeated int64 planIds = 3; } message AdPlanDetailListResp { int64 total = 1; repeated AdPlanDetailVo list = 2; } // end AdPlanDetail // AdGlobalConfig message AdGlobalConfigVo { int64 id = 1; string productCode = 2; // 产品code string platforms = 3; // 按平台分类的广告配置JSON string remark = 4; // 备注 int64 createTime = 5; // 创建时间 int64 updateTime = 6; // 更新时间 } message AdGlobalConfigGetReq { string productCode = 1; // 产品代码 } // end AdGlobalConfig // JobBatch message JobBatchVo { int64 id = 1; // ID string name = 2; // 作业名称 string type = 3; // 作业类型 string initParams = 4; // 作业初始化参数 string contextData = 5; // 上下文数据,可用于存储此次批量作业的任务过程中产生的通用的中间数据 string beginHandler = 6; // 预处理函数/URL string afterHandler = 7; // 后处理函数/URL int64 concurrency = 8; // 并发控制数 string retryPolicy = 9; // 子任务重试策略 int64 startedTime = 10; // 批量作业开始时间 int64 finishedTime = 11; // 批量作业完成时间 string result = 12; // 批量作业返回结果 string status = 13; // 批量作业完成状态 string remark = 14; // 备注 int64 createAt = 15; // 创建者ID int64 updateAt = 16; // 更新者ID int64 createTime = 17; // 创建时间 int64 updateTime = 18; // 更新时间 } message JobBatchWithTasksVo { JobBatchVo jobBatch = 1; repeated JobTasksVo jobTasks = 2; } message TimeRange { int64 start = 1; int64 end = 2; } message JobBatchListReq { Page page = 1; JobBatchVo vo = 2; TimeRange startedTimeRange = 3; TimeRange finishedTimeRange = 4; repeated string statuses = 5; repeated int64 excludeIds = 6; } message JobBatchListResp { int64 total = 1; repeated JobBatchVo list = 2; } message JobBatchListWithTasksResp { int64 total = 1; repeated JobBatchWithTasksVo list = 2; } // end JobBatch // JobTasks message JobTasksVo { int64 id = 1; // 任务id int64 batchId = 2; // 批量作业Id string name = 3; // 任务名称 string initParams = 4; // 任务初始化配置及数据 string runtimeData = 5; // 任务运行时数据,用于临时存储任务过程中各个关键节点的中间数据 string externalRefs = 6; // 外部系统引用,用于记录与外部系统交互产生的关联标识 int64 startedTime = 7; // 任务开始时间 int64 finishedTime = 8; // 任务结束时间 int64 retryCount = 9; // 当前已重试次数 string result = 10; // 任务执行结果 string status = 11; // 任务状态 string remark = 12; // 备注 int64 createAt = 13; // 创建者ID int64 updateAt = 14; // 更新者ID int64 createTime = 15; // 创建时间 int64 updateTime = 16; // 更新时间 } message JobTasksListReq { Page page = 1; JobTasksVo vo = 2; TimeRange startedTimeRange = 3; TimeRange finishedTimeRange = 4; repeated string statuses = 5; repeated int64 excludeIds = 6; } message JobTasksListResp { int64 total = 1; repeated JobTasksVo list = 2; } // end JobTasks // DeployConfig message DeployConfigVo { int64 id = 1; // ID string name = 2; // 名称 string type = 3; // 类型 string data = 4; // 数据 Status status = 5; // 状态 string remark = 6; // 备注 int64 createTime = 7; // 创建时间 int64 updateTime = 8; // 更新时间 } message DeployConfigListReq { Page page = 1; DeployConfigVo vo = 2; repeated int64 excludeIds = 3; } message DeployConfigListResp { int64 total = 1; repeated DeployConfigVo list = 2; } // end DeployConfig // OperationLog message OperationLogVo { int64 id = 1; int64 sysUserId = 2; string productCode = 3; string model = 4; string action = 5; string details = 6; string result = 7; int64 updateTime = 8; int64 createTime = 9; } message OperationLogListReq { Page page = 1; OperationLogVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; } message OperationLogListResp { int64 total = 1; repeated OperationLogVo list = 2; } // end OperationLog // AnnouncePlan message AnnouncePlanVo { int64 id = 1; string productCode = 2; // 产品code string areas = 3; // 地区列表 int64 sort = 4; Status status = 5; // 状态 string remark = 6; int64 createTime = 7; int64 updateTime = 8; } message AnnouncePlanListReq { Page page = 1; AnnouncePlanVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; } message AnnouncePlanListResp { int64 total = 1; repeated AnnouncePlanVo list = 2; } // end AnnouncePlan // AnnouncePlanDetail message AnnouncePlanDetailVo { int64 id = 1; int64 planId = 2; // 方案ID string platforms = 3; // 平台 string channels = 4; // 渠道 string icon = 5; // 图标 string title = 6; // 标题 string content = 7; // 内容 string url = 8; // 商店地址 string buttonText = 9; // 按钮文本 int64 closeable = 10; // 是否可关闭 int64 sort = 11; // 排序 string policyConfig = 12; // 更新策略配置 Status status = 13; // 状态 string remark = 14; int64 createTime = 15; int64 updateTime = 16; } message AnnouncePlanDetailListReq { Page page = 1; AnnouncePlanDetailVo vo = 2; repeated int64 planIds = 3; } message AnnouncePlanDetailListResp { int64 total = 1; repeated AnnouncePlanDetailVo list = 2; } // end AnnouncePlanDetail // ServiceTypes message ServiceTypesVo { int64 id = 1; string productCode = 2; string name = 3; int64 userLevel = 4; int64 deviceLimit = 5; // 可选字段,Go中是 *int64 int64 sort = 6; string config = 7; Status status = 8; string remark = 9; int64 createTime = 10; int64 updateTime = 11; } message ServiceTypesGetReq { int64 id = 1; } message ServiceTypesListReq { Page page = 1; ServiceTypesVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; } message ServiceTypesListResp { int64 total = 1; repeated ServiceTypesVo list = 2; } message ServiceTypesAddReq { ServiceTypesVo vo = 1; } message ServiceTypesUpdateReq { ServiceTypesVo vo = 1; } message ServiceTypesDelReq { int64 id = 1; } // end ServiceTypes // ServiceSets message ServiceSetsVo { int64 id = 1; string productCode = 2; int64 serviceTypeId = 3; string name = 4; int64 licenseDays = 5; string channel = 6; string channelItemId = 7; int64 refPortalServiceSetId = 8; // Go中是 sql.int64,转换为 int64 string appleChannelItemId = 9; string googleChannelItemId = 10; string title = 11; string subTitle = 12; string introduce = 13; float orgPrice = 14; float price = 15; BoolInt display = 16; BoolInt isDefault = 17; BoolInt recommend = 18; BoolInt hidden = 19; int64 sort = 20; Status status = 21; string remark = 22; int64 createTime = 23; int64 updateTime = 24; } message ServiceSetsGetReq { int64 id = 1; } message ServiceSetsListReq { Page page = 1; ServiceSetsVo vo = 2; repeated string productCodes = 3; repeated int64 serviceTypeIds = 4; repeated int64 excludeIds = 5; } message ServiceSetsListResp { int64 total = 1; repeated ServiceSetsVo list = 2; } message ServiceSetsAddReq { ServiceSetsVo vo = 1; } message ServiceSetsUpdateReq { ServiceSetsVo vo = 1; } message ServiceSetsDelReq { int64 id = 1; } // end ServiceSets message MessagePushVo { int64 id = 1; string status = 2; int64 operator = 3; string module = 4; string title = 5; string message = 6; string imgUrl = 7; string data = 8; string productCode = 9; int64 areaParam = 10; repeated string topics = 11; repeated string firebaseTokens = 12; int64 publishTime = 13; int64 createTime = 14; int64 updateTime = 15; string pushType = 16; int64 publishCount = 17; string exData = 18; } message MessagePushListReq { Page page = 1; MessagePushVo vo = 2; } message MessagePushListResp { int64 total = 1; repeated MessagePushVo list = 2; } // 基础服务: 产品管理,产品配置,升级配置、更新资源管理,资源版本管理,全局配置 service GoPmpClient { rpc Ping(Request) returns (Response); // GlobalParamVo Model // GlobalParamAdd rpc GlobalParamAdd(GlobalParamVo) returns (GlobalParamVo); rpc GlobalParamUpdate(GlobalParamVo) returns (GlobalParamVo); rpc GlobalParamDel(Ids) returns (Empty); rpc GlobalParamGet(GlobalParamVo) returns (GlobalParamVo); // 兼容旧接口,新版本代码中请不要调用 rpc GlobalParamGetWithLang(GlobalParamGetReq) returns (GlobalParamVo); rpc GlobalParamList(GlobalParamListReq) returns (GlobalParamListResp); // ProductVo Model // ProductAdd rpc ProductAdd(ProductVo) returns (ProductVo); rpc ProductUpdate(ProductVo) returns (ProductVo); rpc ProductDel(Ids) returns (Empty); rpc ProductGet(ProductVo) returns (ProductVo); rpc ProductList(ProductListReq) returns (ProductListResp); rpc ProductAll(Request) returns (ProductListResp); // ProductParamVo Model // ProductParamAdd rpc ProductParamAdd(ProductParamVo) returns (ProductParamVo); rpc ProductParamUpdate(ProductParamVo) returns (ProductParamVo); rpc ProductParamDel(Ids) returns (Empty); rpc ProductParamGet(ProductParamVo) returns (ProductParamVo); // 兼容旧接口,新版本代码中请不要调用 rpc ProductParamGetWithLang(ProductParamGetReq) returns (ProductParamVo); rpc ProductParamList(ProductParamListReq) returns (ProductParamListResp); // ProductAction 产品行为配置 rpc ProductActionAdd(ProductActionVo) returns (ProductActionVo); rpc ProductActionUpdate(ProductActionVo) returns (ProductActionVo); rpc ProductActionDel(Ids) returns (Empty); rpc ProductActionGet(ProductActionReq) returns (ProductActionVo); rpc ProductActionList(ProductActionListReq) returns (ProductActionListResp); // ProductActionGroup 产品行为分组 rpc ProductActionGroupAdd(ProductActionGroupVo) returns (ProductActionGroupVo); rpc ProductActionGroupUpdate(ProductActionGroupVo) returns (ProductActionGroupVo); rpc ProductActionGroupDel(Ids) returns (Empty); rpc ProductActionGroupGet(ProductActionGroupReq) returns (ProductActionGroupVo); rpc ProductActionGroupList(ProductActionGroupListReq) returns (ProductActionGroupListResp); rpc ProductActionGroupDisable(ProductActionGroupDisableReq) returns (Empty); rpc ProductActionGroupEnable(ProductActionGroupEnableReq) returns (Empty); // ProductActionPolicyGroup 产品行为策略分组 rpc ProductActionPolicyGroupAdd(ProductActionPolicyGroupVo) returns (ProductActionPolicyGroupVo); rpc ProductActionPolicyGroupUpdate(ProductActionPolicyGroupVo) returns (ProductActionPolicyGroupVo); rpc ProductActionPolicyGroupDel(Ids) returns (Empty); rpc ProductActionPolicyGroupGet(ProductActionPolicyGroupReq) returns (ProductActionPolicyGroupVo); rpc ProductActionPolicyGroupList(ProductActionPolicyGroupListReq) returns (ProductActionPolicyGroupListResp); rpc ProductActionPolicyGroupDisable(ProductActionPolicyGroupDisableReq) returns (Empty); rpc ProductActionPolicyGroupEnable(ProductActionPolicyGroupEnableReq) returns (Empty); // ProductActionType 产品行为类型 rpc ProductActionTypeAdd(ProductActionTypeVo) returns (ProductActionTypeVo); rpc ProductActionTypeUpdate(ProductActionTypeVo) returns (ProductActionTypeVo); rpc ProductActionTypeDel(Ids) returns (Empty); rpc ProductActionTypeGet(ProductActionTypeReq) returns (ProductActionTypeVo); rpc ProductActionTypeList(ProductActionTypeListReq) returns (ProductActionTypeListResp); // AreaParamVo Model // AreaParamAdd rpc AreaParamAdd(AreaParamVo) returns (AreaParamVo); rpc AreaParamUpdate(AreaParamVo) returns (AreaParamVo); rpc AreaParamDel(Ids) returns (Empty); rpc AreaParamGet(AreaParamVo) returns (AreaParamVo); rpc AreaParamList(AreaParamListReq) returns (AreaParamListResp); // NationalLanguage Model // NationalLanguageAdd rpc NationalLanguageAdd(NationalLanguageVo) returns (NationalLanguageVo); rpc NationalLanguageUpdate(NationalLanguageVo) returns (NationalLanguageVo); rpc NationalLanguageDel(Ids) returns (Empty); rpc NationalLanguageGet(NationalLanguageVo) returns (NationalLanguageVo); rpc NationalLanguageList(NationalLanguageListReq) returns (NationalLanguageListResp); // Tip Model // TipAdd rpc TipAdd(TipVo) returns (TipVo); rpc TipUpdate(TipVo) returns (TipVo); rpc TipDel(Ids) returns (Empty); rpc TipGet(TipGetReq) returns (TipVo); rpc TipList(TipListReq) returns (TipListResp); // Dict Model // DictAdd rpc DictAdd(DictVo) returns (DictVo); rpc DictUpdate(DictVo) returns (DictVo); rpc DictDel(Ids) returns (Empty); rpc DictGet(DictGetReq) returns (DictVo); rpc DictList(DictListReq) returns (DictListResp); // // UpgradeRes 热更新代码资源管理 // rpc UpgradeResAdd(UpgradeResVo) returns (UpgradeResVo); // rpc UpgradeResUpdate(UpgradeResVo) returns (Empty); // rpc UpgradeResDel(ResourceDelReq) returns (Empty); // rpc UpgradeResGet(UpgradeResGetReq) returns (UpgradeResVo); // rpc UpgradeResList(UpgradeResListReq) returns (UpgradeResListResp); // // UpgradePkg app 包更新管理 // rpc UpgradePkgAdd(UpgradePkgVo) returns (UpgradePkgVo); // rpc UpgradePkgUpdate(UpgradePkgVo) returns (Empty); // rpc UpgradePkgDel(Ids) returns (Empty); // rpc UpgradePkgGet(UpgradePkgGetReq) returns (UpgradePkgVo); // rpc UpgradePkgList(UpgradePkgListReq) returns (UpgradePkgListResp); // // UpgradeResConfig Model // // UpgradeResConfigAdd // 热更新【代码资源】配置管理,控制哪些版本地区的用户可以更新 // rpc UpgradeResConfigAdd(UpgradeResConfigVo) returns (UpgradeResConfigVo); // rpc UpgradeResConfigUpdate(UpgradeResConfigVo) returns (Empty); // rpc UpgradeResConfigDel(Ids) returns (Empty); // rpc UpgradeResConfigGet(UpgradeResConfigGetReq) returns (UpgradeResConfigVo); // rpc UpgradeResConfigList(UpgradeResConfigListReq) returns (UpgradeResConfigListResp); // UpgradePkgPlan Model // UpgradePkgPlanAdd rpc UpgradePkgPlanAdd(UpgradePkgPlanVo) returns (UpgradePkgPlanVo); rpc UpgradePkgPlanUpdate(UpgradePkgPlanVo) returns (UpgradePkgPlanVo); rpc UpgradePkgPlanDel(Ids) returns (Empty); rpc UpgradePkgPlanGet(UpgradePkgPlanVo) returns (UpgradePkgPlanVo); rpc UpgradePkgPlanList(UpgradePkgPlanListReq) returns (UpgradePkgPlanListResp); // UpgradePkgPlanDetail Model // UpgradePkgPlanDetailAdd rpc UpgradePkgPlanDetailAdd(UpgradePkgPlanDetailVo) returns (UpgradePkgPlanDetailVo); rpc UpgradePkgPlanDetailUpdate(UpgradePkgPlanDetailVo) returns (UpgradePkgPlanDetailVo); rpc UpgradePkgPlanDetailDel(Ids) returns (Empty); rpc UpgradePkgPlanDetailGet(UpgradePkgPlanDetailVo) returns (UpgradePkgPlanDetailVo); rpc UpgradePkgPlanDetailList(UpgradePkgPlanDetailListReq) returns (UpgradePkgPlanDetailListResp); // UpgradeResPlan Model // UpgradeResPlanAdd rpc UpgradeResPlanAdd(UpgradeResPlanVo) returns (UpgradeResPlanVo); rpc UpgradeResPlanUpdate(UpgradeResPlanVo) returns (UpgradeResPlanVo); rpc UpgradeResPlanDel(Ids) returns (Empty); rpc UpgradeResPlanGet(UpgradeResPlanVo) returns (UpgradeResPlanVo); rpc UpgradeResPlanList(UpgradeResPlanListReq) returns (UpgradeResPlanListResp); // UpgradeResPlanDetail Model // UpgradeResPlanDetailAdd rpc UpgradeResPlanDetailAdd(UpgradeResPlanDetailVo) returns (UpgradeResPlanDetailVo); rpc UpgradeResPlanDetailUpdate(UpgradeResPlanDetailVo) returns (UpgradeResPlanDetailVo); rpc UpgradeResPlanDetailDel(Ids) returns (Empty); rpc UpgradeResPlanDetailGet(UpgradeResPlanDetailVo) returns (UpgradeResPlanDetailVo); rpc UpgradeResPlanDetailList(UpgradeResPlanDetailListReq) returns (UpgradeResPlanDetailListResp); // AdPlan Model // AdPlanAdd rpc AdPlanAdd(AdPlanVo) returns (AdPlanVo); rpc AdPlanUpdate(AdPlanVo) returns (AdPlanVo); rpc AdPlanDel(Ids) returns (Empty); rpc AdPlanGet(AdPlanVo) returns (AdPlanVo); rpc AdPlanList(AdPlanListReq) returns (AdPlanListResp); // AdPlanDetail Model // AdPlanDetailAdd rpc AdPlanDetailAdd(AdPlanDetailVo) returns (AdPlanDetailVo); rpc AdPlanDetailUpdate(AdPlanDetailVo) returns (AdPlanDetailVo); rpc AdPlanDetailDel(Ids) returns (Empty); rpc AdPlanDetailGet(AdPlanDetailVo) returns (AdPlanDetailVo); rpc AdPlanDetailList(AdPlanDetailListReq) returns (AdPlanDetailListResp); // AdGlobalConfig Model // AdGlobalConfigGet rpc AdGlobalConfigGet(AdGlobalConfigGetReq) returns (AdGlobalConfigVo); rpc AdGlobalConfigUpdate(AdGlobalConfigVo) returns (AdGlobalConfigVo); // JobBatch Model // JobBatchAdd rpc JobBatchAdd(JobBatchVo) returns (JobBatchVo); rpc JobBatchAddWithTasks(JobBatchWithTasksVo) returns (JobBatchWithTasksVo); rpc JobBatchUpdate(JobBatchVo) returns (JobBatchVo); rpc JobBatchDel(Ids) returns (Empty); rpc JobBatchGet(JobBatchVo) returns (JobBatchVo); rpc JobBatchGetWithTasks(JobBatchVo) returns (JobBatchWithTasksVo); rpc JobBatchList(JobBatchListReq) returns (JobBatchListResp); rpc JobBatchListWithTasks(JobBatchListReq) returns (JobBatchListWithTasksResp); // JobTasks Model // JobTasksAdd rpc JobTasksAdd(JobTasksVo) returns (JobTasksVo); rpc JobTasksUpdate(JobTasksVo) returns (JobTasksVo); rpc JobTasksDel(Ids) returns (Empty); rpc JobTasksGet(JobTasksVo) returns (JobTasksVo); rpc JobTasksList(JobTasksListReq) returns (JobTasksListResp); // DeployConfig Model // DeployConfigAdd rpc DeployConfigAdd(DeployConfigVo) returns (DeployConfigVo); rpc DeployConfigUpdate(DeployConfigVo) returns (DeployConfigVo); rpc DeployConfigDel(Ids) returns (Empty); rpc DeployConfigGet(DeployConfigVo) returns (DeployConfigVo); rpc DeployConfigList(DeployConfigListReq) returns (DeployConfigListResp); // OperationLog Model // OperationLogAdd rpc OperationLogAdd(OperationLogVo) returns (OperationLogVo); rpc OperationLogUpdate(OperationLogVo) returns (OperationLogVo); rpc OperationLogGet(OperationLogVo) returns (OperationLogVo); rpc OperationLogList(OperationLogListReq) returns (OperationLogListResp); // AnnouncePlan Model // AnnouncePlanAdd rpc AnnouncePlanAdd(AnnouncePlanVo) returns (AnnouncePlanVo); rpc AnnouncePlanUpdate(AnnouncePlanVo) returns (AnnouncePlanVo); rpc AnnouncePlanDel(Ids) returns (Empty); rpc AnnouncePlanGet(AnnouncePlanVo) returns (AnnouncePlanVo); rpc AnnouncePlanList(AnnouncePlanListReq) returns (AnnouncePlanListResp); // AnnouncePlanDetail Model // AnnouncePlanDetailAdd rpc AnnouncePlanDetailAdd(AnnouncePlanDetailVo) returns (AnnouncePlanDetailVo); rpc AnnouncePlanDetailUpdate(AnnouncePlanDetailVo) returns (AnnouncePlanDetailVo); rpc AnnouncePlanDetailDel(Ids) returns (Empty); rpc AnnouncePlanDetailGet(AnnouncePlanDetailVo) returns (AnnouncePlanDetailVo); rpc AnnouncePlanDetailList(AnnouncePlanDetailListReq) returns (AnnouncePlanDetailListResp); // ServiceTypes Model // ServiceTypesAdd rpc ServiceTypesAdd(ServiceTypesAddReq) returns (ServiceTypesVo); rpc ServiceTypesUpdate(ServiceTypesUpdateReq) returns (ServiceTypesVo); rpc ServiceTypesDel(ServiceTypesDelReq) returns (Empty); rpc ServiceTypesGet(ServiceTypesGetReq) returns (ServiceTypesVo); rpc ServiceTypesList(ServiceTypesListReq) returns (ServiceTypesListResp); // ServiceSets Model // ServiceSetsAdd rpc ServiceSetsAdd(ServiceSetsAddReq) returns (ServiceSetsVo); rpc ServiceSetsUpdate(ServiceSetsUpdateReq) returns (ServiceSetsVo); rpc ServiceSetsDel(ServiceSetsDelReq) returns (Empty); rpc ServiceSetsGet(ServiceSetsGetReq) returns (ServiceSetsVo); rpc ServiceSetsList(ServiceSetsListReq) returns (ServiceSetsListResp); // MessagePush Model // MessagePushAdd rpc MessagePushAdd(MessagePushVo) returns (MessagePushVo); rpc MessagePushUpdate(MessagePushVo) returns (MessagePushVo); rpc MessagePushList(MessagePushListReq) returns (MessagePushListResp); } message ShortDramaEpisodeVo { int64 id = 1; int64 dramaId = 2; int64 type = 3; string name = 4; int64 sort = 5; string videos = 6; string subtitles = 7; Status status = 8; int64 createTime = 9; int64 updateTime = 10; string danmakuUrl = 11; } message ShortDramaEpisodeGetReq { ShortDramaEpisodeVo vo = 1; } message ShortDramaEpisodeListReq { Page page = 1; ShortDramaEpisodeVo vo = 2; repeated int64 dramaIds = 3; } message ShortDramaEpisodeListResp { int64 total = 1; repeated ShortDramaEpisodeVo list = 2; } message ShortDramaEpisodeBatchAddReq { int64 dramaId = 1; repeated ShortDramaEpisodeVo episodes = 2; } message ShortDramaEpisodeBatchRefreshUpdateTimeReq { int64 dramaId = 1; } message ShortDramaLanguageVo { int64 id = 1; int64 dramaId = 2; string lang = 3; string title = 4; string description = 5; string covers = 6; string coverDominantColor = 7; int64 createTime = 8; int64 updateTime = 9; } message ShortDramaVo { int64 id = 1; string productCodes = 2; string title = 3; string description = 4; string covers = 5; string coverDominantColor = 6; string type = 7; string tags = 8; string releaseRegions = 9; int64 releaseDate = 10; int64 totalEpisodes = 11; int64 completedStatus = 12; string copyrightSupplier = 13; string copyrightDoc = 14; int64 copyrightPurchaseDate = 15; int64 copyrightExpireDate = 16; int64 status = 17; int64 createTime = 18; int64 updateTime = 19; string ghostCutId = 20; int64 recommend = 21; string otherConfig = 22; repeated ShortDramaLanguageVo shortDramaLanguages = 23; int64 mainEpisodeCount = 24; int64 trailerEpisodeCount = 25; int64 copyrightId = 26; int64 creator = 27; int64 modifier = 28; string operationTags = 29; string extraInfo = 30; int64 schedulePublishTime = 31; int64 publishTime = 32; } message ShortDramaGetReq { ShortDramaVo vo = 1; string productCode = 2; string countryCode = 3; string lang = 4; } message ShortDramaListReq { Page page = 1; ShortDramaVo vo = 2; repeated int64 excludeIds = 3; string productCode = 4; string countryCode = 5; string lang = 6; string publishTimeStart = 7; string publishTimeEnd = 8; repeated int64 statusList = 9; } message ShortDramaListResp { int64 total = 1; repeated ShortDramaVo list = 2; } message ShortDramaLanguageListReq { Page page = 1; ShortDramaLanguageVo vo = 2; } message ShortDramaLanguageListResp { int64 total = 1; repeated ShortDramaLanguageVo list = 2; } message ShortDramaEpisodeCountVo { int64 dramaId = 1; int64 episodeCount = 2; } message ShortDramaEpisodeCountReq { Page page = 1; Status status = 2; int64 type = 3; repeated int64 dramaIds = 4; } message ShortDramaEpisodeCountResp { int64 total = 1; repeated ShortDramaEpisodeCountVo list = 2; } message ShortDramaCheckNameReq { string title = 1; // 短剧名称 int64 id = 2; // 编辑时排除当前短剧ID } message ShortDramaCheckNameResp { bool exists = 1; // 是否存在 } message ShortDramaUpdateModifierReq { int64 id = 1; int64 modifier = 2; } message ShortDramaUpdateReleaseRegionsReq { int64 id = 1; string releaseRegions = 2; } message ShortDramaCopyrightInfoVo { int64 id = 1; int64 copyrightId = 2; string releaseRegions = 3; } message ShortDramaFindIdsWithCopyrightResp { repeated ShortDramaCopyrightInfoVo list = 1; } message SetTotalStatsReq { int64 dramaId = 1; string country = 2; int64 todayPlayCount = 3; int64 weeklyPlayCount = 4; int64 monthlyPlayCount = 5; } message ShortDramaStatsPlaysTotalVo { int64 id = 1; int64 dramaId = 2; string country = 3; int64 todayPlayCount = 4; int64 weeklyPlayCount = 5; int64 monthlyPlayCount = 6; int64 createTime = 7; int64 updateTime = 8; } message ShortDramaStatsPlaysTotalListReq { Page page = 1; string country = 2; // 国家代码 } message ShortDramaStatsPlaysTotalListResp { int64 total = 1; repeated ShortDramaStatsPlaysTotalVo list = 2; } message FindSchedulePublishListReq { int64 status = 1; } message FindSchedulePublishListResp { repeated ShortDramaVo list = 1; } message PublishScheduleDramaReq { repeated int64 ids = 1; // 短剧ID列表,支持批量操作 int64 targetStatus = 2; // 目标状态 } service GoShortDramaClient { // ShortDrama rpc ShortDramaAdd(ShortDramaVo) returns (ShortDramaVo); rpc ShortDramaUpdate(ShortDramaVo) returns (Empty); rpc ShortDramaDel(Ids) returns (Empty); rpc ShortDramaGet(ShortDramaGetReq) returns (ShortDramaVo); rpc ShortDramaList(ShortDramaListReq) returns (ShortDramaListResp); rpc ShortDramaUpdateModifier(ShortDramaUpdateModifierReq) returns (Empty); rpc ShortDramaUpdateReleaseRegions(ShortDramaUpdateReleaseRegionsReq) returns (Empty); rpc ShortDramaFindIdsWithCopyright(Empty) returns (ShortDramaFindIdsWithCopyrightResp); rpc ShortDramaFindSchedulePublishList(FindSchedulePublishListReq) returns (FindSchedulePublishListResp); rpc ShortDramaPublishSchedule(PublishScheduleDramaReq) returns (Empty); // ShortDramaLanguage rpc ShortDramaLanguageList(ShortDramaLanguageListReq) returns (ShortDramaLanguageListResp); // ShortDramaEpisode rpc ShortDramaEpisodeAdd(ShortDramaEpisodeVo) returns (ShortDramaEpisodeVo); rpc ShortDramaEpisodeBatchAdd(ShortDramaEpisodeBatchAddReq) returns (Empty); rpc ShortDramaEpisodeUpdate(ShortDramaEpisodeVo) returns (Empty); rpc ShortDramaEpisodeDel(Ids) returns (Empty); rpc ShortDramaEpisodeGet(ShortDramaEpisodeGetReq) returns (ShortDramaEpisodeVo); rpc ShortDramaEpisodeList(ShortDramaEpisodeListReq) returns (ShortDramaEpisodeListResp); rpc ShortDramaEpisodeBatchRefreshUpdateTime( ShortDramaEpisodeBatchRefreshUpdateTimeReq) returns (Empty); // ShortDramaEpisodeCount rpc ShortDramaEpisodeCount(ShortDramaEpisodeCountReq) returns (ShortDramaEpisodeCountResp); rpc ShortDramaCheckName(ShortDramaCheckNameReq) returns (ShortDramaCheckNameResp); // ShortDramaStats rpc SetTotalStats(SetTotalStatsReq) returns (Empty); // ShortDramaStatsPlaysTotal rpc ShortDramaStatsPlaysTotalList(ShortDramaStatsPlaysTotalListReq) returns (ShortDramaStatsPlaysTotalListResp); } // 根据需要增加状态 message SysUserVo { int64 id = 1; // ID string username = 2; // 登录名 string password = 3; // 登录密码 string nickname = 4; // 昵称 string avatar = 5; // 头像 string email = 6; // 邮箱 string phone = 7; // 手机号 string remark = 8; // 备注 BoolInt isSuperAdmin = 9; // 是否为超级管理员 1是 2否 int64 permsLevel = 10; // 权限等级 值越大 权限越小 Status status = 11; // 状态 1正常 2冻结 int64 createTime = 12; // 创建时间 int64 updateTime = 13; // 修改时间 } message SysRoleVo { int64 id = 1; // ID string productCode = 2; // 所属产品 string name = 3; // 角色名 string remark = 4; // 备注 Status status = 5; // 状态 1启用 2禁用 int64 createTime = 6; // 创建时间 int64 updateTime = 7; // 修改时间 int64 permsLevel = 8; // 权限等级 值越大 权限越小 } message SysPermVo { int64 id = 1; // ID string name = 2; // 权限名 string code = 3; // 权限code string remark = 4; // 备注 Status status = 5; // 状态 1启用 2禁用 int64 createTime = 6; // 创建时间 int64 updateTime = 7; // 修改时间 } message SysUserRoleVo { int64 id = 1; // ID int64 userId = 2; // 用户ID int64 roleId = 3; // 角色ID int64 createTime = 4; // 创建时间 int64 updateTime = 5; // 修改时间 } message SysRolePermVo { int64 id = 1; // ID int64 roleId = 2; // 角色ID int64 permId = 3; // 权限ID int64 createTime = 4; // 创建时间 int64 updateTime = 5; // 修改时间 } message SysUserPermVo { int64 id = 1; // ID int64 userId = 2; // 用户ID int64 permId = 3; // 权限ID string effect = 4; // 权限控制策略 ALLOW允许 DENY拒绝 int64 createTime = 5; // 创建时间 int64 updateTime = 6; // 修改时间 } message SysPermRule { int64 permId = 1; string effect = 2; // ALLOW允许 DENY拒绝 } message SysUserWithRoleIdsAndPermRules { SysUserVo user = 1; // 用户信息 repeated int64 roleIds = 2; // 角色 repeated SysPermRule permRules = 3; // 权限 } message SysUserWithRolesAndPerms { SysUserVo user = 1; // 用户信息 repeated SysRoleVo roles = 2; // 角色 repeated SysPermVo perms = 3; // 权限 } message SysUserGetReq { SysUserVo vo = 1; } message SysUserListReq { Page page = 1; SysUserVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID } message SysUserListResp { int64 total = 1; repeated SysUserVo list = 2; } message SysUserListWithRolesAndPermsResp { int64 total = 1; repeated SysUserWithRolesAndPerms list = 2; } message SysRoleWithPermIds { SysRoleVo role = 1; repeated int64 permIds = 2; } message SysRoleWithPerms { SysRoleVo role = 1; repeated SysPermVo perms = 2; } message SysRoleGetReq { SysRoleVo vo = 1; } message SysRoleListReq { Page page = 1; SysRoleVo vo = 2; repeated string productCodes = 3; // 所属产品 repeated int64 excludeIds = 4; // 排除的ID } message SysRoleListResp { int64 total = 1; repeated SysRoleVo list = 2; } message SysRoleListWithPermsResp { int64 total = 1; repeated SysRoleWithPerms list = 2; } message SysPermGetReq { SysPermVo vo = 1; } message SysPermListReq { Page page = 1; SysPermVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID } message SysPermListResp { int64 total = 1; repeated SysPermVo list = 2; } message SysUserRoleGetReq { SysUserRoleVo vo = 1; } message SysUserRoleListReq { Page page = 1; SysUserRoleVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID } message SysUserRoleListResp { int64 total = 1; repeated SysUserRoleVo list = 2; } message SysRolePermGetReq { SysRolePermVo vo = 1; } message SysRolePermListReq { Page page = 1; SysRolePermVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID } message SysRolePermListResp { int64 total = 1; repeated SysRolePermVo list = 2; } message SysUserPermGetReq { SysUserPermVo vo = 1; } message SysUserPermListReq { Page page = 1; SysUserPermVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID } message SysUserPermListResp { int64 total = 1; repeated SysUserPermVo list = 2; } service GoSysClient { rpc Ping(Request) returns (Response); // 用户管理 rpc SysUserAdd(SysUserVo) returns (SysUserVo); rpc SysUserUpdate(SysUserVo) returns (SysUserVo); rpc SysUserDelete(Ids) returns (Empty); rpc SysUserGet(SysUserGetReq) returns (SysUserVo); rpc SysUserList(SysUserListReq) returns (SysUserListResp); rpc SysUserAddWithRolesAndPerms(SysUserWithRoleIdsAndPermRules) returns (SysUserWithRolesAndPerms); rpc SysUserUpdateWithRolesAndPerms(SysUserWithRoleIdsAndPermRules) returns (SysUserWithRolesAndPerms); rpc SysUserGetWithRolesAndPerms(SysUserGetReq) returns (SysUserWithRolesAndPerms); rpc SysUserListWithRolesAndPerms(SysUserListReq) returns (SysUserListWithRolesAndPermsResp); // 角色管理 rpc SysRoleAdd(SysRoleVo) returns (SysRoleVo); rpc SysRoleUpdate(SysRoleVo) returns (SysRoleVo); rpc SysRoleDelete(Ids) returns (Empty); rpc SysRoleGet(SysRoleGetReq) returns (SysRoleVo); rpc SysRoleList(SysRoleListReq) returns (SysRoleListResp); rpc SysRoleAddWithPerms(SysRoleWithPermIds) returns (SysRoleWithPerms); rpc SysRoleUpdateWithPerms(SysRoleWithPermIds) returns (SysRoleWithPerms); rpc SysRoleGetWithPerms(SysRoleGetReq) returns (SysRoleWithPerms); rpc SysRoleListWithPerms(SysRoleListReq) returns (SysRoleListWithPermsResp); // 权限管理 rpc SysPermAdd(SysPermVo) returns (SysPermVo); rpc SysPermUpdate(SysPermVo) returns (SysPermVo); rpc SysPermDelete(Ids) returns (Empty); rpc SysPermGet(SysPermGetReq) returns (SysPermVo); rpc SysPermList(SysPermListReq) returns (SysPermListResp); // 用户角色管理 rpc SysUserRoleAdd(SysUserRoleVo) returns (SysUserRoleVo); rpc SysUserRoleUpdate(SysUserRoleVo) returns (SysUserRoleVo); rpc SysUserRoleDelete(Ids) returns (Empty); rpc SysUserRoleGet(SysUserRoleGetReq) returns (SysUserRoleVo); rpc SysUserRoleList(SysUserRoleListReq) returns (SysUserRoleListResp); // 角色权限管理 rpc SysRolePermAdd(SysRolePermVo) returns (SysRolePermVo); rpc SysRolePermUpdate(SysRolePermVo) returns (SysRolePermVo); rpc SysRolePermDelete(Ids) returns (Empty); rpc SysRolePermGet(SysRolePermGetReq) returns (SysRolePermVo); rpc SysRolePermList(SysRolePermListReq) returns (SysRolePermListResp); // 用户权限管理 rpc SysUserPermAdd(SysUserPermVo) returns (SysUserPermVo); rpc SysUserPermUpdate(SysUserPermVo) returns (SysUserPermVo); rpc SysUserPermDelete(Ids) returns (Empty); rpc SysUserPermGet(SysUserPermGetReq) returns (SysUserPermVo); rpc SysUserPermList(SysUserPermListReq) returns (SysUserPermListResp); } // 白名单表 message UserWhiteVo { int64 id = 1; // 主键ID string userIdentifier = 2; // 用户 UserType userType = 3; // 用户类型 1 设备 2 账号 Status status = 4; // 状态 int64 createTime = 5; // 创建时间 int64 updateTime = 6; // 更新时间 } // 测试用户表 message UserTestVo { int64 id = 1; // 主键ID string userIdentifier = 2; // 用户 UserType userType = 3; // 用户类型 1 设备 2 账号 string area = 4; // 指定地区 string apis = 5; // 指定接口 string routers = 6; // 指定路由 Status status = 7; // 状态 int64 createTime = 8; // 创建时间 int64 updateTime = 9; // 更新时间 } // Account message AccountVo { int64 id = 1; // 主键ID string userUuid = 2; // 用户UUID string productCode = 3; // 产品ID string username = 4; // 用户名 string password = 5; // 密码 string accountKey = 6; // 账号KEY string accountPassword = 7; // 账号密码 int64 accountType = 8; // 账号类型 int64 registMode = 9; // 注册方式 string provider = 10; // 授权登录标识 BoolInt whitelistUser = 11; // 白名单用户 BoolInt activated = 12; // 是否激活 string config = 13; // 配置 Status status = 14; // 状态 string avatar = 15; // 头像 string area = 16; // 指定地区 string remark = 17; // 备注 string deviceId = 18; // 设备ID string platform = 19; // 平台 string channel = 20; // 渠道 string deviceModel = 21; // 设备型号 string deviceOs = 22; // 设备系统 int64 timezone = 23; // 时区 string lang = 24; // 语言 string ip = 25; // IP string country = 26; // 国家 string province = 27; // 省份 string city = 28; // 城市 string isp = 29; // ISP int64 appVer = 30; // 产品版本号 int64 appRuntimeCode = 31; // 产品运行码 int64 createTime = 32; // 创建时间 int64 updateTime = 33; // 更新时间 string version = 34; // 数据版本 string sessionId = 35; // 登录凭证 int64 sessionCreateTime = 36; // 凭证创建时间 } message AccountListReq { Page page = 1; AccountVo vo = 2; repeated string productCodes = 3; // 产品code repeated int64 excludeIds = 4; // 排除的ID } message AccountListResp { int64 total = 1; repeated AccountVo list = 2; } // AccountDevice message AccountDeviceVo { int64 id = 1; int64 accountId = 2; // 用户ID int64 deviceId = 3; // 设备ID string sessionId = 4; // 登录凭证 int64 sessionCreateTime = 5; // 凭证创建时间 int64 updateTime = 6; int64 createTime = 7; } message AccountDeviceListReq { Page page = 1; AccountDeviceVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID } message AccountDeviceListResp { int64 total = 1; repeated AccountDeviceVo list = 2; } message UserWhiteListReq { Page page = 1; UserWhiteVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID } message UserWhiteListResp { int64 total = 1; repeated UserWhiteVo list = 2; } message UserWhiteAddReq { UserWhiteVo vo = 1; } message UserWhiteAddResp { UserWhiteVo vo = 1; } message UserWhiteGetReq { UserWhiteVo vo = 1; } message UserWhiteGetResp { UserWhiteVo vo = 1; } message UserWhiteUpdateReq { UserWhiteVo vo = 1; } message UserWhiteUpdateResp { UserWhiteVo vo = 1; } message UserWhiteDelReq { repeated int64 ids = 1; } message UserTestListReq { Page page = 1; UserTestVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID } message UserTestListResp { int64 total = 1; repeated UserTestVo list = 2; } message UserTestAddReq { UserTestVo vo = 1; } message UserTestAddResp { UserTestVo vo = 1; } message UserTestGetReq { UserTestVo vo = 1; } message UserTestGetResp { UserTestVo vo = 1; } message UserTestUpdateReq { UserTestVo vo = 1; } message UserTestUpdateResp { UserTestVo vo = 1; } message UserTestDelReq { repeated int64 ids = 1; } // 用户服务订阅权益表 message UserServiceVo { int64 id = 1; // 主键ID string userUuid = 2; // 用户UUID string productCode = 3; // 产品ID int64 ownerId = 4; // 服务所有者ID int64 servicePlanId = 5; // 服务计划ID int64 serviceTypeId = 6; // 服务类型ID int64 licenseDays = 7; // 授权天数 int64 licenseMinutes = 8; // 授权分钟数 int64 userLevel = 9; // 用户等级 int64 deviceLimit = 10; // 设备数量限制 int64 speedLimit = 11; // 速度限制 int64 trafficLimit = 12; // 流量限制 int64 state = 13; // 状态 Status status = 14; // 状态 int64 createTime = 15; // 创建时间 int64 updateTime = 16; // 更新时间 } message UserServiceAddReq { UserServiceVo vo = 1; } message UserServiceAddResp { UserServiceVo vo = 1; } message UserServiceUpdateReq { UserServiceVo vo = 1; } message UserServiceUpdateResp { UserServiceVo vo = 1; } message UserServiceDelReq { repeated int64 ids = 1; } message UserServiceGetReq { UserServiceVo vo = 1; } message UserServiceGetResp { UserServiceVo vo = 1; } message UserServiceListReq { Page page = 1; UserServiceVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID repeated int64 userIds = 4; // 用户ID repeated int64 dids = 5; // device 表的 id } message UserServiceListResp { int64 total = 1; repeated UserServiceVo list = 2; } message DeviceVo { int64 id = 1; string userUuid = 2; string productCode = 3; string deviceId = 4; string accountKey = 5; string accountPassword = 6; string platform = 7; string channel = 8; string referChannel = 9; string deviceModel = 10; string deviceOs = 11; int64 timezone = 12; string lang = 13; int64 appVer = 14; string ip = 15; string country = 16; string province = 17; string city = 18; string isp = 19; int64 createTime = 20; int64 updateTime = 21; Status status = 22; string refer = 23; int64 whitelistUser = 24; // 白名单用户 1正常用户 2: 白名单用户 int64 testUser = 25; // 测试用户 1正常用户 2: 测试用户 string mockCountry = 26; // 指定国家 string mockApi = 27; // 指定API string mockRouter = 28; // 指定路由 string referSubChannel = 29; string firebaseToken = 30; // firebase token string appVerName = 31; // 版本 } message DeviceListReq { Page page = 1; DeviceVo vo = 2; repeated string productCodes = 3; // 产品code repeated int64 excludeIds = 4; // 排除的ID repeated string dateRange = 5; // 日期范围 int64 createStartTime = 6; // 创建开始时间 int64 createEndTime = 7; // 创建结束时间 repeated string deviceIds = 8; // 设备IDs string country = 9; // 国家 string vn = 10; // 运营商 } message DeviceListRes { int64 total = 1; repeated DeviceVo list = 2; } message UserAppConfigVo { int64 id = 1; string deviceId = 2; string key = 3; string value = 4; Status status = 5; int64 createTime = 6; int64 updateTime = 7; } message UserAppConfigGetReq { UserAppConfigVo vo = 1; } message UserAppConfigListReq { Page page = 1; UserAppConfigVo vo = 2; } message UserAppConfigListRes { int64 total = 1; repeated UserAppConfigVo list = 2; } message UserVo { int64 id = 1; // ID string productCode = 2; // 产品标识 string uuid = 3; // 用户唯一ID string deviceId = 4; // 注册时使用的设备ID int64 accountType = 5; // 值为1时表示实体尚未注册账号, 为其他值时表示实体已经注册了账号(为了让 productCode+deviceId+accountType 能唯一确定一个用户) string registType = 6; // 注册方式 normal email phone wechat qq google apple (其实可以通过查询 user_credential 中最早的一条记录的 identityType 来确定) int64 registFrom = 7; // 从哪里注册 0: unknown 1: guest 2: app 3: web 4: pc 9999: invalid string referChannel = 8; // 推广渠道 string referSubChannel = 9; // 推广子渠道 string nickname = 10; // 用户昵称 string avatar = 11; // 用户头像地址 string config = 12; // 保留字段,用于扩展 Status status = 13; // 状态 1: 正常 2: 冻结 int64 createTime = 14; // 创建时间 int64 updateTime = 15; // 修改时间 } message UserAddReq { UserVo vo = 1; } message UserAddResp { UserVo vo = 1; } message UserUpdateReq { UserVo vo = 1; } message UserUpdateResp { UserVo vo = 1; } message UserDelReq { repeated int64 ids = 1; } message UserGetReq { UserVo vo = 1; } message UserGetResp { UserVo vo = 1; } message UserListReq { Page page = 1; UserVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID repeated string productCodes = 4; // 产品code repeated string uuids = 5; // 用户唯一ID repeated string deviceIds = 6; // 设备ID (device 表的 id) } message UserListResp { int64 total = 1; repeated UserVo list = 2; } message UserCredentialVo { int64 id = 1; // ID int64 userId = 2; // 用户ID string productCode = 3; // 产品标识 string identityType = 4; // 凭证类型: username, email, phone, wechat, qq, google, apple 等 string identifier = 5; // 凭证标识 string credential = 6; // 凭证密钥(密码/token) int64 isVerified = 7; // 是否已验证 1: 已验证 2: 未验证 int64 registFrom = 8; // 从哪里注册 0: unknown 1: guest 2: app 3: web 4: pc 9999: invalid Status status = 9; // 状态 1: 正常 2: 禁用 int64 createTime = 10; // 创建时间/注册时间 int64 updateTime = 11; // 更新时间 } message UserCredentialAddReq { UserCredentialVo vo = 1; } message UserCredentialAddResp { UserCredentialVo vo = 1; } message UserCredentialUpdateReq { UserCredentialVo vo = 1; } message UserCredentialUpdateResp { UserCredentialVo vo = 1; } message UserCredentialDelReq { repeated int64 ids = 1; } message UserCredentialGetReq { UserCredentialVo vo = 1; } message UserCredentialGetResp { UserCredentialVo vo = 1; } message UserCredentialListReq { Page page = 1; UserCredentialVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID repeated int64 userIds = 4; // 用户ID } message UserCredentialListResp { int64 total = 1; repeated UserCredentialVo list = 2; } message UserDeviceVo { int64 id = 1; // ID int64 userId = 2; // 用户ID int64 did = 3; // 设备ID string sessionId = 4; // 登录凭证 int64 sessionCreateTime = 5; // 凭证创建时间 Status status = 6; // 状态 1: 正常 2: 禁用 int64 updateTime = 7; // 更新时间 int64 createTime = 8; // 创建时间 } message UserDeviceAddReq { UserDeviceVo vo = 1; } message UserDeviceAddResp { UserDeviceVo vo = 1; } message UserDeviceUpdateReq { UserDeviceVo vo = 1; } message UserDeviceUpdateResp { UserDeviceVo vo = 1; } message UserDeviceDelReq { repeated int64 ids = 1; } message UserDeviceGetReq { UserDeviceVo vo = 1; } message UserDeviceGetResp { UserDeviceVo vo = 1; } message UserDeviceListReq { Page page = 1; UserDeviceVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID repeated int64 userIds = 4; // 用户ID repeated int64 dids = 5; // device 表的 id } message UserDeviceListResp { int64 total = 1; repeated UserDeviceVo list = 2; } // 用户模块 service GoUserClient { rpc Ping(Request) returns (Response); // 用户app配置管理(ring) rpc UserAppConfigAdd(UserAppConfigVo) returns (UserAppConfigVo); rpc UserAppConfigUpdate(UserAppConfigVo) returns (UserAppConfigVo); rpc UserAppConfigDel(Ids) returns (Empty); rpc UserAppConfigGet(UserAppConfigGetReq) returns (UserAppConfigVo); rpc UserAppConfigList(UserAppConfigListReq) returns (UserAppConfigListRes); // Device Model // DeviceAdd rpc DeviceAdd(DeviceVo) returns (DeviceVo); rpc DeviceUpdate(DeviceVo) returns (DeviceVo); rpc DeviceDel(Ids) returns (Empty); rpc DeviceGet(DeviceVo) returns (DeviceVo); rpc DeviceList(DeviceListReq) returns (DeviceListRes); // Account Model // AccountAdd rpc AccountAdd(AccountVo) returns (AccountVo); rpc AccountUpdate(AccountVo) returns (AccountVo); rpc AccountDel(Ids) returns (Empty); rpc AccountGet(AccountVo) returns (AccountVo); rpc AccountList(AccountListReq) returns (AccountListResp); // AccountDevice Model // AccountDeviceAdd rpc AccountDeviceAdd(AccountDeviceVo) returns (AccountDeviceVo); rpc AccountDeviceUpdate(AccountDeviceVo) returns (AccountDeviceVo); rpc AccountDeviceDel(Ids) returns (Empty); rpc AccountDeviceGet(AccountDeviceVo) returns (AccountDeviceVo); rpc AccountDeviceList(AccountDeviceListReq) returns (AccountDeviceListResp); // 用户白名单管理 rpc UserWhiteAdd(UserWhiteAddReq) returns (UserWhiteAddResp); rpc UserWhiteUpdate(UserWhiteUpdateReq) returns (UserWhiteUpdateResp); rpc UserWhiteDel(UserWhiteDelReq) returns (Empty); rpc UserWhiteGet(UserWhiteGetReq) returns (UserWhiteGetResp); rpc UserWhiteList(UserWhiteListReq) returns (UserWhiteListResp); // 测试用户管理 rpc UserTestAdd(UserTestAddReq) returns (UserTestAddResp); rpc UserTestUpdate(UserTestUpdateReq) returns (UserTestUpdateResp); rpc UserTestDel(UserTestDelReq) returns (Empty); rpc UserTestGet(UserTestGetReq) returns (UserTestGetResp); rpc UserTestList(UserTestListReq) returns (UserTestListResp); // User Model // UserAdd rpc UserAdd(UserAddReq) returns (UserAddResp); rpc UserUpdate(UserUpdateReq) returns (UserUpdateResp); rpc UserDel(UserDelReq) returns (Empty); rpc UserGet(UserGetReq) returns (UserGetResp); rpc UserList(UserListReq) returns (UserListResp); // UserCredential Model // UserCredentialAdd rpc UserCredentialAdd(UserCredentialAddReq) returns (UserCredentialAddResp); rpc UserCredentialUpdate(UserCredentialUpdateReq) returns (UserCredentialUpdateResp); rpc UserCredentialDel(UserCredentialDelReq) returns (Empty); rpc UserCredentialGet(UserCredentialGetReq) returns (UserCredentialGetResp); rpc UserCredentialList(UserCredentialListReq) returns (UserCredentialListResp); // UserDevice Model // UserDeviceAdd rpc UserDeviceAdd(UserDeviceAddReq) returns (UserDeviceAddResp); rpc UserDeviceUpdate(UserDeviceUpdateReq) returns (UserDeviceUpdateResp); rpc UserDeviceDel(UserDeviceDelReq) returns (Empty); rpc UserDeviceGet(UserDeviceGetReq) returns (UserDeviceGetResp); rpc UserDeviceList(UserDeviceListReq) returns (UserDeviceListResp); //UserService rpc UserServiceAdd(UserServiceAddReq) returns (UserServiceAddResp); rpc UserServiceUpdate(UserServiceUpdateReq) returns (UserServiceUpdateResp); rpc UserServiceDel(UserServiceDelReq) returns (Empty); rpc UserServiceGet(UserServiceGetReq) returns (UserServiceGetResp); rpc UserServiceList(UserServiceListReq) returns (UserServiceListResp); } // VpnTag message VpnTagVo { int64 id = 1; string productCode = 2; string type = 3; string name = 4; int64 sort = 5; Status status = 6; string remark = 7; int64 createTime = 8; int64 updateTime = 9; string otherConfig = 10; } message VpnTagGetReq { VpnTagVo vo = 1; } message VpnTagListReq { Page page = 1; VpnTagVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; } message VpnTagListResp { int64 total = 1; repeated VpnTagVo list = 2; } message VpnTagBatchAddReq { repeated VpnTagVo list = 1; } message VpnTagBatchAddResp { repeated VpnTagVo list = 1; } message VpnTagBatchUpdateReq { repeated VpnTagVo list = 1; } message VpnTagBatchUpdateResp { repeated VpnTagVo list = 1; } message VpnTagBatchDelReq { repeated int64 ids = 1; } // VpnTag message VpnGroupVo { int64 id = 1; string productCode = 2; string name = 3; string icon = 4; int64 sort = 5; Status status = 6; string remark = 7; int64 createTime = 8; int64 updateTime = 9; string version = 10; string otherConfig = 11; } message VpnGroupExVo { VpnGroupVo vo = 1; repeated int64 tagIds = 2; } message VpnGroupAddReq { VpnGroupVo vo = 1; repeated int64 tagIds = 2; } message VpnGroupGetReq { VpnGroupVo vo = 1; } message VpnGroupListReq { Page page = 1; VpnGroupVo vo = 2; repeated string productCodes = 3; repeated int64 excludeIds = 4; } message VpnGroupListResp { int64 total = 1; repeated VpnGroupVo list = 2; } message VpnGroupBatchAddReq { repeated VpnGroupExVo list = 1; } message VpnGroupBatchAddResp { repeated VpnGroupExVo list = 1; } message VpnGroupBatchUpdateReq { repeated VpnGroupExVo list = 1; } message VpnGroupBatchUpdateResp { repeated VpnGroupExVo list = 1; } message VpnGroupBatchDelReq { repeated int64 ids = 1; } // VpnGroupTag message VpnGroupTagVo { int64 id = 1; int64 groupId = 2; int64 tagId = 3; int64 createTime = 4; int64 updateTime = 5; } message VpnGroupTagListReq { Page page = 1; VpnGroupTagVo vo = 2; repeated int64 groupIds = 3; repeated int64 tagIds = 4; } message VpnGroupTagListResp { int64 total = 1; repeated VpnGroupTagVo list = 2; } // VpnLocation message VpnLocationVo { int64 id = 1; int64 groupId = 2; string name = 3; string code = 4; string icon = 5; int64 type = 6; string displayPolicyConfig = 7; string routePolicyConfig = 8; int64 sort = 9; Status status = 10; string remark = 11; int64 createTime = 12; int64 updateTime = 13; string version = 14; string otherConfig = 15; } message VpnLocationExVo { VpnLocationVo vo = 1; string productCode = 2; } message VpnLocationGetReq { VpnLocationVo vo = 1; } message VpnLocationListReq { Page page = 1; VpnLocationExVo vo = 2; repeated int64 groupIds = 3; repeated int64 excludeIds = 4; repeated string productCodes = 5; } message VpnLocationListResp { int64 total = 1; repeated VpnLocationExVo list = 2; } message VpnLocationBatchAddReq { repeated VpnLocationVo list = 1; } message VpnLocationBatchAddResp { repeated VpnLocationExVo list = 1; } message VpnLocationBatchUpdateReq { repeated VpnLocationVo list = 1; } message VpnLocationBatchUpdateResp { repeated VpnLocationExVo list = 1; } message VpnLocationBatchDelReq { repeated int64 ids = 1; } // VpnServer message VpnServerVo { int64 id = 1; int64 instanceId = 2; string name = 3; string ip = 4; int64 port = 5; int64 pingPort = 6; string netConfig = 7; string routePolicyConfig = 8; string serverInfo = 9; Status status = 10; string remark = 11; int64 createTime = 12; int64 updateTime = 13; string version = 14; string otherInfo = 15; int64 monitorPort = 16; string vpnConfig = 17; } message VpnServerExVo { VpnServerVo vo = 1; repeated int64 locationIds = 2; } message VpnServerListReq { Page page = 1; VpnServerVo vo = 2; repeated int64 excludeIds = 3; // 排除的ID repeated string productCodes = 4; repeated int64 locationIds = 5; repeated int64 instanceIds = 6; } message VpnServerListResp { int64 total = 1; repeated VpnServerVo list = 2; } message VpnServerExListResp { int64 total = 1; repeated VpnServerExVo list = 2; } message VpnServerAddReq { VpnServerVo vo = 1; repeated int64 locationIds = 2; } message VpnServerBatchAddReq { repeated VpnServerExVo list = 1; } message VpnServerBatchAddResp { repeated VpnServerExVo list = 1; } message VpnServerBatchUpdateReq { repeated VpnServerExVo list = 1; } message VpnServerBatchUpdateResp { repeated VpnServerExVo list = 1; } message VpnServerBatchDelReq { repeated int64 ids = 1; } message VpnServerLocationVo { int64 id = 1; int64 serverId = 2; int64 locationId = 3; int64 createTime = 4; int64 updateTime = 5; Status status = 6; } message VpnServerLocationListReq { Page page = 1; VpnServerLocationVo vo = 2; repeated int64 serverIds = 3; repeated int64 locationIds = 4; } message VpnServerLocationListResp { int64 total = 1; repeated VpnServerLocationVo list = 2; } message VpnLocationServerCountVo { int64 locationId = 1; int64 serverCount = 2; } message VpnLocationServerCountReq { Page page = 1; Status status = 2; repeated int64 serverIds = 3; repeated int64 locationIds = 4; } message VpnLocationServerCountResp { int64 total = 1; repeated VpnLocationServerCountVo list = 2; } message VpnProbeTaskVo { int64 id = 1; string taskId = 2; string filter = 3; // 筛选条件 string type = 4; // 类型 string uploadDomain = 5; // 配置 string params = 6; int64 answer = 7; float percentage = 8; // 进度百分比 string result = 9; // 结果 int64 userId = 10; int64 createTime = 11; int64 updateTime = 12; } message VpnProbeTaskListReq { Page page = 1; VpnProbeTaskVo vo = 2; } message VpnProbeTaskListResp { int64 total = 1; repeated VpnProbeTaskVo list = 2; } message VpnWithIPAndPortReq { // 产品Code string productCode = 1; // 国家 string country = 2; // 需要随机的总数 int64 limitCount = 3; } message VpnWithIPAndPortResp { repeated VpnServerVo list = 1; } // VpnipWalledVo message VpnipWalledVo { int64 id = 1; // ID int64 ipId = 2; // IP ID string area = 3; // 地区 int64 walledTime = 4; // 被墙时间 string remark = 5; // 备注 int64 createTime = 6; // 创建时间 int64 createAt = 7; // 创建者ID int64 updateTime = 8; // 更新时间 int64 updateAt = 9; // 更新者ID } message VpnipWalledAddReq { VpnipWalledVo vo = 1; } message VpnipWalledAddResp { VpnipWalledVo vo = 1; } message VpnipWalledUpdateReq { VpnipWalledVo vo = 1; } message VpnipWalledUpdateResp { VpnipWalledVo vo = 1; } message VpnipWalledGetReq { VpnipWalledVo vo = 1; } message VpnipWalledGetResp { VpnipWalledVo vo = 1; } message VpnipWalledListReq { Page page = 1; VpnipWalledVo vo = 2; repeated int64 excludeIds = 3; repeated int64 ipIds = 4; repeated string ips = 5; repeated string areas = 6; } message VpnipWalledListResp { int64 total = 1; repeated VpnipWalledVo list = 2; } message VpnipWalledBatchAddReq { repeated VpnipWalledVo list = 1; } message VpnipWalledBatchAddResp { repeated VpnipWalledVo list = 1; } message VpnipWalledBatchUpdateReq { repeated VpnipWalledVo list = 1; } message VpnipWalledBatchUpdateResp { repeated VpnipWalledVo list = 1; } // VpnipVo message VpnipVo { int64 id = 1; // ID int64 rangeId = 2; // IP段ID string ip = 3; // IP地址 string otherInfo = 4; // 其他信息,保留字段,用于扩展 Status status = 5; // 状态 string remark = 6; // 备注 int64 createTime = 7; // 创建时间 int64 createAt = 8; // 创建者ID int64 updateTime = 9; // 更新时间 int64 updateAt = 10; // 更新者ID } message VpnipExVo { VpnipVo vo = 1; repeated VpnipWalledVo walledInfos = 2; } message VpnipAddReq { VpnipVo vo = 1; } message VpnipAddResp { VpnipVo vo = 1; } message VpnipExAddReq { VpnipExVo vo = 1; } message VpnipExAddResp { VpnipExVo vo = 1; } message VpnipUpdateReq { VpnipVo vo = 1; } message VpnipUpdateResp { VpnipVo vo = 1; } message VpnipExUpdateReq { VpnipExVo vo = 1; } message VpnipExUpdateResp { VpnipExVo vo = 1; } message VpnipGetReq { VpnipVo vo = 1; } message VpnipGetResp { VpnipVo vo = 1; } message VpnipExGetResp { VpnipExVo vo = 1; } message VpnipListReq { Page page = 1; VpnipVo vo = 2; repeated int64 excludeIds = 3; repeated string ips = 4; repeated int64 serverIds = 5; repeated int64 instanceIds = 6; repeated int64 rangeIds = 7; } message VpnipListResp { int64 total = 1; repeated VpnipVo list = 2; } message VpnipExListResp { int64 total = 1; repeated VpnipExVo list = 2; } message VpnipBatchAddReq { repeated VpnipVo list = 1; } message VpnipBatchAddResp { repeated VpnipVo list = 1; } message VpnipBatchUpdateReq { repeated VpnipVo list = 1; } message VpnipBatchUpdateResp { repeated VpnipVo list = 1; } message VpnipExBatchAddReq { repeated VpnipExVo list = 1; } message VpnipExBatchAddResp { repeated VpnipExVo list = 1; } message VpnipExBatchUpdateReq { repeated VpnipExVo list = 1; } message VpnipExBatchUpdateResp { repeated VpnipExVo list = 1; } // VpnipRangeVo message VpnipRangeVo { int64 id = 1; // ID string name = 2; // 名称 string supplierId = 3; // 供应商ID string startIP = 4; // 起始IP string endIP = 5; // 结束IP int64 expires = 6; // 到期日期 int64 sort = 7; // 排序 Status status = 8; // 状态 string remark = 9; // 备注 int64 createTime = 10; // 创建时间 int64 createAt = 11; // 创建者ID int64 updateTime = 12; // 更新时间 int64 updateAt = 13; // 更新者ID } message VpnipRangeExVo { VpnipRangeVo vo = 1; repeated VpnipVo ipInfos = 2; } message VpnipRangeAddReq { VpnipRangeVo vo = 1; } message VpnipRangeAddResp { VpnipRangeVo vo = 1; } message VpnipRangeExAddReq { VpnipRangeExVo vo = 1; } message VpnipRangeExAddResp { VpnipRangeExVo vo = 1; } message VpnipRangeUpdateReq { VpnipRangeVo vo = 1; } message VpnipRangeUpdateResp { VpnipRangeVo vo = 1; } message VpnipRangeExUpdateReq { VpnipRangeExVo vo = 1; } message VpnipRangeExUpdateResp { VpnipRangeExVo vo = 1; } message VpnipRangeGetReq { VpnipRangeVo vo = 1; } message VpnipRangeGetResp { VpnipRangeVo vo = 1; } message VpnipRangeExGetResp { VpnipRangeExVo vo = 1; } message VpnipRangeListReq { Page page = 1; VpnipRangeVo vo = 2; repeated string names = 3; repeated string ips = 4; repeated int64 excludeIds = 5; // 排除的ID } message VpnipRangeListResp { int64 total = 1; repeated VpnipRangeVo list = 2; } message VpnipRangeExListResp { int64 total = 1; repeated VpnipRangeExVo list = 2; } message VpnipRangeBatchAddReq { repeated VpnipRangeVo list = 1; } message VpnipRangeBatchAddResp { repeated VpnipRangeVo list = 1; } message VpnipRangeBatchUpdateReq { repeated VpnipRangeVo list = 1; } message VpnipRangeBatchUpdateResp { repeated VpnipRangeVo list = 1; } message VpnipRangeExBatchAddReq { repeated VpnipRangeExVo list = 1; } message VpnipRangeExBatchAddResp { repeated VpnipRangeExVo list = 1; } message VpnipRangeExBatchUpdateReq { repeated VpnipRangeExVo list = 1; } message VpnipRangeExBatchUpdateResp { repeated VpnipRangeExVo list = 1; } // VpnipBindVo message VpnipBindVo { int64 id = 1; // ID int64 ipId = 2; // IP ID int64 serverId = 3; // 服务器ID string batchId = 4; // 批次ID,用于批量操作和回滚 string prevBindId = 5; // 上一次绑定记录的ID,为空时表示之前未绑定 int64 bindTime = 6; // 绑定时间 int64 unbindTime = 7; // 解绑时间 int64 isCurrent = 8; // 是否为当前绑定记录 string remark = 9; // 备注 int64 createTime = 10; // 创建时间 int64 createAt = 11; // 创建者ID int64 updateTime = 12; // 更新时间 int64 updateAt = 13; // 更新者ID } message VpnipBindAddReq { VpnipBindVo vo = 1; } message VpnipBindAddResp { VpnipBindVo vo = 1; } message VpnipBindUpdateReq { VpnipBindVo vo = 1; } message VpnipBindUpdateResp { VpnipBindVo vo = 1; } message VpnipBindGetReq { VpnipBindVo vo = 1; } message VpnipBindGetResp { VpnipBindVo vo = 1; } message VpnipBindListReq { Page page = 1; VpnipBindVo vo = 2; repeated int64 excludeIds = 3; repeated int64 ipIds = 4; repeated int64 serverIds = 5; repeated string ips = 6; repeated int64 instanceIds = 7; } message VpnipBindListResp { int64 total = 1; repeated VpnipBindVo list = 2; } message VpnipBindBatchAddReq { repeated VpnipBindVo list = 1; } message VpnipBindBatchAddResp { repeated VpnipBindVo list = 1; } message VpnipBindBatchUpdateReq { repeated VpnipBindVo list = 1; } message VpnipBindBatchUpdateResp { repeated VpnipBindVo list = 1; } // VpnConfigTemplatePlanVo message VpnConfigTemplatePlanVo { int64 id = 1; // id string productCode = 2; // 产品Code string name = 3; // 配置名称 string config = 4; // 保留字段,用于扩展配置 int64 sort = 5; // 排序 Status status = 6; // 状态 string remark = 7; // 备注 int64 createTime = 8; // 创建时间 int64 createAt = 9; // 创建者Id int64 updateTime = 10; // 更新时间 int64 updateAt = 11; // 更新者Id string version = 12; // 数据版本 } // VpnConfigTemplatePlanDetailVo message VpnConfigTemplatePlanDetailVo { int64 id = 1; // id int64 planId = 2; // 配置模板主表id string core = 3; // 内核 string name = 4; // 名称 string serverConfig = 5; // 服务端配置 string clientConfig = 6; // 客户端配置 string policyConfig = 7; // 策略配置 int64 sort = 8; // 排序 Status status = 9; // 状态 string remark = 10; // 备注 int64 createTime = 11; // 创建时间 int64 createAt = 12; // 创建者Id int64 updateTime = 13; // 更新时间 int64 updateAt = 14; // 更新者Id string version = 15; // 数据版本 } message VpnConfigTemplatePlanAddReq { VpnConfigTemplatePlanVo plan = 1; repeated VpnConfigTemplatePlanDetailVo details = 2; } message VpnConfigTemplatePlanAddResp { VpnConfigTemplatePlanVo plan = 1; repeated VpnConfigTemplatePlanDetailVo details = 2; } message VpnConfigTemplatePlanUpdateReq { VpnConfigTemplatePlanVo vo = 1; bool withDetails = 2; } message VpnConfigTemplatePlanUpdateResp { VpnConfigTemplatePlanVo plan = 1; repeated VpnConfigTemplatePlanDetailVo details = 2; } message VpnConfigTemplatePlanDelReq { repeated int64 ids = 1; } message VpnConfigTemplatePlanGetReq { VpnConfigTemplatePlanVo vo = 1; bool withDetails = 2; } message VpnConfigTemplatePlanGetResp { VpnConfigTemplatePlanVo plan = 1; repeated VpnConfigTemplatePlanDetailVo details = 2; } message VpnConfigTemplatePlanListReq { Page page = 1; VpnConfigTemplatePlanVo vo = 2; repeated int64 excludeIds = 3; repeated string productCodes = 4; bool withDetails = 5; } message VpnConfigTemplatePlanListResp { int64 total = 1; repeated VpnConfigTemplatePlanGetResp list = 2; } message VpnConfigTemplatePlanDetailAddReq { VpnConfigTemplatePlanDetailVo vo = 1; } message VpnConfigTemplatePlanDetailAddResp { VpnConfigTemplatePlanDetailVo vo = 1; } message VpnConfigTemplatePlanDetailUpdateReq { VpnConfigTemplatePlanDetailVo vo = 1; } message VpnConfigTemplatePlanDetailUpdateResp { VpnConfigTemplatePlanDetailVo vo = 1; } message VpnConfigTemplatePlanDetailDelReq { repeated int64 ids = 1; } message VpnConfigTemplatePlanDetailGetReq { VpnConfigTemplatePlanDetailVo vo = 1; } message VpnConfigTemplatePlanDetailGetResp { VpnConfigTemplatePlanDetailVo vo = 1; } message VpnConfigTemplatePlanDetailListReq { Page page = 1; VpnConfigTemplatePlanDetailVo vo = 2; repeated int64 planIds = 3; repeated int64 excludeIds = 4; repeated string productCodes = 5; } message VpnConfigTemplatePlanDetailListResp { int64 total = 1; repeated VpnConfigTemplatePlanDetailVo list = 2; } // govpn 模块,VPN相关服务 service GoVpnClient { rpc Ping(Request) returns (Response); // 表的事务操作 rpc Transaction(TransactionReq) returns (Empty); // VpnTag Model // VpnTagAdd rpc VpnTagAdd(VpnTagVo) returns (VpnTagVo); rpc VpnTagUpdate(VpnTagVo) returns (VpnTagVo); rpc VpnTagDel(Ids) returns (Empty); rpc VpnTagGet(VpnTagGetReq) returns (VpnTagVo); rpc VpnTagList(VpnTagListReq) returns (VpnTagListResp); rpc VpnTagBatchAdd(VpnTagBatchAddReq) returns (VpnTagBatchAddResp); rpc VpnTagBatchUpdate(VpnTagBatchUpdateReq) returns (VpnTagBatchUpdateResp); // VpnGroup Model // VpnGroupAdd rpc VpnGroupAdd(VpnGroupAddReq) returns (VpnGroupVo); rpc VpnGroupUpdate(VpnGroupAddReq) returns (Empty); rpc VpnGroupDel(Ids) returns (Empty); rpc VpnGroupGet(VpnGroupGetReq) returns (VpnGroupVo); rpc VpnGroupList(VpnGroupListReq) returns (VpnGroupListResp); rpc VpnGroupBatchAdd(VpnGroupBatchAddReq) returns (VpnGroupBatchAddResp); rpc VpnGroupBatchUpdate(VpnGroupBatchUpdateReq) returns (VpnGroupBatchUpdateResp); // VpnGroupTag Model // VpnGroupTagAdd rpc VpnGroupTagAdd(VpnGroupTagVo) returns (VpnGroupTagVo); rpc VpnGroupTagUpdate(VpnGroupTagVo) returns (VpnGroupTagVo); rpc VpnGroupTagDel(Ids) returns (Empty); rpc VpnGroupTagGet(VpnGroupTagVo) returns (VpnGroupTagVo); rpc VpnGroupTagList(VpnGroupTagListReq) returns (VpnGroupTagListResp); // VpnLocation Model // VpnLocationAdd rpc VpnLocationAdd(VpnLocationVo) returns (VpnLocationVo); rpc VpnLocationUpdate(VpnLocationVo) returns (Empty); rpc VpnLocationDel(Ids) returns (Empty); rpc VpnLocationGet(VpnLocationGetReq) returns (VpnLocationVo); rpc VpnLocationList(VpnLocationListReq) returns (VpnLocationListResp); rpc VpnLocationBatchAdd(VpnLocationBatchAddReq) returns (VpnLocationBatchAddResp); rpc VpnLocationBatchUpdate(VpnLocationBatchUpdateReq) returns (VpnLocationBatchUpdateResp); // VpnServer Model // VpnServerAdd rpc VpnServerAdd(VpnServerAddReq) returns (VpnServerAddReq); rpc VpnServerUpdate(VpnServerAddReq) returns (VpnServerAddReq); rpc VpnServerDel(Ids) returns (Empty); rpc VpnServerGet(VpnServerVo) returns (VpnServerVo); rpc VpnServerExGet(VpnServerVo) returns (VpnServerExVo); rpc VpnServerList(VpnServerListReq) returns (VpnServerListResp); rpc VpnServerExList(VpnServerListReq) returns (VpnServerExListResp); rpc VpnServerBatchAdd(VpnServerBatchAddReq) returns (VpnServerBatchAddResp); rpc VpnServerBatchUpdate(VpnServerBatchUpdateReq) returns (VpnServerBatchUpdateResp); // VpnServerLocation Model // VpnServerLocationAdd rpc VpnServerLocationAdd(VpnServerLocationVo) returns (VpnServerLocationVo); rpc VpnServerLocationUpdate(VpnServerLocationVo) returns (Empty); rpc VpnServerLocationDel(Ids) returns (Empty); rpc VpnServerLocationGet(VpnServerLocationVo) returns (VpnServerLocationVo); rpc VpnServerLocationList(VpnServerLocationListReq) returns (VpnServerLocationListResp); rpc VpnWithIPAndPort(VpnWithIPAndPortReq) returns (VpnWithIPAndPortResp); // VpnLocationServerCount rpc VpnLocationServerCount(VpnLocationServerCountReq) returns (VpnLocationServerCountResp); // VpnProbeTask Model // VpnProbeTaskAdd rpc VpnProbeTaskAdd(VpnProbeTaskVo) returns (VpnProbeTaskVo); rpc VpnProbeTaskUpdate(VpnProbeTaskVo) returns (Empty); rpc VpnProbeTaskList(VpnProbeTaskListReq) returns (VpnProbeTaskListResp); // VpnipWalled Model // VpnipWalledAdd rpc VpnipWalledAdd(VpnipWalledAddReq) returns (VpnipWalledAddResp); rpc VpnipWalledUpdate(VpnipWalledUpdateReq) returns (VpnipWalledUpdateResp); rpc VpnipWalledDel(Ids) returns (Empty); rpc VpnipWalledGet(VpnipWalledGetReq) returns (VpnipWalledGetResp); rpc VpnipWalledList(VpnipWalledListReq) returns (VpnipWalledListResp); rpc VpnipWalledBatchAdd(VpnipWalledBatchAddReq) returns (VpnipWalledBatchAddResp); rpc VpnipWalledBatchUpdate(VpnipWalledBatchUpdateReq) returns (VpnipWalledBatchUpdateResp); // Vpnip Model // VpnipAdd rpc VpnipAdd(VpnipAddReq) returns (VpnipAddResp); rpc VpnipExAdd(VpnipExAddReq) returns (VpnipExAddResp); rpc VpnipUpdate(VpnipUpdateReq) returns (VpnipUpdateResp); rpc VpnipExUpdate(VpnipExUpdateReq) returns (VpnipExUpdateResp); rpc VpnipDel(Ids) returns (Empty); rpc VpnipGet(VpnipGetReq) returns (VpnipGetResp); rpc VpnipExGet(VpnipGetReq) returns (VpnipExGetResp); rpc VpnipList(VpnipListReq) returns (VpnipListResp); rpc VpnipExList(VpnipListReq) returns (VpnipExListResp); rpc VpnipBatchAdd(VpnipBatchAddReq) returns (VpnipBatchAddResp); rpc VpnipBatchUpdate(VpnipBatchUpdateReq) returns (VpnipBatchUpdateResp); rpc VpnipExBatchAdd(VpnipExBatchAddReq) returns (VpnipExBatchAddResp); rpc VpnipExBatchUpdate(VpnipExBatchUpdateReq) returns (VpnipExBatchUpdateResp); // VpnipRange Model // VpnipRangeAdd rpc VpnipRangeAdd(VpnipRangeAddReq) returns (VpnipRangeAddResp); // VpnipRangeExAdd 添加IP段及IP数据,如果IP数据已存在,会自动将已经存在的IP的 rangeId 更新为新增的IP段的ID rpc VpnipRangeExAdd(VpnipRangeExAddReq) returns (VpnipRangeExAddResp); rpc VpnipRangeUpdate(VpnipRangeUpdateReq) returns (VpnipRangeUpdateResp); rpc VpnipRangeExUpdate(VpnipRangeExUpdateReq) returns (VpnipRangeExUpdateResp); rpc VpnipRangeDel(Ids) returns (Empty); rpc VpnipRangeGet(VpnipRangeGetReq) returns (VpnipRangeGetResp); rpc VpnipRangeExGet(VpnipRangeGetReq) returns (VpnipRangeExGetResp); rpc VpnipRangeList(VpnipRangeListReq) returns (VpnipRangeListResp); rpc VpnipRangeExList(VpnipRangeListReq) returns (VpnipRangeExListResp); rpc VpnipRangeBatchAdd(VpnipRangeBatchAddReq) returns (VpnipRangeBatchAddResp); rpc VpnipRangeExBatchAdd(VpnipRangeExBatchAddReq) returns (VpnipRangeExBatchAddResp); rpc VpnipRangeBatchUpdate(VpnipRangeBatchUpdateReq) returns (VpnipRangeBatchUpdateResp); rpc VpnipRangeExBatchUpdate(VpnipRangeExBatchUpdateReq) returns (VpnipRangeExBatchUpdateResp); // VpnipBind Model // VpnipBindAdd rpc VpnipBindAdd(VpnipBindAddReq) returns (VpnipBindAddResp); rpc VpnipBindUpdate(VpnipBindUpdateReq) returns (VpnipBindUpdateResp); rpc VpnipBindDel(Ids) returns (Empty); rpc VpnipBindGet(VpnipBindGetReq) returns (VpnipBindGetResp); rpc VpnipBindList(VpnipBindListReq) returns (VpnipBindListResp); rpc VpnipBindBatchUpdate(VpnipBindBatchUpdateReq) returns (VpnipBindBatchUpdateResp); // VpnipsBindServer 为一台服务器绑定一批新IP,会解绑上次绑定的IP,再绑定新的IP,仅需提供 ipId, serverId, Remark, createAt, updateAt 即可,其他字段会自动填充 rpc VpnipsBindServer(VpnipBindBatchAddReq) returns (VpnipBindBatchAddResp); // VpnConfigTemplatePlan Model (Xray配置模板,jump那边叫做配置模板) // VpnConfigTemplatePlanAdd 添加配置模板及模板详情 rpc VpnConfigTemplatePlanAdd(VpnConfigTemplatePlanAddReq) returns (VpnConfigTemplatePlanAddResp); // VpnConfigTemplatePlanUpdate 更新配置模板(只更新模板,不更新模板详情,如果 withDetails 为 true,则返回结果中包含模板详情) rpc VpnConfigTemplatePlanUpdate(VpnConfigTemplatePlanUpdateReq) returns (VpnConfigTemplatePlanUpdateResp); // VpnConfigTemplatePlanDel 删除配置模板(会同时删除模板详情) rpc VpnConfigTemplatePlanDel(VpnConfigTemplatePlanDelReq) returns (Empty); // VpnConfigTemplatePlanGet 获取配置模板(如果 withDetails 为 true,则返回结果中包含模板详情) rpc VpnConfigTemplatePlanGet(VpnConfigTemplatePlanGetReq) returns (VpnConfigTemplatePlanGetResp); // VpnConfigTemplatePlanList 获取配置模板列表(如果 withDetails 为 true,则返回结果中包含模板详情) rpc VpnConfigTemplatePlanList(VpnConfigTemplatePlanListReq) returns (VpnConfigTemplatePlanListResp); // VpnConfigTemplatePlanDetail Model (Xray配置模板详情,jump那边叫做传输配置) // VpnConfigTemplatePlanDetailAdd 添加模板详情 rpc VpnConfigTemplatePlanDetailAdd(VpnConfigTemplatePlanDetailAddReq) returns (VpnConfigTemplatePlanDetailAddResp); rpc VpnConfigTemplatePlanDetailUpdate(VpnConfigTemplatePlanDetailUpdateReq) returns (VpnConfigTemplatePlanDetailUpdateResp); rpc VpnConfigTemplatePlanDetailDel(VpnConfigTemplatePlanDetailDelReq) returns (Empty); rpc VpnConfigTemplatePlanDetailGet(VpnConfigTemplatePlanDetailGetReq) returns (VpnConfigTemplatePlanDetailGetResp); rpc VpnConfigTemplatePlanDetailList(VpnConfigTemplatePlanDetailListReq) returns (VpnConfigTemplatePlanDetailListResp); }