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