@RequiresUser
 @ResponseBody
 @RequestMapping(value = "treeData")
 public List<Map<String, Object>> treeData(
     String module, @RequestParam(required = false) String extId, HttpServletResponse response) {
   response.setContentType("application/json; charset=UTF-8");
   List<Map<String, Object>> mapList = Lists.newArrayList();
   List<Category> list = categoryService.findByUser(true, module);
   for (int i = 0; i < list.size(); i++) {
     Category e = list.get(i);
     if (extId == null
         || (extId != null
             && !extId.equals(e.getId())
             && e.getParentIds().indexOf("," + extId + ",") == -1)) {
       Map<String, Object> map = Maps.newHashMap();
       map.put("id", e.getId());
       map.put("pId", e.getParent() != null ? e.getParent().getId() : 0);
       map.put("name", e.getName());
       map.put("module", e.getModule());
       mapList.add(map);
     }
   }
   return mapList;
 }
  @RequiresPermissions("cms:category:edit")
  @RequestMapping(value = "delete")
  public String delete(
      Category category, HttpServletRequest request, RedirectAttributes redirectAttributes) {
    if (Global.isDemoMode()) {
      addMessage(redirectAttributes, "演示模式,不允许操作!");
      return "redirect:" + adminPath + "/cms/category/";
    }
    if (Category.isRoot(category.getId())) {
      addMessage(redirectAttributes, "删除栏目失败, 不允许删除顶级栏目或编号为空");
    } else {
      categoryService.delete(category);
      addMessage(redirectAttributes, "删除栏目成功");
    }

    String no = request.getParameter("pageNum");
    return "redirect:" + adminPath + "/cms/category/" + "?pageNum=" + no;
  }