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