|
@@ -40,13 +40,13 @@ public class AutoRfidReaderTask {
|
|
|
|
|
|
* 关门次数,每次关门会累加一次,但是开门会初始化为0
|
|
|
*/
|
|
|
- private int closeOutDoorNum = 10;
|
|
|
- private int closeInDoorNum = 10;
|
|
|
+ private int closeOutDoorNum = 5;
|
|
|
+ private int closeInDoorNum = 5;
|
|
|
|
|
|
|
|
|
* 关门上限,因为大部分时间都是读不到标签的 所以关门的指令不能一直重复下发
|
|
|
*/
|
|
|
- private int closeDoorMax = 10;
|
|
|
+ private int closeDoorMax = 5;
|
|
|
|
|
|
|
|
|
* RFID读取任务(墙外)
|
|
@@ -79,10 +79,22 @@ public class AutoRfidReaderTask {
|
|
|
*/
|
|
|
public void execute(String[] tagIds, List<String> tagList, AutoDoorClient.AUTO_DOOR_NO doorNo, boolean isOutdoor) {
|
|
|
if (tagList == null) {
|
|
|
+
|
|
|
+ if (isOutdoor) {
|
|
|
+ if (redisCache.getCacheObject("OUT_DOOR_OPEN") != null) {
|
|
|
+ log.error("自动门打开之后的五秒钟之内不可以关门!");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ if (redisCache.getCacheObject("IN_DOOR_OPEN") != null) {
|
|
|
+ log.error("自动门打开之后的五秒钟之内不可以关门!");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
-
|
|
|
- if (isOutdoor ? closeOutDoorNum < 10 : closeInDoorNum < 10) {
|
|
|
+
|
|
|
+ if (isOutdoor ? closeOutDoorNum < closeDoorMax : closeInDoorNum < closeDoorMax) {
|
|
|
autoDoorClient.sendClose(doorNo);
|
|
|
|
|
|
if (isOutdoor) {
|
|
@@ -115,10 +127,14 @@ public class AutoRfidReaderTask {
|
|
|
closeOutDoorNum = 0;
|
|
|
|
|
|
redisCache.setCacheObject("BUTTON_BOX_VALID","",10, TimeUnit.MINUTES);
|
|
|
+
|
|
|
+ redisCache.setCacheObject("OUT_DOOR_OPEN","",5, TimeUnit.SECONDS);
|
|
|
} else {
|
|
|
closeInDoorNum = 0;
|
|
|
|
|
|
warningLightClient.closeWarningLight();
|
|
|
+
|
|
|
+ redisCache.setCacheObject("IN_DOOR_OPEN","",5, TimeUnit.SECONDS);
|
|
|
}
|
|
|
} else {
|
|
|
|