| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.nacos.api.utils.StringUtils; |
| | | import com.thhy.staff.config.EmqxConfig; |
| | | 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.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; |
| | |
| | | @Autowired |
| | | private EmqxConfig emqxConfig; |
| | | |
| | | @Value("#{file.vfprefix}") |
| | | @Value("${file.vfprefix}") |
| | | private String vfPrefix; |
| | | |
| | | @Autowired |
| | | private FaceConfig faceConfig; |
| | | |
| | | private Logger logger = LoggerFactory.getLogger(FaceServer.class); |
| | | |
| | |
| | | String userId = userIdArray.getString(0); |
| | | |
| | | UserFaceVo userFaceVo = userMapper.queryUserFaceSingle(userId); |
| | | userFaceVo.setTemplateImgUrl(vfPrefix+userFaceVo.getTemplateImgUrl()); |
| | | |
| | | List<String> url = new ArrayList<>(); |
| | | url.add(vfPrefix+userFaceVo.getPhoto()); |
| | | userFaceVo.setTemplateImgUrl(url); |
| | | |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("code",0); |
| | |
| | | @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 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){ |
| | |
| | | JSONObject failUserInfo = JSON.parseObject(obj.toString()); |
| | | String userId = failUserInfo.getString("person_id"); |
| | | JSONArray failInfoArray = failUserInfo.getJSONArray("info"); |
| | | String failReason = failInfoArray.getJSONObject(0).getString("reason"); |
| | | String failReason = ""; |
| | | if(failInfoArray.size()>0) failReason = failInfoArray.getJSONObject(0).getString("reason"); |
| | | userMapper.syncFail(userId,failReason); |
| | | } |
| | | } |
| | |
| | | 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 deleteNotify(String mess) { |
| | | JSONObject jsonObject = JSON.parseObject(mess); |
| | | if(jsonObject.containsKey("success")&&jsonObject.getBooleanValue("success")){ |
| | | JSONObject paramJson = jsonObject.getJSONObject("param"); |
| | | List<String> userIds = JSONArray.parseArray(paramJson.getString("userIds"),String.class); |
| | | userMapper.syncResult(3,userIds); |
| | | } |
| | | } |
| | | } |