Commit 5a0dc17b951887bb50e3b0df98ec824dd8dc5706

Authored by xp.Huang
1 parent 460d7a63

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

... ... @@ -19,6 +19,7 @@ import org.thingsboard.server.dao.yunteng.entities.TkVideoEntity;
19 19 import org.thingsboard.server.dao.yunteng.service.TkVideoService;
20 20
21 21 import java.util.HashMap;
  22 +import java.util.List;
22 23 import java.util.Map;
23 24
24 25 import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.*;
... ... @@ -89,5 +90,12 @@ public class TkVideoController extends BaseController {
89 90 map.put("url",url);
90 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 12 import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants;
13 13 import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException;
14 14 import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage;
  15 +import org.thingsboard.server.common.data.yunteng.dto.BaseDTO;
15 16 import org.thingsboard.server.common.data.yunteng.dto.DeleteDTO;
  17 +import org.thingsboard.server.common.data.yunteng.dto.OrganizationDTO;
16 18 import org.thingsboard.server.common.data.yunteng.dto.TkVideoDTO;
17 19 import org.thingsboard.server.common.data.yunteng.utils.tools.HikVisionArtemisPostUtils;
18 20 import org.thingsboard.server.common.data.yunteng.utils.tools.ProtocolType;
19 21 import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData;
20 22 import org.thingsboard.server.dao.yunteng.entities.TkVideoEntity;
  23 +import org.thingsboard.server.dao.yunteng.mapper.OrganizationMapper;
21 24 import org.thingsboard.server.dao.yunteng.mapper.TkVideoMapper;
22 25 import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
23 26 import org.thingsboard.server.dao.yunteng.service.UserOrganizationMappingService;
24 27 import org.thingsboard.server.dao.yunteng.service.TkVideoService;
25 28
  29 +import java.util.ArrayList;
26 30 import java.util.List;
27 31 import java.util.Set;
  32 +import java.util.stream.Collectors;
28 33
29 34 @Slf4j
30 35 @Service
... ... @@ -33,7 +38,7 @@ public class TkVideoServiceImpl extends AbstractBaseService<TkVideoMapper, TkVid
33 38 implements TkVideoService {
34 39
35 40 private final UserOrganizationMappingService userOrganizationMappingService;
36   -
  41 + private final OrganizationMapper organizationMapper;
37 42 @Override
38 43 public TkPageData<TkVideoDTO> pageDatas(IPage<TkVideoEntity> pageInfrom,
39 44 boolean isPtTenantAdmin, String tenantId, String currentUserId,
... ... @@ -115,4 +120,25 @@ public class TkVideoServiceImpl extends AbstractBaseService<TkVideoMapper, TkVid
115 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 import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData;
7 7 import org.thingsboard.server.dao.yunteng.entities.TkVideoEntity;
8 8
  9 +import java.util.List;
9 10 import java.util.Set;
10 11
11 12 public interface TkVideoService extends BaseService<TkVideoEntity> {
... ... @@ -59,4 +60,12 @@ public interface TkVideoService extends BaseService<TkVideoEntity> {
59 60 */
60 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 }
... ...