123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- '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;
|