From c2826b1d670650489fdad8ceac0c4e0816d3ed64 Mon Sep 17 00:00:00 2001
From: 张晓波 <bingbo1993@126.com>
Date: 星期四, 19 十月 2023 08:40:11 +0800
Subject: [PATCH] 苏州配置文件简化

---
 hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/face/service/impl/FaceServerImpl.java |   92 +++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 90 insertions(+), 2 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 2a02292..acb71fc 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
@@ -1,18 +1,26 @@
 package com.thhy.staff.modules.biz.face.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.thhy.general.utils.DeepCopyUtils;
+import com.alibaba.nacos.api.utils.StringUtils;
 import com.thhy.staff.config.EmqxConfig;
-import com.thhy.staff.config.EmqxProperties;
 import com.thhy.staff.modules.biz.face.entity.FaceDevice;
 import com.thhy.staff.modules.biz.face.entity.FaceResult;
+import com.thhy.staff.modules.biz.face.entity.UserFaceVo;
 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.mapper.PlatUserMapper;
+import org.checkerframework.checker.units.qual.A;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
 
 @Service
 public class FaceServerImpl implements FaceServer {
@@ -21,7 +29,13 @@
     private FaceDeviceMapper faceDeviceMapper;
 
     @Autowired
+    private PlatUserMapper userMapper;
+
+    @Autowired
     private EmqxConfig emqxConfig;
+
+    @Value("${file.vfprefix}")
+    private String vfPrefix;
 
     private Logger logger = LoggerFactory.getLogger(FaceServer.class);
 
@@ -38,6 +52,80 @@
         }
 
         FaceResult faceResult = new FaceResult(true,faceDevice,emqxConfig.toString());
+        logger.info("人脸设备返回:++++++++++"+JSON.toJSONString(faceResult));
         return faceResult;
     }
+
+    @Override
+    public JSONObject syncPerson(String mess) {
+        JSONObject reqJson = JSONObject.parseObject(mess);
+        JSONObject paramJson = reqJson.getJSONObject("path_params");
+
+        List<UserFaceVo> faceVoList =  userMapper.queryUserFace(paramJson.getIntValue("offset"),paramJson.getIntValue("limit"));
+
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("code",0);
+        jsonObject.put("msg","OK");
+        jsonObject.put("success",true);
+        jsonObject.put("offset",paramJson.getIntValue("offset")+paramJson.getIntValue("limit"));
+        jsonObject.put("person_list",faceVoList);
+        return jsonObject;
+    }
+
+    @Override
+    public JSONObject syncPersonSingle(String mess) {
+        JSONObject reqJson = JSONObject.parseObject(mess);
+        JSONObject paramJson = reqJson.getJSONObject("path_params");
+        JSONArray userIdArray = paramJson.getJSONArray("person_list");
+        String userId = userIdArray.getString(0);
+
+        UserFaceVo userFaceVo = userMapper.queryUserFaceSingle(userId);
+        userFaceVo.setTemplateImgUrl(vfPrefix+"/"+userFaceVo.getTemplateImgUrl());
+
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("code",0);
+        jsonObject.put("msg","OK");
+        jsonObject.put("success",true);
+        jsonObject.put("offset",0);
+        List<UserFaceVo> faceVoList = new ArrayList<>();
+        faceVoList.add(userFaceVo);
+        jsonObject.put("person_list",faceVoList);
+        logger.info("设备查询人员结果:"+JSON.toJSONString(faceVoList));
+        return jsonObject;
+    }
+
+    @Override
+    public void personNotify(String mess) {
+        JSONObject reqJson = JSONObject.parseObject(mess);
+        logger.info("接收设备下发结果通知################"+mess);
+        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 failJsonArray = reqJson.getJSONArray("failed");
+            if(failJsonArray.size()>0){
+                for(Object obj : failJsonArray){
+                    JSONObject failUserInfo = JSON.parseObject(obj.toString());
+                    String userId = failUserInfo.getString("person_id");
+                    JSONArray failInfoArray = failUserInfo.getJSONArray("info");
+                    String failReason = "";
+                    if(failInfoArray.size()>0) failReason = failInfoArray.getJSONObject(0).getString("reason");
+                    userMapper.syncFail(userId,failReason);
+                }
+            }
+        }
+    }
+
+
+    @Override
+    public void record(String mess) {
+        JSONObject jsonObject = JSON.parseObject(mess);
+        DoorLis doorLis = new DoorLis(jsonObject);
+        userMapper.insertDoorLis(doorLis);
+    }
 }

--
Gitblit v1.9.3