fix: make tenantId query condition null-safe across all fuzzyQuery methods

- Add Objects.nonNull() guard to all wrapper.eq(tenantId) conditions in
  auth, dal, data, and manager modules to avoid NullPointerException
  when tenantId is not provided in query parameters
This commit is contained in:
pnoker
2026-05-01 00:49:24 +08:00
parent da5c02efd6
commit 7a8af078d5
17 changed files with 19 additions and 19 deletions
@@ -120,7 +120,7 @@ public class MenuServiceImpl implements MenuService {
private LambdaQueryWrapper<MenuDO> fuzzyQuery(MenuQuery entityQuery) {
LambdaQueryWrapper<MenuDO> wrapper = Wrappers.<MenuDO>query().lambda();
wrapper.like(StringUtils.isNotEmpty(entityQuery.getMenuName()), MenuDO::getMenuName, entityQuery.getMenuName());
wrapper.eq(MenuDO::getTenantId, entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), MenuDO::getTenantId, entityQuery.getTenantId());
return wrapper;
}
@@ -26,7 +26,7 @@
callers; we only need the side effect of acquiring the lock.
-->
<select id="advisoryLock" resultType="java.lang.String">
SELECT pg_advisory_xact_lock(hashtext(#{key}))::text
SELECT pg_advisory_xact_lock(hashtext(#{key})) ::text
</select>
</mapper>
@@ -120,7 +120,7 @@ public class GroupServiceImpl implements GroupService {
private LambdaQueryWrapper<GroupDO> fuzzyQuery(GroupQuery entityQuery) {
LambdaQueryWrapper<GroupDO> wrapper = Wrappers.<GroupDO>query().lambda();
wrapper.like(StringUtils.isNotEmpty(entityQuery.getGroupName()), GroupDO::getGroupName, entityQuery.getGroupName());
wrapper.eq(GroupDO::getTenantId, entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), GroupDO::getTenantId, entityQuery.getTenantId());
return wrapper;
}
@@ -124,7 +124,7 @@ public class LabelServiceImpl implements LabelService {
wrapper.like(StringUtils.isNotEmpty(entityQuery.getLabelName()), LabelDO::getLabelName, entityQuery.getLabelName());
wrapper.eq(Objects.nonNull(entityQuery.getEntityTypeFlag()), LabelDO::getEntityTypeFlag, entityQuery.getEntityTypeFlag());
wrapper.eq(StringUtils.isNotEmpty(entityQuery.getColor()), LabelDO::getLabelColor, entityQuery.getColor());
wrapper.eq(LabelDO::getTenantId, entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), LabelDO::getTenantId, entityQuery.getTenantId());
return wrapper;
}
@@ -125,9 +125,9 @@ public class PostgresRepositoryServiceImpl implements RepositoryService, Initial
*/
private LambdaQueryWrapper<PointValueDO> fuzzyQuery(PointValueQuery entityQuery) {
LambdaQueryWrapper<PointValueDO> wrapper = Wrappers.<PointValueDO>query().lambda();
wrapper.eq(PointValueDO::getTenantId, entityQuery.getTenantId());
wrapper.eq(PointValueDO::getDeviceId, entityQuery.getDeviceId());
wrapper.eq(PointValueDO::getPointId, entityQuery.getPointId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), PointValueDO::getTenantId, entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getDeviceId()), PointValueDO::getDeviceId, entityQuery.getDeviceId());
wrapper.eq(Objects.nonNull(entityQuery.getPointId()), PointValueDO::getPointId, entityQuery.getPointId());
return wrapper;
}
@@ -121,7 +121,7 @@ public class MessageServiceImpl implements MessageService {
private LambdaQueryWrapper<MessageDO> fuzzyQuery(MessageQuery entityQuery) {
LambdaQueryWrapper<MessageDO> wrapper = Wrappers.<MessageDO>query().lambda();
wrapper.like(StringUtils.isNotEmpty(entityQuery.getAlarmMessageTitle()), MessageDO::getMessageName, entityQuery.getAlarmMessageTitle());
wrapper.eq(MessageDO::getTenantId, entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), MessageDO::getTenantId, entityQuery.getTenantId());
return wrapper;
}
@@ -120,7 +120,7 @@ public class NotifyServiceImpl implements NotifyService {
private LambdaQueryWrapper<NotifyDO> fuzzyQuery(NotifyQuery entityQuery) {
LambdaQueryWrapper<NotifyDO> wrapper = Wrappers.<NotifyDO>query().lambda();
wrapper.like(StringUtils.isNotEmpty(entityQuery.getAlarmNotifyName()), NotifyDO::getNotifyName, entityQuery.getAlarmNotifyName());
wrapper.eq(NotifyDO::getTenantId, entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), NotifyDO::getTenantId, entityQuery.getTenantId());
return wrapper;
}
@@ -120,7 +120,7 @@ public class RuleServiceImpl implements RuleService {
private LambdaQueryWrapper<RuleDO> fuzzyQuery(RuleQuery entityQuery) {
LambdaQueryWrapper<RuleDO> wrapper = Wrappers.<RuleDO>query().lambda();
wrapper.like(StringUtils.isNotEmpty(entityQuery.getAlarmRuleName()), RuleDO::getRuleName, entityQuery.getAlarmRuleName());
wrapper.eq(RuleDO::getTenantId, entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), RuleDO::getTenantId, entityQuery.getTenantId());
return wrapper;
}
@@ -494,7 +494,7 @@ public class DeviceServiceImpl implements DeviceService {
wrapper.eq(StringUtils.isNotEmpty(entityQuery.getDeviceCode()), "dd.device_code", entityQuery.getDeviceCode());
wrapper.eq(FieldUtil.isValidIdField(entityQuery.getDriverId()), "dd.driver_id", entityQuery.getDriverId());
wrapper.eq(Objects.nonNull(entityQuery.getEnableFlag()), "dd.enable_flag", entityQuery.getEnableFlag());
wrapper.eq("dd.tenant_id", entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), "dd.tenant_id", entityQuery.getTenantId());
}
return wrapper.lambda();
}
@@ -176,7 +176,7 @@ public class DriverAttributeConfigServiceImpl implements DriverAttributeConfigSe
LambdaQueryWrapper<DriverAttributeConfigDO> wrapper = Wrappers.<DriverAttributeConfigDO>query().lambda();
wrapper.eq(FieldUtil.isValidIdField(entityQuery.getAttributeId()), DriverAttributeConfigDO::getAttributeId, entityQuery.getAttributeId());
wrapper.eq(FieldUtil.isValidIdField(entityQuery.getDeviceId()), DriverAttributeConfigDO::getDeviceId, entityQuery.getDeviceId());
wrapper.eq(DriverAttributeConfigDO::getTenantId, entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), DriverAttributeConfigDO::getTenantId, entityQuery.getTenantId());
return wrapper;
}
@@ -138,7 +138,7 @@ public class DriverAttributeServiceImpl implements DriverAttributeService {
wrapper.like(StringUtils.isNotEmpty(entityQuery.getAttributeName()), DriverAttributeDO::getAttributeName, entityQuery.getAttributeName());
wrapper.eq(Objects.nonNull(entityQuery.getAttributeTypeFlag()), DriverAttributeDO::getAttributeTypeFlag, entityQuery.getAttributeTypeFlag());
wrapper.eq(FieldUtil.isValidIdField(entityQuery.getDriverId()), DriverAttributeDO::getDriverId, entityQuery.getDriverId());
wrapper.eq(DriverAttributeDO::getTenantId, entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), DriverAttributeDO::getTenantId, entityQuery.getTenantId());
return wrapper;
}
@@ -181,7 +181,7 @@ public class DriverServiceImpl implements DriverService {
wrapper.eq(StringUtils.isNotEmpty(entityQuery.getServiceHost()), DriverDO::getServiceHost, entityQuery.getServiceHost());
wrapper.eq(Objects.nonNull(entityQuery.getDriverTypeFlag()), DriverDO::getDriverTypeFlag, entityQuery.getDriverTypeFlag());
wrapper.eq(Objects.nonNull(entityQuery.getEnableFlag()), DriverDO::getEnableFlag, entityQuery.getEnableFlag());
wrapper.eq(DriverDO::getTenantId, entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), DriverDO::getTenantId, entityQuery.getTenantId());
return wrapper;
}
@@ -202,7 +202,7 @@ public class PointAttributeConfigServiceImpl implements PointAttributeConfigServ
wrapper.eq(FieldUtil.isValidIdField(entityQuery.getAttributeId()), PointAttributeConfigDO::getAttributeId, entityQuery.getAttributeId());
wrapper.eq(FieldUtil.isValidIdField(entityQuery.getDeviceId()), PointAttributeConfigDO::getDeviceId, entityQuery.getDeviceId());
wrapper.eq(FieldUtil.isValidIdField(entityQuery.getPointId()), PointAttributeConfigDO::getPointId, entityQuery.getPointId());
wrapper.eq(PointAttributeConfigDO::getTenantId, entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), PointAttributeConfigDO::getTenantId, entityQuery.getTenantId());
return wrapper;
}
@@ -134,7 +134,7 @@ public class PointAttributeServiceImpl implements PointAttributeService {
wrapper.like(StringUtils.isNotEmpty(entityQuery.getAttributeName()), PointAttributeDO::getAttributeName, entityQuery.getAttributeName());
wrapper.eq(Objects.nonNull(entityQuery.getAttributeTypeFlag()), PointAttributeDO::getAttributeTypeFlag, entityQuery.getAttributeTypeFlag());
wrapper.eq(FieldUtil.isValidIdField(entityQuery.getDriverId()), PointAttributeDO::getDriverId, entityQuery.getDriverId());
wrapper.eq(PointAttributeDO::getTenantId, entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), PointAttributeDO::getTenantId, entityQuery.getTenantId());
return wrapper;
}
@@ -399,7 +399,7 @@ public class PointServiceImpl implements PointService {
wrapper.eq(Objects.nonNull(entityQuery.getRwFlag()), "dp.rw_flag", entityQuery.getRwFlag());
wrapper.eq(FieldUtil.isValidIdField(entityQuery.getProfileId()), "dp.profile_id", entityQuery.getProfileId());
wrapper.eq(Objects.nonNull(entityQuery.getEnableFlag()), "dp.enable_flag", entityQuery.getEnableFlag());
wrapper.eq("dp.tenant_id", entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), "dp.tenant_id", entityQuery.getTenantId());
return wrapper.lambda();
}
@@ -156,7 +156,7 @@ public class ProfileBindServiceImpl implements ProfileBindService {
LambdaQueryWrapper<ProfileBindDO> wrapper = Wrappers.<ProfileBindDO>query().lambda();
wrapper.eq(FieldUtil.isValidIdField(entityQuery.getProfileId()), ProfileBindDO::getProfileId, entityQuery.getProfileId());
wrapper.eq(FieldUtil.isValidIdField(entityQuery.getDeviceId()), ProfileBindDO::getDeviceId, entityQuery.getDeviceId());
wrapper.eq(ProfileBindDO::getTenantId, entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), ProfileBindDO::getTenantId, entityQuery.getTenantId());
return wrapper;
}
@@ -174,7 +174,7 @@ public class ProfileServiceImpl implements ProfileService {
wrapper.eq(StringUtils.isNotEmpty(entityQuery.getProfileCode()), "dp.profile_code", entityQuery.getProfileCode());
wrapper.eq(Objects.nonNull(entityQuery.getProfileShareFlag()), "dp.profile_share_flag", entityQuery.getProfileShareFlag());
wrapper.eq(Objects.nonNull(entityQuery.getEnableFlag()), "dp.enable_flag", entityQuery.getEnableFlag());
wrapper.eq("dp.tenant_id", entityQuery.getTenantId());
wrapper.eq(Objects.nonNull(entityQuery.getTenantId()), "dp.tenant_id", entityQuery.getTenantId());
return wrapper.lambda();
}