|
@@ -1400,8 +1400,9 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
public ResultData sceneSync(String num, String type, String floorPlanJson, String ajkJson, String cameraJson,
|
|
|
MultipartFile[] files) throws Exception {
|
|
|
|
|
|
+ String lockVal = cn.hutool.core.lang.UUID.randomUUID().toString();
|
|
|
String lockKey = String.format(RedisLockKey.LOCK_SCENE_SYNC, num);
|
|
|
- Boolean lock = redisLockUtil.lock(lockKey, RedisKey.EXPIRE_TIME_2_HOUR);
|
|
|
+ Boolean lock = redisLockUtil.lock(lockKey, lockVal, RedisKey.EXPIRE_TIME_2_HOUR);
|
|
|
if(!lock){
|
|
|
throw new BusinessException(ErrorCode.SYSTEM_BUSY);
|
|
|
}
|
|
@@ -1557,7 +1558,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
log.error("画墙重建模型失败...", e);
|
|
|
throw new BusinessException(ErrorCode.FAILURE_CODE_5039);
|
|
|
}finally {
|
|
|
- redisLockUtil.unlockLua(lockKey);
|
|
|
+ redisLockUtil.unlockLua(lockKey, lockVal);
|
|
|
}
|
|
|
|
|
|
return ResultData.ok();
|
|
@@ -1699,16 +1700,16 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
jsonArr.add(JSONObject.parseObject(mosaic));
|
|
|
});
|
|
|
|
|
|
-
|
|
|
+ String lockVal = cn.hutool.core.lang.UUID.randomUUID().toString();
|
|
|
String lockKey = String.format(RedisLockKey.LOCK_MOSAIC_JSON, num);
|
|
|
- boolean lock = redisLockUtil.lock(lockKey, RedisKey.EXPIRE_TIME_1_MINUTE);
|
|
|
+ boolean lock = redisLockUtil.lock(lockKey, lockVal, RedisKey.EXPIRE_TIME_1_MINUTE);
|
|
|
if(!lock){
|
|
|
return;
|
|
|
}
|
|
|
try{
|
|
|
FileUtils.writeFile(mosaicPath, jsonArr.toJSONString());
|
|
|
}finally {
|
|
|
- redisLockUtil.unlockLua(lockKey);
|
|
|
+ redisLockUtil.unlockLua(lockKey, lockVal);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2087,15 +2088,16 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
jsonObject.put("styles", styleList);
|
|
|
|
|
|
String linkScenePath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + "links.json";
|
|
|
+ String lockVal = cn.hutool.core.lang.UUID.randomUUID().toString();
|
|
|
String lockKey = String.format(RedisLockKey.LOCK_LINK_SCENE_JSON, num);
|
|
|
- boolean lock = redisLockUtil.lock(lockKey, RedisKey.EXPIRE_TIME_1_MINUTE);
|
|
|
+ boolean lock = redisLockUtil.lock(lockKey, lockVal, RedisKey.EXPIRE_TIME_1_MINUTE);
|
|
|
if(!lock){
|
|
|
return;
|
|
|
}
|
|
|
try{
|
|
|
cn.hutool.core.io.FileUtil.writeUtf8String(jsonObject.toJSONString(), linkScenePath);
|
|
|
}finally {
|
|
|
- redisLockUtil.unlockLua(lockKey);
|
|
|
+ redisLockUtil.unlockLua(lockKey, lockVal);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2136,7 +2138,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
return;
|
|
|
}
|
|
|
String lockKey = String.format(RedisLockKey.LOCK_LINKPAN_STYLES_SYNC, num);
|
|
|
- boolean lock = redisLockUtil.lock(lockKey, RedisKey.EXPIRE_TIME_1_MINUTE);
|
|
|
+ String lockVal = cn.hutool.core.lang.UUID.randomUUID().toString();
|
|
|
+ boolean lock = redisLockUtil.lock(lockKey, lockVal, RedisKey.EXPIRE_TIME_1_MINUTE);
|
|
|
if(!lock){
|
|
|
throw new BusinessException(ErrorCode.SYSTEM_BUSY);
|
|
|
}
|
|
@@ -2163,7 +2166,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
}
|
|
|
redisUtil.hmset(key, styleMap);
|
|
|
}finally {
|
|
|
- redisLockUtil.unlockLua(lockKey);
|
|
|
+ redisLockUtil.unlockLua(lockKey, lockVal);
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -2197,7 +2200,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
return;
|
|
|
}
|
|
|
String lockKey = String.format(RedisLockKey.LOCK_LINKPAN_DATA_SYNC, num);
|
|
|
- boolean lock = redisLockUtil.lock(lockKey, RedisKey.EXPIRE_TIME_1_MINUTE);
|
|
|
+ String lockVal = cn.hutool.core.lang.UUID.randomUUID().toString();
|
|
|
+ boolean lock = redisLockUtil.lock(lockKey, lockVal, RedisKey.EXPIRE_TIME_1_MINUTE);
|
|
|
if(!lock){
|
|
|
throw new BusinessException(ErrorCode.SYSTEM_BUSY);
|
|
|
}
|
|
@@ -2223,7 +2227,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
}
|
|
|
redisUtil.hmset(key, map);
|
|
|
}finally {
|
|
|
- redisLockUtil.unlockLua(lockKey);
|
|
|
+ redisLockUtil.unlockLua(lockKey, lockVal);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2582,14 +2586,15 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
}
|
|
|
|
|
|
String lockKey = String.format(RedisLockKey.LOCK_filter_JSON, num);
|
|
|
- boolean lock = redisLockUtil.lock(lockKey, RedisKey.EXPIRE_TIME_1_MINUTE);
|
|
|
+ String lockVal = cn.hutool.core.lang.UUID.randomUUID().toString();
|
|
|
+ boolean lock = redisLockUtil.lock(lockKey, lockVal, RedisKey.EXPIRE_TIME_1_MINUTE);
|
|
|
if(!lock){
|
|
|
return;
|
|
|
}
|
|
|
try{
|
|
|
FileUtils.writeFile(filterPath, JSON.toJSONString(filters));
|
|
|
}finally {
|
|
|
- redisLockUtil.unlockLua(lockKey);
|
|
|
+ redisLockUtil.unlockLua(lockKey, lockVal);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2601,7 +2606,8 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
return;
|
|
|
}
|
|
|
String lockKey = String.format(RedisLockKey.LOCK_FILTER_DATA_SYNC, num);
|
|
|
- boolean lock = redisLockUtil.lock(lockKey, RedisKey.EXPIRE_TIME_1_MINUTE);
|
|
|
+ String lockVal = cn.hutool.core.lang.UUID.randomUUID().toString();
|
|
|
+ boolean lock = redisLockUtil.lock(lockKey, lockVal, RedisKey.EXPIRE_TIME_1_MINUTE);
|
|
|
if(!lock){
|
|
|
throw new BusinessException(ErrorCode.SYSTEM_BUSY);
|
|
|
}
|
|
@@ -2621,7 +2627,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
|
}
|
|
|
redisUtil.lRightPushAll(key, jsonArray.stream().collect(Collectors.toList()));
|
|
|
}finally {
|
|
|
- redisLockUtil.unlockLua(lockKey);
|
|
|
+ redisLockUtil.unlockLua(lockKey, lockVal);
|
|
|
}
|
|
|
}
|
|
|
|