refactor: 项目目录结构优化
This commit is contained in:
@@ -4,7 +4,7 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import com.youlai.system.common.annotation.PreventDuplicateSubmit;
|
import com.youlai.system.common.annotation.PreventDuplicateSubmit;
|
||||||
import com.youlai.system.common.result.ResultCode;
|
import com.youlai.system.common.result.ResultCode;
|
||||||
import com.youlai.system.common.exception.BusinessException;
|
import com.youlai.system.common.exception.BusinessException;
|
||||||
import com.youlai.system.security.jwt.JwtTokenProvider;
|
import com.youlai.system.core.security.jwt.JwtTokenProvider;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.youlai.system.common.util;
|
package com.youlai.system.common.util;
|
||||||
|
|
||||||
import com.alibaba.excel.EasyExcel;
|
import com.alibaba.excel.EasyExcel;
|
||||||
import com.youlai.system.listener.easyexcel.MyAnalysisEventListener;
|
import com.youlai.system.plugin.easyexcel.MyAnalysisEventListener;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
|||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.youlai.system.common.constant.SystemConstants;
|
import com.youlai.system.common.constant.SystemConstants;
|
||||||
import com.youlai.system.security.model.SysUserDetails;
|
import com.youlai.system.core.security.model.SysUserDetails;
|
||||||
import org.springframework.security.core.Authentication;
|
import org.springframework.security.core.Authentication;
|
||||||
import org.springframework.security.core.GrantedAuthority;
|
import org.springframework.security.core.GrantedAuthority;
|
||||||
import org.springframework.security.core.context.SecurityContextHolder;
|
import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import com.youlai.system.common.result.PageResult;
|
|||||||
import com.youlai.system.common.result.Result;
|
import com.youlai.system.common.result.Result;
|
||||||
import com.youlai.system.common.util.ExcelUtils;
|
import com.youlai.system.common.util.ExcelUtils;
|
||||||
import com.youlai.system.common.annotation.PreventDuplicateSubmit;
|
import com.youlai.system.common.annotation.PreventDuplicateSubmit;
|
||||||
import com.youlai.system.listener.easyexcel.UserImportListener;
|
import com.youlai.system.plugin.easyexcel.UserImportListener;
|
||||||
import com.youlai.system.model.vo.UserImportVO;
|
import com.youlai.system.model.vo.UserImportVO;
|
||||||
import com.youlai.system.model.form.UserForm;
|
import com.youlai.system.model.form.UserForm;
|
||||||
import com.youlai.system.model.entity.SysUser;
|
import com.youlai.system.model.entity.SysUser;
|
||||||
@@ -19,7 +19,6 @@ import com.youlai.system.model.vo.UserInfoVO;
|
|||||||
import com.youlai.system.model.vo.UserPageVO;
|
import com.youlai.system.model.vo.UserPageVO;
|
||||||
import com.youlai.system.service.SysUserService;
|
import com.youlai.system.service.SysUserService;
|
||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
|
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
package com.youlai.system.config;
|
package com.youlai.system.core.mybatisplus.config;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.DbType;
|
import com.baomidou.mybatisplus.annotation.DbType;
|
||||||
import com.baomidou.mybatisplus.core.config.GlobalConfig;
|
import com.baomidou.mybatisplus.core.config.GlobalConfig;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor;
|
import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
||||||
import com.youlai.system.handler.mybatisplus.MyDataPermissionHandler;
|
import com.youlai.system.core.mybatisplus.handler.MyDataPermissionHandler;
|
||||||
import com.youlai.system.handler.mybatisplus.MyMetaObjectHandler;
|
import com.youlai.system.core.mybatisplus.handler.MyMetaObjectHandler;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.system.handler.mybatisplus;
|
package com.youlai.system.core.mybatisplus.handler;
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.system.handler.mybatisplus;
|
package com.youlai.system.core.mybatisplus.handler;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
||||||
import org.apache.ibatis.reflection.MetaObject;
|
import org.apache.ibatis.reflection.MetaObject;
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
package com.youlai.system.config;
|
package com.youlai.system.core.security.config;
|
||||||
|
|
||||||
import com.youlai.system.common.constant.SecurityConstants;
|
import com.youlai.system.common.constant.SecurityConstants;
|
||||||
import com.youlai.system.security.exception.MyAccessDeniedHandler;
|
import com.youlai.system.core.security.exception.MyAccessDeniedHandler;
|
||||||
import com.youlai.system.security.exception.MyAuthenticationEntryPoint;
|
import com.youlai.system.core.security.exception.MyAuthenticationEntryPoint;
|
||||||
import com.youlai.system.security.jwt.JwtTokenFilter;
|
import com.youlai.system.core.security.jwt.JwtTokenFilter;
|
||||||
import com.youlai.system.filter.VerifyCodeFilter;
|
import com.youlai.system.filter.VerifyCodeFilter;
|
||||||
import com.youlai.system.security.jwt.JwtTokenProvider;
|
import com.youlai.system.core.security.jwt.JwtTokenProvider;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@@ -56,7 +56,7 @@ public class SecurityConfig {
|
|||||||
;
|
;
|
||||||
|
|
||||||
// 验证码校验过滤器
|
// 验证码校验过滤器
|
||||||
http.addFilterBefore(new VerifyCodeFilter(),UsernamePasswordAuthenticationFilter.class);
|
http.addFilterBefore(new VerifyCodeFilter(), UsernamePasswordAuthenticationFilter.class);
|
||||||
// JWT 校验过滤器
|
// JWT 校验过滤器
|
||||||
http.addFilterBefore(new JwtTokenFilter(jwtTokenProvider), UsernamePasswordAuthenticationFilter.class);
|
http.addFilterBefore(new JwtTokenFilter(jwtTokenProvider), UsernamePasswordAuthenticationFilter.class);
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ public class SecurityConfig {
|
|||||||
"/doc.html",
|
"/doc.html",
|
||||||
"/swagger-resources/**",
|
"/swagger-resources/**",
|
||||||
"/v3/api-docs/**",
|
"/v3/api-docs/**",
|
||||||
"/swagger-ui/**",
|
"/swagger-ui.html",
|
||||||
"/ws/**"
|
"/ws/**"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -89,11 +89,9 @@ public class SecurityConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 无法直接注入 AuthenticationManager
|
* AuthenticationManager 手动注入
|
||||||
*
|
*
|
||||||
* @param authenticationConfiguration
|
* @param authenticationConfiguration 认证配置
|
||||||
* @return
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception {
|
public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception {
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.system.security.exception;
|
package com.youlai.system.core.security.exception;
|
||||||
|
|
||||||
import com.youlai.system.common.result.ResultCode;
|
import com.youlai.system.common.result.ResultCode;
|
||||||
import com.youlai.system.common.util.ResponseUtils;
|
import com.youlai.system.common.util.ResponseUtils;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.system.security.exception;
|
package com.youlai.system.core.security.exception;
|
||||||
|
|
||||||
import com.youlai.system.common.result.ResultCode;
|
import com.youlai.system.common.result.ResultCode;
|
||||||
import com.youlai.system.common.util.ResponseUtils;
|
import com.youlai.system.common.util.ResponseUtils;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.system.security.jwt;
|
package com.youlai.system.core.security.jwt;
|
||||||
|
|
||||||
import com.youlai.system.common.result.ResultCode;
|
import com.youlai.system.common.result.ResultCode;
|
||||||
import com.youlai.system.common.util.ResponseUtils;
|
import com.youlai.system.common.util.ResponseUtils;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.youlai.system.security.jwt;
|
package com.youlai.system.core.security.jwt;
|
||||||
|
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import com.youlai.system.common.constant.SecurityConstants;
|
import com.youlai.system.common.constant.SecurityConstants;
|
||||||
import com.youlai.system.security.model.SysUserDetails;
|
import com.youlai.system.core.security.model.SysUserDetails;
|
||||||
import io.jsonwebtoken.Claims;
|
import io.jsonwebtoken.Claims;
|
||||||
import io.jsonwebtoken.Jwts;
|
import io.jsonwebtoken.Jwts;
|
||||||
import io.jsonwebtoken.SignatureAlgorithm;
|
import io.jsonwebtoken.SignatureAlgorithm;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.system.security.model;
|
package com.youlai.system.core.security.model;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.system.security.service;
|
package com.youlai.system.core.security.service;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.youlai.system.security.service;
|
package com.youlai.system.core.security.service;
|
||||||
|
|
||||||
|
import com.youlai.system.core.security.model.SysUserDetails;
|
||||||
import com.youlai.system.model.dto.UserAuthInfo;
|
import com.youlai.system.model.dto.UserAuthInfo;
|
||||||
import com.youlai.system.security.model.SysUserDetails;
|
|
||||||
import com.youlai.system.service.SysUserService;
|
import com.youlai.system.service.SysUserService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.security.core.userdetails.UserDetails;
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
package com.youlai.system.handler.xxljob;
|
|
||||||
|
|
||||||
import com.xxl.job.core.context.XxlJobHelper;
|
|
||||||
import com.xxl.job.core.handler.annotation.XxlJob;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
@Component
|
|
||||||
public class XxlJobSampleHandler {
|
|
||||||
@XxlJob("demoJobHandler")
|
|
||||||
public void demoJobHandler() throws Exception {
|
|
||||||
XxlJobHelper.log("XXL-JOB, Hello World.");
|
|
||||||
|
|
||||||
for (int i = 0; i < 5; i++) {
|
|
||||||
XxlJobHelper.log("beat at:" + i);
|
|
||||||
TimeUnit.SECONDS.sleep(2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.system.listener.easyexcel;
|
package com.youlai.system.plugin.easyexcel;
|
||||||
|
|
||||||
import com.alibaba.excel.event.AnalysisEventListener;
|
import com.alibaba.excel.event.AnalysisEventListener;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.system.listener.easyexcel;
|
package com.youlai.system.plugin.easyexcel;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.lang.Validator;
|
import cn.hutool.core.lang.Validator;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.system.listener.rabbitmq;
|
package com.youlai.system.plugin.rabbitmq;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author haoxr
|
* @author haoxr
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package com.youlai.system.plugin.websocket;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author haoxr
|
||||||
|
* @since 2023/11/7
|
||||||
|
*/
|
||||||
|
public class StompPrincipal {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.youlai.system.config;
|
package com.youlai.system.plugin.websocket;
|
||||||
|
|
||||||
import com.youlai.system.interceptor.WebsocketChannelInterceptor;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.system.listener.websocket;
|
package com.youlai.system.plugin.websocket;
|
||||||
|
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -9,6 +9,8 @@ import org.springframework.web.socket.messaging.SessionDisconnectEvent;
|
|||||||
import org.springframework.web.socket.messaging.SessionSubscribeEvent;
|
import org.springframework.web.socket.messaging.SessionSubscribeEvent;
|
||||||
import org.springframework.web.socket.messaging.SessionUnsubscribeEvent;
|
import org.springframework.web.socket.messaging.SessionUnsubscribeEvent;
|
||||||
|
|
||||||
|
import java.security.Principal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Websocket 客户端事件监听器
|
* Websocket 客户端事件监听器
|
||||||
*
|
*
|
||||||
@@ -26,6 +28,8 @@ public class WebSocketEventListener {
|
|||||||
*/
|
*/
|
||||||
@EventListener
|
@EventListener
|
||||||
public void handleWebSocketConnectListener(SessionConnectedEvent event) {
|
public void handleWebSocketConnectListener(SessionConnectedEvent event) {
|
||||||
|
Principal user = event.getUser();
|
||||||
|
|
||||||
log.info("客户端连接成功");
|
log.info("客户端连接成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.youlai.system.interceptor;
|
package com.youlai.system.plugin.websocket;
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.youlai.system.security.jwt.JwtTokenProvider;
|
import com.youlai.system.core.security.jwt.JwtTokenProvider;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.messaging.Message;
|
import org.springframework.messaging.Message;
|
||||||
import org.springframework.messaging.MessageChannel;
|
import org.springframework.messaging.MessageChannel;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.youlai.system.config;
|
package com.youlai.system.plugin.xxljob;
|
||||||
|
|
||||||
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
|
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package com.youlai.system.plugin.xxljob;
|
||||||
|
|
||||||
|
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xxl-job 测试示例(Bean模式)
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class XxlJobSampleHandler {
|
||||||
|
|
||||||
|
@XxlJob("demoJobHandler")
|
||||||
|
public void demoJobHandler() {
|
||||||
|
log.info("XXL-JOB, Hello World.");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -7,7 +7,7 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import com.youlai.system.common.constant.SecurityConstants;
|
import com.youlai.system.common.constant.SecurityConstants;
|
||||||
import com.youlai.system.model.dto.CaptchaResult;
|
import com.youlai.system.model.dto.CaptchaResult;
|
||||||
import com.youlai.system.model.dto.LoginResult;
|
import com.youlai.system.model.dto.LoginResult;
|
||||||
import com.youlai.system.security.jwt.JwtTokenProvider;
|
import com.youlai.system.core.security.jwt.JwtTokenProvider;
|
||||||
import com.youlai.system.service.AuthService;
|
import com.youlai.system.service.AuthService;
|
||||||
import io.jsonwebtoken.Claims;
|
import io.jsonwebtoken.Claims;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
|
|||||||
@@ -293,7 +293,4 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user