班级管理
This commit is contained in:
@@ -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("删除出错");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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> {
|
||||
}
|
||||
@@ -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> {
|
||||
}
|
||||
@@ -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> {
|
||||
}
|
||||
@@ -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> {
|
||||
}
|
||||
@@ -12,7 +12,7 @@ public class ClassCourse {
|
||||
@TableId
|
||||
private Integer id;
|
||||
|
||||
private Integer classId;
|
||||
private Integer modelId;
|
||||
|
||||
private Integer courseId;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -21,10 +21,6 @@ public class CourseEntity {
|
||||
|
||||
private String title;
|
||||
|
||||
private Integer director;
|
||||
|
||||
private Integer ddirector;
|
||||
|
||||
private Integer sort;
|
||||
|
||||
private String image;
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user