|
@@ -35,9 +35,6 @@ public class DeJuRFIDServerImpl implements IService {
|
|
|
private final Map<String, Boolean> alarmMap = new ConcurrentHashMap<>();
|
|
private final Map<String, Boolean> alarmMap = new ConcurrentHashMap<>();
|
|
|
|
|
|
|
|
private final Map<String, Integer> stopMap = new ConcurrentHashMap<>();
|
|
private final Map<String, Integer> stopMap = new ConcurrentHashMap<>();
|
|
|
- public static final Integer PORT = 8160;
|
|
|
|
|
-
|
|
|
|
|
- private static final String HTTP_SEPARATOR = ":";
|
|
|
|
|
private static final Integer TIME_OUT = 2000;
|
|
private static final Integer TIME_OUT = 2000;
|
|
|
|
|
|
|
|
private static final Integer MAX_RETRY = 3;
|
|
private static final Integer MAX_RETRY = 3;
|
|
@@ -61,7 +58,7 @@ public class DeJuRFIDServerImpl implements IService {
|
|
|
client = new GClient();
|
|
client = new GClient();
|
|
|
clientMap.put(ipAddress, client);
|
|
clientMap.put(ipAddress, client);
|
|
|
}
|
|
}
|
|
|
- if (client.openTcp(ipAddress + HTTP_SEPARATOR + PORT, TIME_OUT)) {
|
|
|
|
|
|
|
+ if (client.openTcp(ipAddress, TIME_OUT)) {
|
|
|
stopMsg(client);
|
|
stopMsg(client);
|
|
|
// 功率配置, 将4个天线功率都设置为30dBm.
|
|
// 功率配置, 将4个天线功率都设置为30dBm.
|
|
|
MsgBaseSetPower msgBaseSetPower = setPower(hardware, client);
|
|
MsgBaseSetPower msgBaseSetPower = setPower(hardware, client);
|
|
@@ -281,15 +278,22 @@ public class DeJuRFIDServerImpl implements IService {
|
|
|
clientMap.computeIfAbsent(ipAddress, f -> client);
|
|
clientMap.computeIfAbsent(ipAddress, f -> client);
|
|
|
client.onTagEpcLog = (s, logBaseEpcInfo) -> {
|
|
client.onTagEpcLog = (s, logBaseEpcInfo) -> {
|
|
|
if (logBaseEpcInfo.getResult() == 0) {
|
|
if (logBaseEpcInfo.getResult() == 0) {
|
|
|
- log.info("===========》{},index: {}", logBaseEpcInfo.getEpc(), logBaseEpcInfo.getAntId());
|
|
|
|
|
- InventoryTag tag = new InventoryTag();
|
|
|
|
|
- BeanUtils.copyProperties(logBaseEpcInfo, tag);
|
|
|
|
|
- String readerSerialNumber = logBaseEpcInfo.getReaderSerialNumber();
|
|
|
|
|
- Long replySerialNumber = logBaseEpcInfo.getReplySerialNumber();
|
|
|
|
|
- log.info("===========》读取器设备编码:{},replySerialNumber: {}", readerSerialNumber, replySerialNumber);
|
|
|
|
|
- tag.setSerialNumber(client.getSerialNumber());
|
|
|
|
|
- tag.setRemoteLabHardware(redisTemplate.opsForValue().get(client.getSerialNumber()));
|
|
|
|
|
- sendService.send(tag);
|
|
|
|
|
|
|
+ int antId = logBaseEpcInfo.getAntId();
|
|
|
|
|
+ String epc = logBaseEpcInfo.getEpc();
|
|
|
|
|
+ String key=epc+antId;
|
|
|
|
|
+ if (Boolean.FALSE.equals(redisTemplate.hasKey(key))){
|
|
|
|
|
+ log.info("===========》{},index: {}", epc, antId);
|
|
|
|
|
+ redisTemplate.opsForValue().set(key,hardware,30,TimeUnit.SECONDS);
|
|
|
|
|
+ scheduledExecutorService.execute(()->{
|
|
|
|
|
+ InventoryTag tag = new InventoryTag();
|
|
|
|
|
+ BeanUtils.copyProperties(logBaseEpcInfo, tag);
|
|
|
|
|
+ String readerSerialNumber = logBaseEpcInfo.getReaderSerialNumber();
|
|
|
|
|
+ log.info("===========》读取器设备编码:{}", readerSerialNumber);
|
|
|
|
|
+ tag.setSerialNumber(client.getSerialNumber());
|
|
|
|
|
+ tag.setRemoteLabHardware(redisTemplate.opsForValue().get(client.getSerialNumber()));
|
|
|
|
|
+ sendService.send(tag);
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
client.onTagEpcOver = (s, logBaseEpcOver) -> log.info("HandlerTagEpcOver");
|
|
client.onTagEpcOver = (s, logBaseEpcOver) -> log.info("HandlerTagEpcOver");
|