From 1b3a14a25d8f5013158ef2842e9be0e24240f2b5 Mon Sep 17 00:00:00 2001
From: 张晓波 <bingbo1993@126.com>
Date: 星期一, 30 十月 2023 08:52:26 +0800
Subject: [PATCH] 人脸 缓存同步菜单

---
 hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/face/service/impl/FaceServerImpl.java |   82 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 76 insertions(+), 6 deletions(-)

diff --git a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/face/service/impl/FaceServerImpl.java b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/face/service/impl/FaceServerImpl.java
index 8435d2d..a5ef6e8 100644
--- a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/face/service/impl/FaceServerImpl.java
+++ b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/face/service/impl/FaceServerImpl.java
@@ -12,6 +12,7 @@
 import com.thhy.staff.modules.biz.face.mapper.FaceDeviceMapper;
 import com.thhy.staff.modules.biz.face.service.FaceServer;
 import com.thhy.staff.modules.biz.platuser.entity.DoorLis;
+import com.thhy.staff.modules.biz.platuser.entity.PlatUser;
 import com.thhy.staff.modules.biz.platuser.mapper.PlatUserMapper;
 import com.thhy.staff.utils.MqUtils;
 import org.checkerframework.checker.units.qual.A;
@@ -20,6 +21,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -85,7 +87,10 @@
         String userId = userIdArray.getString(0);
 
         UserFaceVo userFaceVo = userMapper.queryUserFaceSingle(userId);
-        userFaceVo.setTemplateImgUrl(vfPrefix+userFaceVo.getTemplateImgUrl());
+
+        List<String> url = new ArrayList<>();
+        url.add(vfPrefix+userFaceVo.getPhoto());
+        userFaceVo.setTemplateImgUrl(url);
 
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("code",0);
@@ -106,11 +111,12 @@
         if(reqJson.containsKey("success")&&reqJson.getBooleanValue("success")){
             String userIds = reqJson.getString("successful");
             if(!StringUtils.isEmpty(userIds)){
-                String[] userIdArray = new String[]{userIds};
-                if(userIds.contains(",")){
-                    userIdArray = userIds.split(",");
-                }
-                userMapper.syncResult(1,userIdArray);
+                JSONArray jsonArray = JSONArray.parseArray(userIds);
+                logger.info("成功通知结果解析数组"+jsonArray.toJSONString());
+
+                List<String> userIdList = JSONArray.parseArray(userIds,String.class);
+
+                userMapper.syncResult(1,userIdList);
             }
             JSONArray failJsonArray = reqJson.getJSONArray("failed");
             if(failJsonArray.size()>0){
@@ -129,6 +135,7 @@
 
     @Override
     public void record(String mess) {
+        logger.info("人脸通过记录"+mess);
         JSONObject jsonObject = JSON.parseObject(mess);
         DoorLis doorLis = new DoorLis(jsonObject);
         userMapper.insertDoorLis(doorLis);
@@ -148,4 +155,67 @@
         logger.info("查询人员"+perId+":"+content);
         MqUtils.createClient(emqxConfig,sns,content);
     }
+
+    @Override
+    @Transactional
+    public void removeNotify(String mess) {
+        logger.info("删除人员通知"+mess);
+        JSONObject jsonObject = JSON.parseObject(mess);
+        if(jsonObject.containsKey("success")&&jsonObject.getBooleanValue("success")){
+            JSONObject paramJson = jsonObject.getJSONObject("params");
+            List<String> userIds = JSONArray.parseArray(paramJson.getString("userIds"),String.class);
+            userMapper.syncResult(3,userIds);
+        }
+    }
+
+    @Override
+    public String queryOriStrById(String id) {
+        return userMapper.queryOriStrById(id);
+    }
+
+    @Override
+    public void allPerson(String mess) {
+        JSONObject jsonObject = JSONObject.parseObject(mess);
+        JSONArray jsonArray = jsonObject.getJSONArray("person_list");
+        for(Object obj : jsonArray){
+            JSONObject personJson = JSON.parseObject(obj.toString());
+            String faceId = personJson.getString("person_id");
+            int count = userMapper.countByFaceId(faceId);
+            if(count>0)continue;
+            PlatUser platUser = new PlatUser();
+            platUser.setFaceId(faceId);
+            platUser.setIdNo(personJson.getString("id_card"));
+            platUser.setRealName(personJson.getString("name"));
+            userMapper.insertSamplePlatUser(platUser);
+        }
+    }
+
+    public static void main(String[] args) {
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("method","delete_person");
+        jsonObject.put("notify","http://111.30.93.212:15002/staff/face/"+"deleteNotify");
+        JSONObject userIdJSON = new JSONObject();
+        String[] userIdArray = new String[]{"02e6d1c4ded41512d0ca3622"};
+        userIdJSON.put("userIds",userIdArray);
+
+
+        jsonObject.put("params",userIdJSON);
+        JSONObject dataJson = new JSONObject();
+        dataJson.put("person_list",userIdArray);
+        dataJson.put("person_type","4");
+        jsonObject.put("data",dataJson);
+        String content = jsonObject.toJSONString();
+        System.out.println("删除指令打印"+content);
+
+        EmqxConfig emqxConfig = new EmqxConfig();
+        emqxConfig.setHost("111.30.93.215");
+        emqxConfig.setPort("1883");
+        emqxConfig.setQos(1);
+        emqxConfig.setLogin("thhy");
+        emqxConfig.setPassword("Thhy@123");
+
+        List<String> sns = new ArrayList<>();
+        sns.add("0A:0C:E1:25:75:2C");
+        MqUtils.createClient(emqxConfig,sns,content);
+    }
 }

--
Gitblit v1.9.3