Commit ab91d833 by fudahua

feat: 新版本的下载

parent 33d34aec
......@@ -198,7 +198,11 @@
<artifactId>gic-enterprise-api</artifactId>
<version>${gic-enterprise-api}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-redis-data</artifactId>
<version>${gic-redis-data}</version>
</dependency>
</dependencies>
<build>
......
......@@ -65,7 +65,7 @@ public interface DownloadTaskDao {
/** 获取等待申请通过状态的任务
* @return
*/
public List<DownloadTask> getDownloadTaskOfHasDownload(@Param("queryDataSource") String queryDataSource);
public List<DownloadTask> getDownloadTaskOfHasDownload(@Param("queryDataSource") String queryDataSource, @Param("num") int num);
DownloadProcessDTO getDownloadProcess();
......
......@@ -231,8 +231,8 @@ public class DownloadTaskServiceImpl implements IDownloadTaskService {
/** 获取在审核申请等待状态中的任务
* @return
*/
public List<DownloadTask> getDownloadTaskOfHasDownload(String queryDataSource) {
return downloadTaskDao.getDownloadTaskOfHasDownload(queryDataSource);
public List<DownloadTask> getDownloadTaskOfHasDownload(String queryDataSource,int num) {
return downloadTaskDao.getDownloadTaskOfHasDownload(queryDataSource, num);
}
......
......@@ -20,6 +20,7 @@ import com.gic.dubbo.entity.ProviderLocalTag;
import com.gic.enterprise.api.dto.EnterpriseDTO;
import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.qcloud.FileRecordLogUtil;
import com.gic.redis.data.util.RedisUtil;
import com.gic.thirdparty.cloudfile.CloudFileUtil;
import com.gic.thirdparty.cloudfile.enums.CloudFileBusinessOptEnum;
import com.gic.thirdparty.cloudfile.enums.CloudFileTypeEnum;
......@@ -670,7 +671,16 @@ public class FlatQueryResultServiceImpl implements IFlatQueryResultService {
providerLocalTag.traceId = UUID.randomUUID().toString();
logger.info("执行hivefile");
try{
List<DownloadTask> downloadTasks = DownloadTaskServiceImpl.getInstance().getDownloadTaskOfHasDownload(QueryDataSource.FLAT_QUERY);
String lockKey="data:hook:hive";
RedisUtil.lock(lockKey,2L);
List<DownloadTask> downloadTasks = DownloadTaskServiceImpl.getInstance().getDownloadTaskOfHasDownload(QueryDataSource.FLAT_QUERY,3);
if (CollectionUtils.isNotEmpty(downloadTasks)) {
for (DownloadTask downloadTask : downloadTasks) {
downloadTask.setStatus(DownloadTaskStatus.BUILDING);
DownloadTaskServiceImpl.getInstance().updateDownloadTask(downloadTask);
}
}
RedisUtil.unlock(lockKey);
downloadTasks.parallelStream().forEach(mid->{
//下载处理
takeFileNew(mid);
......
......@@ -29,6 +29,7 @@
<!--<import resource="file:config/data-hook-free-query-source.xml"/>-->
<import resource="classpath:data-hook-flat-query-source.xml"/>
<import resource="classpath:data-hook-free-query-source.xml"/>
<import resource="classpath*:redis-init.xml" />
<!--<import resource="classpath:cloud-web-service-task.xml" />-->
</beans>
\ No newline at end of file
......@@ -197,6 +197,7 @@
q.query_data_source = #{queryDataSource}
AND q.status = "downloading"
AND q.del_flag = '0'
order by start_time asc limit ${num}
</select>
<select id="getDownloadProcess" resultType="DownloadProcessDTO">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment