/**
* FileName: AdminController
*
* Date: 2020/10/6 17:59
* Description: 管理员控制类
*/
package com.qst.goldenarches.controller;
import com.github.pagehelper.PageHelper;
import com.qst.goldenarches.pojo.*;
import com.qst.goldenarches.service.AdminService;
import com.qst.goldenarches.service.PermissionService;
import com.qst.goldenarches.service.RoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpSession;
import java.text.SimpleDateFormat;
import java.util.*;
@Controller
@RequestMapping("admin")
public class AdminController {
@Autowired
private AdminService adminService;
@Autowired
private RoleService roleService;
@Autowired
private PermissionService permissionService;
/**
* 跳转到错误页面(权限不足)
* @return
*/
@RequestMapping("error")
public String error() {
return "admin/error";
}
/**
* 删除管理员的角色
* @param adminId
* @param assignRoleIds
* @return
*/
@ResponseBody
@RequestMapping("doUnAssign")
public Object dounAssign( Integer adminId, Integer[] assignRoleIds ) {
try {
// 删除关系表数据
Map<String, Object> map = new HashMap<String, Object>();
map.put("adminId", adminId);
map.put("roleIds", assignRoleIds);
adminService.removeAdminRoles(map);
return Msg.success();
} catch ( Exception e ) {
e.printStackTrace();
return Msg.fail();
}
}
/**
* 为管理员分配角色
* @param adminId
* @param unassignRoleIds
* @return
*/
@ResponseBody
@RequestMapping("doAssign")
public Object doAssign( Integer adminId, Integer[] unassignRoleIds ) {
try {
// 增加admin_role关系表数据
Map<String, Object> map = new HashMap<String, Object>();
map.put("adminId", adminId);
map.put("roleIds", unassignRoleIds);
adminService.addAdminRoles(map);
return Msg.success();
} catch ( Exception e ) {
e.printStackTrace();
return Msg.fail();
}
}
/**
* 页面跳转:
* 跳转到管理员角色分配页面
* 数据回显,显示已经分配的角色
* 和没有分配的角色
* @param id
* @param model
* @return
*/
@RequestMapping("/assign")
public String assign( Integer id, Model model ) {
Admin admin = adminService.getAdminById(id);
model.addAttribute("admin", admin);
List<Role> roles = roleService.getAllRoles(null);
List<Role> assingedRoles = new ArrayList<Role>();
List<Role> unassignRoles = new ArrayList<Role>();
// 获取关系表的数据
List<Integer> roleids = adminService.getRoleIdsByAdminId(id);
for ( Role role : roles ) {
if ( roleids.contains(role.getId()) ) {
assingedRoles.add(role);
} else {
unassignRoles.add(role);
}
}
model.addAttribute("assingedRoles", assingedRoles);
model.addAttribute("unassignRoles", unassignRoles);
return "admin/assign";
}
/**
* 根据id删除管理员
* @param adminid
* @return
*/
@ResponseBody
@RequestMapping("/deletes")
public Msg deletes( Integer[] adminid ) {
try {
if (adminid.length>0){
Map<String, Object> map = new HashMap<String, Object>();
map.put("adminids", adminid);
adminService.removeAdmins(map);
return Msg.success();
}
return Msg.fail();
} catch ( Exception e ) {
e.printStackTrace();
return Msg.fail();
}
}
/**
* 实现用户修改业务逻辑
* @param admin
* @return
*/
@ResponseBody
@RequestMapping("/doEdit")
public Msg update(HttpSession session, Admin admin ) {
try {
Admin sessionAdmin =(Admin) session.getAttribute("loginAdmin");
if(sessionAdmin.getId()==admin.getId()){
adminService.editAdmin(admin);
session.setAttribute("loginAdmin",admin);
return Msg.success();
}
return Msg.fail();
} catch ( Exception e ) {
e.printStackTrace();
return Msg.fail();
}
}
/**
* 跳转到修改个人信息(admin)界面
* @param model
* @return
*/
@RequestMapping("/edit")
public String edit(HttpSession session,Model model ) {
Admin admin =(Admin) session.getAttribute("loginAdmin");
model.addAttribute("admin",admin);
return "admin/edit";
}
/**
* 新增界面实现新增业务
* @param admin
* @return
*/
@ResponseBody
@RequestMapping("doAdd")
public Msg doAdd( Admin admin ) {
try {
if (adminService.validateAccountUnique(admin.getAccount())){
admin.setPassword("1234");//默认密码
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
admin.setCreateTime(sdf.format(new Date()));
adminService.addAdmin(admin);
return Msg.success();
}
return Msg.fail();
} catch ( Exception e ) {
e.printStackTrace();
return Msg.fail();
}
}
/**
* 检验用户账户唯一性
* @param account
* @return
*/
@RequestMapping("uniqueAcct")
@ResponseBody
public Msg validateAccountUnique(String account,HttpSession session){
try {
if(account!=null) {
boolean flag = adminService.validateAccountUnique(account);
if (flag){
return Msg.success();
}
}
return Msg.fail().add("va_msg","账户已存在");
}catch (Exception e){
e.printStackTrace();
return Msg.fail().add("va_mag","服务异常,稍后重试");
}
}
/**
* 跳转到新增界面
* @return
*/
@RequestMapping("add")
public String toAdd(){
return "admin/add";
}
/**
*
* @param pn
* @param pagesize
* @param queryText
* @return
*/
@ResponseBody
@RequestMapping("/pageQuery")
public Msg pageQuery( @RequestParam(value = "pageno",defaultValue = "1") Integer pn,
@RequestParam(value = "pagesize",defaultValue = "10")Integer pagesize , String queryText) {
try {
PageHelper.startPage(pn,pagesize);
List<Admin> admins =adminService.getAllAdmin(queryText);
com.github.pagehelper.PageInfo<Admin> adminPageInfo =
new com.github.pagehelper.PageInfo<Admin>(admins,5);
return Msg.success().add("pageInfo",adminPageInfo);
} catch ( Exception e ) {
e.printStackTrace();
return Msg.fail();
}
}
/**
* 页面跳转
* 管理员列表主界面
* @return
*/
@RequestMapping("/index")
public String index(){
return "admin/index";
}
/***
* 管理员退出
* @param session
* @return
*/
@RequestMapping
qwsrfss
- 粉丝: 1
- 资源: 32
最新资源
- 基于java+ssm+mysql的素材网站 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的图书馆预约占座系统 源码+数据库+论文(高分毕设项目).zip
- chromedriver-win64-125版本所有资源打包:125.0.6368.0 -125.0.6422.78之间的所有版本打包下载
- 基于java+ssm+mysql的网上手机销售系统 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的网络游戏交易平台信息管理系统 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的网上购物平台 源码+数据库+论文(高分毕设项目).zip
- MotoSimEG-VRC软件安川机器人基础操作虚拟仿真案例文件
- Python游戏源码-07坦克大战
- 基于java+ssm+mysql的物资物流系统 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的小儿肺炎知识管理系统 源码+数据库+论文(高分毕设项目).zip
- 电力系统潮流计算标准算例集:涵盖从3节点至300节点的多种格式潮流数据及其拓扑图,电力系统潮流计算标准算例的数据(从3节点到300节点都齐了) 包含IEEE格式、BPA格式、清华格式,同时有各个节点
- 基于java+ssm+mysql的校内信息服务发布系统 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的小区物业管理系统 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的校友录系统 源码+数据库+论文(高分毕设项目).zip
- Python游戏源码-08坦克大战版本2
- 基于分时电价与蓄电池实时控制策略的家庭能量管理优化模型研究,MATLAB代码:基于分时电价条件下家庭能量管理策略研究 关键词:家庭能量管理模型 分时电价 空调 电动汽车 可平移负荷 参考文档:基于分
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈