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<AccessGate> 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<Long> ids) {
|
if (CollectionUtils.isEmpty(ids)) {
|
return AjaxResult.error("请选择至少一条数据");
|
}
|
return AjaxResult.success(accessService.gateRemove(ids));
|
}
|
|
/* ---------------- 车辆通行授权 ---------------- */
|
|
@GetMapping("/vehicle/page")
|
@ApiOperation("车辆档案分页")
|
public AjaxResult vehiclePage(Page<AccessVehicle> 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<Long> 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<AccessRecord> page, AccessRecord query) {
|
return AjaxResult.success(accessService.recordPage(page, query));
|
}
|
}
|