From 8503e4dfb461562e8162c8e4fc2f219c7d9c91f1 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Fri, 26 Jul 2024 17:50:42 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8F=AD=E7=BA=A7=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/controller/ClassController.java | 79 ++++++++++++++ .../modules/common/dao/ClassCourseDao.java | 9 ++ .../modules/common/dao/ClassEntityDao.java | 9 ++ .../modules/common/dao/ClassModelDao.java | 9 ++ .../modules/common/dao/ClassUserDao.java | 10 ++ .../modules/common/entity/ClassCourse.java | 2 +- .../modules/common/entity/ClassEntity.java | 12 ++- .../modules/common/entity/ClassModel.java | 37 +++++++ .../modules/common/entity/CourseEntity.java | 4 - .../common/service/ClassEntityService.java | 21 ++++ .../service/impl/ClassEntityServiceImpl.java | 102 ++++++++++++++++++ .../master/controller/CourseController.java | 12 --- .../modules/master/service/CourseService.java | 4 - .../service/impl/CourseServiceImpl.java | 30 ------ 14 files changed, 286 insertions(+), 54 deletions(-) create mode 100644 src/main/java/com/peanut/modules/common/controller/ClassController.java create mode 100644 src/main/java/com/peanut/modules/common/dao/ClassCourseDao.java create mode 100644 src/main/java/com/peanut/modules/common/dao/ClassEntityDao.java create mode 100644 src/main/java/com/peanut/modules/common/dao/ClassModelDao.java create mode 100644 src/main/java/com/peanut/modules/common/dao/ClassUserDao.java create mode 100644 src/main/java/com/peanut/modules/common/entity/ClassModel.java create mode 100644 src/main/java/com/peanut/modules/common/service/ClassEntityService.java create mode 100644 src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java diff --git a/src/main/java/com/peanut/modules/common/controller/ClassController.java b/src/main/java/com/peanut/modules/common/controller/ClassController.java new file mode 100644 index 00000000..1f0a03b2 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/controller/ClassController.java @@ -0,0 +1,79 @@ +package com.peanut.modules.common.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.peanut.common.utils.R; +import com.peanut.modules.common.entity.ClassEntity; +import com.peanut.modules.common.entity.ClassModel; +import com.peanut.modules.common.service.ClassEntityService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +@Slf4j +@RestController("commonClass") +@RequestMapping("common/class") +public class ClassController { + + @Autowired + private ClassEntityService classEntityService; + + @RequestMapping("/getClassModelList") + public R getClassModelList(@RequestBody Map params){ + Page classModelList = classEntityService.getClassModelList(params); + return R.ok().put("page",classModelList); + } + + @RequestMapping("/addClassModel") + public R addClassModel(@RequestBody ClassModel classModel){ + if (classEntityService.addClassModel(classModel)){ + return R.ok(); + }else { + return R.error("保存出错"); + } + } + + @RequestMapping("/getClassModelByUserid") + public R getClassModelByUserid(@RequestBody Map params){ + List classModelList = classEntityService.getClassModelByUserid(params); + return R.ok().put("classModelList",classModelList); + } + + @RequestMapping("/getClassList") + public R getClassList(@RequestBody Map params){ + Page classList = classEntityService.getClassList(params); + return R.ok().put("page",classList); + } + + @RequestMapping("/addClass") + public R addClass(@RequestBody ClassEntity classEntity){ + if (classEntityService.save(classEntity)){ + return R.ok(); + }else { + return R.error("保存出错"); + } + } + + @RequestMapping("/editClass") + public R editClass(@RequestBody ClassEntity classEntity){ + if (classEntityService.updateById(classEntity)){ + return R.ok(); + }else { + return R.error("编辑出错"); + } + } + + @RequestMapping("/delClass") + public R delClass(@RequestBody Map params){ + if (classEntityService.removeById((Integer)params.get("classId"))){ + return R.ok(); + }else { + return R.error("删除出错"); + } + } + +} diff --git a/src/main/java/com/peanut/modules/common/dao/ClassCourseDao.java b/src/main/java/com/peanut/modules/common/dao/ClassCourseDao.java new file mode 100644 index 00000000..1ff16b72 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/dao/ClassCourseDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.common.dao; + +import com.github.yulichang.base.MPJBaseMapper; +import com.peanut.modules.common.entity.ClassCourse; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ClassCourseDao extends MPJBaseMapper { +} diff --git a/src/main/java/com/peanut/modules/common/dao/ClassEntityDao.java b/src/main/java/com/peanut/modules/common/dao/ClassEntityDao.java new file mode 100644 index 00000000..1b8b6fa3 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/dao/ClassEntityDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.common.dao; + +import com.github.yulichang.base.MPJBaseMapper; +import com.peanut.modules.common.entity.ClassEntity; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ClassEntityDao extends MPJBaseMapper { +} diff --git a/src/main/java/com/peanut/modules/common/dao/ClassModelDao.java b/src/main/java/com/peanut/modules/common/dao/ClassModelDao.java new file mode 100644 index 00000000..fc3ede7c --- /dev/null +++ b/src/main/java/com/peanut/modules/common/dao/ClassModelDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.common.dao; + +import com.github.yulichang.base.MPJBaseMapper; +import com.peanut.modules.common.entity.ClassModel; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ClassModelDao extends MPJBaseMapper { +} diff --git a/src/main/java/com/peanut/modules/common/dao/ClassUserDao.java b/src/main/java/com/peanut/modules/common/dao/ClassUserDao.java new file mode 100644 index 00000000..777de9ca --- /dev/null +++ b/src/main/java/com/peanut/modules/common/dao/ClassUserDao.java @@ -0,0 +1,10 @@ +package com.peanut.modules.common.dao; + + +import com.github.yulichang.base.MPJBaseMapper; +import com.peanut.modules.common.entity.ClassUser; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ClassUserDao extends MPJBaseMapper { +} diff --git a/src/main/java/com/peanut/modules/common/entity/ClassCourse.java b/src/main/java/com/peanut/modules/common/entity/ClassCourse.java index d64d46ae..632f9505 100644 --- a/src/main/java/com/peanut/modules/common/entity/ClassCourse.java +++ b/src/main/java/com/peanut/modules/common/entity/ClassCourse.java @@ -12,7 +12,7 @@ public class ClassCourse { @TableId private Integer id; - private Integer classId; + private Integer modelId; private Integer courseId; diff --git a/src/main/java/com/peanut/modules/common/entity/ClassEntity.java b/src/main/java/com/peanut/modules/common/entity/ClassEntity.java index 83d6f36a..3b437d7a 100644 --- a/src/main/java/com/peanut/modules/common/entity/ClassEntity.java +++ b/src/main/java/com/peanut/modules/common/entity/ClassEntity.java @@ -1,5 +1,6 @@ package com.peanut.modules.common.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; @@ -13,6 +14,8 @@ public class ClassEntity { @TableId private Integer id; + private Integer modelId; + private String title; //小班状态 0待开班1进行中2完成 @@ -22,15 +25,18 @@ public class ClassEntity { private String content; - private Integer create_user; + private Integer createUserid; private Date createTime; - private Date start_time; + private Date startTime; - private Date end_time; + private Date endTime; @TableLogic private Integer delFlag; + @TableField(exist = false) + private Object createUser; + } diff --git a/src/main/java/com/peanut/modules/common/entity/ClassModel.java b/src/main/java/com/peanut/modules/common/entity/ClassModel.java new file mode 100644 index 00000000..75e5f9d1 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/entity/ClassModel.java @@ -0,0 +1,37 @@ +package com.peanut.modules.common.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.List; + +@Data +@TableName("class_model") +public class ClassModel { + + @TableId + private Integer id; + + private String title; + + private Integer directorId; + + private Integer ddirectorId; + + private String type;//班类型 0小班 1联合班 2精英班 + + @TableLogic + private Integer delFlag; + + @TableField(exist = false) + private Object director; + @TableField(exist = false) + private Object ddirector; + @TableField(exist = false) + private String courseIds; + @TableField(exist = false) + private List courseList; +} diff --git a/src/main/java/com/peanut/modules/common/entity/CourseEntity.java b/src/main/java/com/peanut/modules/common/entity/CourseEntity.java index d872abb6..14f42bc7 100644 --- a/src/main/java/com/peanut/modules/common/entity/CourseEntity.java +++ b/src/main/java/com/peanut/modules/common/entity/CourseEntity.java @@ -21,10 +21,6 @@ public class CourseEntity { private String title; - private Integer director; - - private Integer ddirector; - private Integer sort; private String image; diff --git a/src/main/java/com/peanut/modules/common/service/ClassEntityService.java b/src/main/java/com/peanut/modules/common/service/ClassEntityService.java new file mode 100644 index 00000000..6b405438 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/ClassEntityService.java @@ -0,0 +1,21 @@ +package com.peanut.modules.common.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.ClassEntity; +import com.peanut.modules.common.entity.ClassModel; + +import java.util.List; +import java.util.Map; + +public interface ClassEntityService extends IService { + + Page getClassModelList(Map params); + + boolean addClassModel(ClassModel classModel); + + List getClassModelByUserid(Map params); + + Page getClassList(Map params); + +} diff --git a/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java new file mode 100644 index 00000000..9d89d810 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java @@ -0,0 +1,102 @@ +package com.peanut.modules.common.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.peanut.modules.common.dao.ClassCourseDao; +import com.peanut.modules.common.dao.ClassEntityDao; +import com.peanut.modules.common.dao.ClassModelDao; +import com.peanut.modules.common.dao.MyUserDao; +import com.peanut.modules.common.entity.*; +import com.peanut.modules.common.service.ClassEntityService; +import com.peanut.modules.sys.dao.SysUserDao; +import com.peanut.modules.sys.entity.SysUserEntity; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +@Slf4j +@Service("masterClassEntityService") +public class ClassEntityServiceImpl extends ServiceImpl implements ClassEntityService { + + @Autowired + private ClassModelDao classModelDao; + @Autowired + private ClassCourseDao classCourseDao; + @Autowired + private MyUserDao myUserDao; + @Autowired + private SysUserDao sysUserDao; + + @Override + public Page getClassModelList(Map params) { + Integer limit = Integer.valueOf(params.get("limit").toString()); + Integer page = Integer.valueOf(params.get("page").toString()); + MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); + Page classModelPage = classModelDao.selectPage(new Page<>(page, limit), wrapper); + for (ClassModel classModel:classModelPage.getRecords()){ + setDirectorCourse(classModel); + } + return classModelPage; + } + + @Override + public boolean addClassModel(ClassModel classModel) { + if (classModelDao.insert(classModel)>0){ + String[] crouseIds = classModel.getCourseIds().split(","); + for (String crouseId : crouseIds) { + ClassCourse classCourse = new ClassCourse(); + classCourse.setCourseId(Integer.parseInt(crouseId)); + classCourse.setModelId(classModel.getId()); + return classCourseDao.insert(classCourse)>0; + } + } + return false; + } + + @Override + public List getClassModelByUserid(Map params) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.and(t->t.eq(ClassModel::getDirectorId,params.get("userId")).or().eq(ClassModel::getDdirectorId,params.get("userId"))); + List classModelList = classModelDao.selectList(wrapper); + if (classModelList.size() > 0){ + for (ClassModel classModel : classModelList) { + setDirectorCourse(classModel); + } + } + return classModelList; + } + + private void setDirectorCourse(ClassModel classModel){ + classModel.setDirector(myUserDao.selectById(classModel.getDirectorId())); + classModel.setDdirector(myUserDao.selectById(classModel.getDdirectorId())); + MPJLambdaWrapper modelwrapper = new MPJLambdaWrapper<>(); + modelwrapper.leftJoin(ClassCourse.class,ClassCourse::getModelId,ClassModel::getId); + modelwrapper.leftJoin(CourseEntity.class,CourseEntity::getId,ClassCourse::getCourseId); + modelwrapper.selectAll(CourseEntity.class); + classModel.setCourseList(classModelDao.selectJoinList(CourseEntity.class,modelwrapper)); + } + + @Override + public Page getClassList(Map params) { + Integer limit = Integer.valueOf(params.get("limit").toString()); + Integer page = Integer.valueOf(params.get("page").toString()); + MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); + wrapper.orderByDesc(ClassEntity::getCreateTime); + Page classEntityPage = this.getBaseMapper().selectPage(new Page<>(page, limit), wrapper); + for (ClassEntity classEntity:classEntityPage.getRecords()){ + MyUserEntity user = myUserDao.selectById(classEntity.getCreateUserid()); + if (user == null) { + SysUserEntity sysUser = sysUserDao.selectById(classEntity.getCreateUserid()); + classEntity.setCreateUser(sysUser); + }else { + classEntity.setCreateUser(user); + } + } + return classEntityPage; + } +} diff --git a/src/main/java/com/peanut/modules/master/controller/CourseController.java b/src/main/java/com/peanut/modules/master/controller/CourseController.java index 1a5d64b8..895bfeeb 100644 --- a/src/main/java/com/peanut/modules/master/controller/CourseController.java +++ b/src/main/java/com/peanut/modules/master/controller/CourseController.java @@ -233,18 +233,6 @@ public class CourseController { return courseService.getCourseLableLinkList(param); } - //查询课程主任 - @RequestMapping("/getCourseDirector") - public R getCourseDirector(@RequestBody Map param){ - return courseService.getCourseDirector(param); - } - - //编辑课程主任 - @RequestMapping("/editCourseDirector") - public R editCourseDirector(@RequestBody Map param){ - return courseService.editCourseDirector(param); - } - diff --git a/src/main/java/com/peanut/modules/master/service/CourseService.java b/src/main/java/com/peanut/modules/master/service/CourseService.java index e4e16813..0c9f67aa 100644 --- a/src/main/java/com/peanut/modules/master/service/CourseService.java +++ b/src/main/java/com/peanut/modules/master/service/CourseService.java @@ -31,10 +31,6 @@ public interface CourseService extends IService { R getCourseLableLinkList(Map param); - R getCourseDirector(Map param); - - R editCourseDirector(Map param); - Page getProductListForCourse(Map param); List catalogueListByCourse(Map params); diff --git a/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java index ae41a2d7..abb2c330 100644 --- a/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java +++ b/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java @@ -282,36 +282,6 @@ public class CourseServiceImpl extends ServiceImpl impl return R.ok().put("resList",resList); } - @Override - public R getCourseDirector(Map param) { - CourseEntity course = this.getById((Integer)param.get("courseId")); - MyUserEntity director = userDao.selectById(course.getDirector()); - MyUserEntity ddirector = userDao.selectById(course.getDdirector()); - return R.ok().put("director",director).put("ddirector",ddirector); - } - - @Override - public R editCourseDirector(Map param) { - int director = (Integer)param.get("director"); - int ddirector = (Integer)param.get("ddirector"); - if ((director==0&&ddirector==0)||director!=ddirector){ - CourseEntity course = this.getById((Integer)param.get("courseId")); - if (course != null) { - course.setDirector(director); - course.setDdirector(ddirector); - if (this.saveOrUpdate(course)){ - return R.ok(); - }else { - return R.error("编辑失败!"); - } - }else { - return R.error("未查询到课程!"); - } - }else { - return R.error("不能是同一人!"); - } - } - @Override public Page getProductListForCourse(Map param) { Integer limit = Integer.valueOf(param.get("limit").toString());