'use strict'; const Controller = require('egg').Controller; // 单车行为统计分析 class CarController extends Controller { constructor(ctx) { super(ctx); this.createRule = { pageNumber: { type: 'number', min: 0, required: false }, pageSize: { type: 'number', min: 0, required: false }, startTime: { type: 'number', min: 0 }, // 开始时间的时间戳 包含 endTime: { type: 'number', min: 0 }, // 结束时间的时间戳 不包含(客户端处理结束时间 下一日 ,下一月第一日 ,下一年第一日) mode: { type: 'string', required: false }, // 分为4种 0代表0-60 1代表60-75 2代表75-90 3代表90-100 modeKey: { type: 'string', required: false }, // 分为2种 driving_safety_score驾驶得分(默认) energyConservationScore节能得分 }; this.createIndexRule = { pageNumber: { type: 'number', min: 0, required: false }, pageSize: { type: 'number', min: 0, required: false }, startTime: { type: 'number', min: 0 }, // 开始时间的时间戳 包含 endTime: { type: 'number', min: 0 }, // 结束时间的时间戳 不包含(客户端处理结束时间 下一日 ,下一月第一日 ,下一年第一日) vin: { type: 'string' }, // 车辆vin }; this.createVinRule = { pageNumber: { type: 'number', min: 0, required: false }, pageSize: { type: 'number', min: 0, required: false }, startTime: { type: 'number', min: 0 }, // 开始时间的时间戳 包含 endTime: { type: 'number', min: 0 }, // 结束时间的时间戳 不包含(客户端处理结束时间 下一日 ,下一月第一日 ,下一年第一日) vin: { type: 'string' }, // 车辆vin }; this.createListRule = { pageNumber: { type: 'number', min: 0, required: false }, pageSize: { type: 'number', min: 0, required: false }, }; } // 单车 用户驾驶评分分布/节能驾驶评分分布 列表 async listWithDrive() { const { ctx, service } = this; // 校验参数 组装参数 const payload = ctx.validate(this.createRule); // 调用 Service 进行业务处理 const data = await service.carService.listWithDrive(payload); // 设置响应内容和响应状态码 ctx.success({ data }); } // 单车信息查询 async list() { const { ctx, service } = this; // 校验参数 组装参数 const payload = ctx.validate(this.createListRule); // 调用 Service 进行业务处理 const data = await service.carService.list(payload); // 设置响应内容和响应状态码 ctx.success({ data }); } // 单车行为查询 async indexSingle() { const { ctx, service } = this; // 校验参数 组装参数 const payload = ctx.validate(this.createIndexRule); // 调用 Service 进行业务处理 const data = await service.carService.indexSingle(payload); // 设置响应内容和响应状态码 ctx.success({ data }); } // 单车 出行分布信息 async indexTrip() { const { ctx, service } = this; // 校验参数 组装参数 const payload = ctx.validate(this.createIndexRule); // 调用 Service 进行业务处理 const data = await service.carService.indexTrip(payload); // 设置响应内容和响应状态码 ctx.success({ data }); } // 单车 单次行程 列表 async listWithTravel() { const { ctx, service } = this; // 校验参数 组装参数 const payload = ctx.validate(this.createVinRule); // 调用 Service 进行业务处理 const data = await service.carService.listWithTravel(payload); // 设置响应内容和响应状态码 ctx.success({ data }); } // 单车 单次充电周期 列表 async listWithCharging() { const { ctx, service } = this; // 校验参数 组装参数 const payload = ctx.validate(this.createVinRule); // 调用 Service 进行业务处理 const data = await service.carService.listWithCharging(payload); // 设置响应内容和响应状态码 ctx.success({ data }); } // 提供三方tbox列表查询 async tbox() { const { ctx, service } = this; // 校验参数 组装参数 const payload = ctx.validate(this.createRule); // 调用 Service 进行业务处理 const data = await service.carService.tbox(payload); // 设置响应内容和响应状态码 ctx.success({ data }); } } module.exports = CarController;