小班相关

This commit is contained in:
wuchunlei
2024-07-30 10:49:38 +08:00
parent 8503e4dfb4
commit 8322cb8089
5 changed files with 192 additions and 16 deletions

View File

@@ -14,8 +14,16 @@ public interface ClassEntityService extends IService<ClassEntity> {
boolean addClassModel(ClassModel classModel);
boolean editClassModel(ClassModel classModel);
List<ClassModel> getClassModelByUserid(Map<String ,Object> params);
Page getClassList(Map<String ,Object> params);
boolean addClass(Map<String ,Object> params);
boolean editClass(Map<String ,Object> params);
boolean setUserRole(Map<String ,Object> params);
}

View File

@@ -4,15 +4,14 @@ 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.common.utils.ShiroUtils;
import com.peanut.modules.common.dao.*;
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.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -28,6 +27,8 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
@Autowired
private ClassCourseDao classCourseDao;
@Autowired
private ClassUserDao classUserDao;
@Autowired
private MyUserDao myUserDao;
@Autowired
private SysUserDao sysUserDao;
@@ -37,8 +38,13 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
Integer limit = Integer.valueOf(params.get("limit").toString());
Integer page = Integer.valueOf(params.get("page").toString());
MPJLambdaWrapper<ClassModel> wrapper = new MPJLambdaWrapper<>();
if (StringUtils.isNotEmpty(params.get("title").toString())){
wrapper.like(ClassModel::getTitle,params.get("title"));
}
wrapper.orderByDesc(ClassModel::getId);
Page<ClassModel> classModelPage = classModelDao.selectPage(new Page<>(page, limit), wrapper);
for (ClassModel classModel:classModelPage.getRecords()){
//返回主任和课程
setDirectorCourse(classModel);
}
return classModelPage;
@@ -46,37 +52,68 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
@Override
public boolean addClassModel(ClassModel classModel) {
if (classModelDao.insert(classModel)>0){
String[] crouseIds = classModel.getCourseIds().split(",");
for (String crouseId : crouseIds) {
classModelDao.insert(classModel);
String[] courseIds = classModel.getCourseIds().split(",");
if(courseIds.length > 0){
for (String courseId : courseIds) {
ClassCourse classCourse = new ClassCourse();
classCourse.setCourseId(Integer.parseInt(crouseId));
classCourse.setCourseId(Integer.parseInt(courseId));
classCourse.setModelId(classModel.getId());
return classCourseDao.insert(classCourse)>0;
classCourseDao.insert(classCourse);
}
}
return false;
return true;
}
@Override
public boolean editClassModel(ClassModel classModel) {
LambdaQueryWrapper<ClassEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ClassEntity::getModelId,classModel.getId());
//模型下有小班,不能编辑
if (this.getBaseMapper().selectCount(wrapper)>0){
return false;
}else {
classModelDao.updateById(classModel);
//查询出所属课程,先删除,在添加
LambdaQueryWrapper<ClassCourse> courseWrap = new LambdaQueryWrapper<>();
courseWrap.eq(ClassCourse::getModelId,classModel.getId());
classCourseDao.delete(courseWrap);
String[] crouseIds = classModel.getCourseIds().split(",");
if (crouseIds.length > 0) {
for (String crouseId : crouseIds) {
ClassCourse classCourse = new ClassCourse();
classCourse.setCourseId(Integer.parseInt(crouseId));
classCourse.setModelId(classModel.getId());
classCourseDao.insert(classCourse);
}
}
return true;
}
}
@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")));
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.eq(ClassCourse::getModelId,classModel.getId());
modelwrapper.selectAll(CourseEntity.class);
classModel.setCourseList(classModelDao.selectJoinList(CourseEntity.class,modelwrapper));
}
@@ -86,6 +123,17 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
Integer limit = Integer.valueOf(params.get("limit").toString());
Integer page = Integer.valueOf(params.get("page").toString());
MPJLambdaWrapper<ClassEntity> wrapper = new MPJLambdaWrapper<>();
wrapper.leftJoin(ClassModel.class,ClassModel::getId,ClassEntity::getModelId);
wrapper.selectAll(ClassEntity.class);
if (StringUtils.isNotEmpty(params.get("type").toString())){
wrapper.eq(ClassModel::getType,params.get("type"));
}
if (StringUtils.isNotEmpty(params.get("state").toString())){
wrapper.eq(ClassEntity::getState,params.get("state"));
}
if (StringUtils.isNotEmpty(params.get("title").toString())){
wrapper.like(ClassEntity::getTitle,params.get("title"));
}
wrapper.orderByDesc(ClassEntity::getCreateTime);
Page<ClassEntity> classEntityPage = this.getBaseMapper().selectPage(new Page<>(page, limit), wrapper);
for (ClassEntity classEntity:classEntityPage.getRecords()){
@@ -96,7 +144,85 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
}else {
classEntity.setCreateUser(user);
}
classEntity.setClassModel(classModelDao.selectById(classEntity.getModelId()));
MPJLambdaWrapper<ClassUser> userWrapper = new MPJLambdaWrapper<>();
userWrapper.leftJoin(MyUserEntity.class,MyUserEntity::getId,ClassUser::getUserId);
userWrapper.select("t.role,t.user_id as userId,t1.tel,t1.name,t1.nickname");
userWrapper.eq(ClassUser::getClassId,classEntity.getId());
userWrapper.in(ClassUser::getRole,"1","2","3","4","5");
classEntity.setClassUsers(classUserDao.selectMaps(userWrapper));
}
return classEntityPage;
}
@Override
public boolean addClass(Map<String, Object> params) {
ClassEntity c = new ClassEntity();
c.setModelId((Integer)params.get("modelId"));
c.setTitle(params.get("title").toString());
c.setIcon(params.get("icon").toString());
c.setContent(params.get("content").toString());
c.setNumber((Integer)params.get("number"));
MyUserEntity user = myUserDao.selectById(ShiroUtils.getUId());
if (user == null){
c.setCreateUserid(user.getId());
}else {
c.setCreateUserid(ShiroUtils.getUserId().intValue());
}
this.getBaseMapper().insert(c);
return true;
}
@Override
public boolean editClass(Map<String, Object> params) {
ClassEntity c = new ClassEntity();
c.setId((Integer)params.get("id"));
c.setTitle(params.get("title").toString());
c.setState(params.get("state").toString());
c.setIcon(params.get("icon").toString());
c.setContent(params.get("content").toString());
this.getBaseMapper().updateById(c);
return true;
}
@Override
public boolean setUserRole(Map<String, Object> params) {
LambdaQueryWrapper<ClassUser> userWrap = new LambdaQueryWrapper<>();
userWrap.eq(ClassUser::getClassId,params.get("classId"));
userWrap.in(ClassUser::getRole,"1","2","3","4","5");
classUserDao.delete(userWrap);
int classId = Integer.parseInt(params.get("classId").toString());
if (StringUtils.isNotEmpty(params.get("monitor").toString())){
addClassUser(classId,Integer.parseInt(params.get("monitor").toString()),"1");
}
if (StringUtils.isNotEmpty(params.get("dmonitor").toString())){
addClassUser(classId,Integer.parseInt(params.get("dmonitor").toString()),"2");
}
if (StringUtils.isNotEmpty(params.get("learner").toString())){
addClassUser(classId,Integer.parseInt(params.get("learner").toString()),"3");
}
if (StringUtils.isNotEmpty(params.get("scorer").toString())){
String[] scorers = params.get("scorer").toString().split(",");
for (String scorer : scorers) {
addClassUser(classId,Integer.parseInt(scorer),"4");
}
}
if (StringUtils.isNotEmpty(params.get("counter").toString())){
String[] scorers = params.get("counter").toString().split(",");
for (String scorer : scorers) {
addClassUser(classId,Integer.parseInt(scorer),"5");
}
}
return true;
}
public int addClassUser(int classId,int userId,String role) {
ClassUser classUser = new ClassUser();
classUser.setClassId(classId);
classUser.setUserId(userId);
classUser.setRole(role);
return classUserDao.insert(classUser);
}
}