班级管理

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