package com.mecol.bookshop_ssm.web;
import com.mecol.bookshop_ssm.entity.*;
import com.mecol.bookshop_ssm.service.AdminService;
import com.mecol.bookshop_ssm.util.EncryptUtil;
import com.mecol.bookshop_ssm.util.GsonUtil;
import com.mecol.bookshop_ssm.util.ResultUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@Controller
@RequestMapping("/admin")
public class AdminController
{
@Autowired
private AdminService adminService;
@RequestMapping("/login")
@ResponseBody
public ResultUtil login(String username, String password, HttpServletRequest request, HttpSession session)
throws ParseException
{
Admin admin=adminService.login(username, EncryptUtil.encrypt(password));
if(admin!=null)
{
session.setAttribute("user",admin); //在拦截器中使用
session.setAttribute("admin",admin); //在main.jsp中药取出admin
// 还有修改密码.jsp等都可以直接取出admin
String loginIp=request.getHeader("x-forwarded-for");
if(loginIp==null||loginIp.length()==0||"unknown".equalsIgnoreCase(loginIp))
{
loginIp=request.getHeader("Proxy-Client-IP");//获取代理的IP
}
if(loginIp==null||loginIp.length()==0||"unknown".equalsIgnoreCase(loginIp))
{
loginIp=request.getHeader("WL-Proxy-Client-IP");//获取代理的IP
}
if(loginIp==null||loginIp.length()==0||"unknown".equalsIgnoreCase(loginIp))
{
loginIp=request.getRemoteAddr();
}
Date date=new Date();
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime=simpleDateFormat.format(date);
Date loginTime=simpleDateFormat.parse(nowTime);
Date logoutTime=loginTime;
Integer isSafeExit=0; //logoutTime isSafeExit也要插入 不然在数据库中就是null
// 然后点击退出的时候会 adminLog.setIsSafeExit(1); 就会包空指针异常
adminService.insAdminLog(username,loginIp,loginTime,logoutTime,isSafeExit);
session.setAttribute("adminloginTime",loginTime); //点击退出的时候用的到
return ResultUtil.ok(admin.getId());
}
else
return ResultUtil.error();
}
/*************登录Log相关**************/
//获取所有的登录日志
@RequestMapping("/getAdminLogList")
@ResponseBody
public ResultUtil getAdminLogList(Integer page,Integer limit,HttpSession session)
throws ParseException
{
return adminService.getAdminLogList(page,limit);
}
/********Role相关*******/
//获取角色列表 带分页
@RequestMapping("/getRoleList")
@ResponseBody
public ResultUtil getRoleList(Integer page,Integer limit)
{
return adminService.getRoles(page,limit);
}
//删除一个角色
@RequestMapping("/delRole/{roleId}")
@ResponseBody
public ResultUtil delRole(@PathVariable("roleId")Long roleId)
{
/*
try{
adminService.delRole(roleId);
return ResultUtil.ok();
}
catch (Exception e)
{
e.printStackTrace();
return ResultUtil.error();
}
*/
adminService.delRole(roleId);
return ResultUtil.ok();
}
@RequestMapping(value="/xtreedata",produces = {"text/json;charset=UTF-8"})
@ResponseBody
public String xtreeData(@RequestParam(value="roleId" ,defaultValue="-1") Long roleId )
{
//不用admin做中介一样可以
return GsonUtil.entityToJson(adminService.getXtreeData(roleId));
}
// 检查角色是否唯一 编辑角色的视乎用这个函数
@RequestMapping("/checkRoleName/{roleName}/{roleId}")
@ResponseBody
public ResultUtil checkRoleName(@PathVariable("roleName") String roleName,
@PathVariable("roleId") Long roleId)
{
//System.out.println(roleName);
//System.out.println("曹操:"+roleId);
Role role=adminService.getRoleByRoleName(roleName);
if(role==null)//没有这个角色名 可以
{
return new ResultUtil(0);
}
else if(role.getRoleId()==roleId) //已经有这个角色名 并且就是这个id 也可以
{
return new ResultUtil(0);
}
else //此角色名已存在 别的roleId
{
return new ResultUtil(500,"已经存在此角色名");
}
}
// 检查角色是否唯一 添加新角色的时候用这个函数
@RequestMapping("/checkAddRoleName/{roleName}")
@ResponseBody
public ResultUtil checkRoleName(@PathVariable("roleName") String roleName)
{
Role role=adminService.getRoleByRoleName(roleName);
if(role==null)//没有这个角色名 可以
{
return new ResultUtil(0);
}
else //此角色名已存在
{
return new ResultUtil(500,"已经存在此角色名");
}
}
//更新角色
@RequestMapping("/updateRole")
@ResponseBody
public void updateRole(Role role,String m)
{
// System.out.println(role);
// System.out.println(m);
adminService.updRole(role,m);
}
//添加角色
@RequestMapping("/insRole")
@ResponseBody
public ResultUtil insertRole(Role role,String m)
{
adminService.insRole(role,m);
return ResultUtil.ok();
}
/*******管理员相关******/
//查看管理员的个人信息
@RequestMapping("/personalDate")
public String personalDate(HttpSession session)
{
Admin admin= (Admin) session.getAttribute("admin");
Admin admin1=adminService.getAdminById(admin.getId());
session.setAttribute("admin1",admin1);
return "/jsp/admin/personalInfo";
}
@RequestMapping("/getAdminList")
@ResponseBody
//获取所有管理员列表 带分页
public ResultUtil getAdminList(Integer page,Integer limit)
{
// Tomcat Localhost Log 会输出错误信息 如果下面的sql语句有问题
ResultUtil admins=adminService.getAdminList(page,limit);
//System.out.println(".."+page+"..."+limit);
return admins;
}
@RequestMapping("/getMenus")
@ResponseBody
public List<Menu> getMenus(HttpSession session)
{
//System.out.println("getmenus进来了");
List<Menu> menus=null;
Admin admin= (Admin) session.getAttribute("admin");
Admin admin1=adminService.getAdminById(admin.getId());
if(admin1!=null)
{
menus=adminService.getMenus(admin1); //getMenus函数里只是取出来 并没有实现排序
}
return menus;
}
//编辑管理员
@RequestMapping("/editAdmin/{id}")
public String editAdmin(HttpServletRequest request, @PathVariable("id") int id)
{
Admin admin=adminService.getAdminById(id);
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
可以远程帮忙调试运行 ssm框架 idea eclipse运行 maven项目管理 数据库mysql 项目介绍 https://blog.csdn.net/m0_46108627/article/details/107092383?spm=1001.2014.3001.5501
资源推荐
资源详情
资源评论
收起资源包目录
基于ssm框架的学生信息管理系统 (557个子文件)
AdminController.class 16KB
AdminController.class 16KB
AdminServiceImpl.class 11KB
AdminServiceImpl.class 11KB
StudentController.class 4KB
StudentController.class 4KB
Menu.class 3KB
Menu.class 3KB
CourseController.class 3KB
CourseController.class 3KB
StudentServiceImpl.class 3KB
StudentServiceImpl.class 3KB
Student.class 3KB
Student.class 3KB
TeacherController.class 3KB
TeacherController.class 3KB
AuthorizedInterceptor.class 3KB
AuthorizedInterceptor.class 3KB
TeacherServiceImpl.class 3KB
TeacherServiceImpl.class 3KB
Admin.class 3KB
Admin.class 3KB
Teacher.class 3KB
Teacher.class 3KB
CourseServiceImpl.class 2KB
CourseServiceImpl.class 2KB
AdminService.class 2KB
AdminService.class 2KB
StudentSearch.class 2KB
StudentSearch.class 2KB
Course.class 2KB
Course.class 2KB
ResultUtil.class 2KB
ResultUtil.class 2KB
DateUtil.class 2KB
DateUtil.class 2KB
AdminLog.class 2KB
AdminLog.class 2KB
Role.class 2KB
Role.class 2KB
EncryptUtil.class 1KB
EncryptUtil.class 1KB
AdminDao.class 1KB
AdminDao.class 1KB
RoleMenu.class 1KB
RoleMenu.class 1KB
AdminServiceImpl$1.class 1KB
AdminServiceImpl$1.class 1KB
GsonUtil.class 1016B
GsonUtil.class 1016B
StudentDao.class 813B
StudentDao.class 813B
MenuDao.class 811B
MenuDao.class 811B
StudentService.class 794B
StudentService.class 794B
TeacherDao.class 636B
TeacherDao.class 636B
TeacherService.class 565B
TeacherService.class 565B
RoleDao.class 563B
RoleDao.class 563B
CourseDao.class 511B
CourseDao.class 511B
RoleMenuDao.class 475B
RoleMenuDao.class 475B
CourseService.class 428B
CourseService.class 428B
layui.css 68KB
layui.css 68KB
layer.css 14KB
layer.css 14KB
main.css 10KB
main.css 10KB
layui.mobile.css 10KB
layui.mobile.css 10KB
laydate.css 7KB
laydate.css 7KB
zTreeStyle.css 7KB
zTreeStyle.css 7KB
font_eolqem241z66flxr.css 2KB
font_eolqem241z66flxr.css 2KB
style.css 1KB
style.css 1KB
code.css 1KB
code.css 1KB
list.css 359B
list.css 359B
iconfont.eot 40KB
iconfont.eot 40KB
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
共 557 条
- 1
- 2
- 3
- 4
- 5
- 6
小阿七Eason
- 粉丝: 217
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 12-【培训PPT】-04-新员工培训体系.pptx
- 12-【培训PPT】-07-员工关系培训PPT.ppt
- 12-【培训PPT】-08-社交礼仪入职培训PPT.pptx
- 12-【培训PPT】-09-新员工入职培训(公司介绍).pptx
- 12-【培训PPT】-10-新员工入职培训(企业宣传介绍).pptx
- 12-【培训PPT】-11-互联网公司介绍新员工入职培训.pptx
- 12-【培训PPT】-14-新教师入职培训PPT.pptx
- 12-【培训PPT】-13-品牌宣讲企业介绍新员工入职培训PPT.pptx
- 12-【培训PPT】-15-员工入职培训PPT.pptx
- 12-【培训PPT】-18-销售技巧入职培训PPT.pptx
- 12-【培训PPT】-16-新员工入职培训酒店餐饮服务行业PPT.pptx
- 12-【培训PPT】-17-入职培训时间管理培训PPT.pptx
- 12-【培训PPT】-19-新员工入职培训PPT.pptx
- 12-【培训PPT】-20-新员工入职培训PPT.pptx
- 12-【培训PPT】-21-新员工入职培训PPT.pptx
- 12-【培训PPT】-24-销售技巧员工入职培训PPT.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页