/** * 拿到页面需要的type格式数据 * * @return * @throws Exception */ public List<PageMusicType> getAll() throws Exception { // 先拿到所有音乐类型 List<MusicType> musicTypes = findAll(); List<PageMusicType> pageMusicTypes = new ArrayList<>(); // 遍历,返回PageMusicType for (MusicType musicType : musicTypes) { // 父级别 if (musicType.getFatherId() == null) { PageMusicType pageMusicType = new PageMusicType(); pageMusicType.setTypeName(musicType.getTypeName()); pageMusicType.setTypeid(musicType.getId()); // 我这儿只有一层 setTypeChild(pageMusicType, musicTypes); pageMusicTypes.add(pageMusicType); } } return pageMusicTypes; }
// 设置子类别 private void setTypeChild(PageMusicType pageMusicType, List<MusicType> musicTypes) { for (MusicType musicType : musicTypes) { if (musicType.getFatherId() != null && musicType.getFatherId().equals(pageMusicType.getTypeid())) { PageMusicType pageMuTypeChild = new PageMusicType(); pageMuTypeChild.setTypeName(musicType.getTypeName()); pageMuTypeChild.setTypeid(musicType.getId()); if (pageMusicType.getChild() == null) { pageMusicType.setChild(new ArrayList<PageMusicType>()); } pageMusicType.getChild().add(pageMuTypeChild); } } }