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