package com.zd.netty.controller; import com.zd.common.core.domain.R; import com.zd.netty.constant.RfidConstants; import com.zd.netty.service.IFridService; import com.zd.system.api.laboratory.domain.RemoteLabHardware; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; import java.util.Map; /** * @author Administrator */ @Api(tags = {"FRID设备控制器"}) @RestController @RequestMapping("/frid") public class FridDeviceController { @Resource private IFridService service; /** * 启动FRID扫描监控 * Session.S0 高频循环返回在辐射区域的数据,距离越近频次越高 * Session.S1 次高频循环返回在辐射区域数据,距离越近频次越高 * Session.S2 在辐射范围内重复出现或停止不动的有且仅返回一次数据,当设备离开辐射区域后重置缓存记录,根据厂商提供的文档和本人结合业务应用实际测试,推荐使用此session * Session.S3 这个暂时没搞懂,选择此session的时候在没有标签在辐射区域会报错,不知道是因为识别设备不够四个还是其他问题,待确定 */ @ApiOperation("信道启动FRID扫描监控") @PostMapping("/startMonitorChannels") public R startMonitorChannels(@RequestBody RemoteLabHardware hardware) { service.start(hardware); return R.ok(); } /** * 断开设备连接 */ @ApiOperation("断开设备连接") @PostMapping("/disconnect") public R disconnect(@RequestBody RemoteLabHardware hardware) { service.stop(hardware); return R.ok(); } /** * 开启设备警报 */ @ApiOperation("开启设备警报") @PostMapping("/alarm") public R alarm(@RequestBody RemoteLabHardware hardware) { return R.ok(service.alarm(hardware)); } /** * 开启设备警报 */ @ApiOperation("获取RFID配置") @GetMapping("/config") public R>> config() { return R.ok( RfidConstants.getConfig()); } }