package com.ruoyi.unattended.access.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.unattended.access.dto.AccessVerifyRequest; import com.ruoyi.unattended.access.pojo.AccessGate; import com.ruoyi.unattended.access.pojo.AccessRecord; import com.ruoyi.unattended.access.pojo.AccessVehicle; import com.ruoyi.unattended.access.service.AccessService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; /** * 门禁管理 */ @RestController @RequestMapping("/environmentAccess/access") @Api(tags = "门禁管理") public class AccessController { @Resource private AccessService accessService; /* ---------------- 门禁设备 ---------------- */ @GetMapping("/gate/page") @ApiOperation("门禁设备分页") public AjaxResult gatePage(Page page, AccessGate query) { return AjaxResult.success(accessService.gatePage(page, query)); } @PostMapping("/gate/add") @ApiOperation("新增门禁设备") public AjaxResult gateAdd(@RequestBody AccessGate gate) { return AjaxResult.success(accessService.gateSave(gate)); } @PutMapping("/gate/update") @ApiOperation("修改门禁设备") public AjaxResult gateUpdate(@RequestBody AccessGate gate) { return AjaxResult.success(accessService.gateUpdate(gate)); } @DeleteMapping("/gate/delete") @ApiOperation("删除门禁设备") public AjaxResult gateDelete(@RequestBody List ids) { if (CollectionUtils.isEmpty(ids)) { return AjaxResult.error("请选择至少一条数据"); } return AjaxResult.success(accessService.gateRemove(ids)); } /* ---------------- 车辆通行授权 ---------------- */ @GetMapping("/vehicle/page") @ApiOperation("车辆档案分页") public AjaxResult vehiclePage(Page page, AccessVehicle query) { return AjaxResult.success(accessService.vehiclePage(page, query)); } @PostMapping("/vehicle/add") @ApiOperation("新增车辆档案") public AjaxResult vehicleAdd(@RequestBody AccessVehicle vehicle) { return AjaxResult.success(accessService.vehicleSave(vehicle)); } @PutMapping("/vehicle/update") @ApiOperation("修改车辆档案") public AjaxResult vehicleUpdate(@RequestBody AccessVehicle vehicle) { return AjaxResult.success(accessService.vehicleUpdate(vehicle)); } @DeleteMapping("/vehicle/delete") @ApiOperation("删除车辆档案") public AjaxResult vehicleDelete(@RequestBody List ids) { if (CollectionUtils.isEmpty(ids)) { return AjaxResult.error("请选择至少一条数据"); } return AjaxResult.success(accessService.vehicleRemove(ids)); } /* ---------------- 识别放行 ---------------- */ @PostMapping("/verify") @ApiOperation("识别核验并放行(车牌+RFID / 人脸+工卡,支持地磅联动)") public AjaxResult verify(@RequestBody AccessVerifyRequest request) { if (request == null || request.getAccessType() == null) { return AjaxResult.error("请指定识别类型 vehicle/person"); } return AjaxResult.success(accessService.verify(request)); } @GetMapping("/record/page") @ApiOperation("进出记录分页") public AjaxResult recordPage(Page page, AccessRecord query) { return AjaxResult.success(accessService.recordPage(page, query)); } }