Compare commits

...

3 Commits
master ... dev

Author SHA1 Message Date
Yunfei Du bebf068667 系统菜单搜索优化 2024-04-12 21:17:44 +08:00
Yunfei Du b7f8779e21 用户/邮箱登录 2024-04-12 14:20:01 +08:00
Yunfei Du 94d0c44100 项目启动成功 2024-04-12 11:13:18 +08:00
12 changed files with 102 additions and 29 deletions

View File

@ -67,7 +67,10 @@ public class SysLoginService {
// 查询用户信息
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, "登录用户不存在");
throw new ServiceException("登录用户:" + username + " 不存在");
}

View File

@ -14,10 +14,12 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
server-addr: 111.229.102.61:8848
namespace: muyu
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
server-addr: 111.229.102.61:8848
namespace: muyu
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -14,10 +14,12 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
server-addr: 111.229.102.61:8848
namespace: muyu
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
server-addr: 111.229.102.61:8848
namespace: muyu
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -14,10 +14,12 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
server-addr: 111.229.102.61:8848
namespace: muyu
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
server-addr: 111.229.102.61:8848
namespace: muyu
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -14,10 +14,12 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
server-addr: 111.229.102.61:8848
namespace: muyu
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
server-addr: 111.229.102.61:8848
namespace: muyu
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -14,10 +14,12 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
server-addr: 111.229.102.61:8848
namespace: muyu
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
server-addr: 111.229.102.61:8848
namespace: muyu
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -100,7 +100,10 @@ public class SysUserController extends BaseController {
@GetMapping("/info/{username}")
public Result<LoginUser> info (@PathVariable("username") String 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("用户名或密码错误");
}
// 角色集合

View File

@ -46,7 +46,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
*
* @return
*/
public SysUser selectUserByUserName (String userName);
public SysUser selectUserByUserName (@Param("userName") String userName);
/**
* ID

View File

@ -51,26 +51,60 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
return selectMenuList(new SysMenu(), userId);
}
/**
*
*
* @param menu
*
* @return
* @param menu
* @param userId ID
* @return
*/
@Override
public List<SysMenu> selectMenuList (SysMenu menu, Long userId) {
List<SysMenu> menuList = null;
// 管理员显示所有菜单信息
// 判断用户是否为管理员,管理员显示所有菜单
if (SysUser.isAdmin(userId)) {
menuList = menuMapper.selectMenuList(menu);
System.out.println ( "menuList"+menuList );
} else {
// 非管理员根据用户ID获取菜单列表
menu.getParams().put("userId", userId);
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;
}
/**
*
*
* @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
*
@ -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) {
// 初始化用于存放子节点的列表
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();
while (it.hasNext()) {
// 遍历菜单列表的每个元素
SysMenu n = (SysMenu) it.next();
// 判断当前元素的父节点ID是否与指定菜单项的ID相等若相等则添加到子节点列表
if (n.getParentId().longValue() == t.getMenuId().longValue()) {
tlist.add(n);
}
}
// 返回找到的子节点列表
return tlist;
}

View File

@ -14,10 +14,12 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
server-addr: 111.229.102.61:8848
namespace: muyu
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
server-addr: 111.229.102.61:8848
namespace: muyu
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -152,7 +152,7 @@
<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
<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 id="selectUserById" parameterType="Long" resultMap="SysUserResult">

View File

@ -14,10 +14,12 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
server-addr: 111.229.102.61:8848
namespace: muyu
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
server-addr: 111.229.102.61:8848
namespace: muyu
# 配置文件格式
file-extension: yml
# 共享配置