/** 删除用户,如果尝试删除超级管理员将抛出异常. */
 public void deleteUser(Long id) {
   if (isSupervisor(id)) {
     logger.warn("操作员{}尝试删除超级管理员用户", SpringSecurityUtils.getCurrentUserName());
     throw new ServiceException("不能删除超级管理员用户");
   }
   userDao.delete(id);
 }
 /**
  * 检查用户名是否唯一.
  *
  * @return loginName在数据库中唯一或等于oldLoginName时返回true.
  */
 @Transactional(readOnly = true)
 public boolean isLoginNameUnique(String newLoginName, String oldLoginName) {
   return userDao.isPropertyUnique("loginName", newLoginName, oldLoginName);
 }
 @Transactional(readOnly = true)
 public User findUserByLoginName(String loginName) {
   return userDao.findUniqueBy("loginName", loginName);
 }
 /** 使用属性过滤条件查询用户. */
 @Transactional(readOnly = true)
 public Page<User> searchUser(final Page<User> page, final List<PropertyFilter> filters) {
   return userDao.findPage(page, filters);
 }
 public void saveUser(User entity) {
   userDao.save(entity);
 }
 // -- User Manager --//
 @Transactional(readOnly = true)
 public User getUser(Long id) {
   return userDao.get(id);
 }