use of com.dtstack.taier.develop.dto.devlop.ReadWriteLockVO in project Taier by DTStack.
the class ReadWriteLockService method forceUpdateLock.
/**
* @param userId
* @param type
* @param relationId
* @param tenantId
* @return
*/
private ReadWriteLockVO forceUpdateLock(Long userId, ReadWriteLockType type, Long relationId, Long tenantId) {
BatchReadWriteLock readWriteLock = developReadWriteLockDao.getByTenantIdAndRelationIdAndType(tenantId, relationId, type.name());
if (readWriteLock != null) {
developReadWriteLockDao.updateVersionAndModifyUserIdDefinitized(readWriteLock.getId(), userId);
readWriteLock = developReadWriteLockDao.getOne(readWriteLock.getId());
ReadWriteLockVO readWriteLockVO = ReadWriteLockVO.toVO(readWriteLock);
String userName = userService.getUserName(readWriteLock.getModifyUserId());
readWriteLockVO.setLastKeepLockUserName(userName);
return readWriteLockVO;
} else {
throw new RdosDefineException(ErrorCode.LOCK_IS_NOT_EXISTS);
}
}
use of com.dtstack.taier.develop.dto.devlop.ReadWriteLockVO in project Taier by DTStack.
the class ReadWriteLockService method insert.
/**
* 添加锁对象
* @param tenantId
* @param fileId
* @param type
* @param userId
* @return
*/
private ReadWriteLockVO insert(Long tenantId, Long fileId, String type, Long userId) {
BatchReadWriteLock readWriteLock = new BatchReadWriteLock();
readWriteLock.setTenantId(tenantId);
readWriteLock.setLockName(uniteName(fileId, tenantId, type));
readWriteLock.setCreateUserId(userId);
readWriteLock.setModifyUserId(userId);
readWriteLock.setRelationId(fileId);
readWriteLock.setType(type);
developReadWriteLockDao.insert(readWriteLock);
ReadWriteLockVO readWriteLockVO = ReadWriteLockVO.toVO(readWriteLock);
readWriteLockVO.setVersion(INIT_VERSION);
readWriteLockVO.setGmtModified(Timestamp.valueOf(LocalDateTime.now()));
readWriteLockVO.setLastKeepLockUserName(userService.getUserName(userId));
return readWriteLockVO;
}
use of com.dtstack.taier.develop.dto.devlop.ReadWriteLockVO in project Taier by DTStack.
the class ReadWriteLockService method getDetail.
/**
* 获取锁VO对象
* @param tenantId
* @param relationId
* @param type
* @param userId
* @param modifyUserId
* @param gmtModified
* @return
*/
public ReadWriteLockVO getDetail(Long tenantId, Long relationId, ReadWriteLockType type, Long userId, Long modifyUserId, Timestamp gmtModified) {
BatchReadWriteLock readWriteLock = developReadWriteLockDao.getByTenantIdAndRelationIdAndType(tenantId, relationId, type.name());
if (readWriteLock == null) {
ReadWriteLockVO readWriteLockVO = new ReadWriteLockVO();
readWriteLockVO.setLastKeepLockUserName(userService.getUserName(modifyUserId));
readWriteLockVO.setGmtModified(gmtModified);
return readWriteLockVO;
}
ReadWriteLockVO readWriteLockVO = ReadWriteLockVO.toVO(readWriteLock);
readWriteLockVO.setLastKeepLockUserName(userService.getUserName(readWriteLockVO.getModifyUserId()));
return readWriteLockVO;
}
use of com.dtstack.taier.develop.dto.devlop.ReadWriteLockVO in project Taier by DTStack.
the class ReadWriteLockService method getLockBasicInfo.
private ReadWriteLockVO getLockBasicInfo(Long tenantId, long relationId, ReadWriteLockType type) {
BatchReadWriteLock readWriteLock = developReadWriteLockDao.getByTenantIdAndRelationIdAndType(tenantId, relationId, type.name());
if (readWriteLock == null) {
throw new RdosDefineException(ErrorCode.LOCK_IS_NOT_EXISTS);
}
ReadWriteLockVO readWriteLockVO = new ReadWriteLockVO();
readWriteLockVO.setGmtModified(readWriteLock.getGmtModified());
readWriteLockVO.setLastKeepLockUserName(userService.getUserName(readWriteLock.getModifyUserId()));
return readWriteLockVO;
}
use of com.dtstack.taier.develop.dto.devlop.ReadWriteLockVO in project Taier by DTStack.
the class ReadWriteLockService method getLocks.
/**
* 根据 锁对象ids 批量获取锁信息
* @param tenantId
* @param type
* @param relationIds
* @param userId
* @param names
* @return
*/
public Map<Long, ReadWriteLockVO> getLocks(Long tenantId, ReadWriteLockType type, List<Long> relationIds, long userId, Map<Long, String> names) {
List<BatchReadWriteLock> ls = developReadWriteLockDao.getLocksByIds(tenantId, type.name(), relationIds);
Map<Long, BatchReadWriteLock> records = ls.stream().collect(Collectors.toMap(r -> r.getRelationId(), r -> r, (v1, v2) -> v2));
Map<Long, ReadWriteLockVO> result = Maps.newHashMap();
for (Long id : relationIds) {
if (records.containsKey(id)) {
BatchReadWriteLock readWriteLock = records.get(id);
ReadWriteLockVO readWriteLockVO = ReadWriteLockVO.toVO(readWriteLock);
readWriteLockVO.setLastKeepLockUserName(getUserNameInMemory(names, readWriteLockVO.getModifyUserId()));
result.put(id, readWriteLockVO);
} else {
ReadWriteLockVO readWriteLockVO = new ReadWriteLockVO();
readWriteLockVO.setLastKeepLockUserName(null);
readWriteLockVO.setGmtModified(null);
result.put(id, readWriteLockVO);
}
}
return result;
}
Aggregations