public boolean addVideo(SysVideoSaveReq sysVideoInfo) { Common.logger.info("新增粒界axis入参:{}",sysVideoInfo); SysVideoInfo sysVideoInfo1 = new SysVideoInfo(); BeanUtils.copyProperties(sysVideoInfo,sysVideoInfo1); SysEquipmentInfo sysEquipmentInfo = equipmentInfoService.selectByDeviceId(sysVideoInfo.getStreamInfoId()); Common.logger.info("要修改的点位x-y-z轴:{}",sysEquipmentInfo); if (!ObjectUtils.isEmpty(sysEquipmentInfo)) { sysVideoInfo1.setVedioUrl(sysEquipmentInfo.getVedioUrl()); sysVideoInfo1.setPushRtmpUrl(sysEquipmentInfo.getPushRtmpUrl()); sysVideoInfo1.setLiveFlvUrl(sysEquipmentInfo.getLiveFlvUrl()); sysVideoInfo1.setLiveHlsUrl(sysEquipmentInfo.getLiveHlsUrl()); SetSysEquipmentReq setSysEquipmentReq = new SetSysEquipmentReq(); setSysEquipmentReq.setxAxis(sysVideoInfo1.getXAxis()); setSysEquipmentReq.setyAxis(sysVideoInfo1.getYAxis()); setSysEquipmentReq.setzAxis(sysVideoInfo1.getZAxis()); setSysEquipmentReq.setStreamInfoId(sysVideoInfo1.getStreamInfoId()); Common.logger.info("点位x-y-z轴:{}",setSysEquipmentReq); equipmentInfoService.setEquipmentAxis(setSysEquipmentReq); } sysVideoInfo1.setCreateTime(LocalDateTime.now()); SysVideoInfo sysVideoInfo2 = videoInfoMapper.selectOne(new LambdaQueryWrapper<SysVideoInfo>().eq(SysVideoInfo::getStreamInfoId, sysEquipmentInfo.getStreamInfoId())); if (!ObjectUtils.isEmpty(sysVideoInfo2)){ sysVideoInfo1.setId(sysVideoInfo2.getId()); } String s = HospitalTypeEnum.hospitalType(sysVideoInfo.getAreaType()); sysVideoInfo1.setAreaType(s); String s1 = BuildingCodeEnum.buildingName(sysVideoInfo.getCompanyId()); sysVideoInfo1.setCompanyId(s1); return this.saveOrUpdate(sysVideoInfo1); }解释下这段代码
时间: 2024-04-06 07:31:57 浏览: 69
这段代码是一个Java方法,名为addVideo,其返回值为布尔类型。该方法接收一个名为sysVideoInfo的参数,该参数的类型为SysVideoSaveReq。
在该方法中,首先使用日志记录了sysVideoInfo参数的值。接着,创建了一个名为sysVideoInfo1的SysVideoInfo对象,并使用BeanUtils.copyProperties方法将sysVideoInfo的属性值复制到sysVideoInfo1中。
然后,使用sysVideoInfo中的streamInfoId属性查询了一个名为sysEquipmentInfo的设备信息对象,并使用日志记录了该设备信息对象的值。如果sysEquipmentInfo不为空,则将其视频、推流、直播等URL属性值设置到sysVideoInfo1中,并创建一个名为setSysEquipmentReq的SetSysEquipmentReq对象,并将sysVideoInfo1的x、y、z轴坐标和streamInfoId属性值设置到该对象中。
接着,调用equipmentInfoService的setEquipmentAxis方法,将setSysEquipmentReq对象作为参数,以更新设备的轴坐标信息。
然后,设置sysVideoInfo1的createTime属性值为当前时间,并使用streamInfoId属性值查询了一个名为sysVideoInfo2的SysVideoInfo对象。如果sysVideoInfo2不为空,则将其id属性值设置到sysVideoInfo1中。
最后,将sysVideoInfo1的areaType和companyId属性值设置为相应的字符串值,并调用saveOrUpdate方法将sysVideoInfo1保存或更新到数据库中,并返回保存或更新是否成功的布尔值。
阅读全文