diff --git a/yshop-admin/src/main/java/co/yixiang/modules/security/service/OnlineUserService.java b/yshop-admin/src/main/java/co/yixiang/modules/security/service/OnlineUserService.java index 72ad784a..99376031 100644 --- a/yshop-admin/src/main/java/co/yixiang/modules/security/service/OnlineUserService.java +++ b/yshop-admin/src/main/java/co/yixiang/modules/security/service/OnlineUserService.java @@ -150,7 +150,7 @@ public class OnlineUserService { for (OnlineUser user : all) { Map map = new LinkedHashMap<>(); map.put("用户名", user.getUserName()); - map.put("岗位", user.getJob()); + map.put("用户昵称", user.getNickName()); map.put("登录IP", user.getIp()); map.put("登录地点", user.getAddress()); map.put("浏览器", user.getBrowser()); diff --git a/yshop-common/src/main/java/co/yixiang/utils/SecurityUtils.java b/yshop-common/src/main/java/co/yixiang/utils/SecurityUtils.java index f04fd4f1..3abfa3ce 100644 --- a/yshop-common/src/main/java/co/yixiang/utils/SecurityUtils.java +++ b/yshop-common/src/main/java/co/yixiang/utils/SecurityUtils.java @@ -8,8 +8,10 @@ package co.yixiang.utils; import cn.hutool.json.JSONObject; import co.yixiang.exception.BadRequestException; import org.springframework.http.HttpStatus; +import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; /** * 获取当前登录的用户 @@ -19,13 +21,16 @@ import org.springframework.security.core.userdetails.UserDetails; public class SecurityUtils { public static UserDetails getUserDetails() { - UserDetails userDetails; - try { - userDetails = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); - } catch (Exception e) { - throw new BadRequestException(HttpStatus.UNAUTHORIZED, "登录状态过期"); + final Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + if (authentication == null) { + throw new BadRequestException(HttpStatus.UNAUTHORIZED, "当前登录状态过期"); } - return userDetails; + if (authentication.getPrincipal() instanceof UserDetails) { + UserDetails userDetails = (UserDetails) authentication.getPrincipal(); + UserDetailsService userDetailsService = SpringContextHolder.getBean(UserDetailsService.class); + return userDetailsService.loadUserByUsername(userDetails.getUsername()); + } + throw new BadRequestException(HttpStatus.UNAUTHORIZED, "找不到当前登录的信息"); } /** @@ -33,8 +38,12 @@ public class SecurityUtils { * @return 系统用户名称 */ public static String getUsername(){ - Object obj = getUserDetails(); - return new JSONObject(obj).get("username", String.class); + final Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + if (authentication == null) { + throw new BadRequestException(HttpStatus.UNAUTHORIZED, "当前登录状态过期"); + } + UserDetails userDetails = (UserDetails) authentication.getPrincipal(); + return userDetails.getUsername(); } /** diff --git a/yshop-mall/src/main/java/co/yixiang/modules/user/service/mapper/UserBillMapper.java b/yshop-mall/src/main/java/co/yixiang/modules/user/service/mapper/UserBillMapper.java index d19501a3..0d53a444 100644 --- a/yshop-mall/src/main/java/co/yixiang/modules/user/service/mapper/UserBillMapper.java +++ b/yshop-mall/src/main/java/co/yixiang/modules/user/service/mapper/UserBillMapper.java @@ -81,7 +81,7 @@ public interface UserBillMapper extends CoreMapper { "from yx_user_bill b left join yx_user u on u.uid=b.uid where 1=1 " + "and b.category=#{category} " + "and b.type=#{type} " + - "and u.nickname= LIKE CONCAT('%',#{nickname},'%') ") + "and u.nickname LIKE CONCAT('%',#{nickname},'%') ") List findAllByQueryCriteria(@Param("category") String category, @Param("type") String type, @Param("nickname") String nickname); }