userController.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. 'use strict';
  2. const Controller = require('egg').Controller;
  3. // 暂定规范:(根据实际情况进行调整)
  4. // 前期所有业务通过controller调用对应service获取即时计算数据 后期建立定时任务调用所有的业务的service,定时传入当日时间戳(type只会是日维度 0 )进行计算,
  5. // 然后调用统计service进行统计表数据插入,统一替换全部contoller的业务为统计表的查找service
  6. // 理论上 router(23个br) = > controller (每个br对应的子业务即接口 ) (router + controller) >>>
  7. // (service + model) service(业务对应主表的service,调用主表的Model,和其他表的Model) =>Model
  8. // 平台用户统计模块
  9. class UserController extends Controller {
  10. // 用户总数
  11. async index() {
  12. const { ctx, service } = this;
  13. // 校验参数 组装参数
  14. const payload = ctx.validate();
  15. // 调用 Service 进行业务处理
  16. if (ctx.isDev()) {
  17. const data = ctx.getDataAdd(payload);
  18. ctx.success({ data });
  19. } else {
  20. const data = await service.tRbacUserService.index(payload);
  21. // 设置响应内容和响应状态码
  22. ctx.success({ data });
  23. }
  24. }
  25. // 实销用户总数
  26. async saled() {
  27. const { ctx, service } = this;
  28. // 校验参数 组装参数
  29. const payload = ctx.validate();
  30. // 调用 Service 进行业务处理
  31. if (ctx.isDev()) {
  32. const data = ctx.getDataAdd(payload);
  33. ctx.success({ data });
  34. } else {
  35. const data = await service.tRegisterInfoService.saled(payload);
  36. // 设置响应内容和响应状态码
  37. ctx.success({ data });
  38. }
  39. }
  40. async saledExt() {
  41. const { ctx, service } = this;
  42. // 调用 Service 进行业务处理
  43. if (ctx.isDev()) {
  44. const data = ctx.getSaledExt();
  45. ctx.success({ data });
  46. } else {
  47. const data = await service.tRegisterInfoService.saledExt();
  48. // 设置响应内容和响应状态码
  49. ctx.success({ data });
  50. }
  51. }
  52. // 车主 用户性别和年龄
  53. async sexAndAge() {
  54. const { ctx, service } = this;
  55. // 调用 Service 进行业务处理
  56. if (ctx.isDev()) {
  57. const data = ctx.getSex2Age();
  58. ctx.success({ data });
  59. } else {
  60. const data = await service.tRbacUserService.sexAndAge();
  61. // 设置响应内容和响应状态码
  62. ctx.success({ data });
  63. }
  64. }
  65. // 用户转换车主总数
  66. async register() {
  67. const { ctx, service } = this;
  68. // 校验参数 组装参数
  69. const payload = ctx.validate();
  70. // 调用 Service 进行业务处理
  71. if (ctx.isDev()) {
  72. const data = ctx.getData(payload);
  73. ctx.success({ data });
  74. } else {
  75. const data = await service.tRegisterInfoService.register(payload);
  76. // 设置响应内容和响应状态码
  77. ctx.success({ data });
  78. }
  79. }
  80. }
  81. module.exports = UserController;