| | |
| | | List<AreasList> areasList = null; |
| | | |
| | | //查询地区 |
| | | if (StringUtils.isNotEmpty(record.getVisitAreaIds())) { |
| | | String[] visitAreaIds = record.getVisitAreaIds().split(","); |
| | | if (StringUtils.isNotEmpty(request.getVisitAreaIds())) { |
| | | String[] visitAreaIds = request.getVisitAreaIds().split(","); |
| | | String visitArea = Arrays.stream(visitAreaIds) |
| | | .map(id -> { |
| | | SysVisitArea area = sysVisitAreaMapper.selectById(Long.parseLong(id.trim())); |
| | |
| | | .map(id -> { |
| | | SysVisitArea area = sysVisitAreaMapper.selectById(Long.parseLong(id)); |
| | | if (area == null) { |
| | | return null; |
| | | throw new ServiceException("访问区域不存在,请联系工作人员"); |
| | | } |
| | | AreasList areas = new AreasList(); |
| | | areas.setAreaCode(area.getAreaCode()); |
| | |
| | | record.setRemark("来访中,允许访问区域:" + visitArea); |
| | | } |
| | | } |
| | | // 如果 visitAreaIds 为空,但 visitAreaNames 不为空,根据名称查询填充 visitAreaIds |
| | | else if (StringUtils.isNotEmpty(record.getVisitAreaNames())) { |
| | | String[] visitAreaNames = record.getVisitAreaNames().split(","); |
| | | |
| | | // 如果 visitAreaIds 为空,但 visitAreaNames 不为空,根据名称查询填充 visitAreaIds |
| | | else if (StringUtils.isNotEmpty(request.getVisitAreaNames())) { |
| | | String[] visitAreaNames = request.getVisitAreaNames().split(","); |
| | | |
| | | // 根据区域名称查询对应的ID,构建ID字符串 |
| | | String visitAreaIdsStr = Arrays.stream(visitAreaNames) |
| | |
| | | |
| | | if (syncResult.isSuccess()) { |
| | | logger.info("访客登记数据已同步到对端,远程ID:{}", syncResult.get("data")); |
| | | // 可将远程ID保存到本地记录 |
| | | // record.setRemoteId(syncResult.getRemoteId()); |
| | | Object middlePlatformId = syncResult.get("data"); |
| | | if (middlePlatformId != null && StringUtils.isNotBlank(String.valueOf(middlePlatformId))) { |
| | | record.setMiddlePlatformId(String.valueOf(middlePlatformId)); |
| | | } |
| | | UpdateWrapper<SysVisitorRecord> wrapper = new UpdateWrapper<>(); |
| | | wrapper.eq("record_id", record.getRecordId()); // 指定ID条件 |
| | | visitorRecordMapper.update(record, wrapper); |
| | |
| | | } |
| | | } catch (Exception e) { |
| | | logger.error("访客登记同步异常", e); |
| | | throw new ServiceException("服务器登记失败"); |
| | | // throw new ServiceException("服务器登记失败"); |
| | | } |
| | | |
| | | int rows = visitorRecordMapper.insert(record); |
| | |
| | | |
| | | return AjaxResult.error("登记失败"); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/idCardSingOut") |
| | | @ApiOperation(value = "访客身份证签离", notes = "访客身份证签离") |
| | |
| | | } else { |
| | | record.setStatus("SIGNED_OUT"); |
| | | } |
| | | record.setSignVerifyMethod("MANUAL"); |
| | | |
| | | SysVisitorRecord visitorRecord = new SysVisitorRecord(); |
| | | BeanUtils.copyBeanProp(visitorRecord, request); |
| | | visitorRecord.setSignVerifyMethod(record.getSignVerifyMethod()); |
| | | visitorRecord.setSignVerifyMethod(request.getSignVerifyMethod()); |
| | | visitorRecord.setStatus(record.getStatus()); |
| | | visitorRecord.setRecordId(record.getRecordId()); |
| | | visitorRecord.setSignTime(new Date()); |
| | | Date signOutTime = new Date(); |
| | | visitorRecord.setSignTime(signOutTime); |
| | | record.setSignTime(signOutTime); |
| | | |
| | | UpdateWrapper<SysVisitorRecord> wrapperUpdate = new UpdateWrapper<>(); |
| | | wrapperUpdate.eq("record_id", visitorRecord.getRecordId()); // 指定ID条件 |
| | | sysVisitorRecordService.revokeAccess(record); |
| | | visitorRecordMapper.update(visitorRecord, wrapperUpdate); |
| | | sysVisitorRecordService.syncMiddlePlatformStatus(record); |
| | | |
| | | return success(); |
| | | } |