小班相关
加入我的收藏-单条限制
This commit is contained in:
@@ -56,6 +56,13 @@ public class ClassController {
|
||||
return R.ok().put("classModelList",classModelList);
|
||||
}
|
||||
|
||||
//获取主任下的班级
|
||||
@RequestMapping("/getClassByDirectorid")
|
||||
public R getClassByDirectorid(@RequestBody Map<String,Object> params){
|
||||
List<ClassEntity> classEntityList = classEntityService.getClassByDirectorid(params);
|
||||
return R.ok().put("classEntityList",classEntityList);
|
||||
}
|
||||
|
||||
//获取班级列表
|
||||
@RequestMapping("/getClassList")
|
||||
public R getClassList(@RequestBody Map<String,Object> params){
|
||||
@@ -103,4 +110,39 @@ public class ClassController {
|
||||
}
|
||||
}
|
||||
|
||||
//获取班级详情
|
||||
@RequestMapping("/getClassInfo")
|
||||
public R getClassInfo(@RequestBody Map<String,Object> params){
|
||||
return R.ok().put("result",classEntityService.getClassInfo(params));
|
||||
}
|
||||
|
||||
//查询包含课程的小班(登陆人未加入)
|
||||
@RequestMapping("/getClassByCourseIdNoUser")
|
||||
public R getClassByCourseIdNoUser(@RequestBody Map<String,Object> params){
|
||||
return R.ok().put("result",classEntityService.getClassByCourseIdNoUser(params));
|
||||
}
|
||||
|
||||
//加入小班
|
||||
@RequestMapping("/joinClass")
|
||||
public R joinClass(@RequestBody Map<String,Object> params){
|
||||
if (classEntityService.joinClass(params)){
|
||||
return R.ok();
|
||||
}else {
|
||||
return R.error("人员已满");
|
||||
}
|
||||
}
|
||||
|
||||
//退出小班
|
||||
@RequestMapping("/quitClass")
|
||||
public R quitClass(@RequestBody Map<String,Object> params){
|
||||
classEntityService.quitClass(params);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
//我的小班列表
|
||||
@RequestMapping("/MyClassList")
|
||||
public R MyClassList(@RequestBody Map<String,Object> params){
|
||||
return R.ok().put("result",classEntityService.MyClassList(params));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,8 +6,10 @@ import com.peanut.common.utils.MD5Utils;
|
||||
import com.peanut.common.utils.MailUtil;
|
||||
import com.peanut.common.utils.R;
|
||||
import com.peanut.common.utils.ShiroUtils;
|
||||
import com.peanut.modules.common.entity.ClassUser;
|
||||
import com.peanut.modules.common.entity.MyUserEntity;
|
||||
import com.peanut.modules.common.entity.UserVip;
|
||||
import com.peanut.modules.common.service.ClassEntityService;
|
||||
import com.peanut.modules.common.service.MyUserService;
|
||||
import com.peanut.modules.common.service.UserVipService;
|
||||
import com.peanut.modules.sys.service.SysUserTokenService;
|
||||
@@ -40,6 +42,8 @@ public class UserController {
|
||||
private SysUserTokenService sysUserTokenService;
|
||||
@Autowired
|
||||
private UserVipService userVipService;
|
||||
@Autowired
|
||||
private ClassEntityService classEntityService;
|
||||
|
||||
/**
|
||||
* 常规注册 发短信验证码
|
||||
@@ -117,9 +121,10 @@ public class UserController {
|
||||
userEntity.setUserVip(userVips.get(0));
|
||||
}
|
||||
}
|
||||
return R.ok().put("result",userEntity);
|
||||
|
||||
|
||||
//查询用户是否有小班角色
|
||||
boolean isDirector = classEntityService.isDirector(userEntity);
|
||||
boolean isMonitor = classEntityService.isMonitor(userEntity);
|
||||
return R.ok().put("result",userEntity).put("isDirector",isDirector).put("isMonitor",isMonitor);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -43,8 +43,6 @@ 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;
|
||||
|
||||
@@ -4,7 +4,7 @@ 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 com.peanut.modules.common.entity.MyUserEntity;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -18,6 +18,8 @@ public interface ClassEntityService extends IService<ClassEntity> {
|
||||
|
||||
List<ClassModel> getClassModelByUserid(Map<String ,Object> params);
|
||||
|
||||
List<ClassEntity> getClassByDirectorid(Map<String,Object> params);
|
||||
|
||||
Page getClassList(Map<String ,Object> params);
|
||||
|
||||
boolean addClass(Map<String ,Object> params);
|
||||
@@ -26,4 +28,18 @@ public interface ClassEntityService extends IService<ClassEntity> {
|
||||
|
||||
boolean setUserRole(Map<String ,Object> params);
|
||||
|
||||
boolean isDirector(MyUserEntity userEntity);
|
||||
|
||||
boolean isMonitor(MyUserEntity userEntity);
|
||||
|
||||
Object getClassInfo(Map<String ,Object> params);
|
||||
|
||||
List<ClassEntity> getClassByCourseIdNoUser(Map<String ,Object> params);
|
||||
|
||||
boolean joinClass(Map<String ,Object> params);
|
||||
|
||||
void quitClass(Map<String ,Object> params);
|
||||
|
||||
List<ClassEntity> MyClassList(Map<String ,Object> params);
|
||||
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@ import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -96,6 +98,7 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
||||
LambdaQueryWrapper<ClassModel> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.and(t->t.eq(ClassModel::getDirectorId,params.get("userId"))
|
||||
.or().eq(ClassModel::getDdirectorId,params.get("userId")));
|
||||
wrapper.eq(ClassModel::getType,params.get("type"));
|
||||
List<ClassModel> classModelList = classModelDao.selectList(wrapper);
|
||||
if (classModelList.size() > 0){
|
||||
for (ClassModel classModel : classModelList) {
|
||||
@@ -106,6 +109,18 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
||||
return classModelList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ClassEntity> getClassByDirectorid(Map<String, Object> params) {
|
||||
MPJLambdaWrapper<ClassEntity> wrapper = new MPJLambdaWrapper<>();
|
||||
wrapper.selectAll(ClassEntity.class);
|
||||
wrapper.leftJoin(ClassModel.class,ClassModel::getId,ClassEntity::getModelId);
|
||||
wrapper.and(t->t.eq(ClassModel::getDirectorId,ShiroUtils.getUId())
|
||||
.or().eq(ClassModel::getDdirectorId,ShiroUtils.getUId()));
|
||||
wrapper.eq(ClassModel::getType,params.get("type"));
|
||||
wrapper.eq(ClassEntity::getState,params.get("state"));
|
||||
return this.getBaseMapper().selectList(wrapper);
|
||||
}
|
||||
|
||||
//设置主任和课程
|
||||
private void setDirectorCourse(ClassModel classModel){
|
||||
classModel.setDirector(myUserDao.selectById(classModel.getDirectorId()));
|
||||
@@ -163,10 +178,9 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
||||
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 {
|
||||
try {
|
||||
c.setCreateUserid(ShiroUtils.getUId());
|
||||
}catch (Exception e) {
|
||||
c.setCreateUserid(ShiroUtils.getUserId().intValue());
|
||||
}
|
||||
this.getBaseMapper().insert(c);
|
||||
@@ -181,6 +195,7 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
||||
c.setState(params.get("state").toString());
|
||||
c.setIcon(params.get("icon").toString());
|
||||
c.setContent(params.get("content").toString());
|
||||
c.setNumber((Integer)params.get("number"));
|
||||
this.getBaseMapper().updateById(c);
|
||||
return true;
|
||||
}
|
||||
@@ -216,7 +231,6 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public int addClassUser(int classId,int userId,String role) {
|
||||
ClassUser classUser = new ClassUser();
|
||||
classUser.setClassId(classId);
|
||||
@@ -225,4 +239,147 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
||||
return classUserDao.insert(classUser);
|
||||
}
|
||||
|
||||
//是否主任
|
||||
@Override
|
||||
public boolean isDirector(MyUserEntity userEntity) {
|
||||
LambdaQueryWrapper<ClassModel> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.and(t->t.eq(ClassModel::getDirectorId,userEntity.getId())
|
||||
.or().eq(ClassModel::getDdirectorId,userEntity.getId()));
|
||||
return classModelDao.selectCount(wrapper)>0;
|
||||
}
|
||||
|
||||
//是否班干部
|
||||
@Override
|
||||
public boolean isMonitor(MyUserEntity userEntity) {
|
||||
LambdaQueryWrapper<ClassUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ClassUser::getUserId,userEntity.getId());
|
||||
wrapper.in(ClassUser::getRole,"1","2","3","4","5");
|
||||
return classUserDao.selectCount(wrapper)>0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getClassInfo(Map<String, Object> params) {
|
||||
ClassEntity classEntity = this.getBaseMapper().selectById(params.get("classId").toString());
|
||||
|
||||
ClassModel classModel = classModelDao.selectOne(new LambdaQueryWrapper<ClassModel>().eq(ClassModel::getId,classEntity.getModelId()));
|
||||
|
||||
//相关课程
|
||||
MPJLambdaWrapper<ClassCourse> courseWrapper = new MPJLambdaWrapper<>();
|
||||
courseWrapper.leftJoin(ClassModel.class,ClassModel::getId,ClassCourse::getModelId);
|
||||
courseWrapper.leftJoin(CourseEntity.class,CourseEntity::getId,ClassCourse::getCourseId);
|
||||
courseWrapper.leftJoin(ClassEntity.class,ClassEntity::getModelId,ClassModel::getId);
|
||||
courseWrapper.selectAll(CourseEntity.class);
|
||||
courseWrapper.eq(ClassEntity::getId,classEntity.getId());
|
||||
List<CourseEntity> courses = classCourseDao.selectJoinList(CourseEntity.class,courseWrapper);
|
||||
|
||||
//管理人员
|
||||
List<ClassUser> admins = classUserDao.selectList(new LambdaQueryWrapper<ClassUser>()
|
||||
.eq(ClassUser::getClassId,classEntity.getId())
|
||||
.ne(ClassUser::getRole,"0"));
|
||||
if (admins.size() > 0){
|
||||
for (ClassUser classUser:admins){
|
||||
classUser.setUser(myUserDao.selectById(classUser.getUserId()));
|
||||
}
|
||||
}
|
||||
|
||||
//学员
|
||||
MPJLambdaWrapper<ClassUser> studentWrapper = new MPJLambdaWrapper<>();
|
||||
studentWrapper.leftJoin(MyUserEntity.class,MyUserEntity::getId,ClassUser::getUserId);
|
||||
studentWrapper.eq(ClassUser::getClassId,classEntity.getId());
|
||||
studentWrapper.eq(ClassUser::getRole,"0");
|
||||
studentWrapper.selectAll(MyUserEntity.class);
|
||||
List<MyUserEntity> students = classUserDao.selectJoinList(MyUserEntity.class,studentWrapper);
|
||||
|
||||
Object userId;
|
||||
try {
|
||||
userId = ShiroUtils.getUId();
|
||||
}catch (Exception e) {
|
||||
userId = ShiroUtils.getUserId();
|
||||
}
|
||||
ClassUser classUser = classUserDao.selectOne(new LambdaQueryWrapper<ClassUser>()
|
||||
.eq(ClassUser::getClassId,classEntity.getId())
|
||||
.eq(ClassUser::getUserId,userId));
|
||||
boolean isJoin = false;
|
||||
if (classUser!=null){
|
||||
isJoin = true;
|
||||
}
|
||||
|
||||
Map<String,Object> result = new HashMap<>();
|
||||
result.put("class",classEntity);
|
||||
result.put("classModel",classModel);
|
||||
result.put("courses",courses);
|
||||
result.put("admins",admins);
|
||||
result.put("students",students);
|
||||
result.put("studentNumber",students.size());
|
||||
result.put("isJoin",isJoin);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ClassEntity> getClassByCourseIdNoUser(Map<String, Object> params) {
|
||||
MPJLambdaWrapper<ClassEntity> wrapper = new MPJLambdaWrapper<>();
|
||||
wrapper.selectAll(ClassEntity.class);
|
||||
wrapper.leftJoin(ClassModel.class,ClassModel::getId,ClassEntity::getModelId);
|
||||
wrapper.leftJoin(ClassCourse.class,ClassCourse::getModelId,ClassModel::getId);
|
||||
wrapper.leftJoin(ClassUser.class,ClassUser::getClassId,ClassEntity::getId);
|
||||
wrapper.eq(ClassCourse::getCourseId,params.get("courseId"));
|
||||
wrapper.eq(ClassUser::getUserId,ShiroUtils.getUId());
|
||||
List<ClassEntity> classesUser = this.baseMapper.selectList(wrapper);
|
||||
if (classesUser.size() > 0){
|
||||
return new ArrayList<>();
|
||||
}else {
|
||||
return getClassByCourseId(params);
|
||||
}
|
||||
}
|
||||
|
||||
public List<ClassEntity> getClassByCourseId(Map<String, Object> params) {
|
||||
MPJLambdaWrapper<ClassEntity> wrapper = new MPJLambdaWrapper<>();
|
||||
wrapper.selectAll(ClassEntity.class);
|
||||
wrapper.leftJoin(ClassModel.class,ClassModel::getId,ClassEntity::getModelId);
|
||||
wrapper.leftJoin(ClassCourse.class,ClassCourse::getModelId,ClassModel::getId);
|
||||
wrapper.eq(ClassCourse::getCourseId,params.get("courseId"));
|
||||
wrapper.eq(ClassEntity::getState,params.get("state"));
|
||||
wrapper.eq(ClassModel::getType,params.get("type"));
|
||||
List<ClassEntity> classes = this.baseMapper.selectList(wrapper);
|
||||
return classes;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean joinClass(Map<String, Object> params) {
|
||||
ClassEntity classEntity = this.baseMapper.selectById(params.get("classId").toString());
|
||||
int count = classUserDao.selectCount(new LambdaQueryWrapper<ClassUser>()
|
||||
.eq(ClassUser::getClassId,classEntity.getId())
|
||||
.eq(ClassUser::getRole,"0"));
|
||||
if (count<classEntity.getNumber()){
|
||||
ClassUser classUser = new ClassUser();
|
||||
classUser.setClassId(classEntity.getId());
|
||||
classUser.setUserId(ShiroUtils.getUId());
|
||||
classUserDao.insert(classUser);
|
||||
return true;
|
||||
}else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void quitClass(Map<String, Object> params) {
|
||||
classUserDao.delete(new LambdaQueryWrapper<ClassUser>()
|
||||
.eq(ClassUser::getClassId,params.get("classId"))
|
||||
.eq(ClassUser::getUserId,params.get("userId")));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ClassEntity> MyClassList(Map<String, Object> params) {
|
||||
MPJLambdaWrapper<ClassEntity> wrapper = new MPJLambdaWrapper<>();
|
||||
wrapper.leftJoin(ClassUser.class,ClassUser::getClassId,ClassEntity::getId);
|
||||
wrapper.leftJoin(ClassModel.class,ClassModel::getId,ClassEntity::getModelId);
|
||||
wrapper.selectAll(ClassEntity.class);
|
||||
wrapper.eq(ClassEntity::getState,params.get("state"));
|
||||
wrapper.eq(ClassModel::getType,params.get("type"));
|
||||
wrapper.eq(ClassUser::getUserId,ShiroUtils.getUId());
|
||||
List<ClassEntity> list = this.baseMapper.selectList(wrapper);
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public class CourseController {
|
||||
//添加正在学习(收藏)
|
||||
@RequestMapping("/addUserCourseStudying")
|
||||
public R addUserCourseStudying(@RequestBody UserCourseStudying userCourseStudying){
|
||||
return R.ok().put("success",courseService.addUserCourseStudying(userCourseStudying));
|
||||
return courseService.addUserCourseStudying(userCourseStudying);
|
||||
}
|
||||
|
||||
//移除正在学习(收藏)
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.peanut.modules.medical.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.peanut.common.utils.R;
|
||||
import com.peanut.modules.common.entity.CourseEntity;
|
||||
import com.peanut.modules.common.entity.UserCourseStudying;
|
||||
import com.peanut.modules.common.to.ParamTo;
|
||||
@@ -17,7 +18,7 @@ public interface CourseService extends IService<CourseEntity> {
|
||||
|
||||
List<CourseEntity> getUserLateCourseList(ParamTo param);
|
||||
|
||||
boolean addUserCourseStudying(UserCourseStudying userCourseStudying);
|
||||
R addUserCourseStudying(UserCourseStudying userCourseStudying);
|
||||
|
||||
boolean delUserCourseStudying(Map<String,Object> param);
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.yulichang.toolkit.JoinWrappers;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.peanut.common.utils.R;
|
||||
import com.peanut.common.utils.ShiroUtils;
|
||||
import com.peanut.modules.common.dao.*;
|
||||
import com.peanut.modules.common.entity.*;
|
||||
@@ -84,11 +85,18 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> impl
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addUserCourseStudying(UserCourseStudying userCourseStudying) {
|
||||
if (studyingDao.insert(userCourseStudying)>0){
|
||||
return true;
|
||||
public R addUserCourseStudying(UserCourseStudying userCourseStudying) {
|
||||
int isExist = studyingDao.selectCount(new LambdaQueryWrapper<UserCourseStudying>()
|
||||
.eq(UserCourseStudying::getUserId,userCourseStudying.getUserId())
|
||||
.eq(UserCourseStudying::getCourseId,userCourseStudying.getCourseId()));
|
||||
if (isExist>0){
|
||||
return R.error("已存在");
|
||||
}else {
|
||||
return false;
|
||||
if (studyingDao.insert(userCourseStudying)>0){
|
||||
return R.ok().put("result",userCourseStudying);
|
||||
}else {
|
||||
return R.error("添加失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -111,11 +111,18 @@ public class CourseController {
|
||||
*/
|
||||
@RequestMapping("/addUserCourseStudying")
|
||||
public R addUserCourseStudying(@RequestBody Map<String,Integer> map){
|
||||
UserCourseStudying userCourseStudying = new UserCourseStudying();
|
||||
userCourseStudying.setUserId(ShiroUtils.getUId());
|
||||
userCourseStudying.setCourseId(map.get("courseId"));
|
||||
userCourseStudyingDao.insert(userCourseStudying);
|
||||
return R.ok().put("result",userCourseStudying);
|
||||
int isExist = userCourseStudyingDao.selectCount(new LambdaQueryWrapper<UserCourseStudying>()
|
||||
.eq(UserCourseStudying::getUserId,ShiroUtils.getUId())
|
||||
.eq(UserCourseStudying::getCourseId,map.get("courseId")));
|
||||
if (isExist>0){
|
||||
return R.error("已存在");
|
||||
}else {
|
||||
UserCourseStudying userCourseStudying = new UserCourseStudying();
|
||||
userCourseStudying.setUserId(ShiroUtils.getUId());
|
||||
userCourseStudying.setCourseId(map.get("courseId"));
|
||||
userCourseStudyingDao.insert(userCourseStudying);
|
||||
return R.ok().put("result",userCourseStudying);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user