package com.ycl.controller.carManage;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ycl.annotation.LogSave;
import com.ycl.api.CommonResult;
import com.ycl.controller.BaseController;
import com.ycl.dto.carManage.CarEnforcecarVo;
import com.ycl.entity.carManage.CarEnforcecar;
import com.ycl.entity.carManage.CarSlagcar;
import com.ycl.enums.common.ResultCode;
import com.ycl.exception.ApiException;
import com.ycl.service.carManage.ICarEnforcecarService;
import com.ycl.service.carManage.ICarSlagcarService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
* 执法车列表(对接执法车GPS) 前端控制器
*
*
* @author zhanghua
* @since 2022-10-08
*/
@RestController
@Api(tags = "车辆管理")
@RequestMapping("/car_Manage")
public class CarManageController extends BaseController {
@Autowired
ICarEnforcecarService iCarEnforcecarService;
@Autowired
ICarSlagcarService iCarSlagcarService;
@ApiOperation(value = "查询执法车")
@GetMapping("/query_enforce")
public CommonResult> searchEnforceCar(@RequestParam(required = false) String carNum,
@RequestParam Integer size,
@RequestParam Integer current) {
Page page = iCarEnforcecarService.searchEnforceCar(size, current, carNum);
return CommonResult.success(page);
}
@ApiOperation(value = "查询渣土车")
@GetMapping("/query_slag")
public CommonResult searchSlagCar(@RequestParam(required = false) String carNum,
@RequestParam Integer size,
@RequestParam Integer current) {
Page carSlagcarPage = new Page<>();
carSlagcarPage.setSize(size);
carSlagcarPage.setCurrent(current);
return CommonResult.success(iCarSlagcarService
.page(carSlagcarPage, new LambdaQueryWrapper()
.like(StringUtils.isNotBlank(carNum), CarSlagcar::getCarNumber, carNum)));
}
@ApiOperation(value = "查看详情执法车")
@GetMapping("/query_enforce_one")
public CommonResult searchEnforceCar(@RequestParam Integer id) {
return CommonResult.success(iCarEnforcecarService
.getOne(new LambdaQueryWrapper()
.eq(CarEnforcecar::getId, id)));
}
@ApiOperation(value = "查看详情渣土车")
@GetMapping("/query_slag_one")
public CommonResult searchSlagCar(@RequestParam Integer id) {
return CommonResult.success(iCarSlagcarService
.getOne(new LambdaQueryWrapper()
.eq(CarSlagcar::getId, id)));
}
@ApiOperation("修改执法车")
@PutMapping("/modification_enforce")
public CommonResult modify(@RequestBody CarEnforcecar carEnforcecar) {
return CommonResult.success(iCarEnforcecarService.updateById(carEnforcecar));
}
@ApiOperation("修改渣土车")
@PutMapping("/modification_slag")
public CommonResult modify(@RequestBody CarSlagcar carSlagcar) {
return CommonResult.success(iCarSlagcarService.updateById(carSlagcar));
}
@ApiOperation("添加执法车")
@PostMapping("/addition_enforce")
@LogSave(operationType = "车俩管理", contain = "添加执法车")
public CommonResult addEnforceCar(@RequestBody CarEnforcecar carEnforcecar) {
CarEnforcecar enforceCar = iCarEnforcecarService
.getOne(new LambdaQueryWrapper()
.eq(CarEnforcecar::getCarNumber, carEnforcecar.getCarNumber()));
if (enforceCar != null && StringUtils.isNotBlank(enforceCar.getCarNumber())) {
throw new ApiException(ResultCode.CAR_NUMBER_REPETITION.getMessage());
}
return CommonResult.success(iCarEnforcecarService.save(carEnforcecar));
}
@ApiOperation("添加渣土车")
@PostMapping("/addition_slag")
@LogSave(operationType = "车俩管理", contain = "添加渣土车")
public CommonResult addSlagCar(@RequestBody CarSlagcar carSlagcar) {
CarSlagcar slagCar = iCarSlagcarService
.getOne(new LambdaQueryWrapper()
.eq(CarSlagcar::getCarNumber, carSlagcar.getCarNumber()));
if (slagCar != null && StringUtils.isNotBlank(slagCar.getCarNumber())) {
throw new ApiException(ResultCode.CAR_NUMBER_REPETITION.getMessage());
}
return CommonResult.success(iCarSlagcarService.save(carSlagcar));
}
@ApiOperation("删除执法车")
@DeleteMapping("/deletion_enforce")
@LogSave(operationType = "车俩管理", contain = "删除执法车")
public CommonResult deleteEnforceCar(@RequestParam Integer id) {
return CommonResult.success(iCarEnforcecarService.removeById(id));
}
@ApiOperation("删除渣土车")
@DeleteMapping("/deletion_slag")
@LogSave(operationType = "车俩管理", contain = "删除渣土车")
public CommonResult deleteSlagCar(@RequestParam Integer id) {
return CommonResult.success(iCarSlagcarService.removeById(id));
}
@ApiOperation("批量删除执法车")
@DeleteMapping("/batch_deletion_enforce")
@LogSave(operationType = "车辆管理", contain = "批量删除执法车")
public CommonResult batchDeleteEnforce(@RequestParam List ids) {
return CommonResult.success(iCarEnforcecarService.removeBatchByIds(ids));
}
@ApiOperation("批量删除渣土车")
@DeleteMapping("/batch_deletion_slag")
@LogSave(operationType = "车辆管理", contain = "批量删除渣土车")
public CommonResult batchDeleteSlag(@RequestParam List ids) {
return CommonResult.success(iCarSlagcarService.removeBatchByIds(ids));
}
}