From da6410b1823f95a447869d9b4fdaed32a62b4518 Mon Sep 17 00:00:00 2001
From: 叶松 <2217086471@qq.com>
Date: 星期一, 30 十月 2023 16:05:30 +0800
Subject: [PATCH] 模具修改
---
hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/face/service/impl/FaceServerImpl.java | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 162 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..707b5d1 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,146 @@
}
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) {
+ logger.info("人脸通过记录"+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);
+ }
+ }
+
+ @Override
+ public String queryOriStrById(String id) {
+ return userMapper.queryOriStrById(id);
+ }
+
+ 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