Commit 5a0dc17b951887bb50e3b0df98ec824dd8dc5706

Authored by xp.Huang
1 parent 460d7a63

feat: 提供获取视频列表接口

@@ -19,6 +19,7 @@ import org.thingsboard.server.dao.yunteng.entities.TkVideoEntity; @@ -19,6 +19,7 @@ import org.thingsboard.server.dao.yunteng.entities.TkVideoEntity;
19 import org.thingsboard.server.dao.yunteng.service.TkVideoService; 19 import org.thingsboard.server.dao.yunteng.service.TkVideoService;
20 20
21 import java.util.HashMap; 21 import java.util.HashMap;
  22 +import java.util.List;
22 import java.util.Map; 23 import java.util.Map;
23 24
24 import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.*; 25 import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.*;
@@ -89,5 +90,12 @@ public class TkVideoController extends BaseController { @@ -89,5 +90,12 @@ public class TkVideoController extends BaseController {
89 map.put("url",url); 90 map.put("url",url);
90 return ResponseResult.success(map); 91 return ResponseResult.success(map);
91 } 92 }
92 - 93 + @GetMapping("list")
  94 + @ApiOperation("获取视频列表")
  95 + public ResponseResult<List<TkVideoDTO>> getVideoList(
  96 + @RequestParam(value = "organizationId", required = false) String organizationId) throws ThingsboardException
  97 + {
  98 + return ResponseResult.success(videoService.getVideoList(organizationId,getCurrentUser().getCurrentTenantId()));
  99 + }
93 } 100 }
  101 +
@@ -12,19 +12,24 @@ import org.thingsboard.server.common.data.StringUtils; @@ -12,19 +12,24 @@ import org.thingsboard.server.common.data.StringUtils;
12 import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants; 12 import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants;
13 import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException; 13 import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException;
14 import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; 14 import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage;
  15 +import org.thingsboard.server.common.data.yunteng.dto.BaseDTO;
15 import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO; 16 import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO;
  17 +import org.thingsboard.server.common.data.yunteng.dto.OrganizationDTO;
16 import org.thingsboard.server.common.data.yunteng.dto.TkVideoDTO; 18 import org.thingsboard.server.common.data.yunteng.dto.TkVideoDTO;
17 import org.thingsboard.server.common.data.yunteng.utils.tools.HikVisionArtemisPostUtils; 19 import org.thingsboard.server.common.data.yunteng.utils.tools.HikVisionArtemisPostUtils;
18 import org.thingsboard.server.common.data.yunteng.utils.tools.ProtocolType; 20 import org.thingsboard.server.common.data.yunteng.utils.tools.ProtocolType;
19 import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; 21 import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData;
20 import org.thingsboard.server.dao.yunteng.entities.TkVideoEntity; 22 import org.thingsboard.server.dao.yunteng.entities.TkVideoEntity;
  23 +import org.thingsboard.server.dao.yunteng.mapper.OrganizationMapper;
21 import org.thingsboard.server.dao.yunteng.mapper.TkVideoMapper; 24 import org.thingsboard.server.dao.yunteng.mapper.TkVideoMapper;
22 import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; 25 import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
23 import org.thingsboard.server.dao.yunteng.service.UserOrganizationMappingService; 26 import org.thingsboard.server.dao.yunteng.service.UserOrganizationMappingService;
24 import org.thingsboard.server.dao.yunteng.service.TkVideoService; 27 import org.thingsboard.server.dao.yunteng.service.TkVideoService;
25 28
  29 +import java.util.ArrayList;
26 import java.util.List; 30 import java.util.List;
27 import java.util.Set; 31 import java.util.Set;
  32 +import java.util.stream.Collectors;
28 33
29 @Slf4j 34 @Slf4j
30 @Service 35 @Service
@@ -33,7 +38,7 @@ public class TkVideoServiceImpl extends AbstractBaseService<TkVideoMapper, TkVid @@ -33,7 +38,7 @@ public class TkVideoServiceImpl extends AbstractBaseService<TkVideoMapper, TkVid
33 implements TkVideoService { 38 implements TkVideoService {
34 39
35 private final UserOrganizationMappingService userOrganizationMappingService; 40 private final UserOrganizationMappingService userOrganizationMappingService;
36 - 41 + private final OrganizationMapper organizationMapper;
37 @Override 42 @Override
38 public TkPageData<TkVideoDTO> pageDatas(IPage<TkVideoEntity> pageInfrom, 43 public TkPageData<TkVideoDTO> pageDatas(IPage<TkVideoEntity> pageInfrom,
39 boolean isPtTenantAdmin, String tenantId, String currentUserId, 44 boolean isPtTenantAdmin, String tenantId, String currentUserId,
@@ -115,4 +120,25 @@ public class TkVideoServiceImpl extends AbstractBaseService<TkVideoMapper, TkVid @@ -115,4 +120,25 @@ public class TkVideoServiceImpl extends AbstractBaseService<TkVideoMapper, TkVid
115 return result; 120 return result;
116 } 121 }
117 122
  123 + @Override
  124 + public List<TkVideoDTO> getVideoList(String organizationId, String tenantId) {
  125 + List<String> organizationIds = new ArrayList<>();
  126 + if(StringUtils.isNotEmpty(organizationId)){
  127 + List<OrganizationDTO> organizations = organizationMapper.findOrganizationTreeList(tenantId,List.of(organizationId));
  128 + if(!organizations.isEmpty()){
  129 + organizationIds.addAll(organizations.stream().map(BaseDTO::getId).collect(Collectors.toList()));
  130 + }else{
  131 + organizationIds.add(organizationId);
  132 + }
  133 + }
  134 + List<TkVideoEntity> list = baseMapper.selectList(new LambdaQueryWrapper<TkVideoEntity>()
  135 + .eq(TkVideoEntity::getTenantId, tenantId)
  136 + .in(!organizationIds.isEmpty(),
  137 + TkVideoEntity::getOrganizationId,organizationIds));
  138 + if(!list.isEmpty()){
  139 + return list.stream().map(entity->entity.getDTO(TkVideoDTO.class)).collect(Collectors.toList());
  140 + }
  141 + return null;
  142 + }
  143 +
118 } 144 }
@@ -6,6 +6,7 @@ import org.thingsboard.server.common.data.yunteng.dto.TkVideoDTO; @@ -6,6 +6,7 @@ import org.thingsboard.server.common.data.yunteng.dto.TkVideoDTO;
6 import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; 6 import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData;
7 import org.thingsboard.server.dao.yunteng.entities.TkVideoEntity; 7 import org.thingsboard.server.dao.yunteng.entities.TkVideoEntity;
8 8
  9 +import java.util.List;
9 import java.util.Set; 10 import java.util.Set;
10 11
11 public interface TkVideoService extends BaseService<TkVideoEntity> { 12 public interface TkVideoService extends BaseService<TkVideoEntity> {
@@ -59,4 +60,12 @@ public interface TkVideoService extends BaseService<TkVideoEntity> { @@ -59,4 +60,12 @@ public interface TkVideoService extends BaseService<TkVideoEntity> {
59 */ 60 */
60 boolean checkConfigIdsIsUseForVideo(Set<String> ids); 61 boolean checkConfigIdsIsUseForVideo(Set<String> ids);
61 62
  63 + /**
  64 + * 获取视频列表
  65 + * @param organizationId 组织ID
  66 + * @param tenantId 租户ID
  67 + * @return 视频列表
  68 + */
  69 + List<TkVideoDTO> getVideoList(String organizationId, String tenantId);
  70 +
62 } 71 }