|
@@ -6,6 +6,7 @@ import com.fdkankan.common.constant.SceneConstant;
|
|
|
import com.fdkankan.common.exception.BusinessException;
|
|
|
import com.fdkankan.fyun.face.FYunFileServiceInterface;
|
|
|
import com.fdkankan.redis.constant.RedisKey;
|
|
|
+import com.fdkankan.redis.util.RedisLockUtil;
|
|
|
import com.fdkankan.redis.util.RedisUtil;
|
|
|
import com.fdkankan.ucenter.common.DownloadStatusEnum;
|
|
|
import com.fdkankan.ucenter.common.RedisKeyUtil;
|
|
@@ -44,6 +45,8 @@ public class DownService implements IDownService {
|
|
|
@Autowired
|
|
|
RedisUtil redisUtil;
|
|
|
@Autowired
|
|
|
+ RedisLockUtil redisLockUtil;
|
|
|
+ @Autowired
|
|
|
ISceneEditInfoService sceneEditInfoService;
|
|
|
@Autowired
|
|
|
IUserService userService;
|
|
@@ -407,15 +410,19 @@ public class DownService implements IDownService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public DownVo downE57(String num,String userName) {
|
|
|
- checkPerm(num,userName);
|
|
|
+ public synchronized DownVo downE57(String num,String userName) {
|
|
|
DownVo downVo = new DownVo();
|
|
|
+ downVo.setDownloadStatus(1);
|
|
|
+ if(redisUtil.hasKey(String.format(RedisKeyUtil.downE57Key,num))){
|
|
|
+ return downVo;
|
|
|
+ }
|
|
|
+ checkPerm(num,userName);
|
|
|
//status :0:正在生成 1,初次生成 2,已经生成直接下载 3,重新生成
|
|
|
SSDownSceneVo vo = laserService.downE57(num);
|
|
|
if(vo == null){
|
|
|
throw new BusinessException(ResultCodeMsg.FAILURE_CODE_400003, ResultCodeMsg.FAILURE_MSG_400003);
|
|
|
}
|
|
|
- downVo.setDownloadStatus(1);
|
|
|
+ redisUtil.set(String.format(RedisKeyUtil.downE57Key,num),"1",60);
|
|
|
return downVo;
|
|
|
}
|
|
|
|