paascloud/paascloud-master · error · UacBizException
UAC10011001
UAC10011001
Error message
ErrorCodeEnum.UAC10011001
What it means
UAC10011001 is thrown by UacRoleUserServiceImpl.deleteByUserId when the userId parameter is null. Deleting all role-user associations for a user requires the user id; a null would otherwise produce an unbounded delete, so the service rejects it immediately before touching the mapper.
Solutions
- Ensure the user id is loaded/validated before invoking deleteByUserId
- Add a null check on the user entity before the cascade delete
- Skip or log-and-continue for records with a null userId in batch jobs
- Verify the upstream user lookup succeeded (delete the user only after it is found)
Example fix
// before UacUser user = uacUserService.getByUserCode(code); uacRoleUserService.deleteByUserId(user.getId()); // NPE if user==null // after UacUser user = uacUserService.getByUserCode(code); Preconditions.checkNotNull(user, "user not found: " + code); uacRoleUserService.deleteByUserId(user.getId());
Defensive patterns
Strategy: validation
Validate before calling
if (user == null || user.getId() == null) { throw new IllegalStateException("cannot delete roles for unknown user"); } Type guard
boolean isDeletableUser(UacUser user) { return user != null && user.getId() != null; } Try / catch
try { uacRoleUserService.deleteByUserId(userId); } catch (UacBizException e) { if ("UAC10011001".equals(e.getCode())) { log.warn("skipped role-user delete: null userId"); return 0; } throw e; } Prevention
- Null-check the user entity before any cascade delete
- Ensure user lookups throw/return early when the user is missing
- Guard batch jobs against records with null ids
- Test user-delete flows end to end, including missing users
When it happens
Trigger: Calling deleteByUserId(null), typically inside a user-delete flow where the user object or its id was never loaded (e.g. user not found upstream and the null id propagated).
Common situations: Cascading user-deletion code that doesn't check the user lookup result, refactored callers that dropped an earlier null check, or batch jobs processing malformed records with missing user ids.
Related errors
AI-assisted analysis of paascloud/paascloud-master@781281a950 (2026-09-10).
Data as JSON: /api/errors/1f896d2693a50cda.
Report an issue: GitHub.
Appendix: source
Thrown at paascloud-provider/paascloud-provider-uac/src/main/java/com/paascloud/provider/service/impl/UacRoleUserServiceImpl.java:34
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
/**
* The class Uac role user service.
*
* @author paascloud.net@gmail.com
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class UacRoleUserServiceImpl extends BaseService<UacRoleUser> implements UacRoleUserService {
@Resource
private UacRoleUserMapper uacRoleUserMapper;
@Override
public int deleteByUserId(Long userId) {
if (null == userId) {
throw new UacBizException(ErrorCodeEnum.UAC10011001);
}
UacRoleUser param = new UacRoleUser();
param.setUserId(userId);
return uacRoleUserMapper.delete(param);
}
@Override
@Transactional(readOnly = true, rollbackFor = Exception.class)
public List<UacRoleUser> queryByUserId(Long userId) {
if (null == userId) {
throw new UacBizException(ErrorCodeEnum.UAC10011001);
}
return uacRoleUserMapper.listByUserId(userId);
}
@OverrideView on GitHub (pinned to 781281a950)