@Override
  public Integer createResource(Resource resource, User user) {
    // 生成structure
    String structure = "1";
    Resource parentResource = resourceMapper.selectByPrimaryKey(resource.getParentId());
    List<Resource> resources = resourceMapper.getResourceListByParentId(resource.getParentId());
    if (resources == null || resources.size() == 0) {
      structure = parentResource.getStructure() + "-1";
    } else {
      Integer parentLevel = parentResource.getStructure().split("-").length;

      for (Resource r : resources) {
        String[] structures = r.getStructure().split("-");
        if (structures.length == parentLevel + 1) {
          if (StringUtil.isNumber(structures[structures.length - 1])
              && StringUtil.compareTo(structures[structures.length - 1], structure) > 0) {
            structure = structures[structures.length - 1];
          }
        }
      }
      structure = String.valueOf(Integer.parseInt(structure) + 1);
      structure = parentResource.getStructure() + "-" + structure;
    }

    resource.setStructure(structure);

    setResourceInsert(resource, user);

    return resourceMapper.insertSelective(resource);
  }