Browse Source

[feat]设备组模块增加redis缓存②

dev
杨威 6 months ago
parent
commit
88e57e3b85
  1. 24
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceProServiceImpl.java

24
dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceProServiceImpl.java

@ -144,7 +144,7 @@ public class DeviceProServiceImpl implements IDeviceProService {
} }
//更新设备组redis缓存 //更新设备组redis缓存
Boolean flag = updateDeviceProCache(); Boolean flag = updateDeviceProCache("update",null);
return true; return true;
} catch (ServiceException e) { } catch (ServiceException e) {
@ -153,7 +153,11 @@ public class DeviceProServiceImpl implements IDeviceProService {
} }
} }
private Boolean updateDeviceProCache() { /**
* 更新设备组人员缓存
* @return
*/
private Boolean updateDeviceProCache(String operateType,Long proUserId) {
try { try {
// -------------------------------------- redis缓存 --------------------------------------------------- // -------------------------------------- redis缓存 ---------------------------------------------------
@ -171,12 +175,22 @@ public class DeviceProServiceImpl implements IDeviceProService {
)); ));
//如果是删除操作
if (operateType.equalsIgnoreCase("delete")){
if (!proUserMap.containsKey(proUserId)){
if (RedisUtils.hasKey("device_pro:" + proUserId)){
RedisUtils.deleteObject("device_pro:" + proUserId);
}
}
}
//更新redis设备组信息 //更新redis设备组信息
proUserMap.keySet().forEach(userId -> { proUserMap.keySet().forEach(userId -> {
//获取最新的用户设备组信息 //获取最新的用户设备组信息
List<Integer> currentProId = proUserMap.get(userId); List<Integer> currentProId = proUserMap.get(userId);
List<Object> cacheList = RedisUtils.getCacheList("device_pro:" + userId); List<Integer> cacheList = RedisUtils.getCacheList("device_pro:" + userId);
log.info("设备组缓存:{}",cacheList); log.info("设备组缓存:{}",cacheList);
@ -317,10 +331,12 @@ public class DeviceProServiceImpl implements IDeviceProService {
wrapper.eq(DeviceProUserEntity::getDeviceProId,proId); wrapper.eq(DeviceProUserEntity::getDeviceProId,proId);
wrapper.eq(DeviceProUserEntity::getId,proUserId); wrapper.eq(DeviceProUserEntity::getId,proUserId);
DeviceProUserEntity deviceProUserEntity = deviceProUserMapper.selectById(proUserId);
int flag = deviceProUserMapper.delete(wrapper); int flag = deviceProUserMapper.delete(wrapper);
//更新缓存 //更新缓存
updateDeviceProCache(); updateDeviceProCache("delete",deviceProUserEntity.getUserId());
return flag > 0; return flag > 0;
} }

Loading…
Cancel
Save