登录成功
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package org.xyzh.system.controller;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.xyzh.api.system.user.UserService;
|
||||
import org.xyzh.common.annotation.HttpLogin;
|
||||
import org.xyzh.common.core.domain.LoginDomain;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.user.TbSysUserInfo;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
||||
|
||||
/**
|
||||
* @description UserController.java文件描述 用户控制器
|
||||
* @filename UserController.java
|
||||
* @author yslg
|
||||
* @copyright xyzh
|
||||
* @ since 2025-10-06
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/user")
|
||||
public class UserController {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(UserController.class);
|
||||
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
|
||||
@GetMapping("/userinfo")
|
||||
public ResultDomain<TbSysUserInfo> getUserInfo(@HttpLogin LoginDomain loginDomain){
|
||||
ResultDomain<TbSysUserInfo> result = new ResultDomain<>();
|
||||
|
||||
logger.info("loginDomain: {}", loginDomain);
|
||||
String userID = loginDomain.getUser().getID();
|
||||
ResultDomain<TbSysUserInfo> userInfo = userService.getUserInfoById(userID);
|
||||
result.setData(userInfo.getData());
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.xyzh.common.dto.role.TbSysRole;
|
||||
import org.xyzh.common.vo.DeptRoleVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -20,11 +21,11 @@ public interface RoleMapper extends BaseMapper<TbSysRole> {
|
||||
/**
|
||||
* @description 根据用户ID查询角色列表
|
||||
* @param userId 用户ID
|
||||
* @return List<TbSysRole> 角色列表
|
||||
* @return List<DeptRoleVO> 部门角色列表
|
||||
* @author yslg
|
||||
* @since 2025-09-28
|
||||
*/
|
||||
List<TbSysRole> selectRolesByUserId(@Param("userId") String userId);
|
||||
List<DeptRoleVO> selectDeptRolesByUserId(@Param("userId") String userId);
|
||||
|
||||
/**
|
||||
* @description 根据角色编码查询角色
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.xyzh.common.dto.user.TbSysUser;
|
||||
import org.xyzh.common.dto.user.TbSysUserInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -26,6 +27,15 @@ public interface UserMapper extends BaseMapper<TbSysUser> {
|
||||
*/
|
||||
TbSysUser selectByUsername(@Param("username") String username);
|
||||
|
||||
/**
|
||||
* @description 根据用户ID查询用户信息
|
||||
* @param userId 用户ID
|
||||
* @return TbSysUserInfo 用户信息
|
||||
* @author yslg
|
||||
* @since 2025-10-06
|
||||
*/
|
||||
TbSysUserInfo selectUserInfoById(@Param("userId") String userId);
|
||||
|
||||
/**
|
||||
* @description 根据邮箱查询用户
|
||||
* @param email 邮箱
|
||||
|
||||
@@ -7,8 +7,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.dept.TbSysDeptRole;
|
||||
import org.xyzh.common.dto.role.TbSysRole;
|
||||
import org.xyzh.common.utils.IDUtils;
|
||||
import org.xyzh.common.vo.DeptRoleVO;
|
||||
import org.xyzh.system.mapper.RoleMapper;
|
||||
import org.xyzh.system.role.service.SysRoleService;
|
||||
|
||||
@@ -89,24 +91,24 @@ public class SysRoleServiceImpl implements SysRoleService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbSysRole> getRolesByUserId(String userId) {
|
||||
ResultDomain<TbSysRole> resultDomain = new ResultDomain<>();
|
||||
public ResultDomain<DeptRoleVO> getDeptRolesByUserId(String userId) {
|
||||
ResultDomain<DeptRoleVO> resultDomain = new ResultDomain<>();
|
||||
try {
|
||||
logger.info("开始根据用户ID查询角色列表:{}", userId);
|
||||
logger.info("开始根据用户ID查询部门角色列表:{}", userId);
|
||||
|
||||
if (!StringUtils.hasText(userId)) {
|
||||
resultDomain.fail("用户ID不能为空");
|
||||
return resultDomain;
|
||||
}
|
||||
|
||||
List<TbSysRole> roles = roleMapper.selectRolesByUserId(userId);
|
||||
List<DeptRoleVO> roles = roleMapper.selectDeptRolesByUserId(userId);
|
||||
|
||||
logger.info("根据用户ID查询角色列表完成,共找到{}个角色", roles.size());
|
||||
logger.info("根据用户ID查询部门角色列表完成,共找到{}个部门角色", roles.size());
|
||||
resultDomain.success("查询成功", roles);
|
||||
return resultDomain;
|
||||
|
||||
} catch (Exception e) {
|
||||
logger.error("根据用户ID查询角色列表失败:{}", userId, e);
|
||||
logger.error("根据用户ID查询部门角色列表失败:{}", userId, e);
|
||||
resultDomain.fail("查询角色失败:" + e.getMessage());
|
||||
return resultDomain;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.dto.user.TbSysUser;
|
||||
import org.xyzh.common.dto.user.TbSysUserInfo;
|
||||
import org.xyzh.common.utils.IDUtils;
|
||||
import org.xyzh.system.mapper.UserMapper;
|
||||
import org.xyzh.system.user.service.SysUserService;
|
||||
@@ -512,4 +513,34 @@ public class SysUserServiceImpl implements SysUserService {
|
||||
return resultDomain;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbSysUserInfo> getUserInfoById(String userId) {
|
||||
ResultDomain<TbSysUserInfo> resultDomain = new ResultDomain<>();
|
||||
|
||||
try {
|
||||
logger.info("开始根据ID查询用户信息:{}", userId);
|
||||
if (!StringUtils.hasText(userId)) {
|
||||
resultDomain.fail("用户ID不能为空");
|
||||
return resultDomain;
|
||||
}
|
||||
|
||||
TbSysUserInfo userInfo = userMapper.selectUserInfoById(userId);
|
||||
if (userInfo == null) {
|
||||
logger.warn("未找到用户信息:{}", userId);
|
||||
resultDomain.fail("未找到指定用户信息");
|
||||
return resultDomain;
|
||||
}
|
||||
|
||||
logger.info("根据ID查询用户信息完成:{}", userId);
|
||||
resultDomain.success("查询成功", userInfo);
|
||||
return resultDomain;
|
||||
|
||||
} catch (Exception e) {
|
||||
logger.error("根据ID查询用户信息失败:{}", userId, e);
|
||||
resultDomain.fail("查询用户信息失败:" + e.getMessage());
|
||||
return resultDomain;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -83,9 +83,9 @@ mybatis-plus:
|
||||
# 日志配置
|
||||
logging:
|
||||
config: classpath:log4j2-spring.xml
|
||||
level:
|
||||
org.xyzh.system: DEBUG
|
||||
org.xyzh.system.mapper: DEBUG
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
|
||||
# 管理端点配置
|
||||
management:
|
||||
|
||||
@@ -1,175 +1,139 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
@description log4j2-spring.xml文件描述 System模块Log4j2配置文件
|
||||
@filename log4j2-spring.xml
|
||||
@author yslg
|
||||
@copyright xyzh
|
||||
@since 2025-09-28
|
||||
校园新闻管理系统 - System模块日志配置
|
||||
-->
|
||||
<Configuration status="WARN" monitorInterval="30">
|
||||
|
||||
<!-- 全局属性 -->
|
||||
<configuration status="WARN" monitorInterval="30">
|
||||
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
|
||||
|
||||
<!--变量配置-->
|
||||
<Properties>
|
||||
<!-- 应用名称 -->
|
||||
<Property name="APP_NAME">school-news-system</Property>
|
||||
<!-- 日志文件路径 -->
|
||||
<Property name="LOG_HOME">./logs/${APP_NAME}</Property>
|
||||
<!-- 日志格式 -->
|
||||
<Property name="LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level [%X{traceId}] %logger{36} - %msg%n</Property>
|
||||
<!-- 控制台日志格式(带颜色) -->
|
||||
<Property name="CONSOLE_PATTERN">%d{HH:mm:ss.SSS} %highlight{%-5level} [%t] %style{[%X{traceId}]}{cyan} %style{%logger{36}}{magenta} - %msg%n</Property>
|
||||
<!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符-->
|
||||
<!-- %logger{36} 表示 Logger 名字最长36个字符 -->
|
||||
<property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
|
||||
<!-- 定义日志存储的路径 -->
|
||||
<property name="FILE_PATH" value="./logs" />
|
||||
<!-- System模块日志文件名 -->
|
||||
<property name="FILE_NAME" value="school-news-system" />
|
||||
<!-- 设置系统属性 -->
|
||||
<property name="file.encoding" value="UTF-8" />
|
||||
<property name="console.encoding" value="UTF-8" />
|
||||
</Properties>
|
||||
|
||||
<!-- 输出器配置 -->
|
||||
<Appenders>
|
||||
|
||||
<!-- 控制台输出 -->
|
||||
<Console name="Console" target="SYSTEM_OUT">
|
||||
<PatternLayout pattern="${CONSOLE_PATTERN}"/>
|
||||
<!-- 只输出INFO及以上级别 -->
|
||||
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
</Console>
|
||||
|
||||
<!-- 调试日志文件 -->
|
||||
<RollingFile name="DebugFile" fileName="${LOG_HOME}/debug.log"
|
||||
filePattern="${LOG_HOME}/debug.%d{yyyy-MM-dd}.%i.log.gz">
|
||||
<PatternLayout pattern="${LOG_PATTERN}"/>
|
||||
|
||||
<appenders>
|
||||
|
||||
<console name="Console" target="SYSTEM_OUT">
|
||||
<!--输出日志的格式-->
|
||||
<PatternLayout pattern="${LOG_PATTERN}" charset="UTF-8"/>
|
||||
<!--控制台输出debug及以上级别的信息-->
|
||||
<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
</console>
|
||||
|
||||
<!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,适合临时测试用-->
|
||||
<File name="Filelog" fileName="${FILE_PATH}/${FILE_NAME}-test.log" append="false">
|
||||
<PatternLayout pattern="${LOG_PATTERN}" charset="UTF-8"/>
|
||||
</File>
|
||||
|
||||
<!-- 这个会打印出所有的info及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
|
||||
<RollingFile name="RollingFileInfo" fileName="${FILE_PATH}/${FILE_NAME}-info.log" filePattern="${FILE_PATH}/${FILE_NAME}-INFO-%d{yyyy-MM-dd}_%i.log.gz">
|
||||
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
|
||||
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
<PatternLayout pattern="${LOG_PATTERN}" charset="UTF-8"/>
|
||||
<Policies>
|
||||
<!-- 每天轮转 -->
|
||||
<!--interval属性用来指定多久滚动一次,默认是1 hour-->
|
||||
<TimeBasedTriggeringPolicy interval="1"/>
|
||||
<!-- 文件大小超过100MB轮转 -->
|
||||
<SizeBasedTriggeringPolicy size="100MB"/>
|
||||
<SizeBasedTriggeringPolicy size="10MB"/>
|
||||
</Policies>
|
||||
<!-- 保留30天的日志文件 -->
|
||||
<DefaultRolloverStrategy max="30"/>
|
||||
<!-- 只输出DEBUG级别 -->
|
||||
<LevelRangeFilter minLevel="DEBUG" maxLevel="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
<!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件开始覆盖-->
|
||||
<DefaultRolloverStrategy max="15"/>
|
||||
</RollingFile>
|
||||
|
||||
<!-- 信息日志文件 -->
|
||||
<RollingFile name="InfoFile" fileName="${LOG_HOME}/info.log"
|
||||
filePattern="${LOG_HOME}/info.%d{yyyy-MM-dd}.%i.log.gz">
|
||||
<PatternLayout pattern="${LOG_PATTERN}"/>
|
||||
|
||||
<!-- 这个会打印出所有的warn及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
|
||||
<RollingFile name="RollingFileWarn" fileName="${FILE_PATH}/${FILE_NAME}-warn.log" filePattern="${FILE_PATH}/${FILE_NAME}-WARN-%d{yyyy-MM-dd}_%i.log.gz">
|
||||
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
|
||||
<ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
<PatternLayout pattern="${LOG_PATTERN}" charset="UTF-8"/>
|
||||
<Policies>
|
||||
<!--interval属性用来指定多久滚动一次,默认是1 hour-->
|
||||
<TimeBasedTriggeringPolicy interval="1"/>
|
||||
<SizeBasedTriggeringPolicy size="100MB"/>
|
||||
<SizeBasedTriggeringPolicy size="10MB"/>
|
||||
</Policies>
|
||||
<DefaultRolloverStrategy max="30"/>
|
||||
<!-- 只输出INFO级别 -->
|
||||
<LevelRangeFilter minLevel="INFO" maxLevel="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
<!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件开始覆盖-->
|
||||
<DefaultRolloverStrategy max="15"/>
|
||||
</RollingFile>
|
||||
|
||||
<!-- 警告日志文件 -->
|
||||
<RollingFile name="WarnFile" fileName="${LOG_HOME}/warn.log"
|
||||
filePattern="${LOG_HOME}/warn.%d{yyyy-MM-dd}.%i.log.gz">
|
||||
<PatternLayout pattern="${LOG_PATTERN}"/>
|
||||
|
||||
<!-- 这个会打印出所有的error及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
|
||||
<RollingFile name="RollingFileError" fileName="${FILE_PATH}/${FILE_NAME}-error.log" filePattern="${FILE_PATH}/${FILE_NAME}-ERROR-%d{yyyy-MM-dd}_%i.log.gz">
|
||||
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
|
||||
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
<PatternLayout pattern="${LOG_PATTERN}" charset="UTF-8"/>
|
||||
<Policies>
|
||||
<!--interval属性用来指定多久滚动一次,默认是1 hour-->
|
||||
<TimeBasedTriggeringPolicy interval="1"/>
|
||||
<SizeBasedTriggeringPolicy size="100MB"/>
|
||||
<SizeBasedTriggeringPolicy size="10MB"/>
|
||||
</Policies>
|
||||
<DefaultRolloverStrategy max="30"/>
|
||||
<!-- 只输出WARN级别 -->
|
||||
<LevelRangeFilter minLevel="WARN" maxLevel="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
<!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件开始覆盖-->
|
||||
<DefaultRolloverStrategy max="15"/>
|
||||
</RollingFile>
|
||||
|
||||
<!-- 错误日志文件 -->
|
||||
<RollingFile name="ErrorFile" fileName="${LOG_HOME}/error.log"
|
||||
filePattern="${LOG_HOME}/error.%d{yyyy-MM-dd}.%i.log.gz">
|
||||
<PatternLayout pattern="${LOG_PATTERN}"/>
|
||||
<Policies>
|
||||
<TimeBasedTriggeringPolicy interval="1"/>
|
||||
<SizeBasedTriggeringPolicy size="100MB"/>
|
||||
</Policies>
|
||||
<DefaultRolloverStrategy max="30"/>
|
||||
<!-- 只输出ERROR及以上级别 -->
|
||||
<ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
</RollingFile>
|
||||
|
||||
<!-- SQL日志文件 -->
|
||||
<RollingFile name="SqlFile" fileName="${LOG_HOME}/sql.log"
|
||||
filePattern="${LOG_HOME}/sql.%d{yyyy-MM-dd}.%i.log.gz">
|
||||
<PatternLayout pattern="${LOG_PATTERN}"/>
|
||||
<Policies>
|
||||
<TimeBasedTriggeringPolicy interval="1"/>
|
||||
<SizeBasedTriggeringPolicy size="50MB"/>
|
||||
</Policies>
|
||||
<DefaultRolloverStrategy max="7"/>
|
||||
</RollingFile>
|
||||
|
||||
<!-- 异步输出器 -->
|
||||
<AsyncAppender name="AsyncConsole">
|
||||
|
||||
</appenders>
|
||||
|
||||
<!--Logger节点用来单独指定日志的形式,比如要为指定包下的class指定不同的日志级别等。-->
|
||||
<!--然后定义loggers,只有定义了logger并引入的appender,appender才会生效-->
|
||||
<loggers>
|
||||
|
||||
<!--过滤掉spring和mybatis的一些无用的DEBUG信息-->
|
||||
<logger name="org.mybatis" level="info" additivity="false">
|
||||
<AppenderRef ref="Console"/>
|
||||
</logger>
|
||||
<!--监控系统信息-->
|
||||
<!--若是additivity设为false,则 子Logger 只会在自己的appender里输出,不会在 父Logger 的appender里输出。-->
|
||||
<Logger name="org.springframework" level="info" additivity="false">
|
||||
<AppenderRef ref="Console"/>
|
||||
<BufferSize>1024</BufferSize>
|
||||
</AsyncAppender>
|
||||
|
||||
<AsyncAppender name="AsyncDebugFile">
|
||||
<AppenderRef ref="DebugFile"/>
|
||||
<BufferSize>1024</BufferSize>
|
||||
</AsyncAppender>
|
||||
|
||||
<AsyncAppender name="AsyncInfoFile">
|
||||
<AppenderRef ref="InfoFile"/>
|
||||
<BufferSize>1024</BufferSize>
|
||||
</AsyncAppender>
|
||||
|
||||
<AsyncAppender name="AsyncWarnFile">
|
||||
<AppenderRef ref="WarnFile"/>
|
||||
<BufferSize>1024</BufferSize>
|
||||
</AsyncAppender>
|
||||
|
||||
<AsyncAppender name="AsyncErrorFile">
|
||||
<AppenderRef ref="ErrorFile"/>
|
||||
<BufferSize>1024</BufferSize>
|
||||
</AsyncAppender>
|
||||
|
||||
<AsyncAppender name="AsyncSqlFile">
|
||||
<AppenderRef ref="SqlFile"/>
|
||||
<BufferSize>512</BufferSize>
|
||||
</AsyncAppender>
|
||||
|
||||
</Appenders>
|
||||
|
||||
<!-- 记录器配置 -->
|
||||
<Loggers>
|
||||
|
||||
<!-- SQL日志 -->
|
||||
<Logger name="org.xyzh.system.mapper" level="DEBUG" additivity="false">
|
||||
<AppenderRef ref="AsyncSqlFile"/>
|
||||
<AppenderRef ref="AsyncConsole"/>
|
||||
</Logger>
|
||||
|
||||
<!-- MyBatis日志 -->
|
||||
<Logger name="com.baomidou.mybatisplus" level="DEBUG" additivity="false">
|
||||
<AppenderRef ref="AsyncSqlFile"/>
|
||||
|
||||
<!-- 项目包日志配置 - Auth模块 -->
|
||||
<Logger name="org.xyzh.auth" level="debug" additivity="false">
|
||||
<AppenderRef ref="Console"/>
|
||||
<AppenderRef ref="Filelog"/>
|
||||
<AppenderRef ref="RollingFileInfo"/>
|
||||
<AppenderRef ref="RollingFileWarn"/>
|
||||
<AppenderRef ref="RollingFileError"/>
|
||||
</Logger>
|
||||
|
||||
<!-- Druid日志 -->
|
||||
<Logger name="com.alibaba.druid" level="INFO" additivity="false">
|
||||
<AppenderRef ref="AsyncInfoFile"/>
|
||||
|
||||
<!-- 项目包日志配置 - System模块 -->
|
||||
<Logger name="org.xyzh.system" level="debug" additivity="false">
|
||||
<AppenderRef ref="Console"/>
|
||||
<AppenderRef ref="Filelog"/>
|
||||
<AppenderRef ref="RollingFileInfo"/>
|
||||
<AppenderRef ref="RollingFileWarn"/>
|
||||
<AppenderRef ref="RollingFileError"/>
|
||||
</Logger>
|
||||
|
||||
<!-- Spring框架日志 -->
|
||||
<Logger name="org.springframework" level="INFO" additivity="false">
|
||||
<AppenderRef ref="AsyncInfoFile"/>
|
||||
|
||||
<!-- 项目包日志配置 - News模块 -->
|
||||
<Logger name="org.xyzh.news" level="debug" additivity="false">
|
||||
<AppenderRef ref="Console"/>
|
||||
<AppenderRef ref="Filelog"/>
|
||||
<AppenderRef ref="RollingFileInfo"/>
|
||||
<AppenderRef ref="RollingFileWarn"/>
|
||||
<AppenderRef ref="RollingFileError"/>
|
||||
</Logger>
|
||||
|
||||
<!-- 系统模块日志 -->
|
||||
<Logger name="org.xyzh.system" level="DEBUG" additivity="false">
|
||||
<AppenderRef ref="AsyncDebugFile"/>
|
||||
<AppenderRef ref="AsyncInfoFile"/>
|
||||
<AppenderRef ref="AsyncWarnFile"/>
|
||||
<AppenderRef ref="AsyncErrorFile"/>
|
||||
<AppenderRef ref="AsyncConsole"/>
|
||||
|
||||
<!-- 项目包日志配置 - Common模块 -->
|
||||
<Logger name="org.xyzh.common" level="debug" additivity="false">
|
||||
<AppenderRef ref="Console"/>
|
||||
<AppenderRef ref="Filelog"/>
|
||||
<AppenderRef ref="RollingFileInfo"/>
|
||||
<AppenderRef ref="RollingFileWarn"/>
|
||||
<AppenderRef ref="RollingFileError"/>
|
||||
</Logger>
|
||||
|
||||
<!-- 根记录器 -->
|
||||
<Root level="INFO">
|
||||
<AppenderRef ref="AsyncInfoFile"/>
|
||||
<AppenderRef ref="AsyncWarnFile"/>
|
||||
<AppenderRef ref="AsyncErrorFile"/>
|
||||
<AppenderRef ref="AsyncConsole"/>
|
||||
</Root>
|
||||
|
||||
</Loggers>
|
||||
|
||||
</Configuration>
|
||||
|
||||
<root level="info">
|
||||
<appender-ref ref="Console"/>
|
||||
<appender-ref ref="Filelog"/>
|
||||
<appender-ref ref="RollingFileInfo"/>
|
||||
<appender-ref ref="RollingFileWarn"/>
|
||||
<appender-ref ref="RollingFileError"/>
|
||||
</root>
|
||||
</loggers>
|
||||
|
||||
</configuration>
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<resultMap id="BaseResultMap" type="org.xyzh.common.dto.menu.TbSysMenu">
|
||||
<id column="id" property="id" jdbcType="VARCHAR"/>
|
||||
<result column="menu_id" property="menuID" jdbcType="VARCHAR"/>
|
||||
<result column="name" property="menuName" jdbcType="VARCHAR"/>
|
||||
<result column="name" property="name" jdbcType="VARCHAR"/>
|
||||
<result column="parent_id" property="parentID" jdbcType="VARCHAR"/>
|
||||
<result column="url" property="path" jdbcType="VARCHAR"/>
|
||||
<result column="url" property="url" jdbcType="VARCHAR"/>
|
||||
<result column="icon" property="icon" jdbcType="VARCHAR"/>
|
||||
<result column="order_num" property="sort" jdbcType="INTEGER"/>
|
||||
<result column="type" property="menuType" jdbcType="INTEGER"/>
|
||||
<result column="order_num" property="orderNum" jdbcType="INTEGER"/>
|
||||
<result column="type" property="type" jdbcType="INTEGER"/>
|
||||
<result column="creator" property="creator" jdbcType="VARCHAR"/>
|
||||
<result column="updater" property="updater" jdbcType="VARCHAR"/>
|
||||
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
|
||||
@@ -22,25 +22,19 @@
|
||||
|
||||
<!-- 基础字段 -->
|
||||
<sql id="Base_Column_List">
|
||||
id, menu_id, name, parent_id, url, icon, order_num, type,
|
||||
creator, updater, create_time, update_time, delete_time, deleted
|
||||
m.id, m.menu_id, m.name, m.parent_id, m.url, m.icon, m.order_num, m.type,
|
||||
m.creator, m.updater, m.create_time, m.update_time, m.delete_time, m.deleted
|
||||
</sql>
|
||||
|
||||
<!-- 通用条件 -->
|
||||
<sql id="Where_Clause">
|
||||
<where>
|
||||
deleted = 0
|
||||
<if test="menuName != null and menuName != ''">
|
||||
AND menu_name LIKE CONCAT('%', #{menuName}, '%')
|
||||
<if test="name != null and name != ''">
|
||||
AND name LIKE CONCAT('%', #{name}, '%')
|
||||
</if>
|
||||
<if test="menuType != null">
|
||||
AND menu_type = #{menuType}
|
||||
</if>
|
||||
<if test="status != null">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
<if test="visible != null">
|
||||
AND visible = #{visible}
|
||||
<if test="type != null">
|
||||
AND type = #{type}
|
||||
</if>
|
||||
</where>
|
||||
</sql>
|
||||
@@ -48,81 +42,74 @@
|
||||
<!-- 根据用户ID查询菜单列表 -->
|
||||
<select id="selectMenusByUserId" resultMap="BaseResultMap">
|
||||
SELECT DISTINCT
|
||||
m.id, m.menu_id, m.parent_id, m.menu_name, m.menu_type,
|
||||
m.path, m.component, m.permission, m.icon, m.sort,
|
||||
m.visible, m.status, m.external_link, m.cache, m.frame,
|
||||
m.query, m.remark, m.creator, m.updater,
|
||||
m.create_time, m.update_time, m.delete_time, m.deleted
|
||||
FROM tb_sys_menu m
|
||||
INNER JOIN tb_sys_role_menu rm ON m.menu_id = rm.menu_id
|
||||
INNER JOIN tb_sys_user_role ur ON rm.role_id = ur.role_id
|
||||
<include refid="Base_Column_List"/>
|
||||
FROM tb_sys_user_dept_role ur
|
||||
INNER JOIN tb_sys_role_permission rp ON rp.role_id = ur.role_id
|
||||
INNER JOIN tb_sys_menu_permission mp ON mp.permission_id = rp.permission_id
|
||||
INNER JOIN tb_sys_menu m ON m.menu_id = mp.menu_id
|
||||
WHERE m.deleted = 0
|
||||
AND rm.deleted = 0
|
||||
AND rp.deleted = 0
|
||||
AND mp.deleted = 0
|
||||
AND ur.deleted = 0
|
||||
AND ur.user_id = #{userId}
|
||||
AND m.status = 1
|
||||
AND m.visible = 1
|
||||
ORDER BY m.sort ASC, m.create_time ASC
|
||||
ORDER BY m.create_time ASC
|
||||
</select>
|
||||
|
||||
<!-- 根据角色ID查询菜单列表 -->
|
||||
<select id="selectMenusByRoleId" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
m.id, m.menu_id, m.parent_id, m.menu_name, m.menu_type,
|
||||
m.path, m.component, m.permission, m.icon, m.sort,
|
||||
m.visible, m.status, m.external_link, m.cache, m.frame,
|
||||
m.query, m.remark, m.creator, m.updater,
|
||||
m.create_time, m.update_time, m.delete_time, m.deleted
|
||||
FROM tb_sys_menu m
|
||||
INNER JOIN tb_sys_role_menu rm ON m.menu_id = rm.menu_id
|
||||
<include refid="Base_Column_List"/>
|
||||
FROM tb_sys_role_permission rp
|
||||
INNER JOIN tb_sys_menu_permission mp ON mp.permission_id = rp.permission_id
|
||||
INNER JOIN tb_sys_menu m ON m.menu_id = mp.menu_id
|
||||
WHERE m.deleted = 0
|
||||
AND rm.deleted = 0
|
||||
AND rm.role_id = #{roleId}
|
||||
ORDER BY m.sort ASC, m.create_time ASC
|
||||
AND mp.deleted = 0
|
||||
AND rp.deleted = 0
|
||||
AND rp.role_id = #{roleId}
|
||||
ORDER BY m.create_time ASC
|
||||
</select>
|
||||
|
||||
<!-- 根据父菜单ID查询子菜单列表 -->
|
||||
<select id="selectByParentId" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
<include refid="Base_Column_List"/>
|
||||
FROM tb_sys_menu
|
||||
WHERE deleted = 0
|
||||
FROM tb_sys_menu m
|
||||
WHERE m.deleted = 0
|
||||
AND parent_id = #{parentId}
|
||||
ORDER BY sort ASC, create_time ASC
|
||||
ORDER BY create_time ASC
|
||||
</select>
|
||||
|
||||
<!-- 查询菜单树结构 -->
|
||||
<select id="selectMenuTree" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
<include refid="Base_Column_List"/>
|
||||
FROM tb_sys_menu
|
||||
WHERE deleted = 0
|
||||
FROM tb_sys_menu m
|
||||
WHERE m.deleted = 0
|
||||
ORDER BY
|
||||
CASE WHEN parent_id IS NULL OR parent_id = '' THEN 0 ELSE 1 END,
|
||||
parent_id,
|
||||
sort ASC,
|
||||
create_time ASC
|
||||
</select>
|
||||
|
||||
<!-- 检查菜单名称是否存在 -->
|
||||
<select id="countByMenuName" resultType="int">
|
||||
SELECT COUNT(1)
|
||||
FROM tb_sys_menu
|
||||
FROM tb_sys_menu m
|
||||
WHERE deleted = 0
|
||||
AND menu_name = #{menuName}
|
||||
AND m.name = #{name}
|
||||
<if test="excludeId != null and excludeId != ''">
|
||||
AND id != #{excludeId}
|
||||
AND m.id != #{excludeId}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 批量删除菜单(逻辑删除) -->
|
||||
<update id="batchDeleteByIds">
|
||||
UPDATE tb_sys_menu
|
||||
UPDATE tb_sys_menu m
|
||||
SET deleted = 1,
|
||||
delete_time = NOW(),
|
||||
updater = #{updater}
|
||||
WHERE deleted = 0
|
||||
AND id IN
|
||||
WHERE m.deleted = 0
|
||||
AND m.id IN
|
||||
<foreach collection="menuIds" item="menuId" open="(" separator="," close=")">
|
||||
#{menuId}
|
||||
</foreach>
|
||||
@@ -135,20 +122,10 @@
|
||||
<if test="id != null">id,</if>
|
||||
<if test="menuID != null">menu_id,</if>
|
||||
<if test="parentID != null">parent_id,</if>
|
||||
<if test="menuName != null">menu_name,</if>
|
||||
<if test="menuType != null">menu_type,</if>
|
||||
<if test="path != null">path,</if>
|
||||
<if test="component != null">component,</if>
|
||||
<if test="permission != null">permission,</if>
|
||||
<if test="name != null">name,</if>
|
||||
<if test="type != null">type,</if>
|
||||
<if test="url != null">url,</if>
|
||||
<if test="icon != null">icon,</if>
|
||||
<if test="sort != null">sort,</if>
|
||||
<if test="visible != null">visible,</if>
|
||||
<if test="status != null">status,</if>
|
||||
<if test="externalLink != null">external_link,</if>
|
||||
<if test="cache != null">cache,</if>
|
||||
<if test="frame != null">frame,</if>
|
||||
<if test="query != null">query,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
<if test="creator != null">creator,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
deleted
|
||||
@@ -157,20 +134,10 @@
|
||||
<if test="id != null">#{id},</if>
|
||||
<if test="menuID != null">#{menuID},</if>
|
||||
<if test="parentID != null">#{parentID},</if>
|
||||
<if test="menuName != null">#{menuName},</if>
|
||||
<if test="menuType != null">#{menuType},</if>
|
||||
<if test="path != null">#{path},</if>
|
||||
<if test="component != null">#{component},</if>
|
||||
<if test="permission != null">#{permission},</if>
|
||||
<if test="name != null">#{name},</if>
|
||||
<if test="type != null">#{type},</if>
|
||||
<if test="url != null">#{url},</if>
|
||||
<if test="icon != null">#{icon},</if>
|
||||
<if test="sort != null">#{sort},</if>
|
||||
<if test="visible != null">#{visible},</if>
|
||||
<if test="status != null">#{status},</if>
|
||||
<if test="externalLink != null">#{externalLink},</if>
|
||||
<if test="cache != null">#{cache},</if>
|
||||
<if test="frame != null">#{frame},</if>
|
||||
<if test="query != null">#{query},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
<if test="creator != null">#{creator},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
0
|
||||
@@ -183,20 +150,10 @@
|
||||
<set>
|
||||
<if test="menuID != null">menu_id = #{menuID},</if>
|
||||
<if test="parentID != null">parent_id = #{parentID},</if>
|
||||
<if test="menuName != null">menu_name = #{menuName},</if>
|
||||
<if test="menuType != null">menu_type = #{menuType},</if>
|
||||
<if test="path != null">path = #{path},</if>
|
||||
<if test="component != null">component = #{component},</if>
|
||||
<if test="permission != null">permission = #{permission},</if>
|
||||
<if test="name != null">name = #{name},</if>
|
||||
<if test="type != null">type = #{type},</if>
|
||||
<if test="url != null">url = #{url},</if>
|
||||
<if test="icon != null">icon = #{icon},</if>
|
||||
<if test="sort != null">sort = #{sort},</if>
|
||||
<if test="visible != null">visible = #{visible},</if>
|
||||
<if test="status != null">status = #{status},</if>
|
||||
<if test="externalLink != null">external_link = #{externalLink},</if>
|
||||
<if test="cache != null">cache = #{cache},</if>
|
||||
<if test="frame != null">frame = #{frame},</if>
|
||||
<if test="query != null">query = #{query},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="updater != null">updater = #{updater},</if>
|
||||
update_time = NOW()
|
||||
</set>
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
<resultMap id="BaseResultMap" type="org.xyzh.common.dto.permission.TbSysPermission">
|
||||
<id column="id" property="id" jdbcType="VARCHAR"/>
|
||||
<result column="permission_id" property="permissionID" jdbcType="VARCHAR"/>
|
||||
<result column="name" property="permissionName" jdbcType="VARCHAR"/>
|
||||
<result column="code" property="permissionCode" jdbcType="VARCHAR"/>
|
||||
<result column="name" property="name" jdbcType="VARCHAR"/>
|
||||
<result column="code" property="code" jdbcType="VARCHAR"/>
|
||||
<result column="description" property="description" jdbcType="VARCHAR"/>
|
||||
<result column="creator" property="creator" jdbcType="VARCHAR"/>
|
||||
<result column="updater" property="updater" jdbcType="VARCHAR"/>
|
||||
@@ -27,11 +27,11 @@
|
||||
<sql id="Where_Clause">
|
||||
<where>
|
||||
deleted = 0
|
||||
<if test="permissionName != null and permissionName != ''">
|
||||
AND permission_name LIKE CONCAT('%', #{permissionName}, '%')
|
||||
<if test="name != null and name != ''">
|
||||
AND name LIKE CONCAT('%', #{name}, '%')
|
||||
</if>
|
||||
<if test="permissionCode != null and permissionCode != ''">
|
||||
AND permission_code = #{permissionCode}
|
||||
<if test="code != null and code != ''">
|
||||
AND code = #{code}
|
||||
</if>
|
||||
<if test="permissionType != null">
|
||||
AND permission_type = #{permissionType}
|
||||
@@ -45,63 +45,60 @@
|
||||
<!-- 根据用户ID查询权限列表 -->
|
||||
<select id="selectPermissionsByUserId" resultMap="BaseResultMap">
|
||||
SELECT DISTINCT
|
||||
p.id, p.permission_id, p.permission_name, p.permission_code,
|
||||
p.permission_type, p.resource_url, p.http_method, p.description,
|
||||
p.status, p.sort, p.creator, p.updater,
|
||||
p.id, p.permission_id, p.name, p.code, p.description,
|
||||
p.creator, p.updater,
|
||||
p.create_time, p.update_time, p.delete_time, p.deleted
|
||||
FROM tb_sys_permission p
|
||||
INNER JOIN tb_sys_role_permission rp ON p.permission_id = rp.permission_id
|
||||
INNER JOIN tb_sys_user_role ur ON rp.role_id = ur.role_id
|
||||
FROM tb_sys_user_dept_role ur
|
||||
INNER JOIN tb_sys_role_permission rp ON rp.role_id = ur.role_id
|
||||
INNER JOIN tb_sys_permission p ON p.permission_id = rp.permission_id
|
||||
WHERE p.deleted = 0
|
||||
AND rp.deleted = 0
|
||||
AND ur.deleted = 0
|
||||
AND ur.user_id = #{userID}
|
||||
AND p.status = 1
|
||||
ORDER BY p.sort ASC, p.create_time ASC
|
||||
AND ur.user_id = #{userId}
|
||||
ORDER BY p.create_time ASC
|
||||
</select>
|
||||
|
||||
<!-- 根据角色ID查询权限列表 -->
|
||||
<select id="selectPermissionsByRoleId" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
p.id, p.permission_id, p.permission_name, p.permission_code,
|
||||
p.permission_type, p.resource_url, p.http_method, p.description,
|
||||
p.status, p.sort, p.creator, p.updater,
|
||||
p.id, p.permission_id, p.name, p.code, p.description,
|
||||
p.creator, p.updater,
|
||||
p.create_time, p.update_time, p.delete_time, p.deleted
|
||||
FROM tb_sys_permission p
|
||||
INNER JOIN tb_sys_role_permission rp ON p.permission_id = rp.permission_id
|
||||
FROM tb_sys_role_permission rp
|
||||
INNER JOIN tb_sys_permission p ON p.permission_id = rp.permission_id
|
||||
WHERE p.deleted = 0
|
||||
AND rp.deleted = 0
|
||||
AND rp.role_id = #{roleId}
|
||||
ORDER BY p.sort ASC, p.create_time ASC
|
||||
ORDER BY p.create_time ASC
|
||||
</select>
|
||||
|
||||
<!-- 根据权限编码查询权限 -->
|
||||
<select id="selectByPermissionCode" resultMap="BaseResultMap">
|
||||
<select id="selectBycode" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
<include refid="Base_Column_List"/>
|
||||
FROM tb_sys_permission
|
||||
WHERE deleted = 0
|
||||
AND permission_code = #{permissionCode}
|
||||
AND code = #{code}
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<!-- 检查权限名称是否存在 -->
|
||||
<select id="countByPermissionName" resultType="int">
|
||||
<select id="countByname" resultType="int">
|
||||
SELECT COUNT(1)
|
||||
FROM tb_sys_permission
|
||||
WHERE deleted = 0
|
||||
AND permission_name = #{permissionName}
|
||||
AND name = #{name}
|
||||
<if test="excludeId != null and excludeId != ''">
|
||||
AND id != #{excludeId}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 检查权限编码是否存在 -->
|
||||
<select id="countByPermissionCode" resultType="int">
|
||||
<select id="countBycode" resultType="int">
|
||||
SELECT COUNT(1)
|
||||
FROM tb_sys_permission
|
||||
WHERE deleted = 0
|
||||
AND permission_code = #{permissionCode}
|
||||
AND code = #{code}
|
||||
<if test="excludeId != null and excludeId != ''">
|
||||
AND id != #{excludeId}
|
||||
</if>
|
||||
@@ -126,14 +123,13 @@
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">id,</if>
|
||||
<if test="permissionID != null">permission_id,</if>
|
||||
<if test="permissionName != null">permission_name,</if>
|
||||
<if test="permissionCode != null">permission_code,</if>
|
||||
<if test="name != null">name,</if>
|
||||
<if test="code != null">code,</if>
|
||||
<if test="permissionType != null">permission_type,</if>
|
||||
<if test="resourceUrl != null">resource_url,</if>
|
||||
<if test="httpMethod != null">http_method,</if>
|
||||
<if test="description != null">description,</if>
|
||||
<if test="status != null">status,</if>
|
||||
<if test="sort != null">sort,</if>
|
||||
<if test="creator != null">creator,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
deleted
|
||||
@@ -141,14 +137,13 @@
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">#{id},</if>
|
||||
<if test="permissionID != null">#{permissionID},</if>
|
||||
<if test="permissionName != null">#{permissionName},</if>
|
||||
<if test="permissionCode != null">#{permissionCode},</if>
|
||||
<if test="name != null">#{name},</if>
|
||||
<if test="code != null">#{code},</if>
|
||||
<if test="permissionType != null">#{permissionType},</if>
|
||||
<if test="resourceUrl != null">#{resourceUrl},</if>
|
||||
<if test="httpMethod != null">#{httpMethod},</if>
|
||||
<if test="description != null">#{description},</if>
|
||||
<if test="status != null">#{status},</if>
|
||||
<if test="sort != null">#{sort},</if>
|
||||
<if test="creator != null">#{creator},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
0
|
||||
@@ -160,14 +155,13 @@
|
||||
UPDATE tb_sys_permission
|
||||
<set>
|
||||
<if test="permissionID != null">permission_id = #{permissionID},</if>
|
||||
<if test="permissionName != null">permission_name = #{permissionName},</if>
|
||||
<if test="permissionCode != null">permission_code = #{permissionCode},</if>
|
||||
<if test="name != null">name = #{name},</if>
|
||||
<if test="code != null">code = #{code},</if>
|
||||
<if test="permissionType != null">permission_type = #{permissionType},</if>
|
||||
<if test="resourceUrl != null">resource_url = #{resourceUrl},</if>
|
||||
<if test="httpMethod != null">http_method = #{httpMethod},</if>
|
||||
<if test="description != null">description = #{description},</if>
|
||||
<if test="status != null">status = #{status},</if>
|
||||
<if test="sort != null">sort = #{sort},</if>
|
||||
<if test="updater != null">updater = #{updater},</if>
|
||||
update_time = NOW()
|
||||
</set>
|
||||
|
||||
@@ -3,10 +3,11 @@
|
||||
<mapper namespace="org.xyzh.system.mapper.RoleMapper">
|
||||
|
||||
<!-- 基础结果映射 -->
|
||||
<resultMap id="BaseResultMap" type="org.xyzh.common.dto.role.TbSysRole">
|
||||
<resultMap id="tbSysRoleResultMap" type="org.xyzh.common.dto.role.TbSysRole">
|
||||
<id column="id" property="id" jdbcType="VARCHAR"/>
|
||||
<result column="dept_id" property="deptID" jdbcType="VARCHAR"/>
|
||||
<result column="role_id" property="roleID" jdbcType="VARCHAR"/>
|
||||
<result column="name" property="roleName" jdbcType="VARCHAR"/>
|
||||
<result column="name" property="name" jdbcType="VARCHAR"/>
|
||||
<result column="description" property="description" jdbcType="VARCHAR"/>
|
||||
<result column="creator" property="creator" jdbcType="VARCHAR"/>
|
||||
<result column="updater" property="updater" jdbcType="VARCHAR"/>
|
||||
@@ -16,11 +17,42 @@
|
||||
<result column="deleted" property="deleted" jdbcType="BOOLEAN"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="deptRoleVOResultMap" type="org.xyzh.common.vo.DeptRoleVO">
|
||||
<result column="dept_id" property="dept.deptID" jdbcType="VARCHAR"/>
|
||||
<result column="dept_name" property="dept.name" jdbcType="VARCHAR"/>
|
||||
<result column="dept_description" property="dept.description" jdbcType="VARCHAR"/>
|
||||
<result column="dept_creator" property="dept.creator" jdbcType="VARCHAR"/>
|
||||
<result column="dept_updater" property="dept.updater" jdbcType="VARCHAR"/>
|
||||
<result column="dept_create_time" property="dept.createTime" jdbcType="TIMESTAMP"/>
|
||||
<result column="dept_update_time" property="dept.updateTime" jdbcType="TIMESTAMP"/>
|
||||
<result column="dept_delete_time" property="dept.deleteTime" jdbcType="TIMESTAMP"/>
|
||||
<result column="dept_deleted" property="dept.deleted" jdbcType="BOOLEAN"/>
|
||||
<result column="role_id" property="role.roleID" jdbcType="VARCHAR"/>
|
||||
<result column="role_name" property="role.name" jdbcType="VARCHAR"/>
|
||||
<result column="role_description" property="role.description" jdbcType="VARCHAR"/>
|
||||
<result column="role_creator" property="role.creator" jdbcType="VARCHAR"/>
|
||||
<result column="role_updater" property="role.updater" jdbcType="VARCHAR"/>
|
||||
<result column="role_create_time" property="role.createTime" jdbcType="TIMESTAMP"/>
|
||||
<result column="role_update_time" property="role.updateTime" jdbcType="TIMESTAMP"/>
|
||||
<result column="role_delete_time" property="role.deleteTime" jdbcType="TIMESTAMP"/>
|
||||
<result column="role_deleted" property="role.deleted" jdbcType="BOOLEAN"/>
|
||||
</resultMap>
|
||||
<!-- 基础字段 -->
|
||||
<sql id="Base_Column_List">
|
||||
id, role_id, name, description, creator, updater,
|
||||
<sql id="TbSysRole_Column_List">
|
||||
id, dept_id, role_id, name, description, creator, updater,
|
||||
create_time, update_time, delete_time, deleted
|
||||
</sql>
|
||||
<sql id="TbSysDeptRole_Column_List">
|
||||
dr.id, dr.dept_id, dr.role_id,
|
||||
r.name as role_name, d.name as dept_name,
|
||||
r.description as role_description, d.description as dept_description,
|
||||
r.creator as role_creator, d.creator as dept_creator,
|
||||
r.updater as role_updater, d.updater as dept_updater,
|
||||
r.create_time as role_create_time, d.create_time as dept_create_time,
|
||||
r.update_time as role_update_time, d.update_time as dept_update_time,
|
||||
r.delete_time as role_delete_time, d.delete_time as dept_delete_time,
|
||||
r.deleted as role_deleted, d.deleted as dept_deleted
|
||||
</sql>
|
||||
|
||||
<!-- 通用条件 -->
|
||||
<sql id="Where_Clause">
|
||||
@@ -39,23 +71,21 @@
|
||||
</sql>
|
||||
|
||||
<!-- 根据用户ID查询角色列表 -->
|
||||
<select id="selectRolesByUserId" resultMap="BaseResultMap">
|
||||
<select id="selectDeptRolesByUserId" resultMap="deptRoleVOResultMap">
|
||||
SELECT
|
||||
r.id, r.role_id, r.role_name, r.role_code, r.description,
|
||||
r.status, r.sort, r.creator, r.updater,
|
||||
r.create_time, r.update_time, r.delete_time, r.deleted
|
||||
FROM tb_sys_role r
|
||||
INNER JOIN tb_sys_user_role ur ON r.role_id = ur.role_id
|
||||
WHERE r.deleted = 0
|
||||
AND ur.deleted = 0
|
||||
AND ur.user_id = #{userID}
|
||||
ORDER BY r.sort ASC, r.create_time ASC
|
||||
<include refid="TbSysDeptRole_Column_List"/>
|
||||
FROM tb_sys_user_dept_role dr
|
||||
INNER JOIN tb_sys_role r ON r.role_id = dr.role_id
|
||||
INNER JOIN tb_sys_dept d ON d.dept_id = dr.dept_id
|
||||
WHERE dr.deleted = 0
|
||||
AND dr.user_id = #{userId}
|
||||
ORDER BY dr.create_time ASC
|
||||
</select>
|
||||
|
||||
<!-- 根据角色编码查询角色 -->
|
||||
<select id="selectByRoleCode" resultMap="BaseResultMap">
|
||||
<select id="selectByRoleCode" resultMap="tbSysRoleResultMap">
|
||||
SELECT
|
||||
<include refid="Base_Column_List"/>
|
||||
<include refid="TbSysRole_Column_List"/>
|
||||
FROM tb_sys_role
|
||||
WHERE deleted = 0
|
||||
AND role_code = #{roleCode}
|
||||
@@ -107,7 +137,6 @@
|
||||
<if test="roleCode != null">role_code,</if>
|
||||
<if test="description != null">description,</if>
|
||||
<if test="status != null">status,</if>
|
||||
<if test="sort != null">sort,</if>
|
||||
<if test="creator != null">creator,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
deleted
|
||||
@@ -119,7 +148,6 @@
|
||||
<if test="roleCode != null">#{roleCode},</if>
|
||||
<if test="description != null">#{description},</if>
|
||||
<if test="status != null">#{status},</if>
|
||||
<if test="sort != null">#{sort},</if>
|
||||
<if test="creator != null">#{creator},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
0
|
||||
@@ -135,7 +163,6 @@
|
||||
<if test="roleCode != null">role_code = #{roleCode},</if>
|
||||
<if test="description != null">description = #{description},</if>
|
||||
<if test="status != null">status = #{status},</if>
|
||||
<if test="sort != null">sort = #{sort},</if>
|
||||
<if test="updater != null">updater = #{updater},</if>
|
||||
update_time = NOW()
|
||||
</set>
|
||||
|
||||
@@ -17,12 +17,38 @@
|
||||
<result column="status" property="status" jdbcType="INTEGER"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="UserInfoResultMap" type="org.xyzh.common.dto.user.TbSysUserInfo">
|
||||
<id column="id" property="id" jdbcType="VARCHAR"/>
|
||||
<result column="user_id" property="userID" jdbcType="VARCHAR"/>
|
||||
<result column="avatar" property="avatar" jdbcType="VARCHAR"/>
|
||||
<result column="gender" property="gender" jdbcType="INTEGER"/>
|
||||
<result column="family_name" property="familyName" jdbcType="VARCHAR"/>
|
||||
<result column="given_name" property="givenName" jdbcType="VARCHAR"/>
|
||||
<result column="full_name" property="fullName" jdbcType="VARCHAR"/>
|
||||
<result column="id_card" property="idCard" jdbcType="VARCHAR"/>
|
||||
<result column="address" property="address" jdbcType="VARCHAR"/>
|
||||
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
|
||||
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
|
||||
<result column="delete_time" property="deleteTime" jdbcType="TIMESTAMP"/>
|
||||
<result column="deleted" property="deleted" jdbcType="INTEGER"/>
|
||||
</resultMap>
|
||||
<!-- 基础字段 -->
|
||||
<sql id="Base_Column_List">
|
||||
id, username, password, email, phone, wechat_id,
|
||||
create_time, update_time, delete_time, deleted, status
|
||||
</sql>
|
||||
|
||||
<sql id="FullUser_Column_List">
|
||||
id, user_id, avatar, gender, family_name, given_name, full_name, id_card, address,
|
||||
create_time, update_time, delete_time, deleted, status
|
||||
</sql>
|
||||
|
||||
<!-- 用户信息字段 -->
|
||||
<sql id="UserInfo_Column_List">
|
||||
id, user_id, avatar, gender, family_name, given_name, full_name, id_card, address,
|
||||
create_time, update_time, delete_time, deleted
|
||||
</sql>
|
||||
|
||||
<!-- 通用条件 -->
|
||||
<sql id="Where_Clause">
|
||||
<where>
|
||||
@@ -52,6 +78,16 @@
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<!-- 根据用户ID查询用户信息 -->
|
||||
<select id="selectUserInfoById" resultMap="UserInfoResultMap">
|
||||
SELECT
|
||||
<include refid="UserInfo_Column_List"/>
|
||||
FROM tb_sys_user_info
|
||||
WHERE deleted = 0
|
||||
AND user_id = #{userId}
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<!-- 根据邮箱查询用户 -->
|
||||
<select id="selectByEmail" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
|
||||
Reference in New Issue
Block a user