carNumberController.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. 'use strict';
  2. const Controller = require('egg').Controller;
  3. // 车辆数量统计分析管理
  4. class CarNumberController 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. type: [ '1', '2' ], // 类型分为 0日 1月 2年
  12. };
  13. }
  14. // 实销车辆统计分析 实销车辆百分比统计分析 入网车辆总数统计分析
  15. async index() {
  16. const { ctx, service } = this;
  17. // 校验参数 组装参数
  18. const payload = ctx.validate();
  19. // 调用 Service 进行业务处理
  20. const data = await service.tVehicleRecordService2.index(payload);
  21. // 设置响应内容和响应状态码
  22. ctx.success({ data });
  23. }
  24. // 实销车辆增量
  25. async increment() {
  26. const { ctx, service } = this;
  27. // 校验参数 组装参数
  28. const payload = ctx.validate();
  29. // 调用 Service 进行业务处理
  30. const data = await service.tVehicleRecordService2.increment(payload);
  31. // 设置响应内容和响应状态码
  32. ctx.success({ data });
  33. }
  34. // 在线车辆分布统计分析
  35. async online() {
  36. const { ctx, service } = this;
  37. // 校验参数 组装参数
  38. const payload = ctx.validate();
  39. // 调用 Service 进行业务处理
  40. const data = await service.tVehicleRecordService2.online(payload);
  41. // 设置响应内容和响应状态码
  42. ctx.success({ data });
  43. }
  44. // 活跃车辆
  45. async active() {
  46. const { ctx, service } = this;
  47. // 校验参数 组装参数
  48. const payload = ctx.validate(this.createRule);
  49. // 调用 Service 进行业务处理
  50. const data = await service.tVehicleRecordService2.active(payload);
  51. // 设置响应内容和响应状态码
  52. ctx.success({ data });
  53. }
  54. // 车辆上报分类信息统计
  55. async report() {
  56. const { ctx, service } = this;
  57. // 校验参数 组装参数
  58. const payload = ctx.validate();
  59. // 调用 Service 进行业务处理
  60. const data = await service.tVehicleReportInfoService.index(payload);
  61. // 设置响应内容和响应状态码
  62. ctx.success({ data });
  63. }
  64. // 在线数量
  65. async onlineCount() {
  66. const { ctx, service } = this;
  67. // 调用 Service 进行业务处理
  68. const data = await service.tVehicleOnlineInfoService.onlineCount();
  69. // 设置响应内容和响应状态码
  70. ctx.success({ data });
  71. }
  72. // 实销城市排名
  73. async saledCity() {
  74. const { ctx, service } = this;
  75. // 校验参数 组装参数
  76. const payload = ctx.validate({});
  77. // 调用 Service 进行业务处理
  78. const data = await service.tVehicleRecordService2.saledCity(payload);
  79. // 设置响应内容和响应状态码
  80. ctx.success({ data });
  81. }
  82. // 活跃额外
  83. async activeExt() {
  84. const { ctx, service } = this;
  85. // 校验参数 组装参数
  86. const payload = ctx.validate({});
  87. // 调用 Service 进行业务处理
  88. const data = await service.tVehicleRecordService2.activeExt(payload);
  89. // 设置响应内容和响应状态码
  90. ctx.success({ data });
  91. }
  92. }
  93. module.exports = CarNumberController;