iviNewUserController.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. 'use strict';
  2. const Controller = require('egg').Controller;
  3. // ivi新增用户总数统计分析模块
  4. class IviNewUserController extends Controller {
  5. constructor(ctx) {
  6. super(ctx);
  7. // 特殊的入参校验可以重写在这,默认可以使用commonRule
  8. this.createRule = {
  9. startTime: { type: 'number', min: 0 }, // 开始时间的时间戳 包含
  10. endTime: { type: 'number', min: 0 }, // 结束时间的时间戳 不包含(客户端处理结束时间 下一日 ,下一月第一日 ,下一年第一日)
  11. };
  12. }
  13. // ivi新增用户总数
  14. async index() {
  15. const { ctx, service } = this;
  16. // 校验参数 组装参数
  17. const payload = ctx.validate();
  18. // 调用 Service 进行业务处理
  19. if (ctx.isDev()) {
  20. const data = ctx.getData(payload);
  21. ctx.success({ data });
  22. } else {
  23. const data = await service.tRbacUserService.index(payload, 'newIviTotal');
  24. // 设置响应内容和响应状态码
  25. ctx.success({ data });
  26. }
  27. }
  28. // ivi新增用户位置分布
  29. async location() {
  30. const { ctx, service } = this;
  31. // 校验参数 组装参数
  32. const payload = ctx.validate(this.createRule);
  33. // 调用 Service 进行业务处理
  34. if (ctx.isDev()) {
  35. const data = ctx.getArea(payload);
  36. ctx.success({ data });
  37. } else {
  38. const data = await service.onlineUserService2.place('iviNewLocation', payload);
  39. // 设置响应内容和响应状态码
  40. ctx.success({ data });
  41. }
  42. }
  43. // ivi新增车主性别和年龄
  44. async sexAndAge() {
  45. const { ctx, service } = this;
  46. // 调用 Service 进行业务处理
  47. if (ctx.isDev()) {
  48. const data = ctx.getSex2Age();
  49. ctx.success({ data });
  50. } else {
  51. const data = await service.tRbacUserService.sexAndAge('newIviSexAndAgeTotal');
  52. // 设置响应内容和响应状态码
  53. ctx.success({ data });
  54. }
  55. }
  56. }
  57. module.exports = IviNewUserController;