//课程分类列表方法

//一级分类
@Data
public class OneSubject {

private String id;
private String title;//一个一级分类中有多个二级分类
private List<TwoSubject> children = new ArrayList<>();

}

//二级分类
@Data
public class TwoSubject {

private String id;
private String title;

}

@Override
public List<OneSubject> getAllOneTwoSubject() {//1.查询出所有的一级分类  条件:parent_id = 0QueryWrapper<EduSubject> wrapper = new QueryWrapper<>();wrapper.eq("parent_id","0");List<EduSubject> OneSubjectList = baseMapper.selectList(wrapper);//2.查询出所有的二级分类  parent_id != 0QueryWrapper<EduSubject> wrapper1 = new QueryWrapper<>();wrapper1.ne("parent_id","0");List<EduSubject> twoSubjectList = baseMapper.selectList(wrapper1);//创建一个List集合,封装所有的最终的一级二级分类List<OneSubject> finalSubjectList = new ArrayList<>();//3.封装一级分类//就是把OneSubjectList一级分类封装到finalSubjectList中去//遍历出OneSubjectList的值,再封装到finalSubjectList去for (int i = 0; i < OneSubjectList.size(); i++) {//得到OneSubjectList中的每个对象EduSubject eduSubject = OneSubjectList.get(i);OneSubject oneSubject = new OneSubject();//把eduSubject中的值取出来放到oneSubject中去BeanUtils.copyProperties(eduSubject,oneSubject);finalSubjectList.add(oneSubject);//4.封装二级分类//在一级分类中遍历查询所有的二级分类//创建list集合封装每个一级分类的二级分类List<TwoSubject> twoFinalSubjectList = new ArrayList<>();//遍历二级分类list集合for (int m = 0; m < twoSubjectList.size(); m++) {//获取每个二级分类EduSubject tSubject = twoSubjectList.get(m);//判断一级分类的id与二级分类的parent_id是否一样if(eduSubject.getId().equals(tSubject.getParentId())){//把tSubject的值复制到TwoSubject里面。放到twoFinalSubjectList里面TwoSubject twoSubject = new TwoSubject();BeanUtils.copyProperties(tSubject,twoSubject);twoFinalSubjectList.add(twoSubject);}}//把一级下面所有的二级分类放到一级分类里面去oneSubject.setChildren(twoFinalSubjectList);}return finalSubjectList;
}

添加课程分类方法

@Data
public class SubjectData {

@ExcelProperty(index = 0)
private String oneSubjectName;
@ExcelProperty(index = 1)
private String twoSubjectName;

}

//添加课程分类
@Override
public void saveSubject(MultipartFile file,EduSubjectService eduSubjectService) {

    try {//获取文件输入流InputStream inputStream = file.getInputStream();//调用方法进行读取EasyExcel.read(inputStream, SubjectData.class,new SubjectListener(eduSubjectService)).sheet().doRead();} catch (IOException e) {e.printStackTrace();}
}

课程分类管理(树形一级二级分类),添加课程分类相关推荐

  1. Day206.课程分类【导入功能】前端实现、 课程分类列表【显示功能】、课程管理【模块需求、添加课程功能】 -谷粒学院

    谷粒学院 [课程分类]-导入前端实现 一.配置路由 1.添加路由 src/router/index.js //课程分类{path: 'subject',component: Layout,redire ...

  2. 硅谷课堂 06_整合腾讯云对象存储和课程分类管理

    硅谷课堂第六天-整合腾讯云对象存储和课程分类管理 文章目录 硅谷课堂第六天-整合腾讯云对象存储和课程分类管理 一.讲师管理模块整合腾讯云对象存储 1.腾讯云对象存储介绍 1.1.开通"对象存 ...

  3. 硅谷课堂第五课-腾讯云对象存储和课程分类管理

    硅谷课堂第六天-整合腾讯云对象存储和课程分类管理 文章目录 硅谷课堂第六天-整合腾讯云对象存储和课程分类管理 一.讲师管理模块整合腾讯云对象存储 1.腾讯云对象存储介绍 1.1.开通"对象存 ...

  4. 学成在线--16.添加课程计划

    文章目录 一.需求分析 二.API接口 三.后端 1.Dao 2.Service 3.Controller 4.测试 四.前端 1.页面原型说明 1)添加按钮 2)视图部分 3)在数据模型中添加如下变 ...

  5. 课程分类管理-添加课程分类

    业务处理 SubjectAdminController @Api(description="课程分类管理") @CrossOrigin //跨域 @RestController @ ...

  6. 谷粒学院——Day07【课程发布-添加课程信息】

    课程分类管理[添加分类前端] 一.配置路由 1. 添加路由 在 src/router/index.js 中添加路由: {// 地址输入path: '/subject',component: Layou ...

  7. 谷粒学苑 —— 5、课程分类管理

    1.EasyExcel 的使用 官方地址: GitHub:GitHub - alibaba/easyexcel: 快速.简洁.解决大文件内存溢出的java处理Excel工具 官网:EasyExcel官 ...

  8. 课程发布-添加课程信息

    一.需求 01-课程发布表单-步骤导航 二.配置路由 1.添加路由 // 课程管理 {path: '/edu/course',component: Layout,redirect: '/edu/cou ...

  9. 谷粒学苑 —— 6、课程管理:课程发布页面1 —— 添加课程信息

    目录 1.使用代码生成器生成代码 2.添加课程信息 2.1.后端代码 2.1.1.创建 VO 类用于封装表单信息 2.1.2.修改课程简介实体类的主键生成策略 2.1.3.Service 方法 2.1 ...

最新文章

  1. 个人学习某个系统或平台的3问式的整理和细化指引
  2. 什么是SESSION?(一)
  3. 各种机器学习方法的优缺点
  4. Cuckoo hash算法分析——其根本思想和bloom filter一致 增加hash函数来解决碰撞 节省了空间但代价是查找次数增加...
  5. (JAVA)File类2
  6. js获取数组前n项的和
  7. Hibernate框架 配置文件基本架构
  8. linux shell基础(1)
  9. IOS 之 NSBundle 使用
  10. 深度学习应用:入门篇(下)
  11. apache和php结合、apache的默认虚拟主机
  12. Input 输入调出数字输入
  13. 这次,大数据工程师赢了!
  14. 使用Axure完成交互式UI设计
  15. HTML-HTML协议简单解析
  16. Visual Studio版本汇总比较
  17. linux vsftp查看ftp账号信息的方法
  18. MA、WMA、EMA、EXPMA区别及公式详述
  19. pdf阅读器(福昕pdf阅读器电脑版)免安装pjb
  20. 电商优惠券如何设计?

热门文章

  1. 理解WebKit和Chromium: Web应用和Web运行环境
  2. 拳皇13 for Mac 街机格斗游戏 兼容10.15
  3. Tkinter实现登录成功后进入主界面
  4. 关于Android单元测试
  5. 单元测试,Win7设置wifi热点
  6. 99. 激光炸弹 java 题解 (前缀和)
  7. 每月 5 号发工资和 25 号发工资,真能看出公司是否靠谱?
  8. 【C语言】中文符号(句号,问号,感叹号)作为标识符进行分行处理
  9. 【 yum在线安装】
  10. (转)JBPM和JPDL