syntax = "proto3"; package gorpc; option go_package = "code.clickto.dev/nomo-server/go-service-pb/client"; import "pb/common.proto"; // 白名单表 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; // 更新时间 int64 startTime = 17; // 套餐开始时间 } 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); }