From 36f6a0cfc6ebc27723d320a8791ea5062fc27697 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 29 一月 2024 16:59:16 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserLoginServiceImpl.java   |   18 ++++++
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtSubject.java              |    2 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserRoleService.java             |    5 +
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/RoleMenuService.java             |    5 +
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/UserMapper.java                   |    2 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/HttpUtils.java                         |    3 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserRoleServiceImpl.java    |   14 +++-
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserLoginService.java            |    4 +
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/RoleMenuServiceImpl.java    |   14 +++-
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserServiceImpl.java        |    8 +-
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/UserRoleMapper.java               |   10 +++
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserService.java                 |    2 
 zy-asrs-wcs/src/main/resources/mapper/sys/RoleMenuMapper.xml                           |    4 +
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtAuthenticationFilter.java |    7 +-
 zy-asrs-wcs/src/main/resources/mapper/sys/UserRoleMapper.xml                           |   10 +++
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java                         |    3 +
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/UserLogin.java                    |   52 +++++++++++------
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/RoleMenuMapper.java               |   10 +++
 18 files changed, 136 insertions(+), 37 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtAuthenticationFilter.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtAuthenticationFilter.java
index 77e2d16..d6752dd 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtAuthenticationFilter.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtAuthenticationFilter.java
@@ -5,6 +5,7 @@
 import com.zy.asrs.wcs.common.constant.Constants;
 import com.zy.asrs.wcs.sys.entity.Menu;
 import com.zy.asrs.wcs.sys.entity.User;
+import com.zy.asrs.wcs.sys.entity.UserLogin;
 import com.zy.asrs.wcs.sys.service.UserLoginService;
 import com.zy.asrs.wcs.sys.service.UserService;
 import com.zy.asrs.wcs.utils.HttpUtils;
@@ -63,7 +64,7 @@
             try {
                 User user;
                 if (WHITE_KEY.contains(access_token)) {
-                    user = userService.getByUsername("openapi", 2);
+                    user = userService.getByUsername("openapi", 2L);
                     if (user == null) {
                         throw new UsernameNotFoundException("Username not found");
                     }
@@ -91,8 +92,8 @@
                         String token = JwtUtil.buildToken(jwtSubject, configProperties.getTokenExpireTime(),
                                 configProperties.getTokenKey());
                         response.addHeader(Constants.TOKEN_HEADER_NAME, token);
-                        userLoginService.saveAsync(user.getUsername(), LoginRecord.TYPE_REFRESH, null,
-                                user.getTenantId(), request);
+                        userLoginService.saveAsync(user.getId(), UserLogin.TYPE_REFRESH, null,
+                                user.getHostId(), request);
                     }
                 }
             } catch (ExpiredJwtException e) {
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtSubject.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtSubject.java
index ca9742b..f6fe058 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtSubject.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtSubject.java
@@ -26,6 +26,6 @@
     /**
      * 绉熸埛id
      */
-    private Integer tenantId;
+    private Long tenantId;
 
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java
index 9340e85..ae480f5 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java
@@ -167,6 +167,9 @@
     private String memo;
 
     @TableField(exist = false)
+    private List<Role> roles;
+
+    @TableField(exist = false)
     private List<Menu> authorities;
 
     public User() {}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/UserLogin.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/UserLogin.java
index 4ad6a5c..4bc204b 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/UserLogin.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/UserLogin.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.SpringUtils;
+import com.zy.asrs.wcs.sys.service.HostService;
 import com.zy.asrs.wcs.sys.service.UserService;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -17,6 +18,11 @@
 @Data
 @TableName("sys_user_login")
 public class UserLogin implements Serializable {
+
+    public static final int TYPE_LOGIN = 0;  // 鐧诲綍鎴愬姛
+    public static final int TYPE_ERROR = 1;  // 鐧诲綍澶辫触
+    public static final int TYPE_LOGOUT = 2;  // 閫�鍑虹櫥褰�
+    public static final int TYPE_REFRESH = 3;  // 缁token
 
     private static final long serialVersionUID = 1L;
 
@@ -34,10 +40,29 @@
     private Long userId;
 
     /**
+     * 鎵�灞炴満鏋�
+     */
+    @ApiModelProperty(value= "鎵�灞炴満鏋�")
+    private Long hostId;
+
+    /**
      * 瀵嗛挜
      */
     @ApiModelProperty(value= "瀵嗛挜")
     private String token;
+
+    /**
+     * 鐧诲綍ip
+     */
+    @ApiModelProperty(value= "鐧诲綍ip")
+    private String ip;
+
+    /**
+     * 绫诲瀷
+     */
+    @ApiModelProperty(value= "绫诲瀷")
+    private Integer type;
+
 
     /**
      * 娣诲姞鏃堕棿
@@ -58,24 +83,6 @@
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
 
-    public UserLogin() {}
-
-    public UserLogin(Long userId,String token,Date createTime,String system,String memo) {
-        this.userId = userId;
-        this.token = token;
-        this.createTime = createTime;
-        this.system = system;
-        this.memo = memo;
-    }
-
-//    UserLogin userLogin = new UserLogin(
-//            null,    // 鐢ㄦ埛[闈炵┖]
-//            null,    // 瀵嗛挜
-//            null,    // 娣诲姞鏃堕棿
-//            null,    // 鐧诲綍绯荤粺
-//            null    // 澶囨敞
-//    );
-
     public String getUserId$(){
         UserService service = SpringUtils.getBean(UserService.class);
         User user = service.getById(this.userId);
@@ -85,6 +92,15 @@
         return null;
     }
 
+    public String getHostId$(){
+        HostService service = SpringUtils.getBean(HostService.class);
+        Host host = service.getById(this.hostId);
+        if (!Cools.isEmpty(host)){
+            return String.valueOf(host.getId());
+        }
+        return null;
+    }
+
     public String getCreateTime$(){
         if (Cools.isEmpty(this.createTime)){
             return "";
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/RoleMenuMapper.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/RoleMenuMapper.java
index 67f412c..b4356a0 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/RoleMenuMapper.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/RoleMenuMapper.java
@@ -1,12 +1,20 @@
 package com.zy.asrs.wcs.sys.mapper;
 
-import com.zy.asrs.wcs.sys.entity.RoleMenu;
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zy.asrs.wcs.sys.entity.Menu;
+import com.zy.asrs.wcs.sys.entity.RoleMenu;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 @Mapper
 @Repository
 public interface RoleMenuMapper extends BaseMapper<RoleMenu> {
 
+    @InterceptorIgnore(tenantLine = "true")
+    List<Menu> listMenuByUserId(@Param("userId") Long userId, @Param("menuType") Integer menuType);
+
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/UserMapper.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/UserMapper.java
index f9858a3..9a252f3 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/UserMapper.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/UserMapper.java
@@ -12,6 +12,6 @@
 public interface UserMapper extends BaseMapper<User> {
 
     @InterceptorIgnore(tenantLine = "true")
-    User selectByUsername(@Param("username") String username, @Param("hostId") Integer hostId);
+    User selectByUsername(@Param("username") String username, @Param("hostId") Long hostId);
 
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/UserRoleMapper.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/UserRoleMapper.java
index 2832d4f..c641adc 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/UserRoleMapper.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/UserRoleMapper.java
@@ -1,12 +1,20 @@
 package com.zy.asrs.wcs.sys.mapper;
 
-import com.zy.asrs.wcs.sys.entity.UserRole;
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zy.asrs.wcs.sys.entity.Role;
+import com.zy.asrs.wcs.sys.entity.UserRole;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 @Mapper
 @Repository
 public interface UserRoleMapper extends BaseMapper<UserRole> {
 
+    @InterceptorIgnore(tenantLine = "true")
+    List<Role> selectByUserId(@Param("userId") Long userId);
+
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/RoleMenuService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/RoleMenuService.java
index 95a1abb..2e52705 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/RoleMenuService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/RoleMenuService.java
@@ -1,8 +1,13 @@
 package com.zy.asrs.wcs.sys.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zy.asrs.wcs.sys.entity.Menu;
 import com.zy.asrs.wcs.sys.entity.RoleMenu;
 
+import java.util.List;
+
 public interface RoleMenuService extends IService<RoleMenu> {
 
+    List<Menu> listMenuByUserId(Long userId, Integer menuType);
+
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserLoginService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserLoginService.java
index d7e54b5..4716e92 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserLoginService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserLoginService.java
@@ -3,6 +3,10 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zy.asrs.wcs.sys.entity.UserLogin;
 
+import javax.servlet.http.HttpServletRequest;
+
 public interface UserLoginService extends IService<UserLogin> {
 
+    void saveAsync(Long userId, Integer type, String comments, Long hostId, HttpServletRequest request);
+
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserRoleService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserRoleService.java
index e632cea..350e219 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserRoleService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserRoleService.java
@@ -1,8 +1,13 @@
 package com.zy.asrs.wcs.sys.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zy.asrs.wcs.sys.entity.Role;
 import com.zy.asrs.wcs.sys.entity.UserRole;
 
+import java.util.List;
+
 public interface UserRoleService extends IService<UserRole> {
 
+    List<Role> listByUserId(Long userId);
+
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserService.java
index ff98c08..a2c0c52 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserService.java
@@ -5,6 +5,6 @@
 
 public interface UserService extends IService<User> {
 
-    User getByUsername(String username, Integer hostId);
+    User getByUsername(String username, Long hostId);
 
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/RoleMenuServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/RoleMenuServiceImpl.java
index 089b4d5..27148f9 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/RoleMenuServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/RoleMenuServiceImpl.java
@@ -1,12 +1,20 @@
 package com.zy.asrs.wcs.sys.service.impl;
 
-import com.zy.asrs.wcs.sys.mapper.RoleMenuMapper;
-import com.zy.asrs.wcs.sys.entity.RoleMenu;
-import com.zy.asrs.wcs.sys.service.RoleMenuService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zy.asrs.wcs.sys.entity.Menu;
+import com.zy.asrs.wcs.sys.entity.RoleMenu;
+import com.zy.asrs.wcs.sys.mapper.RoleMenuMapper;
+import com.zy.asrs.wcs.sys.service.RoleMenuService;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 @Service("roleMenuService")
 public class RoleMenuServiceImpl extends ServiceImpl<RoleMenuMapper, RoleMenu> implements RoleMenuService {
 
+    @Override
+    public List<Menu> listMenuByUserId(Long userId, Integer menuType) {
+        return baseMapper.listMenuByUserId(userId, menuType);
+    }
+
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserLoginServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserLoginServiceImpl.java
index 1342f48..24b1a0a 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserLoginServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserLoginServiceImpl.java
@@ -4,9 +4,27 @@
 import com.zy.asrs.wcs.sys.entity.UserLogin;
 import com.zy.asrs.wcs.sys.service.UserLoginService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletRequest;
 
 @Service("userLoginService")
 public class UserLoginServiceImpl extends ServiceImpl<UserLoginMapper, UserLogin> implements UserLoginService {
 
+    @Async
+    @Override
+    public void saveAsync(Long userId, Integer type, String comments, Long hostId, HttpServletRequest request) {
+        if (userId == null) {
+            return;
+        }
+        UserLogin userLogin = new UserLogin();
+        userLogin.setUserId(userId);
+        userLogin.setType(type);
+        userLogin.setMemo(comments);
+        userLogin.setHostId(hostId);
+        userLogin.setIp(request.getRequestURI());
+        baseMapper.insert(userLogin);
+    }
+
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserRoleServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserRoleServiceImpl.java
index bee5204..4bfa6e5 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserRoleServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserRoleServiceImpl.java
@@ -1,12 +1,20 @@
 package com.zy.asrs.wcs.sys.service.impl;
 
-import com.zy.asrs.wcs.sys.mapper.UserRoleMapper;
-import com.zy.asrs.wcs.sys.entity.UserRole;
-import com.zy.asrs.wcs.sys.service.UserRoleService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zy.asrs.wcs.sys.entity.Role;
+import com.zy.asrs.wcs.sys.entity.UserRole;
+import com.zy.asrs.wcs.sys.mapper.UserRoleMapper;
+import com.zy.asrs.wcs.sys.service.UserRoleService;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 @Service("userRoleService")
 public class UserRoleServiceImpl extends ServiceImpl<UserRoleMapper, UserRole> implements UserRoleService {
 
+    @Override
+    public List<Role> listByUserId(Long userId) {
+        return baseMapper.selectByUserId(userId);
+    }
+
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserServiceImpl.java
index aa38f96..e1f9937 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserServiceImpl.java
@@ -20,14 +20,14 @@
     private RoleMenuService roleMenuService;
 
     @Override
-    public User getByUsername(String username, Integer hostId) {
+    public User getByUsername(String username, Long hostId) {
         if (Cools.isEmpty(username)) {
             return null;
         }
-        User user = baseMapper.selectByUsername(username, tenantId);
+        User user = baseMapper.selectByUsername(username, hostId);
         if (user != null) {
-            user.setRoles(userRoleService.listByUserId(user.getUserId()));
-            user.setAuthorities(roleMenuService.listMenuByUserId(user.getUserId(), null));
+            user.setRoles(userRoleService.listByUserId(user.getId()));
+            user.setAuthorities(roleMenuService.listMenuByUserId(user.getId(), null));
         }
         return user;
     }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/HttpUtils.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/HttpUtils.java
index cb39154..e86c946 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/HttpUtils.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/HttpUtils.java
@@ -1,6 +1,7 @@
 package com.zy.asrs.wcs.utils;
 
 import com.alibaba.fastjson.JSON;
+import com.zy.asrs.framework.common.R;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
@@ -15,7 +16,7 @@
         response.setContentType("application/json;charset=UTF-8");
         try {
             PrintWriter out = response.getWriter();
-            out.write(JSON.toJSONString(new ApiResult<>(code, message, null, error)));
+            out.write(JSON.toJSONString(R.parse(code + "-" + message)));
             out.flush();
         } catch (IOException e) {
             e.printStackTrace();
diff --git a/zy-asrs-wcs/src/main/resources/mapper/sys/RoleMenuMapper.xml b/zy-asrs-wcs/src/main/resources/mapper/sys/RoleMenuMapper.xml
index f8392f8..a69559c 100644
--- a/zy-asrs-wcs/src/main/resources/mapper/sys/RoleMenuMapper.xml
+++ b/zy-asrs-wcs/src/main/resources/mapper/sys/RoleMenuMapper.xml
@@ -2,4 +2,8 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zy.asrs.wcs.sys.mapper.RoleMenuMapper">
 
+    <select id="listMenuByUserId" resultType="com.zy.asrs.wcs.sys.entity.Menu">
+
+    </select>
+
 </mapper>
diff --git a/zy-asrs-wcs/src/main/resources/mapper/sys/UserRoleMapper.xml b/zy-asrs-wcs/src/main/resources/mapper/sys/UserRoleMapper.xml
index 192e5c1..d217586 100644
--- a/zy-asrs-wcs/src/main/resources/mapper/sys/UserRoleMapper.xml
+++ b/zy-asrs-wcs/src/main/resources/mapper/sys/UserRoleMapper.xml
@@ -2,4 +2,14 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zy.asrs.wcs.sys.mapper.UserRoleMapper">
 
+    <select id="selectByUserId" resultType="com.zy.asrs.wcs.sys.entity.Role">
+        SELECT *
+        FROM sys_role
+        WHERE role_id IN (
+            SELECT role_id
+            FROM sys_user_role
+            WHERE user_id = #{userId}
+        )
+        AND deleted = 0
+    </select>
 </mapper>

--
Gitblit v1.9.1