小班相关
This commit is contained in:
@@ -22,12 +22,14 @@ 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)){
|
||||
@@ -37,36 +39,61 @@ public class ClassController {
|
||||
}
|
||||
}
|
||||
|
||||
//修改班级模型
|
||||
@RequestMapping("/editClassModel")
|
||||
public R editClassModel(@RequestBody ClassModel classModel){
|
||||
if (classEntityService.editClassModel(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)){
|
||||
public R addClass(@RequestBody Map<String,Object> params){
|
||||
if (classEntityService.addClass(params)){
|
||||
return R.ok();
|
||||
}else {
|
||||
return R.error("保存出错");
|
||||
}
|
||||
}
|
||||
|
||||
//修改班级
|
||||
@RequestMapping("/editClass")
|
||||
public R editClass(@RequestBody ClassEntity classEntity){
|
||||
if (classEntityService.updateById(classEntity)){
|
||||
public R editClass(@RequestBody Map<String,Object> params){
|
||||
if (classEntityService.editClass(params)){
|
||||
return R.ok();
|
||||
}else {
|
||||
return R.error("编辑出错");
|
||||
}
|
||||
}
|
||||
|
||||
//设置班委
|
||||
@RequestMapping("/setUserRole")
|
||||
public R setUserRole(@RequestBody Map<String,Object> params){
|
||||
if (classEntityService.setUserRole(params)){
|
||||
return R.ok();
|
||||
}else {
|
||||
return R.error("设置出错");
|
||||
}
|
||||
}
|
||||
|
||||
//设删除班级
|
||||
@RequestMapping("/delClass")
|
||||
public R delClass(@RequestBody Map<String,Object> params){
|
||||
if (classEntityService.removeById((Integer)params.get("classId"))){
|
||||
|
||||
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@TableName("class")
|
||||
@@ -25,6 +27,8 @@ public class ClassEntity {
|
||||
|
||||
private String content;
|
||||
|
||||
private Integer number; //成员数量
|
||||
|
||||
private Integer createUserid;
|
||||
|
||||
private Date createTime;
|
||||
@@ -38,5 +42,12 @@ public class ClassEntity {
|
||||
|
||||
@TableField(exist = false)
|
||||
private Object createUser;
|
||||
@TableField(exist = false)
|
||||
private String type;
|
||||
@TableField(exist = false)
|
||||
private ClassModel classModel;
|
||||
@TableField(exist = false)
|
||||
private List<Map<String,Object>> classUsers;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
@@ -16,8 +17,11 @@ public class ClassUser {
|
||||
|
||||
private Integer userId;
|
||||
|
||||
private String role;
|
||||
private String role;//角色0学员1班长2副班长3学习委员4评分员5记分员
|
||||
|
||||
@TableLogic
|
||||
private Integer delFlag;
|
||||
|
||||
@TableField(exist = false)
|
||||
private MyUserEntity user;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user