| | |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.web.page.PageInfo; |
| | | import com.ruoyi.dataInterchange.api.feignClient.HaiKangClient; |
| | | import com.ruoyi.dataInterchange.api.feignClient.PlaybackMsgClient; |
| | | import com.ruoyi.dataInterchange.api.feignClient.RealVideoMsgClient; |
| | | import com.ruoyi.dataInterchange.api.feignClient.UPExgMsgRealLocationClient; |
| | |
| | | @Resource |
| | | private RedisTemplate redisTemplate; |
| | | |
| | | @Resource |
| | | private HaiKangClient haiKangClient; |
| | | |
| | | @GetMapping("/getCarList") |
| | | @ApiOperation(value = "获取车辆列表", tags = {"车辆管理"}) |
| | | public R<PageInfo<CarListResp>> getCarList(CarListReq carListReq) { |
| | |
| | | Driver driver = driverService.getOne(new LambdaQueryWrapper<Driver>().eq(Driver::getVehicleNumber, car.getVehicleNumber()).eq(Driver::getStatus, 1)); |
| | | Enterprise enterprise = enterpriseService.getById(car.getEnterpriseId()); |
| | | car.setEnterpriseName(enterprise.getName()); |
| | | car.setCompanyCode(enterprise.getCode()); |
| | | if (null != driver) { |
| | | car.setDriverName(driver.getName()); |
| | | car.setDriverPhone(driver.getPhone()); |
| | |
| | | //手动加一次状态数据,避免定时任务结束任务线程 |
| | | redisTemplate.opsForValue().set("live:" + id, true, 1, TimeUnit.MINUTES); |
| | | Enterprise enterprise = enterpriseService.getById(car.getEnterpriseId()); |
| | | R<UPRealvideoMsgStartupAckVo> msgStartupAckVoR = realVideoMsgClient.startupRealVideo(Integer.valueOf(enterprise.getCode()), car.getVehicleNumber()); |
| | | if (200 == msgStartupAckVoR.getCode()) { |
| | | UPRealvideoMsgStartupAckVo data = msgStartupAckVoR.getData(); |
| | | |
| | | RealVideoResp resp = new RealVideoResp(); |
| | | //执行拉流和推流 |
| | | //富临走协议返回flv格式视频流 |
| | | if(enterprise.getCode().equals("17458936")){ |
| | | R<UPRealvideoMsgStartupAckVo> msgStartupAckVoR = realVideoMsgClient.startupRealVideo(Integer.valueOf(enterprise.getCode()), car.getVehicleNumber()); |
| | | if (200 == msgStartupAckVoR.getCode()) { |
| | | UPRealvideoMsgStartupAckVo data = msgStartupAckVoR.getData(); |
| | | |
| | | RealVideoResp resp = new RealVideoResp(); |
| | | resp.setCompanyCode(enterprise.getCode()); |
| | | //执行拉流和推流 |
| | | // live_hls(data.getUrl(), car); |
| | | // resp.setServerIp(hlsIp); |
| | | // resp.setServerPort(hlsPort); |
| | | |
| | | live_flv(data.getUrl(), car.getId()); |
| | | resp.setServerIp(flvIp); |
| | | resp.setServerPort(flvHttpPort); |
| | | resp.setUrl(data.getUrl()); |
| | | // live_flv(data.getUrl(), car.getId()); |
| | | resp.setServerIp(flvIp); |
| | | resp.setServerPort(flvHttpPort); |
| | | return R.ok(resp); |
| | | } |
| | | }else if(enterprise.getCode().equals("25439966")){ |
| | | //海康走API获取预览url,trsp格式 |
| | | String data = haiKangClient.getCarPreviewURLs(car.getVehicleNumber()).getData(); |
| | | RealVideoResp resp = new RealVideoResp(); |
| | | resp.setUrl(data); |
| | | return R.ok(resp); |
| | | } |
| | | |
| | | return R.fail(msgStartupAckVoR.getMsg()); |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | |
| | | // live_hls(data.getUrl(), car); |
| | | // resp.setServerIp(hlsIp); |
| | | // resp.setServerPort(hlsPort); |
| | | |
| | | live_flv(data.getUrl(), car.getId()); |
| | | resp.setUrl(data.getUrl()); |
| | | // live_flv(data.getUrl(), car.getId()); |
| | | resp.setServerIp(flvIp); |
| | | resp.setServerPort(flvHttpPort); |
| | | return R.ok(resp); |
| | |
| | | @GetMapping("/getCarTypeList") |
| | | @ApiOperation(value = "获取车辆类型列表数据", tags = {"车辆类型"}) |
| | | public R<List<CarType>> getCarTypeList(String name) { |
| | | List<CarType> list = carTypeService.list(new LambdaQueryWrapper<CarType>().like(StringUtils.isNotEmpty(name), CarType::getName, name)); |
| | | List<CarType> list = carTypeService.list(new LambdaQueryWrapper<CarType>().like(StringUtils.isNotEmpty(name), CarType::getName, name).orderByAsc(CarType::getSort)); |
| | | return R.ok(list); |
| | | } |
| | | |
| | |
| | | @GetMapping("/getCarCount") |
| | | @ApiOperation(value = "获取各种车辆类型车辆总数", tags = {"首页"}) |
| | | public R<List<CarType>> getCarCount() { |
| | | List<CarType> list = carTypeService.list(); |
| | | List<CarType> list = carTypeService.list(new LambdaQueryWrapper<CarType>().orderByAsc(CarType::getSort)); |
| | | return R.ok(list); |
| | | } |
| | | |
| | |
| | | }); |
| | | carService.taskPlayDetection(id); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |