'use strict'; const Controller = require('egg').Controller; // 车辆数量统计分析管理 class CarNumberController extends Controller { constructor(ctx) { super(ctx); // 特殊的入参校验可以重写在这,默认可以使用commonRule this.createRule = { startTime: { type: 'number', min: 0 }, // 开始时间的时间戳 包含 endTime: { type: 'number', min: 0 }, // 结束时间的时间戳 不包含(客户端处理结束时间 下一日 ,下一月第一日 ,下一年第一日) type: [ '1', '2' ], // 类型分为 0日 1月 2年 }; } // 实销车辆统计分析 实销车辆百分比统计分析 入网车辆总数统计分析 async index() { const { ctx, service } = this; // 校验参数 组装参数 const payload = ctx.validate(); // 调用 Service 进行业务处理 if (ctx.isDev()) { const data = ctx.getDataAdd(payload, { count: item => parseFloat((item.saledCount * 100 / item.count).toFixed(0)), value: [ 'saledCount', 'count' ] }); ctx.success({ data }); } else { const data = await service.tVehicleRecordService2.index(payload); // 设置响应内容和响应状态码 ctx.success({ data }); } } // 在线车辆分布统计分析 async online() { const { ctx, service } = this; // 校验参数 组装参数 const payload = ctx.validate(); // 调用 Service 进行业务处理 if (ctx.isDev()) { const data = ctx.getData(payload); ctx.success({ data }); } else { const data = await service.tVehicleRecordService2.online(payload); // 设置响应内容和响应状态码 ctx.success({ data }); } } // 活跃车辆 async active() { const { ctx, service } = this; // 校验参数 组装参数 const payload = ctx.validate(this.createRule); // 调用 Service 进行业务处理 if (ctx.isDev()) { const data = ctx.getDataAdd(payload, { count: item => item.count - item.activeCount, value: [ 'activeCount', 'count' ] }); ctx.success({ data }); } else { const data = await service.tVehicleRecordService2.active(payload); // 设置响应内容和响应状态码 ctx.success({ data }); } } // 车辆上报分类信息统计 async report() { const { ctx, service } = this; // 校验参数 组装参数 const payload = ctx.validate(); // 调用 Service 进行业务处理 if (ctx.isDev()) { const data = ctx.getData(payload, { count: item => item.vhl_val_cnt + item.alarm_cnt + item.failure_cnt, value: [ 'vhl_val_cnt', 'alarm_cnt', 'failure_cnt' ], }); ctx.success({ data }); } else { const data = await service.tVehicleReportInfoService.index(payload); // 设置响应内容和响应状态码 ctx.success({ data }); } } async onlineCount() { const { ctx, service } = this; // 调用 Service 进行业务处理 if (ctx.isDev()) { const data = ctx.getOnlineCount(); ctx.success({ data }); } else { const data = await service.tVehicleOnlineInfoService.onlineCount(); // 设置响应内容和响应状态码 ctx.success({ data }); } } async saledCity() { const { ctx, service } = this; // 校验参数 组装参数 const payload = ctx.validate({}); // 调用 Service 进行业务处理 if (ctx.isDev()) { const data = ctx.getSaledCity(payload); ctx.success({ data }); } else { const data = await service.tVehicleRecordService2.saledCity(payload); // 设置响应内容和响应状态码 ctx.success({ data }); } } async activeExt() { const { ctx, service } = this; // 校验参数 组装参数 const payload = ctx.validate({}); // 调用 Service 进行业务处理 if (ctx.isDev()) { const data = ctx.getActiveExt(payload); ctx.success({ data }); } else { const data = await service.tVehicleRecordService2.activeExt(payload); // 设置响应内容和响应状态码 ctx.success({ data }); } } } module.exports = CarNumberController;