|
@@ -21,6 +21,7 @@ import com.fdkankan.fyun.config.FYunFileConfig;
|
|
import com.fdkankan.fyun.local.constant.LocalConstants;
|
|
import com.fdkankan.fyun.local.constant.LocalConstants;
|
|
import com.fdkankan.model.constants.ConstantFilePath;
|
|
import com.fdkankan.model.constants.ConstantFilePath;
|
|
import com.fdkankan.model.utils.SceneUtil;
|
|
import com.fdkankan.model.utils.SceneUtil;
|
|
|
|
+import com.fdkankan.redis.util.RedisLockUtil;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -50,6 +51,8 @@ public class MjServiceImpl implements MjService {
|
|
private CustomHttpClient httpClient;
|
|
private CustomHttpClient httpClient;
|
|
@Autowired
|
|
@Autowired
|
|
private IHaixinService haixinService;
|
|
private IHaixinService haixinService;
|
|
|
|
+ @Resource
|
|
|
|
+ private RedisLockUtil redisLockUtil;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -68,6 +71,11 @@ public class MjServiceImpl implements MjService {
|
|
String zipDir = ConstantFilePath.BUILD_MODEL_PATH + "bd/" + uuid + "/";
|
|
String zipDir = ConstantFilePath.BUILD_MODEL_PATH + "bd/" + uuid + "/";
|
|
String taskId = v.getTaskId();
|
|
String taskId = v.getTaskId();
|
|
String kNo = v.getKNo();
|
|
String kNo = v.getKNo();
|
|
|
|
+ String lockKey = "sceneOrigBd:taskNo:" + v.getTaskNo();
|
|
|
|
+ boolean lock = redisLockUtil.lock(lockKey, 30 * 60);
|
|
|
|
+ if(!lock){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
|
|
try {
|
|
try {
|
|
|
|
|
|
@@ -123,6 +131,8 @@ public class MjServiceImpl implements MjService {
|
|
haixinService.syncRenderStatus(v.getId(), 1, 0, null);
|
|
haixinService.syncRenderStatus(v.getId(), 1, 0, null);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
haixinService.syncRenderStatus(v.getId(), -1, 0, ExceptionUtil.stacktraceToString(e, 5000));
|
|
haixinService.syncRenderStatus(v.getId(), -1, 0, ExceptionUtil.stacktraceToString(e, 5000));
|
|
|
|
+ }finally {
|
|
|
|
+ redisLockUtil.unlock(lockKey);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|