package com.controller;
import java.util.List;
import com.po.*;
import com.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
/*
* 特别关心控制器
*/
@Controller
public class NotifyController {
@Autowired
NotifyService notifyService;
@Autowired
UserService userService;
@Autowired
CourseService courseService;
//根据接收方账号查看所有消息通知或者收件箱
@RequestMapping("/notifylist")
public String notifylist(String nto,String ntype,String role,String replyMsg,Model model) {
List<Notify> notifyList = null;
if("管理员".equals(role)) {
notifyList = notifyService.findNotifiesByRole(role);
}
else {
Notify notify = new Notify();
notify.setNto(nto);
notify.setNtype(ntype);
notifyList = notifyService.findNotifiesByNtoNtype(notify);
}
model.addAttribute("notifyList",notifyList);
model.addAttribute("replyMsg",replyMsg);
model.addAttribute("ntype",ntype);
return "notify/notifylist";
}
//提交申请控制器
@RequestMapping("/sendNotify")
public String sendNotify(Notify notify,String flag,Model model) {
User user1 = userService.findUserByUaccount(notify.getNfrom());
Notify notify1 = notify;
notify1.setNfromName(user1.getUname());
notify1.setNtoRole(notify.getNtoRole());
//先查找消息表里面有没有提交过该消息且未审核过的
Notify notify2 = notifyService.findNotifyToTeacher(notify1);
if (notify2!=null) {
model.addAttribute("applyCourse","已提交过该申请,请不要重复提交!");
}
else {
notifyService.addNotify(notify1);
model.addAttribute("applyCourse","已提交申请,等待审核!");
}
model.addAttribute("saccount",notify.getNfrom());
model.addAttribute("flag",flag);
model.addAttribute("caccount",notify.getNcourse());
return "redirect:courselist";
}
//提交课程申请控制器
@RequestMapping("/sendCourseNotify")
public String sendCourseNotify(Notify notify,Model model) {
User user1 = userService.findUserByUaccount(notify.getNfrom());
Notify notify1 = notify;
notify1.setNfromName(user1.getUname());
notify1.setNtoRole(notify.getNtoRole());
Course course = courseService.findCourseByCaccount(notify.getNcourse());
notify1.setNcourseName(course.getCname());
notify1.setNcourseTaccount(course.getTaccount());
notify1.setNcourseTeacher(course.getCteacher());
notify1.setNtype(notify.getNtype());
//先查找消息表里面有没有提交过该消息且未审核过的
Notify notify2 = notifyService.findNotifyToAdmin(notify1);
if (notify2!=null) {
model.addAttribute("applyCourse","已提交过该申请,请不要重复提交!");
}
else {
notifyService.addNotify(notify1);
model.addAttribute("applyCourse","已提交申请,等待审核!");
}
model.addAttribute("taccount",notify.getNcourseTaccount());
return "redirect:teacherCourselist";
}
//删除选中的消息控制器
@RequestMapping("/notifyDeleteSelected")
public String notifyDeleteSelected(int[] nnoArray,String ntoRole,String ntype,String nto,Model model) {
notifyService.deleteNotifiesSelected(nnoArray);
model.addAttribute("nto",nto);
model.addAttribute("role",ntoRole);
model.addAttribute("ntype",ntype);
return "redirect:notifylist";
}
//审核消息的控制器
@RequestMapping("/notifyExamine")
public String notifyExamine(Notify notify,Model model) {
//更新消息通知界面的消息状态
notifyService.updateNotify(notify.getNno(),notify.getNstate());
String content = notify.getNcontent();
//编辑回复消息
Notify notify1 = new Notify();
notify1.setNfrom(notify.getNto());
notify1.setNfromName(notify.getNtoName());
notify1.setNto(notify.getNfrom());
notify1.setNtoName(notify.getNfromName());
notify1.setNcourse(notify.getNcourse());
notify1.setNstate("未读");
notify1.setNtype(notify.getNtype());
Course course = courseService.findCourseByCaccount(notify.getNcourse());
if(content.contains("申请加入课程")) {
if ("已同意".equals(notify.getNstate())) {
courseService.addSc_table(notify.getNfrom(),notify.getNcourse());
// courseService.updateSc_tableByCaccount(notify.getNfrom(),notify.getNcourse());
notify1.setNcontent("已同意你加入课程《" + course.getCname() + "》");
}
else if("已拒绝".equals(notify.getNstate())){
notify1.setNcontent("已拒绝你加入课程《" + course.getCname() + "》");
}
//发送回复消息
notifyService.addNotify(notify1);
}
else if(content.contains("申请退出课程")) {
if ("已同意".equals(notify.getNstate())) {
courseService.deleteSc_table(notify.getNfrom(),notify.getNcourse());
// courseService.updateSc_tableByCaccount("",notify.getNcourse());
notify1.setNcontent("已同意你退出课程《" + course.getCname() + "》");
}
else if("已拒绝".equals(notify.getNstate())){
notify1.setNcontent("已拒绝你退出课程《" + course.getCname() + "》");
} //发送回复消息
notifyService.addNotify(notify1);
}
model.addAttribute("nto",notify.getNto());
model.addAttribute("ntype",notify.getNtype());
return "redirect:notifylist";
}
//更新消息状态的控制器
@RequestMapping("/updateNotify")
public String updateNotify(Notify notify,Model model) {
notifyService.updateNotify(notify.getNno(),notify.getNstate());
model.addAttribute("nto",notify.getNto());
model.addAttribute("ntype",notify.getNtype());
return "redirect:notifylist";
}
//审核消息的控制器
@RequestMapping("/notifyAdminExamine")
public String notifyAdminExamine(Notify notify,Model model) {
//更新消息通知界面的消息状态
notifyService.updateNotify(notify.getNno(),notify.getNstate());
String content = notify.getNcontent();
//编辑回复消息
Notify notify1 = new Notify();
notify1.setNfromName("管理员");
notify1.setNto(notify.getNfrom());
notify1.setNtoName(notify.getNfromName());
notify1.setNstate("未读");
notify1.setNtype(notify.getNtype());
if(content.contains("申请创建课程")) {
if ("已同意".equals(notify.getNstate())) {
Course course = new Course();
course.setCaccount(notify.getNcourse());
course.setCname(notify.getNcourseName());
course.setTaccount(notify.getNcourseTaccount());
course.setCteacher(notify.getNcourseTeacher());
courseService.addCourse(course);
notify1.setNcontent("已同意你的课程《" + notify.getNcourseName() + "》创建申请");
}
else if("已拒绝".equals(notify.getNstate())){
notify1.setNcontent("已拒绝你的课程《" + notify.getNcourseName() + "》创建申请");
}
//发送回复消息
notifyService.addNotify(notify1);
}
else if(content.contains("申请结束课程")) {
if ("已同意".equals(notify.getNstate())) {
courseService.deleteCourse(notify.getNcourse());
courseService.deleteSc_tableByCaccount(notify.getNcourse());
notify1.setNcontent("已同意你的课程《" + notify.getNcourseName() + "》结束申请");
}
else if("已拒绝".equals(notify.getNstate())){
notify1.setNconten
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
<项目介绍> 基于SSM框架的校园通讯录信息管理系统源码(毕设项目).zip 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到94.5分,放心下载使用! 该资源适合计算机相关专业(如人工智能、通信工程、自动化、软件工程等)的在校学生、老师或者企业员工下载,适合小白学习或者实际项目借鉴参考! 当然也可作为毕业设计、课程设计、课程作业、项目初期立项演示等。如果基础还行,可以在此代码基础之上做改动以实现更多功能。 介绍 该系统将课程和通讯录联系起来,教师或学生主要可以通过课程添加联系方式从而进行互发短信。 主要功能模块有个人信息管理、联系人管理、课程管理、消息通知管理和短信管理。 教师可以向管理员申请创建和结束课程,学生可以向课程教师申请加入和退出课程,通过课程,学生和教师可以进行通讯录操作,相应的操作会有消息通知功能。 技术栈 - 使用Spring、SpringMVC、Mybatis框架搭建系统的整体框架 - 使用MySQL数据库 - 使用html/js/css/bootstrap框架/Layui框架建前端页面
资源推荐
资源详情
资源评论
收起资源包目录
基于SSM框架的校园通讯录信息管理系统源码(毕设项目).zip (441个子文件)
$PRODUCT_WORKSPACE_FILE$ 489B
NotifyController.class 8KB
NotifyController.class 8KB
CourseController.class 7KB
CourseController.class 7KB
UserController.class 6KB
UserController.class 6KB
LiaisonController.class 6KB
LiaisonController.class 6KB
AccountsController.class 4KB
AccountsController.class 4KB
CourseServiceImpl.class 4KB
CourseServiceImpl.class 4KB
Notify.class 3KB
Notify.class 3KB
LiaisonServiceImpl.class 3KB
LiaisonServiceImpl.class 3KB
LoginInterceptor.class 2KB
LoginInterceptor.class 2KB
NotifyServiceImpl.class 2KB
NotifyServiceImpl.class 2KB
Liaison.class 2KB
Liaison.class 2KB
User.class 2KB
User.class 2KB
Course.class 2KB
Course.class 2KB
UserServiceImpl.class 2KB
UserServiceImpl.class 2KB
AccountsServiceImpl.class 2KB
AccountsServiceImpl.class 2KB
CourseService.class 1KB
CourseService.class 1KB
CourseMapper.class 1KB
CourseMapper.class 1KB
StudentCourse.class 933B
StudentCourse.class 933B
Accounts.class 883B
Accounts.class 883B
LiaisonService.class 848B
LiaisonService.class 848B
NotifyService.class 616B
NotifyService.class 616B
NotifyMapper.class 598B
NotifyMapper.class 598B
AccountsMapper.class 582B
AccountsMapper.class 582B
LiaisonMapper.class 560B
LiaisonMapper.class 560B
UserMapper.class 524B
UserMapper.class 524B
UserService.class 522B
UserService.class 522B
AccountsService.class 431B
AccountsService.class 431B
.classpath 3KB
org.eclipse.wst.common.component 495B
org.eclipse.wst.jsdt.ui.superType.container 49B
layui.css 73KB
layui.css 73KB
layer.css 14KB
layer.css 14KB
layui.mobile.css 10KB
layui.mobile.css 10KB
laydate.css 7KB
laydate.css 7KB
code.css 1KB
code.css 1KB
iconfont.eot 46KB
iconfont.eot 46KB
59.gif 10KB
59.gif 10KB
22.gif 10KB
22.gif 10KB
24.gif 8KB
24.gif 8KB
13.gif 7KB
13.gif 7KB
16.gif 7KB
16.gif 7KB
39.gif 6KB
39.gif 6KB
64.gif 6KB
64.gif 6KB
63.gif 6KB
63.gif 6KB
50.gif 6KB
50.gif 6KB
loading-0.gif 6KB
loading-0.gif 6KB
4.gif 6KB
4.gif 6KB
1.gif 5KB
1.gif 5KB
42.gif 5KB
42.gif 5KB
71.gif 5KB
71.gif 5KB
21.gif 5KB
21.gif 5KB
共 441 条
- 1
- 2
- 3
- 4
- 5
资源评论
onnx
- 粉丝: 9638
- 资源: 5598
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功