VehicleCurrencyController.java 5.05 KB
package com.objecteye.controller;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.objecteye.common.CommonResult;
import com.objecteye.pojo.NameValue;
import com.objecteye.pojo.PicVehicleDataResult;
import com.objecteye.pojo.VehicleCurrencyReques;
import com.objecteye.service.VehicleCurrencyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

@CrossOrigin
@RestController
@RequestMapping("/vehicle")
public class VehicleCurrencyController {

    @Autowired
    private VehicleCurrencyService vehicleCurrencyService;

    /**
     * 通过车牌(支持模糊)、多条件查询车辆信息(平铺)
     *
     * @param vehicleCurrencyReques
     * @return
     */
    @RequestMapping("/car/findByCondition")
    public CommonResult<JSONObject> findByCondition(@RequestBody VehicleCurrencyReques vehicleCurrencyReques) {
        JSONObject byCondition = vehicleCurrencyService.findByCondition(vehicleCurrencyReques);
        JSONArray row = byCondition.getJSONArray("row");
        if (row != null && row.size() > 0 && byCondition.getInteger("total") > 0) {
            return CommonResult.success(byCondition);
        } else if (row == null || row.size() == 0) {
            return CommonResult.success(201, "没有符合要求的数据", byCondition);
        } else {
            return CommonResult.success(byCondition, "数据异常");
        }

    }

    /**
     * 通过车辆图片以及其他条件查询车辆
     *
     * @param number
     * @param threshold
     * @param currentpage
     * @param pagevolume
     * @param picfile
     * @param starttime
     * @param endtime
     * @return
     */
    @RequestMapping("/car/findByPic")
    public CommonResult<PicVehicleDataResult> findByPic(@RequestParam int number, @RequestParam double threshold,
                                                        @RequestParam int currentpage, @RequestParam int pagevolume,
                                                        MultipartFile picfile, @RequestParam Long starttime,
                                                        @RequestParam Long endtime) throws InterruptedException {
        return vehicleCurrencyService.findVehicleByPic(number, threshold, currentpage, pagevolume, picfile, starttime,
                endtime);
    }

    /**
     * 返回所有车辆类型的首字母
     * List<String> selectDisplayForInitials();
     *
     * @return
     */
    @RequestMapping("/vehicleBase/getVehicleModelId")
    public CommonResult<List<String>> selectDisplayForInitials() {
        return vehicleCurrencyService.selectDisplayForInitials();
    }


    /**
     * 根据首字母返回符合要求的车辆品牌
     * List<String> selectDisplayForBrand();
     *
     * @return
     */
    @RequestMapping("/vehicleBase/getVehicleModelInitials")
    public CommonResult<List<String>> selectDisplayForBrand(@RequestBody Map<String, String> map) {
        return vehicleCurrencyService.selectDisplayForBrand(map.get("vehicleModelInitials"));
    }


    /**
     * 根据车辆品牌返回符合要求的车辆子品牌
     * List<String> selectDisplayForSubbrand();
     *
     * @return
     */
    @RequestMapping("/vehicleBase/getVehicleModelSubbrandByBrand")
    public CommonResult<List<String>> selectDisplayForSubbrand(@RequestBody Map<String, String> map) {
        return vehicleCurrencyService.selectDisplayForSubbrand(map.get("vehicleModelBrand"));
    }

    /**
     * 根据车辆子品牌查询生产年限
     * List<String> selectDisplayForBirthday();
     *
     * @return
     */
    @RequestMapping("/vehicleBase/getVehicleModelBirthdayBySubbrand")
    public CommonResult<List<String>> selectDisplayForBirthday(@RequestBody Map<String, String> map) {
        return vehicleCurrencyService.selectDisplayForBirthday(map.get("vehicleModelSubbrand"));
    }


    /**
     * 返回所有车辆类型列表
     *
     * @return
     */
    @RequestMapping("/vehicleBase/getVehicleTypeList")
    public CommonResult<List<String>> displayVehicleTypeList() {
        return vehicleCurrencyService.displayVehicleTypeList();
    }

    /**
     * 返回所有车辆车身颜色列表
     *
     * @return
     */
    @RequestMapping("/vehicleBase/getVehicleColorList")
    public CommonResult<List<NameValue>> displayVehicleColorList() {
        return vehicleCurrencyService.displayVehicleColorList();
    }

    /**
     * 返回所有车辆号牌类型列表
     *
     * @return
     */
    @RequestMapping("/vehicleBase/getVehiclePlateTypeList")
    public CommonResult<List<NameValue>> displayVehiclePlateTypeList() {
        return vehicleCurrencyService.displayVehiclePlateTypeList();
    }

    /**
     * 返回所有车辆年检标个数列表
     *
     * @return
     */
    @RequestMapping("/vehicleBase/getVehicleNjbNumberList")
    public CommonResult<List<String>> displayVehicleNjbNumberList() {
        return vehicleCurrencyService.displayVehicleNjbNumberList();
    }
}