Compare commits
3 Commits
Author | SHA1 | Date |
---|---|---|
|
bebf068667 | |
|
b7f8779e21 | |
|
94d0c44100 |
|
@ -67,7 +67,10 @@ public class SysLoginService {
|
||||||
// 查询用户信息
|
// 查询用户信息
|
||||||
Result<LoginUser> userResult = remoteUserService.getUserInfo(username, SecurityConstants.INNER);
|
Result<LoginUser> userResult = remoteUserService.getUserInfo(username, SecurityConstants.INNER);
|
||||||
|
|
||||||
if (StringUtils.isNull(userResult) || StringUtils.isNull(userResult.getData())) {
|
if ((StringUtils.isNull(userResult) || StringUtils.isNull(userResult.getData()))&& username.contains ( "@" )) {
|
||||||
|
recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "登录邮箱不存在");
|
||||||
|
throw new ServiceException("登录邮箱:" + username + " 不存在");
|
||||||
|
}else if ((StringUtils.isNull(userResult) || StringUtils.isNull(userResult.getData()))){
|
||||||
recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "登录用户不存在");
|
recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "登录用户不存在");
|
||||||
throw new ServiceException("登录用户:" + username + " 不存在");
|
throw new ServiceException("登录用户:" + username + " 不存在");
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,10 +14,12 @@ spring:
|
||||||
nacos:
|
nacos:
|
||||||
discovery:
|
discovery:
|
||||||
# 服务注册地址
|
# 服务注册地址
|
||||||
server-addr: 127.0.0.1:8848
|
server-addr: 111.229.102.61:8848
|
||||||
|
namespace: muyu
|
||||||
config:
|
config:
|
||||||
# 配置中心地址
|
# 配置中心地址
|
||||||
server-addr: 127.0.0.1:8848
|
server-addr: 111.229.102.61:8848
|
||||||
|
namespace: muyu
|
||||||
# 配置文件格式
|
# 配置文件格式
|
||||||
file-extension: yml
|
file-extension: yml
|
||||||
# 共享配置
|
# 共享配置
|
||||||
|
|
|
@ -13,11 +13,13 @@ spring:
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
discovery:
|
discovery:
|
||||||
# 服务注册地址
|
# 服务注册地址
|
||||||
server-addr: 127.0.0.1:8848
|
server-addr: 111.229.102.61:8848
|
||||||
|
namespace: muyu
|
||||||
config:
|
config:
|
||||||
# 配置中心地址
|
# 配置中心地址
|
||||||
server-addr: 127.0.0.1:8848
|
server-addr: 111.229.102.61:8848
|
||||||
|
namespace: muyu
|
||||||
# 配置文件格式
|
# 配置文件格式
|
||||||
file-extension: yml
|
file-extension: yml
|
||||||
# 共享配置
|
# 共享配置
|
||||||
|
|
|
@ -13,11 +13,13 @@ spring:
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
discovery:
|
discovery:
|
||||||
# 服务注册地址
|
# 服务注册地址
|
||||||
server-addr: 127.0.0.1:8848
|
server-addr: 111.229.102.61:8848
|
||||||
|
namespace: muyu
|
||||||
config:
|
config:
|
||||||
# 配置中心地址
|
# 配置中心地址
|
||||||
server-addr: 127.0.0.1:8848
|
server-addr: 111.229.102.61:8848
|
||||||
|
namespace: muyu
|
||||||
# 配置文件格式
|
# 配置文件格式
|
||||||
file-extension: yml
|
file-extension: yml
|
||||||
# 共享配置
|
# 共享配置
|
||||||
|
|
|
@ -13,11 +13,13 @@ spring:
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
discovery:
|
discovery:
|
||||||
# 服务注册地址
|
# 服务注册地址
|
||||||
server-addr: 127.0.0.1:8848
|
server-addr: 111.229.102.61:8848
|
||||||
|
namespace: muyu
|
||||||
config:
|
config:
|
||||||
# 配置中心地址
|
# 配置中心地址
|
||||||
server-addr: 127.0.0.1:8848
|
server-addr: 111.229.102.61:8848
|
||||||
|
namespace: muyu
|
||||||
# 配置文件格式
|
# 配置文件格式
|
||||||
file-extension: yml
|
file-extension: yml
|
||||||
# 共享配置
|
# 共享配置
|
||||||
|
|
|
@ -13,11 +13,13 @@ spring:
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
discovery:
|
discovery:
|
||||||
# 服务注册地址
|
# 服务注册地址
|
||||||
server-addr: 127.0.0.1:8848
|
server-addr: 111.229.102.61:8848
|
||||||
|
namespace: muyu
|
||||||
config:
|
config:
|
||||||
# 配置中心地址
|
# 配置中心地址
|
||||||
server-addr: 127.0.0.1:8848
|
server-addr: 111.229.102.61:8848
|
||||||
|
namespace: muyu
|
||||||
# 配置文件格式
|
# 配置文件格式
|
||||||
file-extension: yml
|
file-extension: yml
|
||||||
# 共享配置
|
# 共享配置
|
||||||
|
|
|
@ -100,7 +100,10 @@ public class SysUserController extends BaseController {
|
||||||
@GetMapping("/info/{username}")
|
@GetMapping("/info/{username}")
|
||||||
public Result<LoginUser> info (@PathVariable("username") String username) {
|
public Result<LoginUser> info (@PathVariable("username") String username) {
|
||||||
SysUser sysUser = userService.selectUserByUserName(username);
|
SysUser sysUser = userService.selectUserByUserName(username);
|
||||||
if (StringUtils.isNull(sysUser)) {
|
if (StringUtils.isNull(sysUser) && username.contains ( "@" )) {
|
||||||
|
return Result.error("邮箱或密码错误");
|
||||||
|
}
|
||||||
|
else if (StringUtils.isNull(sysUser)){
|
||||||
return Result.error("用户名或密码错误");
|
return Result.error("用户名或密码错误");
|
||||||
}
|
}
|
||||||
// 角色集合
|
// 角色集合
|
||||||
|
|
|
@ -46,7 +46,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
|
||||||
*
|
*
|
||||||
* @return 用户对象信息
|
* @return 用户对象信息
|
||||||
*/
|
*/
|
||||||
public SysUser selectUserByUserName (String userName);
|
public SysUser selectUserByUserName (@Param("userName") String userName);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过用户ID查询用户
|
* 通过用户ID查询用户
|
||||||
|
|
|
@ -51,26 +51,60 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
return selectMenuList(new SysMenu(), userId);
|
return selectMenuList(new SysMenu(), userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询系统菜单列表
|
* 查询系统菜单列表
|
||||||
*
|
*
|
||||||
* @param menu 菜单信息
|
* @param menu 菜单信息,用于查询条件
|
||||||
*
|
* @param userId 用户ID,用于判断是否为管理员以及获取用户菜单列表
|
||||||
* @return 菜单列表
|
* @return 菜单列表,根据用户权限返回不同的菜单列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<SysMenu> selectMenuList (SysMenu menu, Long userId) {
|
public List<SysMenu> selectMenuList (SysMenu menu, Long userId) {
|
||||||
List<SysMenu> menuList = null;
|
List<SysMenu> menuList = null;
|
||||||
// 管理员显示所有菜单信息
|
// 判断用户是否为管理员,管理员显示所有菜单
|
||||||
if (SysUser.isAdmin(userId)) {
|
if (SysUser.isAdmin(userId)) {
|
||||||
menuList = menuMapper.selectMenuList(menu);
|
menuList = menuMapper.selectMenuList(menu);
|
||||||
|
System.out.println ( "menuList"+menuList );
|
||||||
} else {
|
} else {
|
||||||
|
// 非管理员根据用户ID获取菜单列表
|
||||||
menu.getParams().put("userId", userId);
|
menu.getParams().put("userId", userId);
|
||||||
menuList = menuMapper.selectMenuListByUserId(menu);
|
menuList = menuMapper.selectMenuListByUserId(menu);
|
||||||
}
|
}
|
||||||
|
// 若菜单列表只有一个元素,则尝试获取其子菜单并添加到菜单列表中
|
||||||
|
if (menuList.size ()==1){
|
||||||
|
SysMenu sysMenu = menuList.get ( 0 );
|
||||||
|
|
||||||
|
this.getMeentList(menuList,sysMenu);
|
||||||
|
// 获取当前菜单的子菜单列表
|
||||||
|
List< SysMenu > childList = this.getChildList ( menuMapper.selectMenuList ( null ), sysMenu );
|
||||||
|
// // 将子菜单添加到菜单列表中
|
||||||
|
menuList.addAll ( childList );
|
||||||
|
}
|
||||||
return menuList;
|
return menuList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取祖节点
|
||||||
|
* 递归遍历菜单列表,找到指定菜单的所有祖先菜单,并将它们添加到菜单列表中。
|
||||||
|
* @param menuList 菜单列表,用于存储找到的祖先菜单。
|
||||||
|
* @param menu 指定的菜单项,寻找它的祖先菜单。
|
||||||
|
*/
|
||||||
|
private void getMeentList(List< SysMenu> menuList, SysMenu menu) {
|
||||||
|
// 如果当前菜单的父菜单ID不等于0(表示根菜单),则查找并添加其父菜单到菜单列表中,然后递归查找父菜单的祖先菜单
|
||||||
|
if (!menu.getParentId ().equals ( 0L )){
|
||||||
|
// 通过父菜单ID选择父菜单
|
||||||
|
SysMenu sysMenu = this.selectMenuById ( menu.getParentId ( ) );
|
||||||
|
// 将父菜单添加到菜单列表中
|
||||||
|
menuList.add ( sysMenu );
|
||||||
|
// 递归查找父菜单的祖先菜单
|
||||||
|
getMeentList ( menuList,sysMenu );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据用户ID查询权限
|
* 根据用户ID查询权限
|
||||||
*
|
*
|
||||||
|
@ -454,17 +488,36 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 得到子节点列表
|
* 获取指定节点的子节点列表。
|
||||||
|
* @param list 菜单列表,包含所有菜单项。
|
||||||
|
* @param t 指定的菜单项,用于查找其子菜单。
|
||||||
|
* @return 返回指定菜单项的子节点列表。
|
||||||
*/
|
*/
|
||||||
private List<SysMenu> getChildList (List<SysMenu> list, SysMenu t) {
|
private List<SysMenu> getChildList (List<SysMenu> list, SysMenu t) {
|
||||||
|
// 初始化用于存放子节点的列表
|
||||||
List<SysMenu> tlist = new ArrayList<SysMenu>();
|
List<SysMenu> tlist = new ArrayList<SysMenu>();
|
||||||
|
List< SysMenu > sysMenus = new ArrayList<> ( );
|
||||||
|
|
||||||
|
Iterator< SysMenu > iterator = list.iterator ( );
|
||||||
|
while (iterator.hasNext ()){
|
||||||
|
SysMenu next = iterator.next ( );
|
||||||
|
if (next.getParentId ().longValue ()==t.getMenuId ().longValue ()){
|
||||||
|
tlist.add ( next );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 获取菜单列表的迭代器
|
||||||
Iterator<SysMenu> it = list.iterator();
|
Iterator<SysMenu> it = list.iterator();
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
|
// 遍历菜单列表的每个元素
|
||||||
SysMenu n = (SysMenu) it.next();
|
SysMenu n = (SysMenu) it.next();
|
||||||
|
// 判断当前元素的父节点ID是否与指定菜单项的ID相等,若相等则添加到子节点列表
|
||||||
if (n.getParentId().longValue() == t.getMenuId().longValue()) {
|
if (n.getParentId().longValue() == t.getMenuId().longValue()) {
|
||||||
tlist.add(n);
|
tlist.add(n);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 返回找到的子节点列表
|
||||||
return tlist;
|
return tlist;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,11 +13,13 @@ spring:
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
discovery:
|
discovery:
|
||||||
# 服务注册地址
|
# 服务注册地址
|
||||||
server-addr: 127.0.0.1:8848
|
server-addr: 111.229.102.61:8848
|
||||||
|
namespace: muyu
|
||||||
config:
|
config:
|
||||||
# 配置中心地址
|
# 配置中心地址
|
||||||
server-addr: 127.0.0.1:8848
|
server-addr: 111.229.102.61:8848
|
||||||
|
namespace: muyu
|
||||||
# 配置文件格式
|
# 配置文件格式
|
||||||
file-extension: yml
|
file-extension: yml
|
||||||
# 共享配置
|
# 共享配置
|
||||||
|
|
|
@ -152,7 +152,7 @@
|
||||||
|
|
||||||
<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
|
<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
|
||||||
<include refid="selectUserVo"/>
|
<include refid="selectUserVo"/>
|
||||||
where u.user_name = #{userName} and u.del_flag = '0'
|
where u.user_name =#{userName} or u.email =#{userName} and u.del_flag = '0'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
|
<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
|
||||||
|
|
|
@ -13,11 +13,13 @@ spring:
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
discovery:
|
discovery:
|
||||||
# 服务注册地址
|
# 服务注册地址
|
||||||
server-addr: 127.0.0.1:8848
|
server-addr: 111.229.102.61:8848
|
||||||
|
namespace: muyu
|
||||||
config:
|
config:
|
||||||
# 配置中心地址
|
# 配置中心地址
|
||||||
server-addr: 127.0.0.1:8848
|
server-addr: 111.229.102.61:8848
|
||||||
|
namespace: muyu
|
||||||
# 配置文件格式
|
# 配置文件格式
|
||||||
file-extension: yml
|
file-extension: yml
|
||||||
# 共享配置
|
# 共享配置
|
||||||
|
|
Loading…
Reference in New Issue