管理员管理
This commit is contained in:
parent
1442bce6ed
commit
8e6f2f8ca3
|
|
@ -85,7 +85,7 @@ public class LikeAdminInterceptor implements HandlerInterceptor {
|
||||||
|
|
||||||
// 免权限验证接口
|
// 免权限验证接口
|
||||||
List<String> notAuthUri = Arrays.asList(SystemConfig.notLoginUri);
|
List<String> notAuthUri = Arrays.asList(SystemConfig.notLoginUri);
|
||||||
if (notAuthUri.contains(request.getRequestURI())) {
|
if (notAuthUri.contains(request.getRequestURI()) || Integer.parseInt(uid) == 1) {
|
||||||
return HandlerInterceptor.super.preHandle(request, response, handler);
|
return HandlerInterceptor.super.preHandle(request, response, handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,7 @@ package com.hxkj.admin.controller.system;
|
||||||
import com.hxkj.admin.service.ISysAdminService;
|
import com.hxkj.admin.service.ISysAdminService;
|
||||||
import com.hxkj.admin.validate.PageParam;
|
import com.hxkj.admin.validate.PageParam;
|
||||||
import com.hxkj.admin.validate.SysAdminParam;
|
import com.hxkj.admin.validate.SysAdminParam;
|
||||||
import com.hxkj.admin.vo.system.SysAdminDetailVo;
|
import com.hxkj.admin.vo.system.SysAdminVo;
|
||||||
import com.hxkj.admin.vo.system.SysAdminListVo;
|
|
||||||
import com.hxkj.common.core.AjaxResult;
|
import com.hxkj.common.core.AjaxResult;
|
||||||
import com.hxkj.common.core.PageResult;
|
import com.hxkj.common.core.PageResult;
|
||||||
import com.hxkj.common.validator.annotation.IDMust;
|
import com.hxkj.common.validator.annotation.IDMust;
|
||||||
|
|
@ -30,7 +29,7 @@ public class SysAdminController {
|
||||||
@GetMapping("/lists")
|
@GetMapping("/lists")
|
||||||
public Object lists(@Validated PageParam pageParam,
|
public Object lists(@Validated PageParam pageParam,
|
||||||
@RequestParam Map<String, String> params) {
|
@RequestParam Map<String, String> params) {
|
||||||
PageResult<SysAdminListVo> list = iSysAdminService.lists(pageParam, params);
|
PageResult<SysAdminVo> list = iSysAdminService.lists(pageParam, params);
|
||||||
return AjaxResult.success(list);
|
return AjaxResult.success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -42,7 +41,7 @@ public class SysAdminController {
|
||||||
*/
|
*/
|
||||||
@GetMapping("/detail")
|
@GetMapping("/detail")
|
||||||
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
||||||
SysAdminDetailVo vo = iSysAdminService.detail(id);
|
SysAdminVo vo = iSysAdminService.detail(id);
|
||||||
return AjaxResult.success(vo);
|
return AjaxResult.success(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.hxkj.admin.controller.system;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.hxkj.admin.service.ISysMenuService;
|
import com.hxkj.admin.service.ISysMenuService;
|
||||||
import com.hxkj.admin.validate.SysMenuParam;
|
import com.hxkj.admin.validate.SysMenuParam;
|
||||||
|
import com.hxkj.admin.vo.system.SysMenuVo;
|
||||||
import com.hxkj.common.core.AjaxResult;
|
import com.hxkj.common.core.AjaxResult;
|
||||||
import com.hxkj.common.entity.system.SysMenu;
|
import com.hxkj.common.entity.system.SysMenu;
|
||||||
import com.hxkj.common.validator.annotation.IDMust;
|
import com.hxkj.common.validator.annotation.IDMust;
|
||||||
|
|
@ -38,8 +39,8 @@ public class SysMenuController {
|
||||||
*/
|
*/
|
||||||
@GetMapping("/detail")
|
@GetMapping("/detail")
|
||||||
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
||||||
SysMenu sysMenu = iSysMenuService.detail(id);
|
SysMenuVo vo = iSysMenuService.detail(id);
|
||||||
return AjaxResult.success(sysMenu);
|
return AjaxResult.success(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package com.hxkj.admin.controller.system;
|
||||||
import com.hxkj.admin.service.ISysRoleService;
|
import com.hxkj.admin.service.ISysRoleService;
|
||||||
import com.hxkj.admin.validate.PageParam;
|
import com.hxkj.admin.validate.PageParam;
|
||||||
import com.hxkj.admin.validate.SysRoleParam;
|
import com.hxkj.admin.validate.SysRoleParam;
|
||||||
import com.hxkj.admin.vo.system.SysRoleListVo;
|
import com.hxkj.admin.vo.system.SysRoleVo;
|
||||||
import com.hxkj.common.core.AjaxResult;
|
import com.hxkj.common.core.AjaxResult;
|
||||||
import com.hxkj.common.core.PageResult;
|
import com.hxkj.common.core.PageResult;
|
||||||
import com.hxkj.common.validator.annotation.IDMust;
|
import com.hxkj.common.validator.annotation.IDMust;
|
||||||
|
|
@ -28,7 +28,7 @@ public class SysRoleController {
|
||||||
*/
|
*/
|
||||||
@GetMapping("/lists")
|
@GetMapping("/lists")
|
||||||
public Object lists(@Validated PageParam pageParam) {
|
public Object lists(@Validated PageParam pageParam) {
|
||||||
PageResult<SysRoleListVo> lists = iSysRoleService.lists(pageParam);
|
PageResult<SysRoleVo> lists = iSysRoleService.lists(pageParam);
|
||||||
return AjaxResult.success(lists);
|
return AjaxResult.success(lists);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,7 @@ package com.hxkj.admin.service;
|
||||||
|
|
||||||
import com.hxkj.admin.validate.PageParam;
|
import com.hxkj.admin.validate.PageParam;
|
||||||
import com.hxkj.admin.validate.SysAdminParam;
|
import com.hxkj.admin.validate.SysAdminParam;
|
||||||
import com.hxkj.admin.vo.system.SysAdminDetailVo;
|
import com.hxkj.admin.vo.system.SysAdminVo;
|
||||||
import com.hxkj.admin.vo.system.SysAdminListVo;
|
|
||||||
import com.hxkj.common.basics.BaseService;
|
import com.hxkj.common.basics.BaseService;
|
||||||
import com.hxkj.common.core.PageResult;
|
import com.hxkj.common.core.PageResult;
|
||||||
import com.hxkj.common.entity.system.SysAdmin;
|
import com.hxkj.common.entity.system.SysAdmin;
|
||||||
|
|
@ -31,7 +30,7 @@ public interface ISysAdminService extends BaseService<SysAdmin> {
|
||||||
* @param pageParam 分页参数
|
* @param pageParam 分页参数
|
||||||
* @return PageResult<SysAdminListVo>
|
* @return PageResult<SysAdminListVo>
|
||||||
*/
|
*/
|
||||||
PageResult<SysAdminListVo> lists(PageParam pageParam, Map<String, String> params);
|
PageResult<SysAdminVo> lists(PageParam pageParam, Map<String, String> params);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 管理员详情
|
* 管理员详情
|
||||||
|
|
@ -40,7 +39,7 @@ public interface ISysAdminService extends BaseService<SysAdmin> {
|
||||||
* @param id 主键参数
|
* @param id 主键参数
|
||||||
* @return SysAdmin
|
* @return SysAdmin
|
||||||
*/
|
*/
|
||||||
SysAdminDetailVo detail(Integer id);
|
SysAdminVo detail(Integer id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增管理员
|
* 新增管理员
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.hxkj.admin.service;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.hxkj.admin.validate.SysMenuParam;
|
import com.hxkj.admin.validate.SysMenuParam;
|
||||||
|
import com.hxkj.admin.vo.system.SysMenuVo;
|
||||||
import com.hxkj.common.basics.BaseService;
|
import com.hxkj.common.basics.BaseService;
|
||||||
import com.hxkj.common.entity.system.SysMenu;
|
import com.hxkj.common.entity.system.SysMenu;
|
||||||
|
|
||||||
|
|
@ -24,7 +25,7 @@ public interface ISysMenuService extends BaseService<SysMenu> {
|
||||||
* @param id 主键
|
* @param id 主键
|
||||||
* @return SysMenu
|
* @return SysMenu
|
||||||
*/
|
*/
|
||||||
SysMenu detail(Integer id);
|
SysMenuVo detail(Integer id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增菜单
|
* 新增菜单
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.hxkj.admin.service;
|
||||||
|
|
||||||
import com.hxkj.admin.validate.PageParam;
|
import com.hxkj.admin.validate.PageParam;
|
||||||
import com.hxkj.admin.validate.SysRoleParam;
|
import com.hxkj.admin.validate.SysRoleParam;
|
||||||
import com.hxkj.admin.vo.system.SysRoleListVo;
|
import com.hxkj.admin.vo.system.SysRoleVo;
|
||||||
import com.hxkj.common.basics.BaseService;
|
import com.hxkj.common.basics.BaseService;
|
||||||
import com.hxkj.common.core.PageResult;
|
import com.hxkj.common.core.PageResult;
|
||||||
import com.hxkj.common.entity.system.SysRole;
|
import com.hxkj.common.entity.system.SysRole;
|
||||||
|
|
@ -27,7 +27,7 @@ public interface ISysRoleService extends BaseService<SysRole> {
|
||||||
* @param pageParam 参数
|
* @param pageParam 参数
|
||||||
* @return PageResult<SysRoleListVo>
|
* @return PageResult<SysRoleListVo>
|
||||||
*/
|
*/
|
||||||
PageResult<SysRoleListVo> lists(@Validated PageParam pageParam);
|
PageResult<SysRoleVo> lists(@Validated PageParam pageParam);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色详情
|
* 角色详情
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,7 @@ import com.hxkj.admin.service.ISysAdminService;
|
||||||
import com.hxkj.admin.service.ISysRoleService;
|
import com.hxkj.admin.service.ISysRoleService;
|
||||||
import com.hxkj.admin.validate.PageParam;
|
import com.hxkj.admin.validate.PageParam;
|
||||||
import com.hxkj.admin.validate.SysAdminParam;
|
import com.hxkj.admin.validate.SysAdminParam;
|
||||||
import com.hxkj.admin.vo.system.SysAdminDetailVo;
|
import com.hxkj.admin.vo.system.SysAdminVo;
|
||||||
import com.hxkj.admin.vo.system.SysAdminListVo;
|
|
||||||
import com.hxkj.common.core.PageResult;
|
import com.hxkj.common.core.PageResult;
|
||||||
import com.hxkj.common.entity.system.SysAdmin;
|
import com.hxkj.common.entity.system.SysAdmin;
|
||||||
import com.hxkj.common.mapper.system.SysAdminMapper;
|
import com.hxkj.common.mapper.system.SysAdminMapper;
|
||||||
|
|
@ -54,7 +53,7 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl<SysAdminMapper, Sys
|
||||||
* @return PageResult<SysAdminListVo>
|
* @return PageResult<SysAdminListVo>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public PageResult<SysAdminListVo> lists(PageParam pageParam, Map<String, String> params) {
|
public PageResult<SysAdminVo> lists(PageParam pageParam, Map<String, String> params) {
|
||||||
Integer page = pageParam.getPageNo();
|
Integer page = pageParam.getPageNo();
|
||||||
Integer limit = pageParam.getPageSize();
|
Integer limit = pageParam.getPageSize();
|
||||||
|
|
||||||
|
|
@ -75,11 +74,12 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl<SysAdminMapper, Sys
|
||||||
|
|
||||||
IPage<SysAdmin> iPage = this.page(new Page<>(page, limit), queryWrapper);
|
IPage<SysAdmin> iPage = this.page(new Page<>(page, limit), queryWrapper);
|
||||||
|
|
||||||
List<SysAdminListVo> adminVoArrayList = new ArrayList<>();
|
List<SysAdminVo> adminVoArrayList = new ArrayList<>();
|
||||||
for (SysAdmin sysAdmin : iPage.getRecords()) {
|
for (SysAdmin sysAdmin : iPage.getRecords()) {
|
||||||
SysAdminListVo vo = new SysAdminListVo();
|
SysAdminVo vo = new SysAdminVo();
|
||||||
BeanUtils.copyProperties(sysAdmin, vo);
|
BeanUtils.copyProperties(sysAdmin, vo);
|
||||||
|
|
||||||
|
vo.setAvatar(UrlUtil.toAbsoluteUrl(sysAdmin.getAvatar()));
|
||||||
vo.setRole(iSysRoleService.getRoleNameById(sysAdmin.getRole()));
|
vo.setRole(iSysRoleService.getRoleNameById(sysAdmin.getRole()));
|
||||||
vo.setCreateTime(TimeUtil.timestampToDate(sysAdmin.getCreateTime()));
|
vo.setCreateTime(TimeUtil.timestampToDate(sysAdmin.getCreateTime()));
|
||||||
vo.setUpdateTime(TimeUtil.timestampToDate(sysAdmin.getUpdateTime()));
|
vo.setUpdateTime(TimeUtil.timestampToDate(sysAdmin.getUpdateTime()));
|
||||||
|
|
@ -98,7 +98,7 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl<SysAdminMapper, Sys
|
||||||
* @return SysAdmin
|
* @return SysAdmin
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public SysAdminDetailVo detail(Integer id) {
|
public SysAdminVo detail(Integer id) {
|
||||||
SysAdmin sysAdmin = this.getOne(new QueryWrapper<SysAdmin>()
|
SysAdmin sysAdmin = this.getOne(new QueryWrapper<SysAdmin>()
|
||||||
.select(SysAdmin.class, info->
|
.select(SysAdmin.class, info->
|
||||||
!info.getColumn().equals("salt") &&
|
!info.getColumn().equals("salt") &&
|
||||||
|
|
@ -111,10 +111,14 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl<SysAdminMapper, Sys
|
||||||
|
|
||||||
Assert.notNull(sysAdmin, "账号已不存在!");
|
Assert.notNull(sysAdmin, "账号已不存在!");
|
||||||
|
|
||||||
SysAdminDetailVo vo = new SysAdminDetailVo();
|
SysAdminVo vo = new SysAdminVo();
|
||||||
BeanUtils.copyProperties(sysAdmin, vo);
|
BeanUtils.copyProperties(sysAdmin, vo);
|
||||||
|
|
||||||
|
vo.setRole(String.valueOf(sysAdmin.getRole()));
|
||||||
vo.setAvatar(UrlUtil.toAbsoluteUrl(sysAdmin.getAvatar()));
|
vo.setAvatar(UrlUtil.toAbsoluteUrl(sysAdmin.getAvatar()));
|
||||||
|
vo.setCreateTime(TimeUtil.timestampToDate(sysAdmin.getCreateTime()));
|
||||||
|
vo.setUpdateTime(TimeUtil.timestampToDate(sysAdmin.getUpdateTime()));
|
||||||
|
vo.setLastLoginTime(TimeUtil.timestampToDate(sysAdmin.getLastLoginTime()));
|
||||||
|
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
@ -140,6 +144,8 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl<SysAdminMapper, Sys
|
||||||
.eq("nickname", sysAdminParam.getNickname())
|
.eq("nickname", sysAdminParam.getNickname())
|
||||||
.last("limit 1")), "昵称已存在换一个吧!");
|
.last("limit 1")), "昵称已存在换一个吧!");
|
||||||
|
|
||||||
|
Assert.notNull(iSysRoleService.getById(sysAdminParam.getRole()), "角色不存在!");
|
||||||
|
|
||||||
String salt = ToolsUtil.randomString(5);
|
String salt = ToolsUtil.randomString(5);
|
||||||
String pwd = ToolsUtil.makeMd5(sysAdminParam.getPassword().trim() + salt);
|
String pwd = ToolsUtil.makeMd5(sysAdminParam.getPassword().trim() + salt);
|
||||||
String avatar = UrlUtil.toRelativeUrl(sysAdminParam.getAvatar());
|
String avatar = UrlUtil.toRelativeUrl(sysAdminParam.getAvatar());
|
||||||
|
|
@ -167,6 +173,12 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl<SysAdminMapper, Sys
|
||||||
@Override
|
@Override
|
||||||
public void edit(SysAdminParam sysAdminParam) {
|
public void edit(SysAdminParam sysAdminParam) {
|
||||||
String[] field = {"id", "username", "nickname"};
|
String[] field = {"id", "username", "nickname"};
|
||||||
|
Assert.notNull(this.getOne(new QueryWrapper<SysAdmin>()
|
||||||
|
.select(field)
|
||||||
|
.eq("id", sysAdminParam.getId())
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.last("limit 1")), "账号不存在了!");
|
||||||
|
|
||||||
Assert.isNull(this.getOne(new QueryWrapper<SysAdmin>()
|
Assert.isNull(this.getOne(new QueryWrapper<SysAdmin>()
|
||||||
.select(field)
|
.select(field)
|
||||||
.eq("is_delete", 0)
|
.eq("is_delete", 0)
|
||||||
|
|
@ -181,22 +193,27 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl<SysAdminMapper, Sys
|
||||||
.ne("id", sysAdminParam.getId())
|
.ne("id", sysAdminParam.getId())
|
||||||
.last("limit 1")), "昵称已存在换一个吧!");
|
.last("limit 1")), "昵称已存在换一个吧!");
|
||||||
|
|
||||||
String avatar = UrlUtil.toRelativeUrl(sysAdminParam.getAvatar());
|
Assert.notNull(iSysRoleService.getById(sysAdminParam.getRole()), "角色不存在!");
|
||||||
String salt = ToolsUtil.randomString(5);
|
|
||||||
String pwd = ToolsUtil.makeMd5(sysAdminParam.getPassword().trim() + salt);
|
|
||||||
|
|
||||||
SysAdmin model = new SysAdmin();
|
SysAdmin model = new SysAdmin();
|
||||||
model.setId(sysAdminParam.getId());
|
model.setId(sysAdminParam.getId());
|
||||||
model.setNickname(sysAdminParam.getNickname());
|
model.setNickname(sysAdminParam.getNickname());
|
||||||
model.setUsername(sysAdminParam.getUsername());
|
model.setUsername(sysAdminParam.getUsername());
|
||||||
model.setRole(sysAdminParam.getRole());
|
model.setAvatar( UrlUtil.toRelativeUrl(sysAdminParam.getAvatar()));
|
||||||
model.setAvatar(avatar);
|
model.setRole(sysAdminParam.getId() == 1 ? 0 : sysAdminParam.getRole());
|
||||||
model.setPassword(pwd);
|
|
||||||
model.setSalt(salt);
|
|
||||||
model.setSort(sysAdminParam.getSort());
|
model.setSort(sysAdminParam.getSort());
|
||||||
model.setIsDisable(sysAdminParam.getIsDisable());
|
model.setIsDisable(sysAdminParam.getIsDisable());
|
||||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||||
|
|
||||||
|
if (sysAdminParam.getPassword() != null && !sysAdminParam.getPassword().equals("")) {
|
||||||
|
String salt = ToolsUtil.randomString(5);
|
||||||
|
String pwd = ToolsUtil.makeMd5( sysAdminParam.getPassword().trim() + salt);
|
||||||
|
model.setPassword(pwd);
|
||||||
|
model.setSalt(salt);
|
||||||
|
}
|
||||||
|
|
||||||
this.updateById(model);
|
this.updateById(model);
|
||||||
|
this.cacheAdminUserByUid(sysAdminParam.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -214,11 +231,14 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl<SysAdminMapper, Sys
|
||||||
.eq("is_delete", 0)
|
.eq("is_delete", 0)
|
||||||
.last("limit 1")), "账号已不存在!");
|
.last("limit 1")), "账号已不存在!");
|
||||||
|
|
||||||
|
Assert.isFalse(id == 1, "系统管理员不允许删除");
|
||||||
|
|
||||||
SysAdmin model = new SysAdmin();
|
SysAdmin model = new SysAdmin();
|
||||||
model.setId(id);
|
model.setId(id);
|
||||||
model.setIsDelete(1);
|
model.setIsDelete(1);
|
||||||
model.setDeleteTime(System.currentTimeMillis() / 1000);
|
model.setDeleteTime(System.currentTimeMillis() / 1000);
|
||||||
this.updateById(model);
|
this.updateById(model);
|
||||||
|
this.cacheAdminUserByUid(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
package com.hxkj.admin.service.impl;
|
package com.hxkj.admin.service.impl;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
|
||||||
import com.hxkj.admin.config.SystemConfig;
|
import com.hxkj.admin.config.SystemConfig;
|
||||||
import com.hxkj.admin.service.ISysAdminService;
|
import com.hxkj.admin.service.ISysAdminService;
|
||||||
import com.hxkj.admin.service.ISysLoginService;
|
import com.hxkj.admin.service.ISysLoginService;
|
||||||
|
|
@ -13,13 +11,10 @@ import com.hxkj.common.exception.OperateException;
|
||||||
import com.hxkj.common.mapper.system.SysAdminMapper;
|
import com.hxkj.common.mapper.system.SysAdminMapper;
|
||||||
import com.hxkj.common.utils.HttpUtil;
|
import com.hxkj.common.utils.HttpUtil;
|
||||||
import com.hxkj.common.utils.RedisUtil;
|
import com.hxkj.common.utils.RedisUtil;
|
||||||
import com.hxkj.common.utils.TimeUtil;
|
|
||||||
import com.hxkj.common.utils.ToolsUtil;
|
import com.hxkj.common.utils.ToolsUtil;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,14 @@ import com.alibaba.fastjson.JSONArray;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Assert;
|
import com.baomidou.mybatisplus.core.toolkit.Assert;
|
||||||
import com.github.yulichang.base.MPJBaseServiceImpl;
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
||||||
|
import com.hxkj.admin.config.SystemConfig;
|
||||||
import com.hxkj.admin.service.ISysMenuService;
|
import com.hxkj.admin.service.ISysMenuService;
|
||||||
import com.hxkj.admin.validate.SysMenuParam;
|
import com.hxkj.admin.validate.SysMenuParam;
|
||||||
import com.hxkj.admin.vo.system.SysMenuListVo;
|
import com.hxkj.admin.vo.system.SysMenuVo;
|
||||||
import com.hxkj.common.entity.system.SysMenu;
|
import com.hxkj.common.entity.system.SysMenu;
|
||||||
import com.hxkj.common.mapper.system.SysMenuMapper;
|
import com.hxkj.common.mapper.system.SysMenuMapper;
|
||||||
import com.hxkj.common.utils.ArrayUtil;
|
import com.hxkj.common.utils.ArrayUtil;
|
||||||
|
import com.hxkj.common.utils.RedisUtil;
|
||||||
import com.hxkj.common.utils.TimeUtil;
|
import com.hxkj.common.utils.TimeUtil;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
@ -30,17 +32,13 @@ public class ISysMenuServiceImpl extends MPJBaseServiceImpl<SysMenuMapper, SysMe
|
||||||
@Override
|
@Override
|
||||||
public JSONArray lists() {
|
public JSONArray lists() {
|
||||||
QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.select(SysMenu.class, info->
|
queryWrapper.orderByDesc(Arrays.asList("menu_sort", "id"));
|
||||||
!info.getColumn().equals("salt") &&
|
|
||||||
!info.getColumn().equals("is_delete") &&
|
|
||||||
!info.getColumn().equals("delete_time"))
|
|
||||||
.orderByDesc(Arrays.asList("menu_sort", "id"));
|
|
||||||
|
|
||||||
List<SysMenu> sysMenus = this.list( queryWrapper);
|
List<SysMenu> sysMenus = this.list( queryWrapper);
|
||||||
|
|
||||||
List<SysMenuListVo> lists = new ArrayList<>();
|
List<SysMenuVo> lists = new ArrayList<>();
|
||||||
for (SysMenu sysMenu : sysMenus) {
|
for (SysMenu sysMenu : sysMenus) {
|
||||||
SysMenuListVo vo = new SysMenuListVo();
|
SysMenuVo vo = new SysMenuVo();
|
||||||
BeanUtils.copyProperties(sysMenu, vo);
|
BeanUtils.copyProperties(sysMenu, vo);
|
||||||
|
|
||||||
vo.setCreateTime(TimeUtil.timestampToDate(sysMenu.getCreateTime()));
|
vo.setCreateTime(TimeUtil.timestampToDate(sysMenu.getCreateTime()));
|
||||||
|
|
@ -60,10 +58,16 @@ public class ISysMenuServiceImpl extends MPJBaseServiceImpl<SysMenuMapper, SysMe
|
||||||
* @return SysMenu
|
* @return SysMenu
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public SysMenu detail(Integer id) {
|
public SysMenuVo detail(Integer id) {
|
||||||
SysMenu model = this.getOne(new QueryWrapper<SysMenu>().eq("id", id));
|
SysMenu sysMenu = this.getOne(new QueryWrapper<SysMenu>().eq("id", id));
|
||||||
Assert.notNull(model, "菜单已不存在!");
|
Assert.notNull(sysMenu, "菜单已不存在!");
|
||||||
return model;
|
|
||||||
|
SysMenuVo vo = new SysMenuVo();
|
||||||
|
BeanUtils.copyProperties(sysMenu, vo);
|
||||||
|
vo.setCreateTime(TimeUtil.timestampToDate(sysMenu.getCreateTime()));
|
||||||
|
vo.setUpdateTime(TimeUtil.timestampToDate(sysMenu.getUpdateTime()));
|
||||||
|
|
||||||
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -107,6 +111,8 @@ public class ISysMenuServiceImpl extends MPJBaseServiceImpl<SysMenuMapper, SysMe
|
||||||
model.setIsDisable(sysMenuParam.getIsDisable());
|
model.setIsDisable(sysMenuParam.getIsDisable());
|
||||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||||
this.updateById(model);
|
this.updateById(model);
|
||||||
|
|
||||||
|
RedisUtil.del(SystemConfig.backstageRolesKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -119,7 +125,10 @@ public class ISysMenuServiceImpl extends MPJBaseServiceImpl<SysMenuMapper, SysMe
|
||||||
public void del(Integer id) {
|
public void del(Integer id) {
|
||||||
SysMenu model = this.getOne(new QueryWrapper<SysMenu>().eq("id", id));
|
SysMenu model = this.getOne(new QueryWrapper<SysMenu>().eq("id", id));
|
||||||
Assert.notNull(model, "菜单已不存在!");
|
Assert.notNull(model, "菜单已不存在!");
|
||||||
|
|
||||||
this.removeById(id);
|
this.removeById(id);
|
||||||
|
|
||||||
|
RedisUtil.del(SystemConfig.backstageRolesKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,10 @@ package com.hxkj.admin.service.impl;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.github.yulichang.base.MPJBaseServiceImpl;
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
||||||
import com.hxkj.admin.config.SystemConfig;
|
import com.hxkj.admin.config.SystemConfig;
|
||||||
|
import com.hxkj.admin.service.ISysMenuService;
|
||||||
import com.hxkj.admin.service.ISysRoleMenuService;
|
import com.hxkj.admin.service.ISysRoleMenuService;
|
||||||
import com.hxkj.common.entity.system.SysMenu;
|
import com.hxkj.common.entity.system.SysMenu;
|
||||||
import com.hxkj.common.entity.system.SysRoleMenu;
|
import com.hxkj.common.entity.system.SysRoleMenu;
|
||||||
import com.hxkj.common.mapper.system.SysMenuMapper;
|
|
||||||
import com.hxkj.common.mapper.system.SysRoleMenuMapper;
|
import com.hxkj.common.mapper.system.SysRoleMenuMapper;
|
||||||
import com.hxkj.common.utils.RedisUtil;
|
import com.hxkj.common.utils.RedisUtil;
|
||||||
import com.hxkj.common.utils.ToolsUtil;
|
import com.hxkj.common.utils.ToolsUtil;
|
||||||
|
|
@ -21,7 +21,7 @@ import java.util.List;
|
||||||
public class ISysRoleMenuServiceImpl extends MPJBaseServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements ISysRoleMenuService {
|
public class ISysRoleMenuServiceImpl extends MPJBaseServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements ISysRoleMenuService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
SysMenuMapper sysMenuMapper;
|
ISysMenuService iSysMenuService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量写入角色菜单
|
* 批量写入角色菜单
|
||||||
|
|
@ -73,7 +73,7 @@ public class ISysRoleMenuServiceImpl extends MPJBaseServiceImpl<SysRoleMenuMappe
|
||||||
}
|
}
|
||||||
|
|
||||||
if (menuIds.size() > 0) {
|
if (menuIds.size() > 0) {
|
||||||
List<SysMenu> sysMenus = sysMenuMapper.selectList(new QueryWrapper<SysMenu>()
|
List<SysMenu> sysMenus = iSysMenuService.list(new QueryWrapper<SysMenu>()
|
||||||
.select("id,perms")
|
.select("id,perms")
|
||||||
.in("id", menuIds)
|
.in("id", menuIds)
|
||||||
.eq("is_disable", 0));
|
.eq("is_disable", 0));
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,14 @@ import com.baomidou.mybatisplus.core.toolkit.Assert;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.github.yulichang.base.MPJBaseServiceImpl;
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
||||||
import com.hxkj.admin.config.SystemConfig;
|
import com.hxkj.admin.config.SystemConfig;
|
||||||
|
import com.hxkj.admin.service.ISysAdminService;
|
||||||
import com.hxkj.admin.service.ISysRoleMenuService;
|
import com.hxkj.admin.service.ISysRoleMenuService;
|
||||||
import com.hxkj.admin.service.ISysRoleService;
|
import com.hxkj.admin.service.ISysRoleService;
|
||||||
import com.hxkj.admin.validate.PageParam;
|
import com.hxkj.admin.validate.PageParam;
|
||||||
import com.hxkj.admin.validate.SysRoleParam;
|
import com.hxkj.admin.validate.SysRoleParam;
|
||||||
import com.hxkj.admin.vo.system.SysRoleListVo;
|
import com.hxkj.admin.vo.system.SysRoleVo;
|
||||||
import com.hxkj.common.core.PageResult;
|
import com.hxkj.common.core.PageResult;
|
||||||
|
import com.hxkj.common.entity.system.SysAdmin;
|
||||||
import com.hxkj.common.entity.system.SysRole;
|
import com.hxkj.common.entity.system.SysRole;
|
||||||
import com.hxkj.common.mapper.system.SysRoleMapper;
|
import com.hxkj.common.mapper.system.SysRoleMapper;
|
||||||
import com.hxkj.common.utils.RedisUtil;
|
import com.hxkj.common.utils.RedisUtil;
|
||||||
|
|
@ -29,6 +31,9 @@ import java.util.List;
|
||||||
@Service
|
@Service
|
||||||
public class ISysRoleServiceImpl extends MPJBaseServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService {
|
public class ISysRoleServiceImpl extends MPJBaseServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
ISysAdminService iSysAdminService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
ISysRoleMenuService iSysRoleMenuService;
|
ISysRoleMenuService iSysRoleMenuService;
|
||||||
|
|
||||||
|
|
@ -62,21 +67,18 @@ public class ISysRoleServiceImpl extends MPJBaseServiceImpl<SysRoleMapper, SysRo
|
||||||
* @return PageResult<SysRoleListVo>
|
* @return PageResult<SysRoleListVo>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public PageResult<SysRoleListVo> lists(@Validated PageParam pageParam) {
|
public PageResult<SysRoleVo> lists(@Validated PageParam pageParam) {
|
||||||
Integer page = pageParam.getPageNo();
|
Integer page = pageParam.getPageNo();
|
||||||
Integer limit = pageParam.getPageSize();
|
Integer limit = pageParam.getPageSize();
|
||||||
|
|
||||||
QueryWrapper<SysRole> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<SysRole> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.select(SysRole.class, info->
|
queryWrapper.orderByDesc(Arrays.asList("sort", "id"));
|
||||||
!info.getColumn().equals("is_delete") &&
|
|
||||||
!info.getColumn().equals("delete_time"))
|
|
||||||
.orderByDesc(Arrays.asList("sort", "id"));
|
|
||||||
|
|
||||||
IPage<SysRole> iPage = this.page(new Page<>(page, limit), queryWrapper);
|
IPage<SysRole> iPage = this.page(new Page<>(page, limit), queryWrapper);
|
||||||
|
|
||||||
List<SysRoleListVo> roleVoArrayList = new ArrayList<>();
|
List<SysRoleVo> roleVoArrayList = new ArrayList<>();
|
||||||
for (SysRole sysRole : iPage.getRecords()) {
|
for (SysRole sysRole : iPage.getRecords()) {
|
||||||
SysRoleListVo vo = new SysRoleListVo();
|
SysRoleVo vo = new SysRoleVo();
|
||||||
BeanUtils.copyProperties(sysRole, vo);
|
BeanUtils.copyProperties(sysRole, vo);
|
||||||
|
|
||||||
vo.setCreateTime(TimeUtil.timestampToDate(sysRole.getCreateTime()));
|
vo.setCreateTime(TimeUtil.timestampToDate(sysRole.getCreateTime()));
|
||||||
|
|
@ -158,11 +160,9 @@ public class ISysRoleServiceImpl extends MPJBaseServiceImpl<SysRoleMapper, SysRo
|
||||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||||
this.updateById(model);
|
this.updateById(model);
|
||||||
|
|
||||||
RedisUtil.hDel(SystemConfig.backstageRolesKey, String.valueOf(sysRoleParam.getId()));
|
|
||||||
iSysRoleMenuService.cacheRoleMenusByRoleId(sysRoleParam.getId());
|
|
||||||
|
|
||||||
iSysRoleMenuService.batchDeleteByRoleId(sysRoleParam.getId());
|
iSysRoleMenuService.batchDeleteByRoleId(sysRoleParam.getId());
|
||||||
iSysRoleMenuService.batchSaveByMenuIds(sysRoleParam.getId(), sysRoleParam.getMenuIds());
|
iSysRoleMenuService.batchSaveByMenuIds(sysRoleParam.getId(), sysRoleParam.getMenuIds());
|
||||||
|
iSysRoleMenuService.cacheRoleMenusByRoleId(sysRoleParam.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -176,14 +176,20 @@ public class ISysRoleServiceImpl extends MPJBaseServiceImpl<SysRoleMapper, SysRo
|
||||||
public void del(Integer id) {
|
public void del(Integer id) {
|
||||||
Assert.notNull(
|
Assert.notNull(
|
||||||
this.getOne(new QueryWrapper<SysRole>()
|
this.getOne(new QueryWrapper<SysRole>()
|
||||||
.select("id,name")
|
.select("id", "name")
|
||||||
.eq("id", id)
|
.eq("id", id)
|
||||||
.last("limit 1")),
|
.last("limit 1")),
|
||||||
"角色已不存在!");
|
"角色已不存在!");
|
||||||
|
|
||||||
|
Assert.isNull(iSysAdminService.getOne(new QueryWrapper<SysAdmin>()
|
||||||
|
.select("id", "role", "nickname")
|
||||||
|
.eq("role", id)
|
||||||
|
.eq("is_delete", 0)),
|
||||||
|
"角色已被管理员使用,请先移除");
|
||||||
|
|
||||||
this.removeById(id);
|
this.removeById(id);
|
||||||
RedisUtil.hDel(SystemConfig.backstageRolesKey, String.valueOf(id));
|
|
||||||
iSysRoleMenuService.batchDeleteByRoleId(id);
|
iSysRoleMenuService.batchDeleteByRoleId(id);
|
||||||
|
RedisUtil.hDel(SystemConfig.backstageRolesKey, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ public class SysAdminParam implements Serializable {
|
||||||
@Length(min = 2, max = 30, message = "昵称必须在2~30个字符内", groups = {create.class, update.class})
|
@Length(min = 2, max = 30, message = "昵称必须在2~30个字符内", groups = {create.class, update.class})
|
||||||
private String nickname;
|
private String nickname;
|
||||||
|
|
||||||
@NotEmpty(message = "密码不能为空", groups = {create.class, update.class})
|
@NotEmpty(message = "密码不能为空", groups = {create.class})
|
||||||
@Length(min = 6, max = 18, message = "密码必须在6~18个字符内", groups = {create.class, update.class})
|
@Length(min = 6, max = 18, message = "密码必须在6~18个字符内", groups = {create.class, update.class})
|
||||||
private String password;
|
private String password;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
package com.hxkj.admin.vo.system;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public class SysAdminDetailVo implements Serializable {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
private Integer id;
|
|
||||||
private String username;
|
|
||||||
private String nickname;
|
|
||||||
private String avatar;
|
|
||||||
private Integer role;
|
|
||||||
private Integer isDisable;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -5,7 +5,7 @@ import lombok.Data;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class SysAdminListVo implements Serializable {
|
public class SysAdminVo implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
@ -2,8 +2,12 @@ package com.hxkj.admin.vo.system;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class SysMenuListVo {
|
public class SysMenuVo implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
private Integer id;
|
private Integer id;
|
||||||
private Integer pid;
|
private Integer pid;
|
||||||
|
|
@ -12,7 +16,7 @@ public class SysMenuListVo {
|
||||||
private String menuIcon;
|
private String menuIcon;
|
||||||
private Integer menuSort;
|
private Integer menuSort;
|
||||||
private String perms;
|
private String perms;
|
||||||
private Boolean isDisable;
|
private Integer isDisable;
|
||||||
private String createTime;
|
private String createTime;
|
||||||
private String updateTime;
|
private String updateTime;
|
||||||
|
|
||||||
|
|
@ -2,21 +2,19 @@ package com.hxkj.admin.vo.system;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class SysRoleListVo {
|
public class SysRoleVo implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
private Integer sort;
|
private Integer sort;
|
||||||
|
private Integer isDisable;
|
||||||
private Boolean isDisable;
|
|
||||||
|
|
||||||
private String createTime;
|
private String createTime;
|
||||||
|
|
||||||
private String updateTime;
|
private String updateTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
package com.hxkj.common.config;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.scheduling.annotation.EnableAsync;
|
||||||
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||||
|
|
||||||
|
import java.util.concurrent.Executor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 异步线程池配置
|
||||||
|
*/
|
||||||
|
@Configuration
|
||||||
|
@EnableAsync
|
||||||
|
public class ThreadPoolConfig {
|
||||||
|
|
||||||
|
@Bean("taskExecutor")
|
||||||
|
public Executor asyncServiceExecutor() {
|
||||||
|
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
|
||||||
|
// 设置核心线程数
|
||||||
|
executor.setCorePoolSize(5);
|
||||||
|
// 设置最大线程数
|
||||||
|
executor.setMaxPoolSize(20);
|
||||||
|
// 配置队列大小
|
||||||
|
executor.setQueueCapacity(Integer.MAX_VALUE);
|
||||||
|
// 设置线程活跃时间(秒)
|
||||||
|
executor.setKeepAliveSeconds(60);
|
||||||
|
// 设置默认线程名称
|
||||||
|
executor.setThreadNamePrefix("LIKE");
|
||||||
|
// 等待所有任务结束后再关闭线程
|
||||||
|
executor.setWaitForTasksToCompleteOnShutdown(true);
|
||||||
|
// 执行初始化
|
||||||
|
executor.initialize();
|
||||||
|
// 返回构建对象
|
||||||
|
return executor;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package com.hxkj.common.entity.system;
|
package com.hxkj.common.entity.system;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
@ -16,6 +18,8 @@ public class SysRoleMenu implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@TableId(type = IdType.NONE)
|
||||||
|
private Integer id;
|
||||||
private Integer roleId;
|
private Integer roleId;
|
||||||
private Integer menuId;
|
private Integer menuId;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,70 @@
|
||||||
package com.hxkj.common.utils;
|
package com.hxkj.common.utils;
|
||||||
|
|
||||||
public class SpringUtil {
|
import org.springframework.beans.BeansException;
|
||||||
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.context.ApplicationContextAware;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class SpringUtil implements ApplicationContextAware {
|
||||||
|
|
||||||
|
private static ApplicationContext applicationContext;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置容器对象
|
||||||
|
*
|
||||||
|
* @author fzr
|
||||||
|
* @param applicationContext applicationContext
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
||||||
|
if(SpringUtil.applicationContext == null) {
|
||||||
|
SpringUtil.applicationContext = applicationContext;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取applicationContext
|
||||||
|
*
|
||||||
|
* @author fzr
|
||||||
|
* @return ApplicationContext
|
||||||
|
*/
|
||||||
|
public static ApplicationContext getApplicationContext(){
|
||||||
|
return applicationContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过name获取Bean
|
||||||
|
*
|
||||||
|
* @author fzr
|
||||||
|
* @param name 名称
|
||||||
|
* @return Object
|
||||||
|
*/
|
||||||
|
public static Object getBean(String name){
|
||||||
|
return getApplicationContext().getBean(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过class获取Bean.
|
||||||
|
*
|
||||||
|
* @author fzr
|
||||||
|
* @param clazz 类
|
||||||
|
* @return <T>
|
||||||
|
*/
|
||||||
|
public static <T> T getBean(Class<T> clazz){
|
||||||
|
return getApplicationContext().getBean(clazz);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过name和Clazz返回指定的Bean
|
||||||
|
*
|
||||||
|
* @author fzr
|
||||||
|
* @param name 名称
|
||||||
|
* @param clazz 类
|
||||||
|
* @return <T>
|
||||||
|
*/
|
||||||
|
public static <T> T getBean(String name, Class<T> clazz){
|
||||||
|
return getApplicationContext().getBean(name, clazz);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue