/**
   * 新增用户
   *
   * @param entity 用户实体
   */
  public void insertUser(User entity) {
    if (!isUsernameUnique(entity.getUsername())) {
      throw new ServiceException("用户名已存在");
    }

    String password = new SimpleHash("MD5", entity.getPassword()).toHex();

    entity.setPassword(password);
    userDao.save(entity);
  }
  /**
   * 更新当前用户密码
   *
   * @param oldPassword 旧密码
   * @param newPassword 新密码
   * @return boolean
   */
  public boolean updateUserPassword(String oldPassword, String newPassword) {
    User user = SystemVariableUtils.getCommonVariableModel().getUser();

    oldPassword = new SimpleHash("MD5", oldPassword.toCharArray()).toString();
    if (user.getPassword().equals(oldPassword)) {
      String temp = new SimpleHash("MD5", newPassword).toHex();
      userDao.updatePassword(user.getId(), temp);
      user.setPassword(temp);
      return true;
    }

    return false;
  }
  /**
   * 通过属性过滤器查询用户分页
   *
   * @param request 分页参数
   * @param filters 属性过滤器集合
   * @return {@link Page}
   */
  public Page<User> searchUserPage(Pageable request, List<PropertyFilter> filters) {

    return userDao.findAll(request, filters);
  }
 /**
  * 通过id获取用户实体
  *
  * @param id 用户id
  */
 public User getUser(String id) {
   return userDao.findOne(id);
 }
 /**
  * 通过用户名获取用户实体
  *
  * @param username 用户实体
  * @return {@link User}
  */
 public User getUserByUsername(String username) {
   return userDao.findOne("EQS_username", username);
 }
 /**
  * 删除用户
  *
  * @param ids 用户id集合
  */
 public void deleteUsers(List<String> ids) {
   userDao.delete(userDao.findAll(ids));
 }
 /**
  * 是否唯一的用户名 如果是返回true,否则返回false
  *
  * @param username 用户名
  * @return boolean
  */
 public boolean isUsernameUnique(String username) {
   return userDao.findOne("username", (Object) username) == null;
 }
 /**
  * 更新用户
  *
  * @param entity 用户实体
  */
 @CacheEvict(value = ShiroAuthorizationCache, allEntries = true)
 public void updateUser(User entity) {
   userDao.save(entity);
 }