refactor: 项目目录结构优化

This commit is contained in:
haoxr
2023-11-07 23:34:22 +08:00
parent 791dc49a52
commit f93190e81d
27 changed files with 68 additions and 64 deletions

View File

@@ -4,7 +4,7 @@ import cn.hutool.core.util.StrUtil;
import com.youlai.system.common.annotation.PreventDuplicateSubmit;
import com.youlai.system.common.result.ResultCode;
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 lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

View File

@@ -1,7 +1,7 @@
package com.youlai.system.common.util;
import com.alibaba.excel.EasyExcel;
import com.youlai.system.listener.easyexcel.MyAnalysisEventListener;
import com.youlai.system.plugin.easyexcel.MyAnalysisEventListener;
import java.io.InputStream;

View File

@@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.StrUtil;
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.GrantedAuthority;
import org.springframework.security.core.context.SecurityContextHolder;

View File

@@ -9,7 +9,7 @@ import com.youlai.system.common.result.PageResult;
import com.youlai.system.common.result.Result;
import com.youlai.system.common.util.ExcelUtils;
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.form.UserForm;
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.service.SysUserService;
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.Operation;
import lombok.RequiredArgsConstructor;

View File

@@ -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.core.config.GlobalConfig;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.youlai.system.handler.mybatisplus.MyDataPermissionHandler;
import com.youlai.system.handler.mybatisplus.MyMetaObjectHandler;
import com.youlai.system.core.mybatisplus.handler.MyDataPermissionHandler;
import com.youlai.system.core.mybatisplus.handler.MyMetaObjectHandler;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

View File

@@ -1,4 +1,4 @@
package com.youlai.system.handler.mybatisplus;
package com.youlai.system.core.mybatisplus.handler;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;

View File

@@ -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 org.apache.ibatis.reflection.MetaObject;

View File

@@ -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.security.exception.MyAccessDeniedHandler;
import com.youlai.system.security.exception.MyAuthenticationEntryPoint;
import com.youlai.system.security.jwt.JwtTokenFilter;
import com.youlai.system.core.security.exception.MyAccessDeniedHandler;
import com.youlai.system.core.security.exception.MyAuthenticationEntryPoint;
import com.youlai.system.core.security.jwt.JwtTokenFilter;
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 org.springframework.context.annotation.Bean;
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 校验过滤器
http.addFilterBefore(new JwtTokenFilter(jwtTokenProvider), UsernamePasswordAuthenticationFilter.class);
@@ -75,7 +75,7 @@ public class SecurityConfig {
"/doc.html",
"/swagger-resources/**",
"/v3/api-docs/**",
"/swagger-ui/**",
"/swagger-ui.html",
"/ws/**"
);
}
@@ -89,11 +89,9 @@ public class SecurityConfig {
}
/**
* 无法直接注入 AuthenticationManager
* AuthenticationManager 手动注入
*
* @param authenticationConfiguration
* @return
* @throws Exception
* @param authenticationConfiguration 认证配置
*/
@Bean
public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception {

View File

@@ -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.util.ResponseUtils;

View File

@@ -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.util.ResponseUtils;

View File

@@ -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.util.ResponseUtils;

View File

@@ -1,8 +1,8 @@
package com.youlai.system.security.jwt;
package com.youlai.system.core.security.jwt;
import cn.hutool.core.convert.Convert;
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.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

View File

@@ -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.util.ObjectUtil;

View File

@@ -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.util.StrUtil;

View File

@@ -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.security.model.SysUserDetails;
import com.youlai.system.service.SysUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.security.core.userdetails.UserDetails;

View File

@@ -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);
}
}
}

View File

@@ -1,4 +1,4 @@
package com.youlai.system.listener.easyexcel;
package com.youlai.system.plugin.easyexcel;
import com.alibaba.excel.event.AnalysisEventListener;

View File

@@ -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.lang.Validator;

View File

@@ -1,4 +1,4 @@
package com.youlai.system.listener.rabbitmq;
package com.youlai.system.plugin.rabbitmq;
/**
* @author haoxr

View File

@@ -0,0 +1,9 @@
package com.youlai.system.plugin.websocket;
/**
* @author haoxr
* @since 2023/11/7
*/
public class StompPrincipal {
}

View File

@@ -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 org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Configuration;

View File

@@ -1,4 +1,4 @@
package com.youlai.system.listener.websocket;
package com.youlai.system.plugin.websocket;
import cn.hutool.json.JSONUtil;
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.SessionUnsubscribeEvent;
import java.security.Principal;
/**
* Websocket 客户端事件监听器
*
@@ -26,6 +28,8 @@ public class WebSocketEventListener {
*/
@EventListener
public void handleWebSocketConnectListener(SessionConnectedEvent event) {
Principal user = event.getUser();
log.info("客户端连接成功");
}

View File

@@ -1,7 +1,7 @@
package com.youlai.system.interceptor;
package com.youlai.system.plugin.websocket;
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 org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;

View File

@@ -1,4 +1,4 @@
package com.youlai.system.config;
package com.youlai.system.plugin.xxljob;
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import lombok.extern.slf4j.Slf4j;

View File

@@ -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.");
}
}

View File

@@ -7,7 +7,7 @@ import cn.hutool.core.util.StrUtil;
import com.youlai.system.common.constant.SecurityConstants;
import com.youlai.system.model.dto.CaptchaResult;
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 io.jsonwebtoken.Claims;
import jakarta.servlet.http.HttpServletRequest;

View File

@@ -293,7 +293,4 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
}
}