'use strict'; const Controller = require('egg').Controller; // 用户出行信息行为统计分析模块 class UserDrivingController2 extends Controller { constructor(ctx) { super(ctx); // 特殊的入参校验可以重写在这,默认可以使用commonRule this.createRule = { startTime: { type: 'number', min: 0 }, // 开始时间的时间戳 包含 endTime: { type: 'number', min: 0 }, // 结束时间的时间戳 不包含(客户端处理结束时间 下一日 ,下一月第一日 ,下一年第一日) }; } async index() { const { ctx } = this; // 校验参数 组装参数 const payload = ctx.validate(); // // 调用 Service 进行业务处理 const data = await ctx.getMix(payload, this.ctx.params.id); // // 设置响应内容和响应状态码 ctx.success({ data }); } async mileageStartTimeAndDsm() { const { ctx } = this; // 校验参数 组装参数 const payload = ctx.validate(); // // 调用 Service 进行业务处理 const data = await ctx.getMix2(payload); // // 设置响应内容和响应状态码 ctx.success({ data }); } async date() { const { ctx } = this; // 校验参数 组装参数 const payload = ctx.validate(); // // 调用 Service 进行业务处理 const data = await ctx.getMix3(payload, this.ctx.params.id); // // 设置响应内容和响应状态码 ctx.success({ data }); } async count2() { const { ctx } = this; // 校验参数 组装参数 const payload = ctx.validate(); // // 调用 Service 进行业务处理 const data = await ctx.getData(payload); // // 设置响应内容和响应状态码 ctx.success({ data }); } async sum() { const { ctx } = this; // 校验参数 组装参数 ctx.validate(this.createRule); // 调用 Service 进行业务处理 const kv = { continuousDrive: { 0: '0-1', 1: '1-2', 2: '2-3', 3: '3-4', 4: '4以上', }, driveStyle: { 稳健型: '稳健型', 一般型: '一般型', 激进型: '激进型' }, drivingSafetyScore: { 0: '60分以下', 60: '74-60分', 80: '89-75分', 90: '100-90分', }, energyConservationScore: { 0: '60分以下', 60: '74-60分', 80: '89-75分', 90: '100-90分', }, mileageAvg: { 0: '0-10', 10: '10-20', 20: '20-30', 30: '30-40', 40: '40-50', 50: '50-60', 60: '60-70', 70: '70-80', 80: '80-90', 90: '90-100', 100: '100以上', }, }; const data = await ctx.getSum(kv[this.ctx.params.id]); // // // 设置响应内容和响应状态码 ctx.success({ data }); } } module.exports = UserDrivingController2;