@Test
  @SuppressWarnings("unchecked")
  public void testGrantAllResourceToDept() throws Exception {
    // 岗位ID
    String deptId = "8a8140ef4c112cf6014c112d6efd0000";

    // 查询出所有有效的菜单的ID(在权限表中,资源的id对应的是菜单的id)
    List<String> resourceIds =
        session
            .createCriteria(Menu.class)
            .setProjection(Projections.id())
            .add(Restrictions.eq("status", CommonStatus.ACTIVE.getValue()))
            .add(Restrictions.eq("show", true))
            .list();
    Assert.assertNotNull("没有查询到菜单资源数据!", resourceIds);
    Assert.assertTrue("没有查询到菜单资源数据!", !resourceIds.isEmpty());

    logger.info("开始将[菜单资源]授予岗位:" + deptId);
    int i = 0;
    for (String id : resourceIds) {
      AccreditMenu accreditMenu = new AccreditMenu();
      accreditMenu.setResourceId(id);
      accreditMenu.setDeptId(deptId);
      accreditMenu.setId(UUIDGenerator.generate());
      session.save(accreditMenu);
      if (i++ % 10 == 0) {
        session.flush();
        session.clear();
      }
    }
  }
 @Override
 public List<SysParamItemVo> queryValid(String type) {
   if (StringUtils.isEmpty(type)) {
     throw new IllegalArgumentException("根据参数类型查询有效的选项时,没有获得类型编号!");
   }
   SysParamItemBo bo = new SysParamItemBo();
   bo.setType(type);
   bo.setStatus(CommonStatus.ACTIVE.getValue());
   List<SysParamItem> items = dao.query(bo);
   return VoHelper.wrapVos(
       items,
       new VoWrapper<SysParamItem, SysParamItemVo>() {
         @Override
         public SysParamItemVo wrap(SysParamItem sysParamItem) {
           SysParamItemVo vo = new SysParamItemVo();
           vo.setId(sysParamItem.getId());
           vo.setName(sysParamItem.getName());
           vo.setType(sysParamItem.getType());
           vo.setValue(sysParamItem.getValue());
           vo.setCascadeTypeCode(sysParamItem.getCascadeTypeCode());
           vo.setCascadeItemValue(sysParamItem.getCascadeItemValue());
           return vo;
         }
       });
 }
  @Override
  public void deleteByIds(String... ids) {
    if (ids == null || ids.length == 0) return;
    for (String id : ids) {
      SysParamItem item = dao.findById(id);
      if (item == null) {
        throw new EntityNotFoundException(id);
      }

      // 删除或更改状态
      String status = item.getStatus();
      if (CommonStatus.ACTIVE.getValue().equals(status)) {
        item.setStatus(CommonStatus.CANCELED.getValue());
      } else if (CommonStatus.INACTIVE.getValue().equals(status)) {
        dao.delete(item);
      }

      // 更新缓存
      //            noticeBroker(item.getType());
      ParameterContainer.getInstance().reloadSystem(item.getType());
    }
  }