package com.ruoyi.approve.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.approve.bean.dto.VehicleBorrowRecordDto; import com.ruoyi.approve.bean.dto.VehicleDto; import com.ruoyi.approve.bean.vo.VehicleBorrowRecordVo; import com.ruoyi.approve.bean.vo.VehicleVo; import com.ruoyi.approve.service.VehicleService; import com.ruoyi.approve.service.VehicleBorrowRecordService; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.controller.BaseController; import com.ruoyi.framework.web.domain.R; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 车辆管理 前端控制器 */ @RestController @RequestMapping("/approve/vehicle") @Tag(name = "车辆管理", description = "车辆管理") @AllArgsConstructor public class VehicleController extends BaseController { private final VehicleService vehicleService; private final VehicleBorrowRecordService vehicleBorrowRecordService; @GetMapping("/listPage") @Operation(summary = "分页查询车辆列表") @Log(title = "车辆列表分页查询", businessType = BusinessType.OTHER) public R listPage(Page page, VehicleDto vehicle) { return R.ok(vehicleService.listPage(page, vehicle)); } @PostMapping("/save") @Operation(summary = "新增车辆") @Log(title = "车辆新增", businessType = BusinessType.INSERT) public R save(@RequestBody VehicleDto vehicle) { return vehicleService.add(vehicle) ? R.ok() : R.fail(); } @GetMapping("/detail") @Operation(summary = "车辆详情") public R detail(Long id) { return R.ok(vehicleService.detail(id)); } @PutMapping("/update") @Operation(summary = "修改车辆") @Log(title = "车辆修改", businessType = BusinessType.UPDATE) public R update(@RequestBody VehicleDto vehicle) { return vehicleService.update(vehicle) ? R.ok() : R.fail(); } @DeleteMapping("/delete") @Operation(summary = "删除车辆") @Log(title = "车辆删除", businessType = BusinessType.DELETE) public R delete(@RequestBody List ids) { return vehicleService.delete(ids) ? R.ok() : R.fail(); } @GetMapping("/borrow/listPage") @Operation(summary = "分页查询借出记录列表") @Log(title = "借出记录分页查询", businessType = BusinessType.OTHER) public R borrowListPage(Page page, VehicleBorrowRecordDto record) { return R.ok(vehicleBorrowRecordService.listPage(page, record)); } @PostMapping("/borrow/save") @Operation(summary = "新增借出记录") @Log(title = "借出记录新增", businessType = BusinessType.INSERT) public R borrowSave(@RequestBody VehicleBorrowRecordDto record) { return vehicleBorrowRecordService.add(record) ? R.ok() : R.fail(); } @GetMapping("/borrow/detail") @Operation(summary = "借出记录详情") public R borrowDetail(Long id) { return R.ok(vehicleBorrowRecordService.detail(id)); } @PutMapping("/borrow/update") @Operation(summary = "修改借出记录") @Log(title = "借出记录修改", businessType = BusinessType.UPDATE) public R borrowUpdate(@RequestBody VehicleBorrowRecordDto record) { return vehicleBorrowRecordService.update(record) ? R.ok() : R.fail(); } @DeleteMapping("/borrow/delete") @Operation(summary = "删除借出记录") @Log(title = "借出记录删除", businessType = BusinessType.DELETE) public R borrowDelete(@RequestBody List ids) { return vehicleBorrowRecordService.delete(ids) ? R.ok() : R.fail(); } @PostMapping("/borrow/return") @Operation(summary = "归还车辆") @Log(title = "车辆归还", businessType = BusinessType.UPDATE) public R borrowReturn(@RequestBody VehicleBorrowRecordDto record) { return vehicleBorrowRecordService.returnVehicle(record) ? R.ok() : R.fail(); } @PostMapping("/borrow/delay") @Operation(summary = "发起延期申请") @Log(title = "延期申请", businessType = BusinessType.INSERT) public R borrowDelay(@RequestBody VehicleBorrowRecordDto record) { return vehicleBorrowRecordService.delay(record) ? R.ok() : R.fail(); } }