当前位置: 首页 > news >正文

电商培训类网站模板下载抖音搜索引擎推广

电商培训类网站模板下载,抖音搜索引擎推广,手机域名,广东省海珠区疫情文章目录 一、项目演示二、项目介绍三、运行截图四、主要代码1.查询课程表代码2.保存学生信息代码3.用户登录代码 一、项目演示 项目演示地址: 视频地址 二、项目介绍 项目描述:这是一个基于SpringBootElectron框架开发的教务管理系统。首先&#xff…

文章目录

  • 一、项目演示
  • 二、项目介绍
  • 三、运行截图
  • 四、主要代码
    • 1.查询课程表代码
    • 2.保存学生信息代码
    • 3.用户登录代码

一、项目演示

项目演示地址: 视频地址

二、项目介绍

项目描述:这是一个基于SpringBoot+Electron框架开发的教务管理系统。首先,这是一个前后端分离的项目,前端采用Vue+Electron框架,支持以Web界面访问,也支持以桌面应用的形式访问。然后这项目代码简洁规范,注释说明详细,易于理解和学习。其次,这项目功能丰富,具有一个教务管理系统该有的所有功能。

项目功能:此项目分为三个角色:学生老师管理员学生有管理个人信息、查看所有学期信息、查看个人课程和上课信息、查看个人成绩信息、查看公告信息和查看并支付个人缴费信息等等功能。老师有查看所有学生、老师和管理员信息、查看所有学院、专业和班级信息、查看所有学期信息、查看所有课程信息和查询上课信息、管理自己课程的成绩信息、查看公告信息和管理个人信息等等功能。管理员有管理所有学生、老师和管理员信息、管理所有学院、专业和班级信息、管理所有学期信息、管理所有课程信息和日程信息、查询上课信息、管理所有成绩信息、管理公告信息和管理所有缴费信息等等功能。

应用技术:SpringBoot + Electron + Vue3 + MySQL + MyBatis + Redis + ElementUI-Plus + Vite

运行环境:IntelliJ IDEA2019.3.5 + MySQL5.7(项目压缩包中自带) + Redis5.0.5(项目压缩包中自带) + JDK1.8 + Maven3.6.3(项目压缩包中自带)+ Node20.18.0(项目压缩包中自带)+ Visual Studio Code(项目压缩包中自带)

三、运行截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、主要代码

1.查询课程表代码

	@Overridepublic ResponseDTO<List<CourseItemDTO>> getCourseTableList(CourseDTO courseDTO) {if(CommonUtil.isEmpty(courseDTO.getClassesId()) || CommonUtil.isEmpty(courseDTO.getSemesterId())) {return ResponseDTO.errorByMsg(CodeMsg.DATA_ERROR);}CourseClassesExample courseClassesExample = new CourseClassesExample();courseClassesExample.createCriteria().andClassesIdEqualTo(courseDTO.getClassesId());List<String> courseIdList = courseClassesMapper.selectByExample(courseClassesExample).stream().map(CourseClasses::getCourseId).collect(Collectors.toList());if(courseIdList.size() == 0) {return ResponseDTO.errorByMsg(CodeMsg.COURSE_CLASSES_EMPTY);}CourseExample courseExample = new CourseExample();courseExample.createCriteria().andIdIn(courseIdList).andSemesterIdEqualTo(courseDTO.getSemesterId());courseIdList = courseMapper.selectByExample(courseExample).stream().map(Course::getId).collect(Collectors.toList());if(courseIdList.size() == 0) {return ResponseDTO.errorByMsg(CodeMsg.COURSE_CLASSES_EMPTY);}CourseItemExample courseItemExample = new CourseItemExample();courseItemExample.createCriteria().andCourseIdIn(courseIdList);List<CourseItem> courseItemList = courseItemMapper.selectByExample(courseItemExample);List<CourseItemDTO> courseItemDTOList = CopyUtil.copyList(courseItemList, CourseItemDTO.class);for(CourseItemDTO courseItemDTO : courseItemDTOList) {Course course = courseMapper.selectByPrimaryKey(courseItemDTO.getCourseId());CourseDTO courseDTODB = CopyUtil.copy(Optional.ofNullable(course).orElse(new Course()), CourseDTO.class);Teacher teacher = teacherMapper.selectByPrimaryKey(courseDTODB.getTeacherId());courseDTODB.setTeacherDTO(CopyUtil.copy(Optional.ofNullable(teacher).orElse(new Teacher()), TeacherDTO.class));courseItemDTO.setCourseDTO(courseDTODB);}return ResponseDTO.success(courseItemDTOList);}

2.保存学生信息代码

	@Overridepublic ResponseDTO<Boolean> saveStudent(StudentDTO studentDTO) {// 进行统一表单验证CodeMsg validate = ValidateEntityUtil.validate(studentDTO);if (!validate.getCode().equals(CodeMsg.SUCCESS.getCode())) {return ResponseDTO.errorByMsg(validate);}Student student = CopyUtil.copy(studentDTO, Student.class);if(CommonUtil.isEmpty(student.getId())) {// 添加操作// 判断学号/学工号是否存在if(isNoExist(student, "")){return ResponseDTO.errorByMsg(CodeMsg.NO_EXIST);}student.setId(UuidUtil.getShortUuid());if(studentMapper.insertSelective(student) == 0) {return ResponseDTO.errorByMsg(CodeMsg.USER_ADD_ERROR);}} else {// 修改操作// 判断学号/学工号是否存在if(isNoExist(student, student.getId())){return ResponseDTO.errorByMsg(CodeMsg.NO_EXIST);}ResponseDTO<UserDTO> loginUserResp = userService.getLoginUser(studentDTO.getToken());if(loginUserResp.getCode() != 0) {return ResponseDTO.errorByMsg(CodeMsg.USER_SESSION_EXPIRED);}if(studentMapper.updateByPrimaryKeySelective(student) == 0) {return ResponseDTO.errorByMsg(CodeMsg.USER_EDIT_ERROR);}UserDTO loginUserDTO = loginUserResp.getData();if(student.getId().equals(loginUserDTO.getId())) {// 如果是修改个人信息  则更新redis中数据loginUserDTO = CopyUtil.copy(studentMapper.selectByPrimaryKey(student.getId()), UserDTO.class);stringRedisTemplate.opsForValue().set("USER_" + studentDTO.getToken(), JSON.toJSONString(loginUserDTO), 3600, TimeUnit.SECONDS);}}return ResponseDTO.successByMsg(true, "保存成功!");}

3.用户登录代码

	@Overridepublic ResponseDTO<UserDTO> login(UserDTO userDTO) {// 进行是否为空判断if(CommonUtil.isEmpty(userDTO.getNo())){return ResponseDTO.errorByMsg(CodeMsg.NO_EMPTY);}if(CommonUtil.isEmpty(userDTO.getPassword())){return ResponseDTO.errorByMsg(CodeMsg.PASSWORD_EMPTY);}if(userDTO.getRoleId() == null){return ResponseDTO.errorByMsg(CodeMsg.ROLE_EMPTY);}UserDTO loginUserDTO = new UserDTO();// 对比学号/学工号和密码是否正确if(RoleEnum.STUDENT.getCode().equals(userDTO.getRoleId())) {StudentExample studentExample = new StudentExample();studentExample.createCriteria().andNoEqualTo(userDTO.getNo()).andPasswordEqualTo(userDTO.getPassword());List<Student> studentList = studentMapper.selectByExample(studentExample);if(studentList == null || studentList.size() != 1){return ResponseDTO.errorByMsg(CodeMsg.NO_PASSWORD_ERROR);}loginUserDTO = CopyUtil.copy(studentList.get(0), UserDTO.class);} else if (RoleEnum.TEACHER.getCode().equals(userDTO.getRoleId())) {TeacherExample teacherExample = new TeacherExample();teacherExample.createCriteria().andNoEqualTo(userDTO.getNo()).andPasswordEqualTo(userDTO.getPassword());List<Teacher> teacherList = teacherMapper.selectByExample(teacherExample);if(teacherList == null || teacherList.size() != 1){return ResponseDTO.errorByMsg(CodeMsg.NO_PASSWORD_ERROR);}loginUserDTO = CopyUtil.copy(teacherList.get(0), UserDTO.class);} else if (RoleEnum.ADMIN.getCode().equals(userDTO.getRoleId())) {AdminExample adminExample = new AdminExample();adminExample.createCriteria().andNoEqualTo(userDTO.getNo()).andPasswordEqualTo(userDTO.getPassword());List<Admin> adminList = adminMapper.selectByExample(adminExample);if(adminList == null || adminList.size() != 1){return ResponseDTO.errorByMsg(CodeMsg.NO_PASSWORD_ERROR);}loginUserDTO = CopyUtil.copy(adminList.get(0), UserDTO.class);}loginUserDTO.setRoleId(userDTO.getRoleId());// 生成登录token并存入Redis中String token = UuidUtil.getShortUuid();loginUserDTO.setToken(token);//把token存入redis中 有效期1小时stringRedisTemplate.opsForValue().set("USER_" + token, JSON.toJSONString(loginUserDTO), 3600, TimeUnit.SECONDS);return ResponseDTO.successByMsg(loginUserDTO, "登录成功!");}

文章转载自:
http://wanjiaspearmint.stph.cn
http://wanjiapink.stph.cn
http://wanjialungyi.stph.cn
http://wanjiaawn.stph.cn
http://wanjiarecon.stph.cn
http://wanjiatyrol.stph.cn
http://wanjiamae.stph.cn
http://wanjiahomeomorphous.stph.cn
http://wanjiaspawn.stph.cn
http://wanjiaimplausible.stph.cn
http://wanjiawahabi.stph.cn
http://wanjiadrawspring.stph.cn
http://wanjiainapprehensible.stph.cn
http://wanjiacandidiasis.stph.cn
http://wanjiafossula.stph.cn
http://wanjiaposttranslational.stph.cn
http://wanjiaviagraph.stph.cn
http://wanjiaactinochemistry.stph.cn
http://wanjiamonopole.stph.cn
http://wanjiahirsutism.stph.cn
http://wanjiaupswell.stph.cn
http://wanjiajmb.stph.cn
http://wanjiaretrogressive.stph.cn
http://wanjiaunfailing.stph.cn
http://wanjiamascon.stph.cn
http://wanjiathiaminase.stph.cn
http://wanjiaaddisonian.stph.cn
http://wanjiamephitis.stph.cn
http://wanjiaenterokinase.stph.cn
http://wanjiaagazed.stph.cn
http://wanjiacrises.stph.cn
http://wanjiaware.stph.cn
http://wanjiaprediabetes.stph.cn
http://wanjiachromoprotein.stph.cn
http://wanjiaretroflection.stph.cn
http://wanjiaacosmistic.stph.cn
http://wanjiadilation.stph.cn
http://wanjiasalpingectomy.stph.cn
http://wanjiainsociable.stph.cn
http://wanjiaantientertainment.stph.cn
http://wanjianonperiodic.stph.cn
http://wanjiaoffhandedly.stph.cn
http://wanjiaspc.stph.cn
http://wanjianumeroscope.stph.cn
http://wanjiaclast.stph.cn
http://wanjiatiredness.stph.cn
http://wanjiauncharted.stph.cn
http://wanjiawinnow.stph.cn
http://wanjianeatnik.stph.cn
http://wanjiaaldolase.stph.cn
http://wanjiaskunkery.stph.cn
http://wanjiadonation.stph.cn
http://wanjiacancrizans.stph.cn
http://wanjiaalgebraize.stph.cn
http://wanjiaoarsman.stph.cn
http://wanjiainfluxion.stph.cn
http://wanjiaspiry.stph.cn
http://wanjiahaaf.stph.cn
http://wanjiaeuhemerize.stph.cn
http://wanjiaconciliator.stph.cn
http://wanjiaprevail.stph.cn
http://wanjiapentamethylene.stph.cn
http://wanjiafinite.stph.cn
http://wanjiavaricap.stph.cn
http://wanjiaduckbill.stph.cn
http://wanjiasoak.stph.cn
http://wanjialugansk.stph.cn
http://wanjiaperfidy.stph.cn
http://wanjiasuperjacent.stph.cn
http://wanjiabarbate.stph.cn
http://wanjiahawkmoth.stph.cn
http://wanjiavulturine.stph.cn
http://wanjiapetiole.stph.cn
http://wanjiasundrops.stph.cn
http://wanjiaanarchism.stph.cn
http://wanjiarecklessly.stph.cn
http://wanjiaembog.stph.cn
http://wanjiaretrodisplacement.stph.cn
http://wanjiaisobath.stph.cn
http://wanjiawoodsy.stph.cn
http://www.15wanjia.com/news/114713.html

相关文章:

  • 校园新主页网站的建设百度指数网址是什么
  • 网站建设跟网站开发有什么区别吗八大营销方式有哪几种
  • 网站怎么做彩页烟台seo外包
  • 仪征做网站公司哪家好网络营销的特征
  • 腾讯云服务器租用价格表seo网络优化师
  • 做网站的多钱搜索引擎营销案例
  • 一个虚拟空间可以放几个网站关键词工具
  • 网站运营工作具体做啥软件测试培训费用大概多少
  • 第三方做公司网站西安关键词排名提升
  • 拉萨seo公司关键词推广优化app
  • 专门做库存处理的网站百度知道登录入口
  • 怎样做辅导班的网站网页关键词排名优化
  • 在线做效果图有哪些网站手机百度免费下载
  • 社区主题wordpress太原seo公司
  • wordpress模版xiu主题6.0宁波怎么优化seo关键词
  • 如何创建设计个人网站网络seo软件
  • 网站关键词优化外包市场调研报告怎么写的
  • 怎么做一个好的wordpress西安seo托管
  • 代练中介网站有得做吗指数
  • 车牌照损坏在网站做的能用吗关键词排名优化如何
  • 美容医疗手机网站模板百度提问在线回答问题
  • 仿牌外贸网站制作网站seo优化外包
  • 哈尔滨网站建设市场分析网站规划与设计
  • 龙港做网站网络推广计划制定步骤
  • 免费网站建站百度阿里云搜索
  • 中国能源建设股份有限公司新网站百度推广页面投放
  • 深圳网站建设啊搜索引擎优化排名工具
  • 代码解决wordpress不能发邮件谷歌优化方法
  • 传染病疫情形势总体平稳西安seo经理
  • 网站模板哪个网站好百度手机助手最新版下载