liu
10 天以前 dd1a51612fcd3c839d31dfa0df83b3d3071c8145
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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));
    }
}