Browse Source

禁止通行原因

qzyReal 9 months ago
parent
commit
c6d4ad186c
28 changed files with 283 additions and 287 deletions
  1. 4 3
      business-system/venues-system/src/main/java/com/pj/biz/TbTerminalController.java
  2. 5 1
      pom.xml
  3. 47 3
      sp-admin/src/main/java/com/pj/project4sp/admin4acc/SpAccAdminController.java
  4. 3 1
      sp-admin/src/main/java/com/pj/project4sp/admin4password/SpAdminPasswordController.java
  5. 1 1
      sp-core/src/main/java/com/pj/current/netty/command/config/CommandNettyServerHandler.java
  6. 1 1
      sp-core/src/main/java/com/pj/current/netty/command/handler/dto/HealthlogDTO.java
  7. 157 12
      sp-core/src/main/java/com/pj/current/netty/command/handler/impl/CheckLogHandler.java
  8. 1 199
      sp-core/src/main/java/com/pj/current/netty/command/handler/impl/HealthlogHandler.java
  9. 4 0
      sp-core/src/main/java/com/pj/project/hc_camera/HcCamera.java
  10. 9 1
      sp-core/src/main/java/com/pj/project/hc_camera/HcCameraService.java
  11. 9 0
      sp-core/src/main/java/com/pj/project/hksdk/AlarmParseService.java
  12. 0 2
      sp-core/src/main/java/com/pj/project/hksdk/FExceptionCallBack.java
  13. 0 1
      sp-core/src/main/java/com/pj/project/hksdk/MessageCallBack.java
  14. 4 0
      sp-core/src/main/java/com/pj/project/sp_admin/SpAdmin.java
  15. 2 0
      sp-core/src/main/java/com/pj/project/sp_admin/SpAdminMapper.xml
  16. 6 1
      sp-core/src/main/java/com/pj/project/sp_admin/SpAdminPasswordService.java
  17. 1 19
      sp-core/src/main/java/com/pj/project/tb_car_filing/TbCarFilingMapper.xml
  18. 1 1
      sp-core/src/main/java/com/pj/project/tb_car_visit_record/TbCarVisitRecordMapper.xml
  19. 3 0
      sp-core/src/main/java/com/pj/project/tb_dept/TbDept.java
  20. 1 1
      sp-core/src/main/java/com/pj/project/tb_mini_user/TbMiniUserService.java
  21. 3 5
      sp-core/src/main/java/com/pj/project/tb_person_filing/TbPersonFilingService.java
  22. 10 10
      sp-core/src/main/java/com/pj/project/tb_person_visit_record/TbPersonVisitRecord.java
  23. 1 1
      sp-core/src/main/java/com/pj/project/tb_person_visit_record/TbPersonVisitRecordMapper.xml
  24. 1 6
      sp-core/src/main/java/com/pj/project/tb_person_visit_record/TbPersonVisitRecordService.java
  25. 2 13
      sp-core/src/main/java/com/pj/project/tb_terminal/TbTerminalService.java
  26. 3 1
      sp-core/src/main/java/com/pj/utils/cache/RedisUtil.java
  27. 2 2
      sp-start/src/main/resources/application-dev.yml
  28. 2 2
      sp-start/src/main/resources/application.yml

+ 4 - 3
business-system/venues-system/src/main/java/com/pj/biz/TbTerminalController.java

@@ -32,7 +32,6 @@ public class TbTerminalController {
     TbTerminalService tbTerminalService;
 
 
-
     /**
      * 删
      */
@@ -125,10 +124,12 @@ public class TbTerminalController {
         return AjaxJson.getSuccess();
     }
 
- @RequestMapping("down")
+    @RequestMapping("down")
     @SaCheckPermission(TbTerminal.PERMISSION_CODE_DOWN_DATA)
     public AjaxJson down(Long id) {
-        tbTerminalService.down(id);
+        new Thread(() -> {
+            tbTerminalService.down(id);
+        }).start();
         return AjaxJson.getSuccess();
     }
 

+ 5 - 1
pom.xml

@@ -178,7 +178,11 @@
 			<artifactId>jna</artifactId>
 			<version>3.0.9</version>
 		</dependency>
-
+		<dependency>
+			<groupId>com.github.whvcse</groupId>
+			<artifactId>easy-captcha</artifactId>
+			<version>1.6.2</version>
+		</dependency>
 	</dependencies>
 
 

+ 47 - 3
sp-admin/src/main/java/com/pj/project4sp/admin4acc/SpAccAdminController.java

@@ -2,6 +2,14 @@ package com.pj.project4sp.admin4acc;
 
 import javax.servlet.http.HttpServletRequest;
 
+import cn.hutool.cache.CacheUtil;
+import cn.hutool.cache.impl.TimedCache;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.crypto.asymmetric.KeyType;
+import cn.hutool.crypto.asymmetric.RSA;
+import com.pj.utils.cache.RedisUtil;
+import com.wf.captcha.ArithmeticCaptcha;
+import com.wf.captcha.SpecCaptcha;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -19,6 +27,10 @@ import com.pj.utils.so.SoMap;
 
 import cn.dev33.satoken.stp.StpUtil;
 
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
 /**
  * Admin账号相关的接口 
  * 
@@ -38,13 +50,45 @@ public class SpAccAdminController {
 	/** 账号、密码登录  */
 	@RequestMapping("doLogin")
 	@SentinelResource(value = "qps-max-1", blockHandler = "doLoginBlock")
-	AjaxJson doLogin(String key, String password) {
-		// 1、验证参数 
-		if(NbUtil.hasNull(key, password)) {
+	AjaxJson doLogin(String key, String password, String code, String verCode) {
+		// 1、验证参数
+		if (NbUtil.hasNull(key, password)) {
 			return AjaxJson.getError("请提供key与password参数");
 		}
+
+		String cacheCode = RedisUtil.get(code);
+		if (NbUtil.isNull(cacheCode)) {
+			return AjaxJson.getError("验证码已过期");
+		}
+		RSA rsa = KEY_CACHE.get(code);
+		if (rsa==null){
+			return AjaxJson.getError("请重新刷新登录");
+		}
+		if (!StrUtil.equals(cacheCode.toUpperCase(), verCode.toUpperCase())) {
+			return AjaxJson.getError("验证码不正确");
+		}
+
+		password=rsa.decryptStr(password, KeyType.PrivateKey);
+		RedisUtil.del(code);
 		return spAccAdminService.doLogin(key, password);
 	}
+	private TimedCache<String, RSA> KEY_CACHE = CacheUtil.newTimedCache(60000);
+	@PostMapping("captcha")
+	public AjaxJson render() {
+		SpecCaptcha captcha = new SpecCaptcha(130, 48,4);
+		String key = UUID.randomUUID().toString();
+		String verCode = captcha.text().toLowerCase();   // 获取验证码的字符
+		RedisUtil.setBySECONDS(key, verCode, 60);
+		Map<String, String> map = new HashMap<>();
+		map.put("key", key);
+		map.put("image", captcha.toBase64());
+		RSA rsa = new RSA();
+		String publicKeyBase64Key = rsa.getPublicKeyBase64();
+		KEY_CACHE.put(key, rsa);
+		map.put("pKey", publicKeyBase64Key);
+		return AjaxJson.getSuccessData(map);
+	}
+
 	// 限流之后触发的函数 
 	AjaxJson doLoginBlock(String key, String password, BlockException e) {
 		return AjaxJson.getError("访问过于频繁,请稍后再试");

+ 3 - 1
sp-admin/src/main/java/com/pj/project4sp/admin4password/SpAdminPasswordController.java

@@ -1,6 +1,7 @@
 package com.pj.project4sp.admin4password;
 
 import com.pj.project.sp_admin.SpAdminPasswordService;
+import com.pj.project4sp.SP;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -34,13 +35,14 @@ public class SpAdminPasswordController {
 		if(NbUtil.isNull(a.getPassword2()) && NbUtil.isNull(oldPwd)) {
 			// 如果没有旧密码,则不用取验证 
 		} else {
-			if(oldPwdMd5.equals(a.getPassword2()) == false) {
+			if(!oldPwdMd5.equals(a.getPassword2())) {
 				return AjaxJson.getError("旧密码输入错误");
 			}
 		}
 		
 		// 3、开始改 
 		int line = spAdminPasswordService.updatePassword(a.getId(), newPwd);
+
 		return AjaxJson.getByLine(line);
 	}
 	

+ 1 - 1
sp-core/src/main/java/com/pj/current/netty/command/config/CommandNettyServerHandler.java

@@ -87,7 +87,7 @@ public class CommandNettyServerHandler extends ChannelInboundHandlerAdapter {
             str = content + str;
             CONTENT_CACHE.remove(channelId);
         }
-        log.info("终端请求:{}", str);
+//        log.info("终端请求:{}", str);
         JSONObject reqObj = JSONUtil.parseObj(str);
         Integer code = reqObj.getInt("code");
         if (code != null) {//设备端回复服务器的消息,无需再回复设备

+ 1 - 1
sp-core/src/main/java/com/pj/current/netty/command/handler/dto/HealthlogDTO.java

@@ -26,12 +26,12 @@ public class HealthlogDTO implements Serializable {
      * allow_through : true
      */
 
+    private String pin;
     private String identity_number;
     private String name;
     private String sex;
     private String phone;
     private String temperature;
-    private String health_status;
     private String verify_type;
     private String picture;
     private Date date;

+ 157 - 12
sp-core/src/main/java/com/pj/current/netty/command/handler/impl/CheckLogHandler.java

@@ -1,20 +1,36 @@
 package com.pj.current.netty.command.handler.impl;
 
+import cn.hutool.cache.CacheUtil;
+import cn.hutool.cache.impl.TimedCache;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.RandomUtil;
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
+import com.pj.current.config.MyConfig;
+import com.pj.current.config.WxConfig;
 import com.pj.current.netty.command.constants.CommandType;
 import com.pj.current.netty.command.handler.IHandler;
 import com.pj.current.netty.command.handler.dto.ChecklogDTO;
+import com.pj.current.netty.command.handler.dto.HealthlogDTO;
 import com.pj.current.netty.dto.OKMsg;
 import com.pj.current.netty.dto.RequestPackageDTO;
 import com.pj.current.task.TaskService;
+import com.pj.project.tb_car_visit_record.TbCarVisitRecord;
+import com.pj.project.tb_car_visit_record.TbCarVisitRecordService;
 import com.pj.project.tb_dept.TbDept;
 import com.pj.project.tb_dept.TbDeptService;
+import com.pj.project.tb_gate_terminal.TbGateTerminal;
+import com.pj.project.tb_gate_terminal.TbGateTerminalService;
+import com.pj.project.tb_gate_terminal.bo.ResultDTO;
 import com.pj.project.tb_manager.TbManager;
 import com.pj.project.tb_manager.TbManagerService;
+import com.pj.project.tb_mini_user.TbMiniUser;
+import com.pj.project.tb_mini_user.TbMiniUserService;
 import com.pj.project.tb_person_filing.TbPersonFiling;
 import com.pj.project.tb_person_filing.TbPersonFilingService;
+import com.pj.project.tb_person_filing.task.Base64ToImage;
+import com.pj.project.tb_person_filing.task.DelayIsuued;
 import com.pj.project.tb_person_visit_record.TbPersonVisitRecord;
 import com.pj.project.tb_person_visit_record.TbPersonVisitRecordService;
 import com.pj.project.tb_person_visit_record.task.ConvertBase64ToImage;
@@ -22,7 +38,11 @@ import com.pj.project.tb_terminal.TbTerminal;
 import com.pj.project.tb_terminal.TbTerminalService;
 import com.pj.project.tb_venues.TbVenues;
 import com.pj.project.tb_venues.TbVenuesService;
+import com.pj.project.wx.WxService;
+import com.pj.project.wx.bo.MsgDataBO;
+import com.pj.project4sp.sms.DuanXinBaoSMSService;
 import com.pj.project4sp.spcfg.SpCfgUtil;
+import com.pj.utils.cache.RedisUtil;
 import io.netty.channel.ChannelHandlerContext;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -30,8 +50,10 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
+import java.time.ZoneOffset;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 人脸核验记录
@@ -47,10 +69,19 @@ public class CheckLogHandler implements IHandler {
     @Resource
     private TbPersonFilingService tbPersonFilingService;
     @Resource
+    private TbDeptService tbDeptService;
+    @Resource
     private TaskService taskService;
+
     @Resource
-    private TbDeptService tbDeptService;
+    private TbVenuesService tbVenuesService;
+    @Resource
+    private TbGateTerminalService tbGateTerminalService;
+
+    @Resource
+    private TbCarVisitRecordService tbCarVisitRecordService;
 
+    TimedCache<String, Integer> CACHE_MAP = CacheUtil.newTimedCache(30000);
 
     @Override
     public CommandType commandType() {
@@ -62,30 +93,144 @@ public class CheckLogHandler implements IHandler {
         log.info("============核验记录上传========:{}", JSONUtil.toJsonStr(packageDTO));
         JSONObject params = JSONUtil.parseObj(packageDTO.getPayload().getParams());
         String str = params.getStr("log");
-        ChecklogDTO dto = JSONUtil.toBean(str, ChecklogDTO.class);
-        TbPersonFiling tbPersonFiling = tbPersonFilingService.findByPin(dto.getPin());
+        HealthlogDTO dto = JSONUtil.toBean(str, HealthlogDTO.class);
+        String idCard = dto.getPin();
+        if (StrUtil.isEmpty(idCard)){
+            idCard=dto.getIdentity_number();
+        }
+        Date visitDate=dto.getDate();
+        Date expireDate=Date.from(LocalDateTime
+                .of(2024,5,1,0,0,0)
+                .atZone(ZoneId.systemDefault()).toInstant());
+        if (visitDate.compareTo(expireDate)<0){
+            log.info("expire----------");
+            ctx.write(OKMsg.ok());
+            ctx.flush();
+            return;
+        }
+        if (CACHE_MAP.get(idCard) != null) {
+            log.info("回复核验记录上传===重复数据:{}", OKMsg.ok());
+            ctx.write(OKMsg.ok());
+            ctx.flush();
+            return;
+        }
+        CACHE_MAP.put(idCard, 1);
+        //设备
         String sn = params.getStr("sn");
         TbTerminal tbTerminal = tbTerminalService.findBySN(sn);
+        Long channelId = tbTerminal.getChannelId();
+        //绑定场所的通道
+        TbVenues channel = tbVenuesService.getById(channelId);
+        TbPersonFiling tbPersonFiling = tbPersonFilingService.findByIdCard(idCard);
+        if (tbPersonFiling == null) {
+            if (!SpCfgUtil.termianlFilling()) {
+                log.error("系统不允许设备端进行备案============>删除设备端自动备份的信息,:{}", idCard);
+                tbPersonFilingService.deleteTerminalWhilte(idCard, true);
+                ctx.write(OKMsg.ok());
+                ctx.flush();
+                return;
+            }
+            //增加人员信息
+            Date now = new Date();
+            List<TbDept> deptList = tbDeptService.findByVenuesId(tbTerminal.getVenuesId());
+            if (deptList.isEmpty()) {
+                log.error("设备上传备案,无备案组织====");
+                return;
+            }
+            TbDept dept = deptList.get(0);
+            boolean needJudge = TbDept.NeedJudgeEnum.MAN_JUDGE.getType().equals(dept.getNeedJudge());
+            tbPersonFiling = new TbPersonFiling();
+            tbPersonFiling.setPin(idCard).setIdCard(dto.getIdentity_number())
+                    .setName(dto.getName()).setCreateBy("设备上传")
+                    .setCreateTime(now).setUpdateTime(now)
+                    .setDeptId(dept.getId()).setJudgeState(needJudge ? 0 : 1)
+                    .setJudgeBy("设备上传").setJudgeTime(needJudge ? null : now);
+            tbPersonFilingService.save(tbPersonFiling);
+            taskService.addTask(new Base64ToImage(RandomUtil.randomNumbers(10), 50, tbPersonFiling.getId(), dto.getPicture()));
+            //分发人员信息到其他终端
+            if (!needJudge) {
+                taskService.addTask(new DelayIsuued(RandomUtil.randomNumbers(11), 4000, tbPersonFiling.getId(), sn));
+            }
+        }
+        //备案组织
         Long deptId = tbPersonFiling.getDeptId();
         TbDept tbDept = tbDeptService.getById(deptId);
-        Date date = dto.getDate();
-        LocalDateTime dayTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
-        Integer direction = dto.getDirection();
-        String idCard = tbPersonFiling.getIdCard();
-        TbPersonVisitRecord record = tbPersonVisitRecordService.findTheNearRecord(idCard, deptId, direction, dayTime.minusSeconds(8));
-        if (record == null) {
-            record = new TbPersonVisitRecord();
+        Boolean allowPass = dto.isAllow_through();
+        //车辆道闸判断
+        if (channel != null && TbVenues.TypeEnum.CAR_CHANNEL.getType().equals(channel.getType())) {
+            String key = "result:" + channelId;
+            String resultStr = RedisUtil.get(key);
+            ResultDTO resultDTO = JSONUtil.toBean(resultStr, ResultDTO.class);
+            //备案的组织满足其一就可放行
+            if (TbDept.PassTypeEnum.ONE.getType().equals(tbDept.getPassType())) {
+                List<TbGateTerminal> gateTerminals = tbGateTerminalService.findByChannelId(channelId);
+                // 找到入口的设备,开闸
+                if (allowPass) {//上传的记录是可开闸
+                    gateTerminals.stream().filter(tbGateTerminal -> tbGateTerminal.getDirection() == 1)
+                            .forEach(tbGateTerminal -> openGate(tbGateTerminal.getId(), channelId));
+                }
+                if (resultDTO.getResult() != null && resultDTO.getResult() == 0) {
+                    resultDTO.setReason("人脸识别放行");
+                    this.updateCarRecord(resultDTO, dto, tbPersonFiling);
+                }
+            } else if (resultDTO.getResult() != null && resultDTO.getResult() == 1 && allowPass) {
+                openGate(resultDTO.getGateTerminalId(), channelId);
+                resultDTO.setReason("人车识别一致放行");
+                this.updateCarRecord(resultDTO, dto, tbPersonFiling);
+            }
+        }
+        TbPersonVisitRecord record = new TbPersonVisitRecord();
+        if (channel != null) {
+            record.setVenuesId(channel.getPId());
         }
         record.setDeptId(deptId).setType(TbPersonVisitRecord.TypeEnum.UPLOAD.getType())
                 .setVenues(tbTerminal.getVenuesName()).setChannel(tbTerminal.getChannelName())
+                .setDepartmentId(tbPersonFiling.getDepartmentId())
                 .setTerminalName(tbTerminal.getName()).setVisitDate(dto.getDate()).setCreateTime(new Date())
-                .setSn(sn).setUpdateTime(new Date()).setAllowPass(dto.isAllow_through())
+                .setSn(sn).setUpdateTime(new Date()).setAllowPass(allowPass)
                 .setDirection(dto.getDirection()).setTemperature(dto.getTemperature()).setDeptName(tbDept.getName())
                 .setName(tbPersonFiling.getName()).setPhone(tbPersonFiling.getPhone()).setIdCard(tbPersonFiling.getIdCard());
+        if (!allowPass) {
+            if (SpCfgUtil.getMinTemperature() < Double.valueOf(dto.getTemperature())) {
+                record.setReason("体温异常");
+            }
+        }
+
         tbPersonVisitRecordService.saveOrUpdate(record);
+        tbTerminal.setLastOnLine(DateUtil.now());
+        tbTerminalService.updateById(tbTerminal);
         ctx.write(OKMsg.ok());
         ctx.flush();
-
         taskService.addTask(new ConvertBase64ToImage(RandomUtil.randomNumbers(8), 2000, record.getId(), dto.getPicture()));
+        String alarm = SpCfgUtil.getAlarmConfig();
+        if (Integer.parseInt(alarm) == 0) {
+            log.error("========系统未设置预警==========");
+            return;
+        }
+        //预警人员
+        if (channel == null) {
+            log.error("设备未绑定场所,不进行预警==========");
+            return;
+        }
+    }
+
+
+    private void updateCarRecord(ResultDTO resultDTO, HealthlogDTO dto, TbPersonFiling tbPersonFiling) {
+        Long recordId = resultDTO.getRecordId();
+        TbCarVisitRecord tbCarVisitRecord = tbCarVisitRecordService.getById(recordId);
+        tbCarVisitRecord.setDriverIdCard(dto.getIdentity_number()).setDriverName(dto.getName()).setReason(resultDTO.getReason())
+                .setDriverContact(tbPersonFiling.getPhone()).setAllowPass(1).setDepartmentId(tbPersonFiling.getDepartmentId());
+        tbCarVisitRecordService.updateById(tbCarVisitRecord);
+    }
+
+    private void openGate(Long gateTerminalId, Long channelId) {
+        try {
+            tbGateTerminalService.open(gateTerminalId);
+            String recordId = RedisUtil.get("record:" + channelId);
+            RedisUtil.del("record:" + channelId);
+            tbCarVisitRecordService.updatePass(Long.valueOf(recordId));
+        } catch (Exception e) {
+            log.error("开闸失败:{}", e.getMessage());
+        }
     }
 }

+ 1 - 199
sp-core/src/main/java/com/pj/current/netty/command/handler/impl/HealthlogHandler.java

@@ -64,218 +64,20 @@ import java.util.stream.Collectors;
 @Service
 @Slf4j
 public class HealthlogHandler implements IHandler {
-    @Resource
-    private TbPersonVisitRecordService tbPersonVisitRecordService;
-    @Resource
-    private TbTerminalService tbTerminalService;
-    @Resource
-    private TbPersonFilingService tbPersonFilingService;
-    @Resource
-    private TbDeptService tbDeptService;
-    @Resource
-    private TaskService taskService;
 
-    @Resource
-    private TbManagerService tbManagerService;
-    @Resource
-    private TbVenuesService tbVenuesService;
-    @Resource
-    private TbGateTerminalService tbGateTerminalService;
-    @Resource
-    private WxConfig wxConfig;
-    @Resource
-    private WxService wxService;
-    @Resource
-    private TbCarVisitRecordService tbCarVisitRecordService;
-
-    @Resource
-    private MyConfig myConfig;
-    @Resource
-    private DuanXinBaoSMSService duanXinBaoSMSService;
-    @Resource
-    private TbMiniUserService tbMiniUserService;
 
     @Override
     public CommandType commandType() {
         return CommandType.UPLOAD_HEALTH_LOG;
     }
 
-    TimedCache<String, Integer> CACHE_MAP = CacheUtil.newTimedCache(30000);
+
 
     @Override
     public void handler(ChannelHandlerContext ctx, RequestPackageDTO packageDTO) {
         log.info("========健康核查记录上传===========:{}", JSONUtil.toJsonStr(packageDTO));
-        JSONObject params = JSONUtil.parseObj(packageDTO.getPayload().getParams());
-        String str = params.getStr("log");
-        HealthlogDTO dto = JSONUtil.toBean(str, HealthlogDTO.class);
-        String idCard = dto.getIdentity_number();
-        if (CACHE_MAP.get(idCard) != null) {
-            log.info("回复健康记录上传===重复数据:{}", OKMsg.ok());
-            ctx.write(OKMsg.ok());
-            ctx.flush();
-            return;
-        }
-        CACHE_MAP.put(idCard, 1);
-        //设备
-        String sn = params.getStr("sn");
-        TbTerminal tbTerminal = tbTerminalService.findBySN(sn);
-        Long channelId = tbTerminal.getChannelId();
-        //绑定场所的通道
-        TbVenues channel = tbVenuesService.getById(channelId);
-        TbPersonFiling tbPersonFiling = tbPersonFilingService.findByIdCard(idCard);
-        if (tbPersonFiling == null) {
-            if (!SpCfgUtil.termianlFilling()) {
-                log.error("系统不允许设备端进行备案============>删除设备端自动备份的信息,:{}", idCard);
-                tbPersonFilingService.deleteTerminalWhilte(idCard, true);
-                ctx.write(OKMsg.ok());
-                ctx.flush();
-                return;
-            }
-            //增加人员信息
-            Date now = new Date();
-            List<TbDept> deptList = tbDeptService.findByVenuesId(tbTerminal.getVenuesId());
-            if (deptList.isEmpty()) {
-                log.error("设备上传备案,无备案组织====");
-                return;
-            }
-            TbDept dept = deptList.get(0);
-            boolean needJudge = TbDept.NeedJudgeEnum.MAN_JUDGE.getType().equals(dept.getNeedJudge());
-            tbPersonFiling = new TbPersonFiling();
-            tbPersonFiling.setPin(idCard).setIdCard(dto.getIdentity_number())
-                    .setName(dto.getName()).setCreateBy("设备上传")
-                    .setCreateTime(now).setUpdateTime(now)
-                    .setDeptId(dept.getId()).setJudgeState(needJudge ? 0 : 1)
-                    .setJudgeBy("设备上传").setJudgeTime(needJudge ? null : now);
-            tbPersonFilingService.save(tbPersonFiling);
-            taskService.addTask(new Base64ToImage(RandomUtil.randomNumbers(10), 50, tbPersonFiling.getId(), dto.getPicture()));
-            //分发人员信息到其他终端
-            if (!needJudge) {
-                taskService.addTask(new DelayIsuued(RandomUtil.randomNumbers(11), 4000, tbPersonFiling.getId(), sn));
-            }
-        }
-        //备案组织
-        Long deptId = tbPersonFiling.getDeptId();
-        TbDept tbDept = tbDeptService.getById(deptId);
-        Boolean allowPass = dto.isAllow_through();
-        //车辆道闸判断
-        if (channel != null && TbVenues.TypeEnum.CAR_CHANNEL.getType().equals(channel.getType())) {
-            String key = "result:" + channelId;
-            String resultStr = RedisUtil.get(key);
-            ResultDTO resultDTO = JSONUtil.toBean(resultStr, ResultDTO.class);
-            //备案的组织满足其一就可放行
-            if (TbDept.PassTypeEnum.ONE.getType().equals(tbDept.getPassType())) {
-                List<TbGateTerminal> gateTerminals = tbGateTerminalService.findByChannelId(channelId);
-                // 找到入口的设备,开闸
-                if (allowPass) {//上传的记录是可开闸
-                    gateTerminals.stream().filter(tbGateTerminal -> tbGateTerminal.getDirection() == 1)
-                            .forEach(tbGateTerminal -> openGate(tbGateTerminal.getId(), channelId));
-                }
-                if (resultDTO.getResult() != null && resultDTO.getResult() == 0) {
-                    resultDTO.setReason("人脸识别放行");
-                    this.updateCarRecord(resultDTO, dto, tbPersonFiling);
-                }
-            } else if (resultDTO.getResult() != null && resultDTO.getResult() == 1 && allowPass) {
-                openGate(resultDTO.getGateTerminalId(), channelId);
-                resultDTO.setReason("人车识别一致放行");
-                this.updateCarRecord(resultDTO, dto, tbPersonFiling);
-            }
-        }
-        TbPersonVisitRecord record = new TbPersonVisitRecord();
-        if (channel != null) {
-            record.setVenuesId(channel.getPId());
-        }
-        record.setDeptId(deptId).setType(TbPersonVisitRecord.TypeEnum.UPLOAD.getType())
-                .setVenues(tbTerminal.getVenuesName()).setChannel(tbTerminal.getChannelName())
-                .setDepartmentId(tbPersonFiling.getDepartmentId())
-                .setTerminalName(tbTerminal.getName()).setVisitDate(dto.getDate()).setCreateTime(new Date())
-                .setSn(sn).setUpdateTime(new Date()).setAllowPass(allowPass).setHealthStatus(dto.getHealth_status())
-                .setDirection(dto.getDirection()).setTemperature(dto.getTemperature()).setDeptName(tbDept.getName())
-                .setName(tbPersonFiling.getName()).setPhone(tbPersonFiling.getPhone()).setIdCard(tbPersonFiling.getIdCard());
-        if (!allowPass) {
-            if (SpCfgUtil.getMinTemperature() < Double.valueOf(dto.getTemperature())) {
-                record.setReason("体温异常");
-            } else if (!TbPersonVisitRecord.HealthEnum.GREEN.getDesc().equals(dto.getHealth_status())) {
-                record.setReason(dto.getHealth_status());
-            } else {
-                record.setReason("行程或核酸未知");
-            }
-        }
-
-        tbPersonVisitRecordService.saveOrUpdate(record);
-        tbTerminal.setLastOnLine(DateUtil.now());
-        tbTerminalService.updateById(tbTerminal);
-        ctx.write(OKMsg.ok());
-        ctx.flush();
-        taskService.addTask(new ConvertBase64ToImage(RandomUtil.randomNumbers(8), 2000, record.getId(), dto.getPicture()));
-        List<TbMiniUser> tbMiniUserList = tbMiniUserService.findAdminList();
-        String healthStatus = dto.getHealth_status();
-        String now = DateUtil.now();
-        // todo 黄码,红码预警
-        MsgDataBO msgDataBO = new MsgDataBO("您收到一条人员健康码异常提醒", dto.getName(), now, tbTerminal.getName(), healthStatus, channel == null ? "" : channel.getName(), "请及时处理");
-        if (wxConfig.isEnable()) {
-            tbMiniUserList.forEach(tbMiniUser -> {
-                String detailUrl = wxConfig.getReportDetail() + "?=" + record.getId() + "&openid=" + tbMiniUser.getOpenid();
-                wxService.sendTemplateMsg(wxConfig.getTemperatureErrorTemplate(), tbMiniUser.getOpenid(), msgDataBO, detailUrl);
-            });
-        }
-        String alarm = SpCfgUtil.getAlarmConfig();
-        if (Integer.parseInt(alarm) == 0) {
-            log.error("========系统未设置预警==========");
-            return;
-        }
-        //预警人员
-        if (channel == null) {
-            log.error("设备未绑定场所,不进行预警==========");
-            return;
-        }
-
-        List<TbManager> managers = tbManagerService.findAlarmPersonByVenuesId(channel.getPId());
-        managers = managers.stream().filter(tbManager -> StrUtil.isNotEmpty(tbManager.getOpenid())).collect(Collectors.toList());
-        double minTemperature = SpCfgUtil.getMinTemperature();
 
 
-        if (StrUtil.isNotEmpty(dto.getTemperature()) && minTemperature < Double.valueOf(dto.getTemperature())) {
-            log.info("发送体温异常提醒============");
-            //todo 触发体温预警
-            if (wxConfig.isEnable()) {
-                managers.forEach(tbManager -> {
-                    String detailUrl = wxConfig.getReportDetail() + "?=" + record.getId() + "&openid=" + tbManager.getOpenid();
-                    wxService.sendTemplateMsg(wxConfig.getTemperatureErrorTemplate(), tbManager.getOpenid(), msgDataBO, detailUrl);
-                });
-            }
-        }
-        if (StrUtil.isNotEmpty(healthStatus) && !healthStatus.equals(TbPersonVisitRecord.HealthEnum.GREEN.getStatus())) {
-            log.info("发送健康码异常提醒============");
-            //todo 触发体温预警
-            String smsContent = "[" + SpCfgUtil.getSmsSign() + "]" + tbDept.getName() + tbPersonFiling.getName() + "人员在" + channel.getName() + "核验结果为" + healthStatus + ",请马上介入处置(核验时间:" + DateUtil.now() + ")";
-            managers.forEach(tbManager -> {
-                if (myConfig.isSmsEnable()) {
-                    duanXinBaoSMSService.sendSMS(tbManager.getPhone(), smsContent);
-                }
-                if (wxConfig.isEnable()) {
-                    String detailUrl = wxConfig.getReportDetail() + "?=" + record.getId() + "&openid=" + tbManager.getOpenid();
-                    wxService.sendTemplateMsg(wxConfig.getTemperatureErrorTemplate(), tbManager.getOpenid(), msgDataBO, detailUrl);
-                }
-            });
-        }
     }
 
-    private void updateCarRecord(ResultDTO resultDTO, HealthlogDTO dto, TbPersonFiling tbPersonFiling) {
-        Long recordId = resultDTO.getRecordId();
-        TbCarVisitRecord tbCarVisitRecord = tbCarVisitRecordService.getById(recordId);
-        tbCarVisitRecord.setDriverIdCard(dto.getIdentity_number()).setDriverName(dto.getName()).setReason(resultDTO.getReason())
-                .setDriverContact(tbPersonFiling.getPhone()).setAllowPass(1).setDepartmentId(tbPersonFiling.getDepartmentId());
-        tbCarVisitRecordService.updateById(tbCarVisitRecord);
-    }
-
-    private void openGate(Long gateTerminalId, Long channelId) {
-        try {
-            tbGateTerminalService.open(gateTerminalId);
-            String recordId = RedisUtil.get("record:" + channelId);
-            RedisUtil.del("record:" + channelId);
-            tbCarVisitRecordService.updatePass(Long.valueOf(recordId));
-        } catch (Exception e) {
-            log.error("开闸失败:{}", e.getMessage());
-        }
-    }
 }

+ 4 - 0
sp-core/src/main/java/com/pj/project/hc_camera/HcCamera.java

@@ -91,6 +91,10 @@ public class HcCamera extends Model<HcCamera> implements Serializable {
      */
     private Integer userId=-1;
     /**
+     * 通道名称
+     */
+    private String channelName;
+    /**
      * 创建时间
      */
     @TableField(fill = FieldFill.INSERT)

+ 9 - 1
sp-core/src/main/java/com/pj/project/hc_camera/HcCameraService.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import cn.hutool.core.net.Ipv4Util;
 import cn.hutool.log.StaticLog;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.pj.project.hksdk.HCNetSDK;
@@ -45,7 +46,7 @@ public class HcCameraService extends ServiceImpl<HcCameraMapper, HcCamera> imple
     void add(HcCamera h) {
         int userId = hkUtils.Login_V40(h.getIp(), h.getPort(), h.getUname(), h.getPwd(), hcNetSDK);
         if (userId == -1) {
-            throw new AjaxError("输入信息有误");
+            //throw new AjaxError("输入信息有误");
         }
         h.setStatus(HcCamera.StatusEnum.ONLINE.getStatus()).setUserId(userId);
         this.save(h);
@@ -83,4 +84,11 @@ public class HcCameraService extends ServiceImpl<HcCameraMapper, HcCamera> imple
     public void open(HcCamera h) {
         hkUtils.handlerUp(hcNetSDK, h.getUserId());
     }
+
+    public HcCamera findByUserId(int userId) {
+        QueryWrapper<HcCamera> ew = new QueryWrapper<>();
+        ew.lambda().eq(HcCamera::getUserId, userId);
+        List<HcCamera> list = list(ew);
+        return list.isEmpty() ? null : list.get(0);
+    }
 }

+ 9 - 0
sp-core/src/main/java/com/pj/project/hksdk/AlarmParseService.java

@@ -7,6 +7,8 @@ import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.util.ByteUtil;
 import cn.hutool.core.util.StrUtil;
 import com.pj.current.config.SystemObject;
+import com.pj.project.hc_camera.HcCamera;
+import com.pj.project.hc_camera.HcCameraService;
 import com.pj.project.tb_car_black.TbCarBlack;
 import com.pj.project.tb_car_black.TbCarBlackService;
 import com.pj.project.tb_car_filing.TbCarFiling;
@@ -51,6 +53,8 @@ public class AlarmParseService {
     private TbCarVisitRecordService tbCarVisitRecordService;
     @Resource
     private TbDeptService tbDeptService;
+    @Resource
+    private HcCameraService hcCameraService;
 
     TimedCache<String, Integer> CACHE_MAP = CacheUtil.newTimedCache(20000);
 
@@ -105,6 +109,11 @@ public class AlarmParseService {
                 log.info("开始抬杆:{}", sLicense);
                 hkUtils.handlerUp(hcNetSDK, pAlarmer.lUserID);
             }
+            int userId = pAlarmer.lUserID;
+            HcCamera hcCamera = hcCameraService.findByUserId(userId);
+            if (hcCamera != null) {
+                record.setChannel(hcCamera.getChannelName());
+            }
             record.setReason(reason).setAllowPass(allowPass ? 1 : 0).setRecordType(2)
                     .setVisitTime(nowTime)
                     .setCreateTime(nowTime).setUpdateTime(nowTime)

+ 0 - 2
sp-core/src/main/java/com/pj/project/hksdk/FExceptionCallBack.java

@@ -13,8 +13,6 @@ import org.springframework.stereotype.Component;
 public class FExceptionCallBack implements HCNetSDK.FExceptionCallBack {
     @Override
     public void invoke(int dwType, int lUserID, int lHandle, Pointer pUser) {
-        log.error("海康摄像头发生异常:{},{},{}",dwType,lUserID,lHandle);
-
         return;
     }
 }

+ 0 - 1
sp-core/src/main/java/com/pj/project/hksdk/MessageCallBack.java

@@ -15,7 +15,6 @@ public class MessageCallBack implements HCNetSDK.FMSGCallBack_V31 {
     @Override
     public boolean invoke(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser) {
         alarmParseService.alarmDataHandle(lCommand,pAlarmer,pAlarmInfo,dwBufLen,pUser);
-        log.info("消息回调:{}",lCommand);
         return false;
     }
 }

+ 4 - 0
sp-core/src/main/java/com/pj/project/sp_admin/SpAdmin.java

@@ -75,6 +75,10 @@ public class SpAdmin implements Serializable  {
 
 	private String departmentName;
 
+	private Integer editPwd=0;
+
+	private Date editTime;
+
 
 	/** 防止密码被传递到前台  */
     public String getPassword(){

+ 2 - 0
sp-core/src/main/java/com/pj/project/sp_admin/SpAdminMapper.xml

@@ -60,6 +60,8 @@
 		<result property="loginIp" column="login_ip" />
 		<result property="loginCount" column="login_count" />
 		<result property="roleName" column="role_name" />
+		<result property="editPwd" column="edit_pwd" />
+		<result property="editTime" column="edit_time" />
 	</resultMap>
 	
 	<!-- 查询sql -->

+ 6 - 1
sp-core/src/main/java/com/pj/project/sp_admin/SpAdminPasswordService.java

@@ -1,5 +1,6 @@
 package com.pj.project.sp_admin;
 
+import cn.hutool.db.DaoTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
@@ -7,6 +8,8 @@ import org.springframework.transaction.annotation.Transactional;
 import com.pj.current.config.SystemObject;
 import com.pj.project4sp.SP;
 
+import java.util.Date;
+
 /**
  * 用户表 密码相关 
  * @author kong
@@ -22,9 +25,11 @@ public class SpAdminPasswordService {
 	public int updatePassword(long adminId, String password) {
 		// 更改密码 
 		SP.publicMapper.updateColumnById("sp_admin", "password", SystemObject.getPasswordMd5(adminId, password), adminId);
+		SP.publicMapper.updateColumnById("sp_admin", "edit_pwd", 1, adminId);
+		SP.publicMapper.updateColumnById("sp_admin", "edit_time", new Date(), adminId);
 		if(SystemObject.config.getIsPw()) {
 			// 明文密码 
-			SP.publicMapper.updateColumnById("sp_admin", "pw", password, adminId);		
+			//SP.publicMapper.updateColumnById("sp_admin", "pw", password, adminId);
 			return 2;
 		}
 		return 1;

+ 1 - 19
sp-core/src/main/java/com/pj/project/tb_car_filing/TbCarFilingMapper.xml

@@ -63,25 +63,7 @@
 			<if test=' this.has("updateTime") '> and update_time = #{updateTime} </if>
 			<if test=' this.has("updateBy") '> and update_by = #{updateBy} </if>
 		</where>
-		order by
-		<choose>
-						<when test='sortType == 1'> id desc </when>
-			<when test='sortType == 2'> dept_id desc </when>
-			<when test='sortType == 3'> car_no desc </when>
-			<when test='sortType == 4'> type desc </when>
-			<when test='sortType == 5'> driver_name desc </when>
-			<when test='sortType == 6'> driver_contact desc </when>
-			<when test='sortType == 7'> driver_id_card desc </when>
-			<when test='sortType == 8'> pre_come_time desc </when>
-			<when test='sortType == 9'> pre_leave_time desc </when>
-			<when test='sortType == 10'> visit desc </when>
-			<when test='sortType == 11'> remark desc </when>
-			<when test='sortType == 12'> create_time desc </when>
-			<when test='sortType == 13'> create_by desc </when>
-			<when test='sortType == 14'> update_time desc </when>
-			<when test='sortType == 15'> update_by desc </when>
-			<otherwise> id desc </otherwise>
-		</choose>
+		order by id desc
 	</select>
 
 	<select id="getById" resultType="com.pj.project.tb_car_filing.TbCarFiling">

+ 1 - 1
sp-core/src/main/java/com/pj/project/tb_car_visit_record/TbCarVisitRecordMapper.xml

@@ -34,7 +34,7 @@
 		<include refid="select_sql"></include>
 		<where>
 			<if test=' this.has("id") '> and id = #{id} </if>
-			<if test=' this.has("channel") '> and channel = #{channel} </if>
+			<if test=' this.has("channel") '> and channel like concat('%',#{channel},'%') </if>
 			<if test=' this.has("deptId") '> and dept_id = #{deptId} </if>
 			<if test=' this.has("departmentId") '>and department_id = #{departmentId}</if>
 			<if test=' this.has("carNo") '> and car_no like concat('%',#{carNo},'%') </if>

+ 3 - 0
sp-core/src/main/java/com/pj/project/tb_dept/TbDept.java

@@ -65,6 +65,9 @@ public class TbDept extends Model<TbDept> implements Serializable {
 	 * 备注 
 	 */
 	private String remark;
+	/**
+	 * 放行条件(1=人车合一,2=人车满足其一)
+	 */
 	private Integer passType=1;
 
 	/**

+ 1 - 1
sp-core/src/main/java/com/pj/project/tb_mini_user/TbMiniUserService.java

@@ -178,7 +178,7 @@ public class TbMiniUserService extends ServiceImpl<TbMiniUserMapper, TbMiniUser>
      */
     public void updatePassword(Long id, String password) {
         TbMiniUser tbMiniUser = this.getById(id);
-        String md5Password = SystemObject.getPasswordMd5(tbMiniUser.getId(), password);
+        String md5Password = SystemObject.getPasswordMd5(tbMiniUser.getSpAdminId(), password);
         tbMiniUser.setPassword(md5Password);
         this.updateById(tbMiniUser);
     }

+ 3 - 5
sp-core/src/main/java/com/pj/project/tb_person_filing/TbPersonFilingService.java

@@ -149,9 +149,7 @@ public class TbPersonFilingService extends ServiceImpl<TbPersonFilingMapper, TbP
                 deleteTerminalWhilte(db.getPin(), true);
             }
         });
-        if (tbCarFilingList.isEmpty()) {
-            this.deleteTerminalWhilte(db.getPin(), true);
-        }
+        this.deleteTerminalWhilte(db.getPin(), true);
         this.removeById(id);
     }
 
@@ -635,9 +633,9 @@ public class TbPersonFilingService extends ServiceImpl<TbPersonFilingMapper, TbP
         String filePath = new File(rootPath + photo.replace(domain, "")).getAbsolutePath();
         String dirPath = StrUtil.sub(filePath, 0, filePath.lastIndexOf(File.separator) + 1);
         String newFilename = RandomUtil.randomNumbers(32) + ".jpg";
-        ImgUtil.rotate(new File(filePath),rota,new File(dirPath+newFilename));
+        ImgUtil.rotate(new File(filePath), rota, new File(dirPath + newFilename));
         FileUtil.del(new File(filePath));
-        tbPersonFiling.setPhoto(httpPrefix+newFilename);
+        tbPersonFiling.setPhoto(httpPrefix + newFilename);
         this.updateById(tbPersonFiling);
         this.issued(tbPersonFiling);
     }

+ 10 - 10
sp-core/src/main/java/com/pj/project/tb_person_visit_record/TbPersonVisitRecord.java

@@ -177,16 +177,16 @@ public class TbPersonVisitRecord extends Model<TbPersonVisitRecord> implements S
         private String desc;
     }
 
-    @Getter
-    @AllArgsConstructor
-    public static enum HealthEnum {
-        GREEN("绿码", "绿码"),
-        RED("红码", "红码"),
-        YELLOW("黄码", "黄码");
-
-        private String status;
-        private String desc;
-    }
+//    @Getter
+//    @AllArgsConstructor
+//    public static enum HealthEnum {
+//        GREEN("绿码", "绿码"),
+//        RED("红码", "红码"),
+//        YELLOW("黄码", "黄码");
+//
+//        private String status;
+//        private String desc;
+//    }
 
 
     public String getIdCadStr() {

+ 1 - 1
sp-core/src/main/java/com/pj/project/tb_person_visit_record/TbPersonVisitRecordMapper.xml

@@ -36,7 +36,7 @@
             <if test='dataType == 0'>and health_status = '绿码'</if>
             <if test='dataType == 1'>and health_status != '绿码'</if>
         </where>
-        order by id desc
+        order by visit_date desc
     </select>
     <select id="getMonitor" resultType="java.lang.Long">
         SELECT count(id)

+ 1 - 6
sp-core/src/main/java/com/pj/project/tb_person_visit_record/TbPersonVisitRecordService.java

@@ -94,11 +94,7 @@ public class TbPersonVisitRecordService extends ServiceImpl<TbPersonVisitRecordM
         } else if (direction.equals(TbPersonVisitRecord.DirectionEnum.OUT.getDirection())) {
             record.setVisitDate(t.getOutTime()).setTemperature(t.getOutTemperature());
         }
-        if (StrUtil.equals(record.getHealthStatus(), TbPersonVisitRecord.HealthEnum.GREEN.getStatus())) {
-            record.setWay("无需处置").setIsSolve(0).setIsNotify(0);
-        } else {
-            record.setIsSolve(1).setIsNotify(1);
-        }
+        record.setIsSolve(1).setIsNotify(1);
         this.save(record);
     }
 
@@ -148,7 +144,6 @@ public class TbPersonVisitRecordService extends ServiceImpl<TbPersonVisitRecordM
         writer.addHeaderAlias("venues", "场所");
         writer.addHeaderAlias("channel", "通道");
         writer.addHeaderAlias("temperature", "体温");
-        writer.addHeaderAlias("healthStatus", "健康码");
         writer.addHeaderAlias("visitDate", "时间");
         writer.addHeaderAlias("terminalName", "识别设备");
         writer.addHeaderAlias("typeStr", "补录/自动");

+ 2 - 13
sp-core/src/main/java/com/pj/project/tb_terminal/TbTerminalService.java

@@ -346,15 +346,11 @@ public class TbTerminalService extends ServiceImpl<TbTerminalMapper, TbTerminal>
             return AjaxJson.getError("设备编号不能为空");
         }
         //核酸是否必须
-        int acidLimit = SpCfgUtil.getAcidLimit();
         //行程是否必须
-        int tourLimit = SpCfgUtil.getTourLimit();
-        int verifyMode = SpCfgUtil.getVerifyMode();
         String now = DateUtil.now();
         String idCard = checkBO.getIdentity_number();
         CheckDataDTO checkDataDTO = new CheckDataDTO();
-        checkDataDTO.setNucleic_restrict(acidLimit).setVerify_mode(verifyMode)
-                .setTrip_restrict(tourLimit).setIs_pass(0);
+        checkDataDTO.setIs_pass(0);
         if (CACHE_MAP.get(idCar) != null) {
             log.info("返回信息:{},{}", "重复数据", JSONUtil.toJsonStr(checkDataDTO));
             return AjaxJson.getSuccess("重复识别", checkDataDTO);
@@ -393,17 +389,10 @@ public class TbTerminalService extends ServiceImpl<TbTerminalMapper, TbTerminal>
         //体温是否异常
         double minTemperature = SpCfgUtil.getMinTemperature();
         if (minTemperature < checkBO.getTemperature()) {
-
             log.info("返回信息体温过高:{},{}", msg, JSONUtil.toJsonStr(checkDataDTO));
             return AjaxJson.getSuccess(msg + "体温异常", checkDataDTO);
         }
-        //健康码是否绿码
-        if (!StrUtil.equals(TbPersonVisitRecord.HealthEnum.GREEN.getStatus(), checkBO.getHealth_status())) {
-            //将检验行程卡和核酸设置成必须校验
-            checkDataDTO.setTrip_restrict(1).setNucleic_restrict(1);
-            log.info("返回信息健康码异常:{},{}", msg, JSONUtil.toJsonStr(checkDataDTO));
-            return AjaxJson.getSuccess(msg + checkBO.getHealth_status(), checkDataDTO);
-        }
+
         //黑名单用户
         TbPersonBlack black = tbPersonBlackService.findByIdCardAndTime(idCard, now);
         if (black != null) {

+ 3 - 1
sp-core/src/main/java/com/pj/utils/cache/RedisUtil.java

@@ -41,7 +41,9 @@ public class RedisUtil {
         //
         RedisUtil.redisTemplate = redisTemplate;
     }
-
+    public static void setBySECONDS(String key, String value, int timeout) {
+        stringRedisTemplate.opsForValue().set(key, value, timeout, TimeUnit.SECONDS);
+    }
     /**
      * string专用
      */

+ 2 - 2
sp-start/src/main/resources/application-dev.yml

@@ -47,8 +47,8 @@ spring:
     myconfig:
         # 本项目部署到的服务器域名(文件上传等等模块  要用到)
         domain: http://127.0.0.1:8099/pro
-        ip: 192.168.88.128
-        net-ip: 192.168.88.128
+        ip: 192.168.2.135
+        net-ip: 192.168.2.135
         heart-port: 9999
         command-port: 8888
         command-prefix: "command:"

+ 2 - 2
sp-start/src/main/resources/application.yml

@@ -43,7 +43,7 @@ spring:
         # md5的盐
         md5-salt: whatclickme
         # 是否明文存储密码 
-        is-pw: true
+        is-pw: false
         # 是否彩色SQl日志
         color-sql: true
         # 是否抛出SQL(将sql报错抛出到前端,方便调试,请只在开发环境打开,在生产模式请关闭)
@@ -65,7 +65,7 @@ mybatis-plus:
     # 一些配置
     configuration: 
         # 控制打印sql 
-        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+#        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
         # 是否开启下划线转驼峰 
         map-underscore-to-camel-case: true
         # 即使属性为null, 也要映射