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

---
 hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/face/service/impl/FaceServerImpl.java |  121 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 119 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..d69dbd8 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,28 @@
 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.config.FaceConfig;
 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 com.thhy.staff.utils.MqUtils;
+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 +31,16 @@
     private FaceDeviceMapper faceDeviceMapper;
 
     @Autowired
+    private PlatUserMapper userMapper;
+
+    @Autowired
     private EmqxConfig emqxConfig;
+
+    @Value("${file.vfprefix}")
+    private String vfPrefix;
+
+    @Autowired
+    private FaceConfig faceConfig;
 
     private Logger logger = LoggerFactory.getLogger(FaceServer.class);
 
@@ -38,6 +57,104 @@
         }
 
         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);
+
+        List<String> url = new ArrayList<>();
+        url.add(vfPrefix+userFaceVo.getPhoto());
+        userFaceVo.setTemplateImgUrl(url);
+
+        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)){
+                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){
+                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);
+    }
+
+    @Override
+    public void queryPer(String perId) {
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("method","get_person");
+        jsonObject.put("params",new JSONObject());
+        JSONObject dataJson = new JSONObject();
+        dataJson.put("path",faceConfig.getUrlPrefix()+"getPersonDetail");
+        dataJson.put("person_id",perId);
+        jsonObject.put("data",dataJson);
+        List<String> sns = faceDeviceMapper.queryDevSn();
+        String content = jsonObject.toJSONString();
+        logger.info("查询人员"+perId+":"+content);
+        MqUtils.createClient(emqxConfig,sns,content);
+    }
+
+    @Override
+    public void deleteNotify(String mess) {
+
+    }
 }

--
Gitblit v1.9.3