班级管理

This commit is contained in:
wuchunlei
2024-07-26 17:50:42 +08:00
parent 01c3c49747
commit 8503e4dfb4
14 changed files with 286 additions and 54 deletions

View File

@@ -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<String,Object> 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<String,Object> params){
List<ClassModel> classModelList = classEntityService.getClassModelByUserid(params);
return R.ok().put("classModelList",classModelList);
}
@RequestMapping("/getClassList")
public R getClassList(@RequestBody Map<String,Object> 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<String,Object> params){
if (classEntityService.removeById((Integer)params.get("classId"))){
return R.ok();
}else {
return R.error("删除出错");
}
}
}

View File

@@ -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<ClassCourse> {
}

View File

@@ -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<ClassEntity> {
}

View File

@@ -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<ClassModel> {
}

View File

@@ -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<ClassUser> {
}

View File

@@ -12,7 +12,7 @@ public class ClassCourse {
@TableId
private Integer id;
private Integer classId;
private Integer modelId;
private Integer courseId;

View File

@@ -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;
}

View File

@@ -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<CourseEntity> courseList;
}

View File

@@ -21,10 +21,6 @@ public class CourseEntity {
private String title;
private Integer director;
private Integer ddirector;
private Integer sort;
private String image;

View File

@@ -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<ClassEntity> {
Page getClassModelList(Map<String ,Object> params);
boolean addClassModel(ClassModel classModel);
List<ClassModel> getClassModelByUserid(Map<String ,Object> params);
Page getClassList(Map<String ,Object> params);
}

View File

@@ -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<ClassEntityDao, ClassEntity> implements ClassEntityService {
@Autowired
private ClassModelDao classModelDao;
@Autowired
private ClassCourseDao classCourseDao;
@Autowired
private MyUserDao myUserDao;
@Autowired
private SysUserDao sysUserDao;
@Override
public Page getClassModelList(Map<String, Object> params) {
Integer limit = Integer.valueOf(params.get("limit").toString());
Integer page = Integer.valueOf(params.get("page").toString());
MPJLambdaWrapper<ClassModel> wrapper = new MPJLambdaWrapper<>();
Page<ClassModel> 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<ClassModel> getClassModelByUserid(Map<String, Object> params) {
LambdaQueryWrapper<ClassModel> wrapper = new LambdaQueryWrapper<>();
wrapper.and(t->t.eq(ClassModel::getDirectorId,params.get("userId")).or().eq(ClassModel::getDdirectorId,params.get("userId")));
List<ClassModel> 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<ClassModel> 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<String, Object> params) {
Integer limit = Integer.valueOf(params.get("limit").toString());
Integer page = Integer.valueOf(params.get("page").toString());
MPJLambdaWrapper<ClassEntity> wrapper = new MPJLambdaWrapper<>();
wrapper.orderByDesc(ClassEntity::getCreateTime);
Page<ClassEntity> 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;
}
}

View File

@@ -233,18 +233,6 @@ public class CourseController {
return courseService.getCourseLableLinkList(param);
}
//查询课程主任
@RequestMapping("/getCourseDirector")
public R getCourseDirector(@RequestBody Map<String,Object> param){
return courseService.getCourseDirector(param);
}
//编辑课程主任
@RequestMapping("/editCourseDirector")
public R editCourseDirector(@RequestBody Map<String,Object> param){
return courseService.editCourseDirector(param);
}

View File

@@ -31,10 +31,6 @@ public interface CourseService extends IService<CourseEntity> {
R getCourseLableLinkList(Map<String,Object> param);
R getCourseDirector(Map<String,Object> param);
R editCourseDirector(Map<String,Object> param);
Page<ShopProduct> getProductListForCourse(Map<String,Object> param);
List<CourseCatalogueEntity> catalogueListByCourse(Map<String, Object> params);

View File

@@ -282,36 +282,6 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> impl
return R.ok().put("resList",resList);
}
@Override
public R getCourseDirector(Map<String, Object> 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<String, Object> 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<ShopProduct> getProductListForCourse(Map<String, Object> param) {
Integer limit = Integer.valueOf(param.get("limit").toString());