基于javaweb+mysql的ssm+maven课程在线学习与测试系统(java+ssm+redis+bootstrap+html+mysql)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSM+Maven课程在线学习与测试系统(java+ssm+redis+bootstrap+html+mysql)
基于B/S架构的课程在线学习与测试系统
启动说明
项目为maven管理,最近集成了redis,所以在运行项目是先要下载redis并启动客户端,方可正常运行项目,由于只需要下载redis,无需其他配置,这里就不做过多说明。
最近更新
集成redis来保存用户登录信息,添加过滤器重置用户登录有效期。拦截器实现统一登录和权限校验(相关重构还未完成)。
修改配置文件:com.bs.commonn.RedisPool 地址、端口号
pool = new JedisPool(config,“127.0.0.1”,6379,1000*2);
修改数据库配置文件,导入项目bs.sql文件
学生账号测试:lwj 123456
教师测试账号:lwj 123456
管理员测试账号:admin admin
-
框架:SSM(Spring,SpringMVC,Mybatis)
-
缓存:redis
-
数据库:MySQL
-
IDE:Intellij IDEA/Eclipse
-
其他:Maven,Git
项目亮点
-
前后端分离。
-
用户登录权限区分和控制。
-
防止横向越权和纵向越权。
-
设计高复用的服务器响应对象。
-
guava缓存。
-
pojo,vo抽象模型。
-
数据绑定对象。
-
Mybatis分页
-
Bootstrap。
-
artTemplate,artDialog,iframe前端模板使用。
-
select2、toastr、sweetalert等等前端插件的使用。
-
redis缓存。
-
全局异常处理,拦截器权限统一检验。
return sr;
}
/**
* @description 获取教师信息&&查询教师
*/
@RequestMapping("queryTeacher.do")
@ResponseBody
public ServerResponse queryTeacher(HttpServletRequest request, Teacher teacher,
@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
@RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
//判断登录
// String token = CookieUtil.readCookie(request);
// if (StringUtils.isEmpty(token)) {
// return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
// }
// String manageStr = RedisPoolUtil.get(token);
// Manager manager = JacksonUtil.stringToObj(manageStr, Manager.class);
// if (manager == null) {
// return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
// }
// //判断权限,业务处理
// if (Constant.Role.ROLE_ADMIN.equals(manager.getRole())) {
return manageService.queryTeacher(teacher, pageNum, pageSize);
// }
// return ServerResponse.createByErrorMessage("不是管理员,无法操作");
}
/**
* @description 新增或修改教师信息
*/
@RequestMapping("addOrUpdateTeacher.do")
@ResponseBody
public ServerResponse addOrUpdateTeacher(HttpServletRequest request, Teacher teacher) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String manageStr = RedisPoolUtil.get(token);
Manager manager = JacksonUtil.stringToObj(manageStr, Manager.class);
if (manager == null) {
*/
@RequestMapping("selectSubjectList.do")
@ResponseBody
public ServerResponse selectSubjectList(HttpServletRequest request) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String teacherStr = RedisPoolUtil.get(token);
Teacher teacher = JacksonUtil.stringToObj(teacherStr, Teacher.class);
if (teacher == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
//判断权限,业务处理
if (Constant.Role.ROLE_TEACHER.equals(teacher.getRole())) {
return testsService.selectSubjectList();
}
return ServerResponse.createByErrorMessage("不是教师,无法操作");
}
}
/**
* @name TeacherController
* @description 教师Controller
**/
@Controller
@RequestMapping("/teacher/")
public class TeacherController {
multipartFile.transferTo(file);
Class<?> clazz = Class.forName(className);
BaseModal bm = (BaseModal) clazz.newInstance();
bm.setFile(file);
return bm.parse();
} catch (Exception e) {
log.error("上传文件出错", e);
return ServerResponse.createByErrorMessage("上传文件出错");
}
}
}
/**
* @name CookieUtil
* @description
**/
public class CookieUtil {
//cookie保存在localhost下
private final static String COOKIE_DOMAIN = "localhost";
//cookie名称
private final static String COOKIE_NAME = "qx";
/**
* @description 存入Cookie
*/
public static void writeCookie(HttpServletResponse response, String value) {
Cookie cookie = new Cookie(COOKIE_NAME, value);
cookie.setDomain(COOKIE_DOMAIN);
cookie.setPath("/");
//防止脚本获取cookie信息
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String teacherStr = RedisPoolUtil.get(token);
Teacher teacher = JacksonUtil.stringToObj(teacherStr, Teacher.class);
if (teacher == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
//判断权限,业务处理
if (Constant.Role.ROLE_TEACHER.equals(teacher.getRole())) {
return paperService.compositionPaper(paperDetail, teacher);
}
return ServerResponse.createByErrorMessage("不是教师,无法操作");
}
/**
* @description 删除试卷试题
*/
@RequestMapping("deleteTestsFromPaper.do")
@ResponseBody
public ServerResponse deleteTestsFromPaper(HttpServletRequest request, Integer fkTest, Integer fkPaper) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String teacherStr = RedisPoolUtil.get(token);
Teacher teacher = JacksonUtil.stringToObj(teacherStr, Teacher.class);
if (teacher == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
//判断权限,业务处理
if (Constant.Role.ROLE_TEACHER.equals(teacher.getRole())) {
return paperService.deleteTestsFromPaper(fkTest, fkPaper, teacher);
}
return ServerResponse.createByErrorMessage("不是教师,无法操作");
}
/**
* @description 清空试卷试题
*/
@RequestMapping("emptyTestsFromPaper.do")
@ResponseBody
public ServerResponse emptyTestsFromPaper(HttpServletRequest request, Integer fkPaper) {
//判断登录
/**
* @name TeacherInterceptor
* @description
**/
public class TeacherInterceptor implements HandlerInterceptor {
private static final Logger log = LoggerFactory.getLogger(TeacherInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HandlerMethod handlerMethod = (HandlerMethod) handler;
String methodName = handlerMethod.getMethod().getName();
String className = handlerMethod.getBean().getClass().getName();
log.info("拦截类名:{},方法名:{}", className, methodName);
Teacher teacher = null;
//从redis获取用户信息
String token = CookieUtil.readCookie(request);
if (StringUtils.isNotEmpty(token)) {
String studentStr = RedisPoolUtil.get(token);
teacher = JacksonUtil.stringToObj(studentStr, Teacher.class);
}
//判断用户信息是否为空或者身份权限不对
return teacher != null && (StringUtils.equals(teacher.getRole(), "1")) || BaseInterceptor.check(response, teacher);
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
*/
@RequestMapping("getStudentInfo.do")
@ResponseBody
public ServerResponse getStudentInfo(HttpServletRequest request, Integer pkStudent) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String manageStr = RedisPoolUtil.get(token);
Manager manager = JacksonUtil.stringToObj(manageStr, Manager.class);
if (manager == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
//判断权限,业务处理
if (Constant.Role.ROLE_ADMIN.equals(manager.getRole())) {
return manageService.getStudentInfo(pkStudent);
}
return ServerResponse.createByErrorMessage("不是管理员,无法操作");
}
/**
* @description 删除学生
*/
@RequestMapping("delStudent.do")
@ResponseBody
public ServerResponse delStudent(HttpServletRequest request, Integer pkStudent) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String manageStr = RedisPoolUtil.get(token);
Manager manager = JacksonUtil.stringToObj(manageStr, Manager.class);
if (manager == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
//判断权限,业务处理
if (Constant.Role.ROLE_ADMIN.equals(manager.getRole())) {
return manageService.delStudent(pkStudent);
}
return ServerResponse.createByErrorMessage("不是管理员,无法操作");
}
/**
* @description 查看教师关联班级
/**
* @name ManageInterceptor
* @description
**/
public class ManageInterceptor implements HandlerInterceptor {
private static final Logger log = LoggerFactory.getLogger(ManageInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HandlerMethod handlerMethod = (HandlerMethod) handler;
String methodName = handlerMethod.getMethod().getName();
String className = handlerMethod.getBean().getClass().getName();
log.info("拦截类名:{},方法名:{}", className, methodName);
Manager manager = null;
//从redis获取用户信息
String token = CookieUtil.readCookie(request);
if (StringUtils.isNotEmpty(token)) {
String studentStr = RedisPoolUtil.get(token);
manager = JacksonUtil.stringToObj(studentStr, Manager.class);
}
//判断用户信息是否为空或者身份权限不对
return manager != null && (StringUtils.equals(manager.getRole(), "0")) || BaseInterceptor.check(response, manager);
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}
*/
@RequestMapping("modifyTestFlag.do")
@ResponseBody
public ServerResponse modifyTestFlag(HttpServletRequest request, Integer pkTest, String flag) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String teacherStr = RedisPoolUtil.get(token);
Teacher teacher = JacksonUtil.stringToObj(teacherStr, Teacher.class);
if (teacher == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
//判断权限,业务处理
if (Constant.Role.ROLE_TEACHER.equals(teacher.getRole())) {
return testsService.modifyTestFlag(pkTest, flag, teacher);
}
return ServerResponse.createByErrorMessage("不是教师,无法操作");
}
/**
* @description 查询科目列表
*/
@RequestMapping("selectSubjectList.do")
@ResponseBody
public ServerResponse selectSubjectList(HttpServletRequest request) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String teacherStr = RedisPoolUtil.get(token);
Teacher teacher = JacksonUtil.stringToObj(teacherStr, Teacher.class);
if (teacher == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
//判断权限,业务处理
if (Constant.Role.ROLE_TEACHER.equals(teacher.getRole())) {
return testsService.selectSubjectList();
}
return ServerResponse.createByErrorMessage("不是教师,无法操作");
}
}
@RequestMapping("addTest.do")
@ResponseBody
public ServerResponse addTest(HttpServletRequest request, Tests tests) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String teacherStr = RedisPoolUtil.get(token);
Teacher teacher = JacksonUtil.stringToObj(teacherStr, Teacher.class);
if (teacher == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
//判断权限,业务处理
if (Constant.Role.ROLE_TEACHER.equals(teacher.getRole())) {
return testsService.addTest(tests, teacher);
}
return ServerResponse.createByErrorMessage("不是教师,无法操作");
}
/**
* @description 修改试题状态
*/
@RequestMapping("modifyTestFlag.do")
@ResponseBody
public ServerResponse modifyTestFlag(HttpServletRequest request, Integer pkTest, String flag) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String teacherStr = RedisPoolUtil.get(token);
Teacher teacher = JacksonUtil.stringToObj(teacherStr, Teacher.class);
if (teacher == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
//判断权限,业务处理
if (Constant.Role.ROLE_TEACHER.equals(teacher.getRole())) {
return testsService.modifyTestFlag(pkTest, flag, teacher);
}
return ServerResponse.createByErrorMessage("不是教师,无法操作");
}
/**
* @description 查询科目列表
*/
@RequestMapping("selectSubjectList.do")
@ResponseBody
public ServerResponse selectSubjectList(HttpServletRequest request) {
//判断登录
Manager manager = null;
//从redis获取用户信息
String token = CookieUtil.readCookie(request);
if (StringUtils.isNotEmpty(token)) {
String studentStr = RedisPoolUtil.get(token);
manager = JacksonUtil.stringToObj(studentStr, Manager.class);
}
//判断用户信息是否为空或者身份权限不对
return manager != null && (StringUtils.equals(manager.getRole(), "0")) || BaseInterceptor.check(response, manager);
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}
/**
* @name BaseInterceptor
* @description
**/
class BaseInterceptor {
private static final Logger log = LoggerFactory.getLogger(BaseInterceptor.class);
static boolean check(HttpServletResponse response, Object object) {
//重置response
response.reset();
response.setCharacterEncoding("utf-8");
}
/**
* @description 未登录:忘记密码,获取问题
*/
@RequestMapping(value = "forgetGetQuestion.do", method = RequestMethod.POST)
@ResponseBody
public ServerResponse<String> forgetGetQuestion(String username) {
return teacherService.selectQuestion(username);
}
/**
* @description 未登录:忘记密码,检查答案是否正确
*/
@RequestMapping(value = "forgetCheckAnswer.do", method = RequestMethod.POST)
@ResponseBody
public ServerResponse<String> forgetCheckAnswer(String username, String question, String answer) {
return teacherService.checkAnswer(username, question, answer);
}
/**
* @description 未登录:忘记密码,重置密码
*/
@RequestMapping(value = "forgetResetPassword.do", method = RequestMethod.POST)
@ResponseBody
public ServerResponse<String> forgetRestPassword(String username, String passwordNew, String forgetToken) {
return teacherService.forgetResetPassword(username, passwordNew, forgetToken);
}
/**
* @description 已登录,重置密码
*/
@RequestMapping(value = "resetPassword.do", method = RequestMethod.POST)
@ResponseBody
public ServerResponse<String> resetPassword(HttpServletRequest request, String passwordOld, String passwordNew) {
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String teacherStr = RedisPoolUtil.get(token);
Teacher teacher = JacksonUtil.stringToObj(teacherStr, Teacher.class);
if (teacher == null) {
* @description 获取单条教师信息
*/
@RequestMapping("getTeacherInfo.do")
@ResponseBody
public ServerResponse getTeacherInfo(HttpServletRequest request, Integer pkTeacher) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String manageStr = RedisPoolUtil.get(token);
Manager manager = JacksonUtil.stringToObj(manageStr, Manager.class);
if (manager == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
//判断权限,业务处理
if (Constant.Role.ROLE_ADMIN.equals(manager.getRole())) {
return manageService.getTeacherInfo(pkTeacher);
}
return ServerResponse.createByErrorMessage("不是管理员,无法操作");
}
/**
* @description 删除教师
*/
@RequestMapping("delTeacher.do")
@ResponseBody
public ServerResponse delTeacher(HttpServletRequest request, Integer pkTeacher) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String manageStr = RedisPoolUtil.get(token);
Manager manager = JacksonUtil.stringToObj(manageStr, Manager.class);
if (manager == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
@RequestParam(value = "pageSize", defaultValue = "100") int pageSize) {
//判断用户是否登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String userStr = RedisPoolUtil.get(token);
if (StringUtils.isBlank(userStr)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
notice.setFlag("Y");
return noticeService.queryNotice(notice, pageNum, pageSize);
}
/**
* @description 查询通知
*/
@RequestMapping("queryNotice.do")
@ResponseBody
public ServerResponse queryNotice(HttpServletRequest request, Notice notice,
@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
@RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String manageStr = RedisPoolUtil.get(token);
Manager manager = JacksonUtil.stringToObj(manageStr, Manager.class);
if (manager == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
//判断权限,业务处理
if (Constant.Role.ROLE_ADMIN.equals(manager.getRole())) {
return noticeService.queryNotice(notice, pageNum, pageSize);
}
return ServerResponse.createByErrorMessage("不是管理员,无法操作");
}
/**
* @description 新增或更新通知
*/
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String studentStr = RedisPoolUtil.get(token);
Student student = JacksonUtil.stringToObj(studentStr, Student.class);
if (student == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
return studentService.getUnfinishedPaper(student);
}
/**
* @description 获取试卷内容
*/
@RequestMapping("getPaperDetail.do")
@ResponseBody
public ServerResponse getPaperDetail(HttpServletRequest request, Integer pkPaper) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String studentStr = RedisPoolUtil.get(token);
Student student = JacksonUtil.stringToObj(studentStr, Student.class);
if (student == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
return studentService.getPaperDetail(pkPaper, student);
}
/**
* @description 学生交卷,计算分数
*/
@RequestMapping("submitPaper.do")
@ResponseBody
public ServerResponse submitPaper(HttpServletRequest request, Integer pkPaper, String testsAndAnswer) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String studentStr = RedisPoolUtil.get(token);
Student student = JacksonUtil.stringToObj(studentStr, Student.class);
if (student == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
return studentService.submitPaper(pkPaper, student, testsAndAnswer);
}
/**
* @description 新增教师关联班级
*/
@RequestMapping("addRelTeacherMajor.do")
@ResponseBody
public ServerResponse addRelTeacherMajor(HttpServletRequest request, Integer pkTeacher, Integer pkMajor) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String manageStr = RedisPoolUtil.get(token);
Manager manager = JacksonUtil.stringToObj(manageStr, Manager.class);
if (manager == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
//判断权限,业务处理
if (Constant.Role.ROLE_ADMIN.equals(manager.getRole())) {
return manageService.addRelTeacherMajor(pkTeacher, pkMajor, manager);
}
return ServerResponse.createByErrorMessage("不是管理员,无法操作");
}
/**
* @description 删除教师关联班级
*/
@RequestMapping("delRelTeacherMajor.do")
@ResponseBody
public ServerResponse delRelTeacherMajor(HttpServletRequest request, Integer pkTeacher, Integer pkMajor) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String manageStr = RedisPoolUtil.get(token);
Manager manager = JacksonUtil.stringToObj(manageStr, Manager.class);
if (manager == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
//判断权限,业务处理
if (Constant.Role.ROLE_ADMIN.equals(manager.getRole())) {
log.info(manager.getPkManager() + "执行了删除教师:" + pkTeacher + " 关联的:" + pkMajor + " 专业的操作");
return manageService.delRelTeacherMajor(pkTeacher, pkMajor);
}
return ServerResponse.createByErrorMessage("不是管理员,无法操作");
}
/**
* @description 获取年级
/**
* @description 查询学生
*/
@RequestMapping("queryStudent.do")
@ResponseBody
public ServerResponse queryStudent(HttpServletRequest request, Student student,
@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
@RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String manageStr = RedisPoolUtil.get(token);
Manager manager = JacksonUtil.stringToObj(manageStr, Manager.class);
if (manager == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
//判断权限,业务处理
if (Constant.Role.ROLE_ADMIN.equals(manager.getRole())) {
return manageService.queryStudent(student, pageNum, pageSize);
}
return ServerResponse.createByErrorMessage("不是管理员,无法操作");
}
/**
* @description 新增或修改学生信息
*/
@RequestMapping("addOrUpdateStudent.do")
@ResponseBody
public ServerResponse addOrUpdateStudent(HttpServletRequest request, Student student) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String manageStr = RedisPoolUtil.get(token);
Manager manager = JacksonUtil.stringToObj(manageStr, Manager.class);
if (manager == null) {
*/
@RequestMapping("getNotice.do")
@ResponseBody
public ServerResponse getNotice(HttpServletRequest request, Integer pkNotice) {
//判断登录
String token = CookieUtil.readCookie(request);
if (StringUtils.isEmpty(token)) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
String manageStr = RedisPoolUtil.get(token);
Manager manager = JacksonUtil.stringToObj(manageStr, Manager.class);
if (manager == null) {
return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "请先登录");
}
//判断权限,业务处理
if (Constant.Role.ROLE_ADMIN.equals(manager.getRole())) {
return noticeService.getNotice(pkNotice);
}
return ServerResponse.createByErrorMessage("不是管理员,无法操作");
}
}
/**