userController.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. const data = await service.tRbacUserService.index(payload);
  17. // 设置响应内容和响应状态码
  18. ctx.success({ data });
  19. }
  20. // 用户增量
  21. async increment() {
  22. const { ctx, service } = this;
  23. // 校验参数 组装参数
  24. const payload = ctx.validate();
  25. // 调用 Service 进行业务处理
  26. const data = await service.tRbacUserService.index(payload, 'newTotal');
  27. // 设置响应内容和响应状态码
  28. ctx.success({ data });
  29. }
  30. // 实销用户总数
  31. async saled() {
  32. const { ctx, service } = this;
  33. // 校验参数 组装参数
  34. const payload = ctx.validate();
  35. // 调用 Service 进行业务处理
  36. const data = await service.tVehicleRecordService2.saledUser(payload);
  37. // 设置响应内容和响应状态码
  38. ctx.success({ data });
  39. }
  40. // 实销额外
  41. async saledExt() {
  42. const { ctx, service } = this;
  43. // 调用 Service 进行业务处理
  44. const data = await service.tVehicleRecordService2.saledExt();
  45. // 设置响应内容和响应状态码
  46. ctx.success({ data });
  47. }
  48. // 车主 用户性别和年龄
  49. async sexAndAge() {
  50. const { ctx, service } = this;
  51. // 调用 Service 进行业务处理
  52. const data = await service.tRbacUserService.sexAndAge();
  53. // 设置响应内容和响应状态码
  54. ctx.success({ data });
  55. }
  56. // 实销增量
  57. async register() {
  58. const { ctx, service } = this;
  59. // 校验参数 组装参数
  60. const payload = ctx.validate();
  61. // 调用 Service 进行业务处理
  62. const data = await service.tVehicleRecordService2.register(payload);
  63. // 设置响应内容和响应状态码
  64. ctx.success({ data });
  65. }
  66. }
  67. module.exports = UserController;