开明课程: 查看状态 操作里的开通课程 开通后完成叶子节点 的操作 显示变为 两个横线-)
开通课程: 查看状态 操作里的开通课程 开通后完成叶子节点 的操作 显示变为 两个横线--)
/*function :找到整个树并找到已购的课程 * @param: * */ private void treeBuy(Integer cid, Integer level,boolean[] aryIsLastNode, boolean isBuyFlag) { int index = 0; List<Course> list = (List<Course>) coursedao.findByPid(cid); for (Course t : list) { /* * System.out.println("-----list:" + list.toString()); * System.out.println("-----t:" + t); * System.out.println("-----list.size():" + list.size()); */ String symbol = ""; String symbolf = ""; index++; // System.out.println("-----index:" + index); // 先画上级节点延续下来的"|"+空格,空格具体数目由层数决定 //System.out.println("-----level:" + level); for (int lev = 0; lev < level; lev++) { if(aryIsLastNode[lev]==false) symbolf += "│"; else symbolf += " "; } // 是否为最后一个节点 if (index == list.size()) { symbol = "└"; } else { symbol = "├"; } String cname = symbolf + symbol + t.getCname(); t.setCname(cname); // System.out.println("-----t:" + t.getCname()); boolean bIsBuy = false; if (t.getLeaf() == 0) { //判断一下他的上级是否已经是被购买了 if (!isBuyFlag) { bIsBuy = stdCsd.findStdCourseByScId(mStdId, t.getCid()); CreateCourseBuyRec(t, bIsBuy, bIsBuy); } else { CreateCourseBuyRec(t,true, false); } } else { //判断一下他的上级是否已经是被购买了 if (!isBuyFlag) { bIsBuy = stdCsd.findStdCourseByScId(mStdId, t.getCid()); CreateCourseBuyRec(t, bIsBuy, bIsBuy); } else { CreateCourseBuyRec(t,true, false); } t.setLevel(level + 1); if(index==list.size()){ aryIsLastNode[level]=true; } else{ aryIsLastNode[level]=false; } treeBuy(t.getCid(), t.getLevel(),aryIsLastNode,bIsBuy); } } } public void CreateCourseBuyRec(Course cs, boolean isBuy, boolean isRoot) { CourseIsBuy ss = new CourseIsBuy(); ss.setCs(cs); ss.setBuy(isBuy); ss.setIsRootCourse(isRoot); ListBuyTree.add(ss); } public List<CourseIsBuy> findTreeForBuy(int stdId) { mStdId = stdId; l.clear(); List<Course> list = (List<Course>) coursedao.findByPid(0); for (Course t : list) { if (t.getLeaf() != 0) { boolean bIsBuy = stdCsd.findStdCourseByScId(stdId, t.getCid()); CreateCourseBuyRec(t, bIsBuy, bIsBuy); aryNodeStatus[0]=true; this.treeBuy(t.getCid(), 0, aryNodeStatus, bIsBuy); } else { boolean bIsBuy = stdCsd.findStdCourseByScId(stdId, t.getCid()); CreateCourseBuyRec(t, bIsBuy, false); } } return ListBuyTree; }