use of com.dtstack.taier.dao.domain.BatchResource in project Taier by DTStack.
the class BatchResourceService method deleteResource.
/**
* 删除资源
*/
public Long deleteResource(Long tenantId, Long resourceId) {
List<BatchTaskResource> taskResources = this.batchTaskResourceService.getUseableResources(resourceId);
if (!CollectionUtils.isEmpty(taskResources)) {
throw new RdosDefineException(ErrorCode.CAN_NOT_DELETE_RESOURCE);
}
List<BatchFunctionResource> functionResources = batchFunctionResourceService.listByResourceId(resourceId);
if (!CollectionUtils.isEmpty(functionResources)) {
throw new RdosDefineException(ErrorCode.CAN_NOT_DELETE_RESOURCE);
}
// 删除资源在hdfs的实际存储文件
BatchResource resource = getResource(resourceId);
try {
HdfsOperator.checkAndDele(HadoopConf.getConfiguration(tenantId), HadoopConf.getHadoopKerberosConf(tenantId), resource.getUrl());
} catch (Exception e) {
LOGGER.error("tenantId:{} resourceId:{} fail delete resource from HDFS", tenantId, resourceId, e);
}
// 删除资源记录
developResourceDao.deleteById(resourceId);
return resourceId;
}
use of com.dtstack.taier.dao.domain.BatchResource in project Taier by DTStack.
the class BatchResourceService method replaceResource.
/**
* 替换资源
*/
public void replaceResource(BatchResourceAddDTO batchResourceAddDTO) {
Long tenantId = batchResourceAddDTO.getTenantId();
Long resourceId = batchResourceAddDTO.getId();
BatchResource resourceDb = developResourceDao.getOne(resourceId);
if (Objects.isNull(resourceDb)) {
throw new RdosDefineException("替换字段不存在");
}
String resourceName = resourceDb.getResourceName();
String hdfsPath = uploadHDFSFileWithResource(tenantId, resourceName, batchResourceAddDTO.getOriginalFilename(), batchResourceAddDTO.getTmpPath());
resourceDb.setUrl(hdfsPath);
resourceDb.setOriginFileName(batchResourceAddDTO.getOriginalFilename());
resourceDb.setResourceDesc(batchResourceAddDTO.getResourceDesc());
resourceDb.setGmtModified(Timestamp.valueOf(LocalDateTime.now()));
developResourceDao.update(resourceDb);
}
Aggregations