user.proto 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451
  1. syntax = "proto3";
  2. package gorpc;
  3. option go_package = "code.clickto.dev/nomo-server/go-service-pb/client";
  4. import "pb/common.proto";
  5. // 白名单表
  6. message UserWhiteVo {
  7. int64 id = 1; // 主键ID
  8. string userIdentifier = 2; // 用户
  9. UserType userType = 3; // 用户类型 1 设备 2 账号
  10. Status status = 4; // 状态
  11. int64 createTime = 5; // 创建时间
  12. int64 updateTime = 6; // 更新时间
  13. }
  14. // 测试用户表
  15. message UserTestVo {
  16. int64 id = 1; // 主键ID
  17. string userIdentifier = 2; // 用户
  18. UserType userType = 3; // 用户类型 1 设备 2 账号
  19. string area = 4; // 指定地区
  20. string apis = 5; // 指定接口
  21. string routers = 6; // 指定路由
  22. Status status = 7; // 状态
  23. int64 createTime = 8; // 创建时间
  24. int64 updateTime = 9; // 更新时间
  25. }
  26. // Account
  27. message AccountVo {
  28. int64 id = 1; // 主键ID
  29. string userUuid = 2; // 用户UUID
  30. string productCode = 3; // 产品ID
  31. string username = 4; // 用户名
  32. string password = 5; // 密码
  33. string accountKey = 6; // 账号KEY
  34. string accountPassword = 7; // 账号密码
  35. int64 accountType = 8; // 账号类型
  36. int64 registMode = 9; // 注册方式
  37. string provider = 10; // 授权登录标识
  38. BoolInt whitelistUser = 11; // 白名单用户
  39. BoolInt activated = 12; // 是否激活
  40. string config = 13; // 配置
  41. Status status = 14; // 状态
  42. string avatar = 15; // 头像
  43. string area = 16; // 指定地区
  44. string remark = 17; // 备注
  45. string deviceId = 18; // 设备ID
  46. string platform = 19; // 平台
  47. string channel = 20; // 渠道
  48. string deviceModel = 21; // 设备型号
  49. string deviceOs = 22; // 设备系统
  50. int64 timezone = 23; // 时区
  51. string lang = 24; // 语言
  52. string ip = 25; // IP
  53. string country = 26; // 国家
  54. string province = 27; // 省份
  55. string city = 28; // 城市
  56. string isp = 29; // ISP
  57. int64 appVer = 30; // 产品版本号
  58. int64 appRuntimeCode = 31; // 产品运行码
  59. int64 createTime = 32; // 创建时间
  60. int64 updateTime = 33; // 更新时间
  61. string version = 34; // 数据版本
  62. string sessionId = 35; // 登录凭证
  63. int64 sessionCreateTime = 36; // 凭证创建时间
  64. }
  65. message AccountListReq {
  66. Page page = 1;
  67. AccountVo vo = 2;
  68. repeated string productCodes = 3; // 产品code
  69. repeated int64 excludeIds = 4; // 排除的ID
  70. }
  71. message AccountListResp {
  72. int64 total = 1;
  73. repeated AccountVo list = 2;
  74. }
  75. // AccountDevice
  76. message AccountDeviceVo {
  77. int64 id = 1;
  78. int64 accountId = 2; // 用户ID
  79. int64 deviceId = 3; // 设备ID
  80. string sessionId = 4; // 登录凭证
  81. int64 sessionCreateTime = 5; // 凭证创建时间
  82. int64 updateTime = 6;
  83. int64 createTime = 7;
  84. }
  85. message AccountDeviceListReq {
  86. Page page = 1;
  87. AccountDeviceVo vo = 2;
  88. repeated int64 excludeIds = 3; // 排除的ID
  89. }
  90. message AccountDeviceListResp {
  91. int64 total = 1;
  92. repeated AccountDeviceVo list = 2;
  93. }
  94. message UserWhiteListReq {
  95. Page page = 1;
  96. UserWhiteVo vo = 2;
  97. repeated int64 excludeIds = 3; // 排除的ID
  98. }
  99. message UserWhiteListResp {
  100. int64 total = 1;
  101. repeated UserWhiteVo list = 2;
  102. }
  103. message UserWhiteAddReq { UserWhiteVo vo = 1; }
  104. message UserWhiteAddResp { UserWhiteVo vo = 1; }
  105. message UserWhiteGetReq { UserWhiteVo vo = 1; }
  106. message UserWhiteGetResp { UserWhiteVo vo = 1; }
  107. message UserWhiteUpdateReq { UserWhiteVo vo = 1; }
  108. message UserWhiteUpdateResp { UserWhiteVo vo = 1; }
  109. message UserWhiteDelReq { repeated int64 ids = 1; }
  110. message UserTestListReq {
  111. Page page = 1;
  112. UserTestVo vo = 2;
  113. repeated int64 excludeIds = 3; // 排除的ID
  114. }
  115. message UserTestListResp {
  116. int64 total = 1;
  117. repeated UserTestVo list = 2;
  118. }
  119. message UserTestAddReq { UserTestVo vo = 1; }
  120. message UserTestAddResp { UserTestVo vo = 1; }
  121. message UserTestGetReq { UserTestVo vo = 1; }
  122. message UserTestGetResp { UserTestVo vo = 1; }
  123. message UserTestUpdateReq { UserTestVo vo = 1; }
  124. message UserTestUpdateResp { UserTestVo vo = 1; }
  125. message UserTestDelReq { repeated int64 ids = 1; }
  126. // 用户服务订阅权益表
  127. message UserServiceVo {
  128. int64 id = 1; // 主键ID
  129. string userUuid = 2; // 用户UUID
  130. string productCode = 3; // 产品ID
  131. int64 ownerId = 4; // 服务所有者ID
  132. int64 servicePlanId = 5; // 服务计划ID
  133. int64 serviceTypeId = 6; // 服务类型ID
  134. int64 licenseDays = 7; // 授权天数
  135. int64 licenseMinutes = 8; // 授权分钟数
  136. int64 userLevel = 9; // 用户等级
  137. int64 deviceLimit = 10; // 设备数量限制
  138. int64 speedLimit = 11; // 速度限制
  139. int64 trafficLimit = 12; // 流量限制
  140. int64 state = 13; // 状态
  141. Status status = 14; // 状态
  142. int64 createTime = 15; // 创建时间
  143. int64 updateTime = 16; // 更新时间
  144. int64 startTime = 17; // 套餐开始时间
  145. }
  146. message UserServiceAddReq { UserServiceVo vo = 1; }
  147. message UserServiceAddResp { UserServiceVo vo = 1; }
  148. message UserServiceUpdateReq { UserServiceVo vo = 1; }
  149. message UserServiceUpdateResp { UserServiceVo vo = 1; }
  150. message UserServiceDelReq { repeated int64 ids = 1; }
  151. message UserServiceGetReq { UserServiceVo vo = 1; }
  152. message UserServiceGetResp { UserServiceVo vo = 1; }
  153. message UserServiceListReq {
  154. Page page = 1;
  155. UserServiceVo vo = 2;
  156. repeated int64 excludeIds = 3; // 排除的ID
  157. repeated int64 userIds = 4; // 用户ID
  158. repeated int64 dids = 5; // device 表的 id
  159. }
  160. message UserServiceListResp {
  161. int64 total = 1;
  162. repeated UserServiceVo list = 2;
  163. }
  164. message DeviceVo {
  165. int64 id = 1;
  166. string userUuid = 2;
  167. string productCode = 3;
  168. string deviceId = 4;
  169. string accountKey = 5;
  170. string accountPassword = 6;
  171. string platform = 7;
  172. string channel = 8;
  173. string referChannel = 9;
  174. string deviceModel = 10;
  175. string deviceOs = 11;
  176. int64 timezone = 12;
  177. string lang = 13;
  178. int64 appVer = 14;
  179. string ip = 15;
  180. string country = 16;
  181. string province = 17;
  182. string city = 18;
  183. string isp = 19;
  184. int64 createTime = 20;
  185. int64 updateTime = 21;
  186. Status status = 22;
  187. string refer = 23;
  188. int64 whitelistUser = 24; // 白名单用户 1正常用户 2: 白名单用户
  189. int64 testUser = 25; // 测试用户 1正常用户 2: 测试用户
  190. string mockCountry = 26; // 指定国家
  191. string mockApi = 27; // 指定API
  192. string mockRouter = 28; // 指定路由
  193. string referSubChannel = 29;
  194. string firebaseToken = 30; // firebase token
  195. string appVerName = 31; // 版本
  196. }
  197. message DeviceListReq {
  198. Page page = 1;
  199. DeviceVo vo = 2;
  200. repeated string productCodes = 3; // 产品code
  201. repeated int64 excludeIds = 4; // 排除的ID
  202. repeated string dateRange = 5; // 日期范围
  203. int64 createStartTime = 6; // 创建开始时间
  204. int64 createEndTime = 7; // 创建结束时间
  205. repeated string deviceIds = 8; // 设备IDs
  206. string country = 9; // 国家
  207. string vn = 10; // 运营商
  208. }
  209. message DeviceListRes {
  210. int64 total = 1;
  211. repeated DeviceVo list = 2;
  212. }
  213. message UserAppConfigVo {
  214. int64 id = 1;
  215. string deviceId = 2;
  216. string key = 3;
  217. string value = 4;
  218. Status status = 5;
  219. int64 createTime = 6;
  220. int64 updateTime = 7;
  221. }
  222. message UserAppConfigGetReq { UserAppConfigVo vo = 1; }
  223. message UserAppConfigListReq {
  224. Page page = 1;
  225. UserAppConfigVo vo = 2;
  226. }
  227. message UserAppConfigListRes {
  228. int64 total = 1;
  229. repeated UserAppConfigVo list = 2;
  230. }
  231. message UserVo {
  232. int64 id = 1; // ID
  233. string productCode = 2; // 产品标识
  234. string uuid = 3; // 用户唯一ID
  235. string deviceId = 4; // 注册时使用的设备ID
  236. int64 accountType = 5; // 值为1时表示实体尚未注册账号, 为其他值时表示实体已经注册了账号(为了让 productCode+deviceId+accountType 能唯一确定一个用户)
  237. string registType = 6; // 注册方式 normal email phone wechat qq google apple (其实可以通过查询 user_credential 中最早的一条记录的 identityType 来确定)
  238. int64 registFrom = 7; // 从哪里注册 0: unknown 1: guest 2: app 3: web 4: pc 9999: invalid
  239. string referChannel = 8; // 推广渠道
  240. string referSubChannel = 9; // 推广子渠道
  241. string nickname = 10; // 用户昵称
  242. string avatar = 11; // 用户头像地址
  243. string config = 12; // 保留字段,用于扩展
  244. Status status = 13; // 状态 1: 正常 2: 冻结
  245. int64 createTime = 14; // 创建时间
  246. int64 updateTime = 15; // 修改时间
  247. }
  248. message UserAddReq { UserVo vo = 1; }
  249. message UserAddResp { UserVo vo = 1; }
  250. message UserUpdateReq { UserVo vo = 1; }
  251. message UserUpdateResp { UserVo vo = 1; }
  252. message UserDelReq { repeated int64 ids = 1; }
  253. message UserGetReq { UserVo vo = 1; }
  254. message UserGetResp { UserVo vo = 1; }
  255. message UserListReq {
  256. Page page = 1;
  257. UserVo vo = 2;
  258. repeated int64 excludeIds = 3; // 排除的ID
  259. repeated string productCodes = 4; // 产品code
  260. repeated string uuids = 5; // 用户唯一ID
  261. repeated string deviceIds = 6; // 设备ID (device 表的 id)
  262. }
  263. message UserListResp {
  264. int64 total = 1;
  265. repeated UserVo list = 2;
  266. }
  267. message UserCredentialVo {
  268. int64 id = 1; // ID
  269. int64 userId = 2; // 用户ID
  270. string productCode = 3; // 产品标识
  271. string identityType = 4; // 凭证类型: username, email, phone, wechat, qq, google, apple 等
  272. string identifier = 5; // 凭证标识
  273. string credential = 6; // 凭证密钥(密码/token)
  274. int64 isVerified = 7; // 是否已验证 1: 已验证 2: 未验证
  275. int64 registFrom = 8; // 从哪里注册 0: unknown 1: guest 2: app 3: web 4: pc 9999: invalid
  276. Status status = 9; // 状态 1: 正常 2: 禁用
  277. int64 createTime = 10; // 创建时间/注册时间
  278. int64 updateTime = 11; // 更新时间
  279. }
  280. message UserCredentialAddReq { UserCredentialVo vo = 1; }
  281. message UserCredentialAddResp { UserCredentialVo vo = 1; }
  282. message UserCredentialUpdateReq { UserCredentialVo vo = 1; }
  283. message UserCredentialUpdateResp { UserCredentialVo vo = 1; }
  284. message UserCredentialDelReq { repeated int64 ids = 1; }
  285. message UserCredentialGetReq { UserCredentialVo vo = 1; }
  286. message UserCredentialGetResp { UserCredentialVo vo = 1; }
  287. message UserCredentialListReq {
  288. Page page = 1;
  289. UserCredentialVo vo = 2;
  290. repeated int64 excludeIds = 3; // 排除的ID
  291. repeated int64 userIds = 4; // 用户ID
  292. }
  293. message UserCredentialListResp {
  294. int64 total = 1;
  295. repeated UserCredentialVo list = 2;
  296. }
  297. message UserDeviceVo {
  298. int64 id = 1; // ID
  299. int64 userId = 2; // 用户ID
  300. int64 did = 3; // 设备ID
  301. string sessionId = 4; // 登录凭证
  302. int64 sessionCreateTime = 5; // 凭证创建时间
  303. Status status = 6; // 状态 1: 正常 2: 禁用
  304. int64 updateTime = 7; // 更新时间
  305. int64 createTime = 8; // 创建时间
  306. }
  307. message UserDeviceAddReq { UserDeviceVo vo = 1; }
  308. message UserDeviceAddResp { UserDeviceVo vo = 1; }
  309. message UserDeviceUpdateReq { UserDeviceVo vo = 1; }
  310. message UserDeviceUpdateResp { UserDeviceVo vo = 1; }
  311. message UserDeviceDelReq { repeated int64 ids = 1; }
  312. message UserDeviceGetReq { UserDeviceVo vo = 1; }
  313. message UserDeviceGetResp { UserDeviceVo vo = 1; }
  314. message UserDeviceListReq {
  315. Page page = 1;
  316. UserDeviceVo vo = 2;
  317. repeated int64 excludeIds = 3; // 排除的ID
  318. repeated int64 userIds = 4; // 用户ID
  319. repeated int64 dids = 5; // device 表的 id
  320. }
  321. message UserDeviceListResp {
  322. int64 total = 1;
  323. repeated UserDeviceVo list = 2;
  324. }
  325. // 用户模块
  326. service GoUserClient {
  327. rpc Ping(Request) returns (Response);
  328. // 用户app配置管理(ring)
  329. rpc UserAppConfigAdd(UserAppConfigVo) returns (UserAppConfigVo);
  330. rpc UserAppConfigUpdate(UserAppConfigVo) returns (UserAppConfigVo);
  331. rpc UserAppConfigDel(Ids) returns (Empty);
  332. rpc UserAppConfigGet(UserAppConfigGetReq) returns (UserAppConfigVo);
  333. rpc UserAppConfigList(UserAppConfigListReq) returns (UserAppConfigListRes);
  334. // Device Model
  335. // DeviceAdd
  336. rpc DeviceAdd(DeviceVo) returns (DeviceVo);
  337. rpc DeviceUpdate(DeviceVo) returns (DeviceVo);
  338. rpc DeviceDel(Ids) returns (Empty);
  339. rpc DeviceGet(DeviceVo) returns (DeviceVo);
  340. rpc DeviceList(DeviceListReq) returns (DeviceListRes);
  341. // Account Model
  342. // AccountAdd
  343. rpc AccountAdd(AccountVo) returns (AccountVo);
  344. rpc AccountUpdate(AccountVo) returns (AccountVo);
  345. rpc AccountDel(Ids) returns (Empty);
  346. rpc AccountGet(AccountVo) returns (AccountVo);
  347. rpc AccountList(AccountListReq) returns (AccountListResp);
  348. // AccountDevice Model
  349. // AccountDeviceAdd
  350. rpc AccountDeviceAdd(AccountDeviceVo) returns (AccountDeviceVo);
  351. rpc AccountDeviceUpdate(AccountDeviceVo) returns (AccountDeviceVo);
  352. rpc AccountDeviceDel(Ids) returns (Empty);
  353. rpc AccountDeviceGet(AccountDeviceVo) returns (AccountDeviceVo);
  354. rpc AccountDeviceList(AccountDeviceListReq) returns (AccountDeviceListResp);
  355. // 用户白名单管理
  356. rpc UserWhiteAdd(UserWhiteAddReq) returns (UserWhiteAddResp);
  357. rpc UserWhiteUpdate(UserWhiteUpdateReq) returns (UserWhiteUpdateResp);
  358. rpc UserWhiteDel(UserWhiteDelReq) returns (Empty);
  359. rpc UserWhiteGet(UserWhiteGetReq) returns (UserWhiteGetResp);
  360. rpc UserWhiteList(UserWhiteListReq) returns (UserWhiteListResp);
  361. // 测试用户管理
  362. rpc UserTestAdd(UserTestAddReq) returns (UserTestAddResp);
  363. rpc UserTestUpdate(UserTestUpdateReq) returns (UserTestUpdateResp);
  364. rpc UserTestDel(UserTestDelReq) returns (Empty);
  365. rpc UserTestGet(UserTestGetReq) returns (UserTestGetResp);
  366. rpc UserTestList(UserTestListReq) returns (UserTestListResp);
  367. // User Model
  368. // UserAdd
  369. rpc UserAdd(UserAddReq) returns (UserAddResp);
  370. rpc UserUpdate(UserUpdateReq) returns (UserUpdateResp);
  371. rpc UserDel(UserDelReq) returns (Empty);
  372. rpc UserGet(UserGetReq) returns (UserGetResp);
  373. rpc UserList(UserListReq) returns (UserListResp);
  374. // UserCredential Model
  375. // UserCredentialAdd
  376. rpc UserCredentialAdd(UserCredentialAddReq) returns (UserCredentialAddResp);
  377. rpc UserCredentialUpdate(UserCredentialUpdateReq) returns (UserCredentialUpdateResp);
  378. rpc UserCredentialDel(UserCredentialDelReq) returns (Empty);
  379. rpc UserCredentialGet(UserCredentialGetReq) returns (UserCredentialGetResp);
  380. rpc UserCredentialList(UserCredentialListReq) returns (UserCredentialListResp);
  381. // UserDevice Model
  382. // UserDeviceAdd
  383. rpc UserDeviceAdd(UserDeviceAddReq) returns (UserDeviceAddResp);
  384. rpc UserDeviceUpdate(UserDeviceUpdateReq) returns (UserDeviceUpdateResp);
  385. rpc UserDeviceDel(UserDeviceDelReq) returns (Empty);
  386. rpc UserDeviceGet(UserDeviceGetReq) returns (UserDeviceGetResp);
  387. rpc UserDeviceList(UserDeviceListReq) returns (UserDeviceListResp);
  388. //UserService
  389. rpc UserServiceAdd(UserServiceAddReq) returns (UserServiceAddResp);
  390. rpc UserServiceUpdate(UserServiceUpdateReq) returns (UserServiceUpdateResp);
  391. rpc UserServiceDel(UserServiceDelReq) returns (Empty);
  392. rpc UserServiceGet(UserServiceGetReq) returns (UserServiceGetResp);
  393. rpc UserServiceList(UserServiceListReq) returns (UserServiceListResp);
  394. }