|
|
@@ -10,6 +10,7 @@ import com.fdkankan.fusion.common.ResultCode;
|
|
|
import com.fdkankan.fusion.common.ResultData;
|
|
|
import com.fdkankan.fusion.common.util.*;
|
|
|
import com.fdkankan.fusion.config.CacheUtil;
|
|
|
+import com.fdkankan.fusion.config.ThreadPoolConfig;
|
|
|
import com.fdkankan.fusion.entity.*;
|
|
|
import com.fdkankan.fusion.exception.BusinessException;
|
|
|
import com.fdkankan.fusion.httpClient.LaserService;
|
|
|
@@ -25,6 +26,7 @@ import com.fdkankan.redis.util.RedisUtil;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -35,6 +37,7 @@ import java.nio.charset.StandardCharsets;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.HashSet;
|
|
|
import java.util.List;
|
|
|
+import java.util.concurrent.Executor;
|
|
|
|
|
|
@Service
|
|
|
@Slf4j
|
|
|
@@ -107,11 +110,13 @@ public class FusionDownService {
|
|
|
ICaseAnimationService caseAnimationService;
|
|
|
@Autowired
|
|
|
IMapConfigService mapConfigService;
|
|
|
+ @Autowired
|
|
|
+ @Qualifier("taskExecutor")
|
|
|
+ private Executor taskExecutor;
|
|
|
|
|
|
@Autowired
|
|
|
RedisUtil redisUtil;
|
|
|
public static String downProcessKey = "fusion:down:offline:process:fusionId:%s";
|
|
|
- @Async
|
|
|
public void asyncDownOffline(Integer fusionId){
|
|
|
String redisKey = String.format(downProcessKey, fusionId);
|
|
|
if(redisUtil.hasKey(redisKey)){
|
|
|
@@ -120,11 +125,15 @@ public class FusionDownService {
|
|
|
if(downloadProcessVo.getStatus() != 1003 && (downloadProcessVo.getPercent()== null || downloadProcessVo.getPercent() != 100)){
|
|
|
return;
|
|
|
}
|
|
|
+ redisUtil.del(redisKey);
|
|
|
}
|
|
|
String timeKey = DateUtils.dateStr();
|
|
|
String caseOffPath =FilePath.OFFLINE_PACKAGE_PATH+timeKey+fusionId ;
|
|
|
String zipName = caseOffPath+".zip";
|
|
|
- downOffline(fusionId,caseOffPath,zipName);
|
|
|
+ taskExecutor.execute(() ->{
|
|
|
+ downOffline(fusionId,caseOffPath,zipName);
|
|
|
+ });
|
|
|
+
|
|
|
}
|
|
|
public void downOffline(Integer fusionId,String caseOffPath,String zipName){
|
|
|
try {
|
|
|
@@ -205,8 +214,6 @@ public class FusionDownService {
|
|
|
CaseFusion caseFusion = caseFusionService.getById(fusionId);
|
|
|
jsonObject.put(basePath+caseFusionInfo+fusionId, ResultData.ok(caseFusion));
|
|
|
|
|
|
- List<FusionNumVo> sceneListVo = caseFusionService.getSceneListVo(fusionId);
|
|
|
-
|
|
|
List<MapConfig> list = mapConfigService.list();
|
|
|
jsonObject.put(basePath+mapConfig, ResultData.ok(list));
|
|
|
|
|
|
@@ -264,7 +271,7 @@ public class FusionDownService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- jsonObject.put(basePath+caseFusionList+fusionId, ResultData.ok(sceneListVo));
|
|
|
+ jsonObject.put(basePath+caseFusionList+fusionId, ResultData.ok(fusionNumVos));
|
|
|
|
|
|
List<HotIcon> hotIconList = hotIconService.getListByFusionId(fusionId);
|
|
|
for (HotIcon hotIcon : hotIconList) {
|