package com.ruoyi.wrzs.access.controller;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.framework.web.domain.AjaxResult;
|
import com.ruoyi.wrzs.access.pojo.AccessGate;
|
import com.ruoyi.wrzs.access.pojo.AccessPerson;
|
import com.ruoyi.wrzs.access.pojo.AccessRecord;
|
import com.ruoyi.wrzs.access.pojo.AccessVehicle;
|
import com.ruoyi.wrzs.access.service.AccessService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.AllArgsConstructor;
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PutMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.List;
|
|
/**
|
* 门禁管理
|
* <p>
|
* 车辆:车牌识别 + RFID;人员:人脸识别 + 工卡;与地磅联动控制放行
|
*/
|
@Api(tags = "门禁管理")
|
@AllArgsConstructor
|
@RestController
|
@RequestMapping("/environmentAccess")
|
public class AccessController {
|
|
private final AccessService accessService;
|
|
// ==================== 门禁点 ====================
|
|
@ApiOperation("门禁点分页")
|
@GetMapping("/accessGatePage")
|
public AjaxResult gatePage(Page<AccessGate> page, AccessGate query) {
|
return AjaxResult.success(accessService.gatePage(page, query));
|
}
|
|
@ApiOperation("门禁点下拉列表")
|
@GetMapping("/accessGateList")
|
public AjaxResult gateList() {
|
return AjaxResult.success(accessService.gateList());
|
}
|
|
@ApiOperation("新增门禁点")
|
@PostMapping("/accessGateAdd")
|
public AjaxResult gateAdd(@RequestBody AccessGate gate) {
|
return AjaxResult.success(accessService.gateSave(gate));
|
}
|
|
@ApiOperation("修改门禁点")
|
@PutMapping("/accessGateUpdate")
|
public AjaxResult gateUpdate(@RequestBody AccessGate gate) {
|
return AjaxResult.success(accessService.gateUpdate(gate));
|
}
|
|
@ApiOperation("删除门禁点")
|
@DeleteMapping("/accessGateDelete")
|
public AjaxResult gateDelete(@RequestBody List<Long> ids) {
|
return AjaxResult.success(accessService.gateRemove(ids));
|
}
|
|
// ==================== 车辆授权 ====================
|
|
@ApiOperation("车辆通行授权分页")
|
@GetMapping("/accessVehiclePage")
|
public AjaxResult vehiclePage(Page<AccessVehicle> page, AccessVehicle query) {
|
return AjaxResult.success(accessService.vehiclePage(page, query));
|
}
|
|
@ApiOperation("新增车辆通行授权")
|
@PostMapping("/accessVehicleAdd")
|
public AjaxResult vehicleAdd(@RequestBody AccessVehicle vehicle) {
|
return AjaxResult.success(accessService.vehicleSave(vehicle));
|
}
|
|
@ApiOperation("修改车辆通行授权")
|
@PutMapping("/accessVehicleUpdate")
|
public AjaxResult vehicleUpdate(@RequestBody AccessVehicle vehicle) {
|
return AjaxResult.success(accessService.vehicleUpdate(vehicle));
|
}
|
|
@ApiOperation("删除车辆通行授权")
|
@DeleteMapping("/accessVehicleDelete")
|
public AjaxResult vehicleDelete(@RequestBody List<Long> ids) {
|
return AjaxResult.success(accessService.vehicleRemove(ids));
|
}
|
|
// ==================== 人员授权 ====================
|
|
@ApiOperation("人员通行授权分页")
|
@GetMapping("/accessPersonPage")
|
public AjaxResult personPage(Page<AccessPerson> page, AccessPerson query) {
|
return AjaxResult.success(accessService.personPage(page, query));
|
}
|
|
@ApiOperation("新增人员通行授权")
|
@PostMapping("/accessPersonAdd")
|
public AjaxResult personAdd(@RequestBody AccessPerson person) {
|
return AjaxResult.success(accessService.personSave(person));
|
}
|
|
@ApiOperation("修改人员通行授权")
|
@PutMapping("/accessPersonUpdate")
|
public AjaxResult personUpdate(@RequestBody AccessPerson person) {
|
return AjaxResult.success(accessService.personUpdate(person));
|
}
|
|
@ApiOperation("删除人员通行授权")
|
@DeleteMapping("/accessPersonDelete")
|
public AjaxResult personDelete(@RequestBody List<Long> ids) {
|
return AjaxResult.success(accessService.personRemove(ids));
|
}
|
|
// ==================== 识别放行 ====================
|
|
@ApiOperation("车辆识别放行(车牌识别+RFID+地磅联动)")
|
@PostMapping("/accessVehicleRecognize")
|
public AjaxResult vehicleRecognize(@RequestParam Long gateId,
|
@RequestParam(required = false) String plateNumber,
|
@RequestParam(required = false) String rfidTag,
|
@RequestParam(required = false, defaultValue = "0") String direction,
|
@RequestParam(required = false) String photoUrl) {
|
try {
|
return AjaxResult.success(accessService.vehicleRecognize(gateId, plateNumber, rfidTag, direction, photoUrl));
|
} catch (IllegalArgumentException e) {
|
return AjaxResult.error(e.getMessage());
|
}
|
}
|
|
@ApiOperation("人员识别放行(人脸识别+工卡)")
|
@PostMapping("/accessPersonRecognize")
|
public AjaxResult personRecognize(@RequestParam Long gateId,
|
@RequestParam(required = false) String cardNo,
|
@RequestParam(required = false) String personName,
|
@RequestParam(required = false, defaultValue = "0") String direction,
|
@RequestParam(required = false) String photoUrl) {
|
try {
|
return AjaxResult.success(accessService.personRecognize(gateId, cardNo, personName, direction, photoUrl));
|
} catch (IllegalArgumentException e) {
|
return AjaxResult.error(e.getMessage());
|
}
|
}
|
|
// ==================== 通行记录 ====================
|
|
@ApiOperation("通行记录分页")
|
@GetMapping("/accessRecordPage")
|
public AjaxResult recordPage(Page<AccessRecord> page, AccessRecord query) {
|
return AjaxResult.success(accessService.recordPage(page, query));
|
}
|
|
@ApiOperation("删除通行记录")
|
@DeleteMapping("/accessRecordDelete")
|
public AjaxResult recordDelete(@RequestBody List<Long> ids) {
|
return AjaxResult.success(accessService.recordRemove(ids));
|
}
|
|
@ApiOperation("今日通行统计")
|
@GetMapping("/accessOverview")
|
public AjaxResult overview() {
|
return AjaxResult.success(accessService.recordOverview());
|
}
|
}
|