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

---
 hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/face/service/impl/FaceServerImpl.java |  158 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 156 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..d97109d 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,29 @@
 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 org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
 
 @Service
 public class FaceServerImpl implements FaceServer {
@@ -21,7 +32,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 +58,140 @@
         }
 
         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
+    @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);
+        }
+    }
+
+    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