CameraBaseServiceImpl.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. package com.huimv.admin.service.impl;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.util.ObjectUtil;
  4. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5. import com.baomidou.mybatisplus.core.toolkit.StringUtils;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import com.huimv.admin.common.utils.Result;
  8. import com.huimv.admin.common.utils.ResultCode;
  9. import com.huimv.admin.common.utils.ResultUtil;
  10. import com.huimv.admin.entity.CameraArea;
  11. import com.huimv.admin.entity.CameraBase;
  12. import com.huimv.admin.entity.CameraBrand;
  13. import com.huimv.admin.entity.hkwsdto.CameraDto1;
  14. import com.huimv.admin.entity.vo.CameraListVo;
  15. import com.huimv.admin.entity.vo.CameraListsVo;
  16. import com.huimv.admin.entity.vo.CameraVo;
  17. import com.huimv.admin.mapper.CameraAreaMapper;
  18. import com.huimv.admin.mapper.CameraBaseMapper;
  19. import com.huimv.admin.mapper.CameraBrandMapper;
  20. import com.huimv.admin.service.ICameraBaseService;
  21. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.stereotype.Service;
  24. import java.util.ArrayList;
  25. import java.util.List;
  26. import java.util.Map;
  27. /**
  28. * <p>
  29. * 服务实现类
  30. * </p>
  31. *
  32. * @author author
  33. * @since 2023-02-16
  34. */
  35. @Service
  36. public class CameraBaseServiceImpl extends ServiceImpl<CameraBaseMapper, CameraBase> implements ICameraBaseService {
  37. @Autowired
  38. private CameraAreaMapper cameraAreaMapper;
  39. @Autowired
  40. private CameraBrandMapper cameraBrandMapper;
  41. @Override
  42. public Result listPage(CameraListVo cameraListVo) {
  43. Integer current = cameraListVo.getCurrent();
  44. String strchStr = cameraListVo.getStrchStr();
  45. Integer size = cameraListVo.getSize();
  46. Integer areaId = cameraListVo.getAreaId();
  47. Integer sort = cameraListVo.getSort();
  48. Integer farmId = cameraListVo.getFarmId();
  49. Integer onLineStatus = cameraListVo.getOnLineStatus();
  50. QueryWrapper<CameraBase> wrapper = new QueryWrapper<>();
  51. if (null == current ) {
  52. current =1;
  53. }
  54. if (null ==size) {
  55. size =10;
  56. }
  57. if (farmId != null) {
  58. wrapper.eq("farm_id", farmId);
  59. }
  60. if (areaId != null) {
  61. wrapper.eq("area_id", areaId);
  62. }
  63. if (onLineStatus != null) {
  64. wrapper.eq("is_online", onLineStatus);
  65. }
  66. if (StringUtils.isNotBlank(strchStr)) {
  67. wrapper.and(i -> i.like("camera_name", strchStr));
  68. }
  69. if (sort == null) {
  70. wrapper.orderByDesc("id");
  71. } else if (sort == 1) {
  72. wrapper.orderByDesc("sort");
  73. } else {
  74. wrapper.orderByAsc("sort");
  75. }
  76. wrapper.orderByDesc("id");
  77. Page<CameraBase> page = page(new Page<CameraBase>(current, size), wrapper);
  78. return new Result(ResultCode.SUCCESS, page);
  79. }
  80. @Override
  81. public Result getCameraDetails(CameraListsVo cameraListsVo) {
  82. List<Integer> cameraIds = cameraListsVo.getCameraIds();
  83. CameraBrand cameraBrand = cameraBrandMapper.selectById(18);
  84. List list = new ArrayList();
  85. for (Integer cameraId : cameraIds) {
  86. CameraBase cameraBase = this.getById(cameraId);
  87. String regionUuid = cameraBase.getRegionUuid();
  88. CameraArea cameraArea = cameraAreaMapper.selectOne(new QueryWrapper<CameraArea>().eq("region_uuid", regionUuid));
  89. // http://61.153.248.106:6713/mag/hls/6bf5d2cf30bb440cad3fc126512f5188/1/live.m3u8
  90. String hls ="http://"+cameraArea.getPublicUrl()+cameraBrand.getStreamType()+cameraBase.getCameraUuid()+"/"+ cameraBrand.getMainStream()+"/"+"live.m3u8";
  91. CameraVo cameraVo = new CameraVo();
  92. cameraVo.setHlsUrl(hls);
  93. cameraVo.setId(cameraBase.getId());
  94. cameraVo.setCameraName(cameraBase.getCameraName());
  95. list.add(cameraVo);
  96. }
  97. return ResultUtil.list(list);
  98. }
  99. @Override
  100. public void sync(Map<String, Integer> params, List<CameraDto1> list) {
  101. Integer farmId = params.get("farmId");
  102. //先删除
  103. this.remove(new QueryWrapper<CameraBase>().eq("farm_id",farmId));
  104. System.out.println(list.size());
  105. //
  106. for (CameraDto1 cameraDto1 : list) {
  107. CameraBase cameraBase = new CameraBase();
  108. BeanUtil.copyProperties(cameraDto1,cameraBase);
  109. CameraArea cameraArea = cameraAreaMapper.selectOne(new QueryWrapper<CameraArea>().eq("region_uuid", cameraDto1.getRegionUuid()));
  110. if (ObjectUtil.isNotEmpty(cameraArea)){
  111. cameraBase.setAreaName(cameraArea.getAreaName());
  112. }
  113. cameraBase.setBrandName("海康威视");
  114. cameraBase.setFarmId(farmId);
  115. this.save(cameraBase);
  116. }
  117. }
  118. //更新摄像头状态
  119. @Override
  120. public void updateCameraOnlin(List<CameraDto1> list) {
  121. for (CameraDto1 cameraDto1 : list) {
  122. String cameraUuid = cameraDto1.getCameraUuid();
  123. CameraBase one = this.getOne(new QueryWrapper<CameraBase>().eq("camera_uuid", cameraUuid));
  124. one.setOnLineStatus(1 ==cameraDto1.getOnLineStatus());
  125. }
  126. }
  127. }