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