refactor: 优化项目结构

This commit is contained in:
Ray.Hao
2026-02-28 17:49:43 +08:00
parent 739311381c
commit 5048bf460e
62 changed files with 136 additions and 179 deletions

View File

@@ -10,8 +10,8 @@ import com.youlai.boot.auth.service.AuthService;
import com.youlai.boot.common.constant.RedisConstants;
import com.youlai.boot.common.enums.CaptchaTypeEnum;
import com.youlai.boot.config.property.CaptchaProperties;
import com.youlai.boot.infra.sms.enums.SmsTypeEnum;
import com.youlai.boot.infra.sms.service.SmsService;
import com.youlai.boot.support.sms.enums.SmsTypeEnum;
import com.youlai.boot.support.sms.service.SmsService;
import com.youlai.boot.security.model.AuthenticationToken;
import com.youlai.boot.security.model.SmsAuthenticationToken;
import com.youlai.boot.security.token.TokenManager;

View File

@@ -9,7 +9,6 @@ import com.youlai.boot.plugin.mybatis.MyDataPermissionHandler;
import com.youlai.boot.plugin.mybatis.MyMetaObjectHandler;
import org.apache.ibatis.mapping.DatabaseIdProvider;
import org.apache.ibatis.mapping.VendorDatabaseIdProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

View File

@@ -3,7 +3,7 @@ package com.youlai.boot.config;
import cn.hutool.core.util.StrUtil;
import com.youlai.boot.security.model.SysUserDetails;
import com.youlai.boot.security.token.TokenManager;
import com.youlai.boot.infra.websocket.service.WebSocketService;
import com.youlai.boot.support.websocket.service.WebSocketService;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springframework.context.annotation.Configuration;

View File

@@ -1,8 +1,8 @@
package com.youlai.boot.infra.file.controller;
package com.youlai.boot.file.controller;
import com.youlai.boot.core.web.Result;
import com.youlai.boot.infra.file.service.FileService;
import com.youlai.boot.infra.file.model.FileInfo;
import com.youlai.boot.file.service.FileService;
import com.youlai.boot.file.model.FileInfo;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.enums.ParameterIn;
import io.swagger.v3.oas.annotations.media.Schema;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.file.model;
package com.youlai.boot.file.model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,6 +1,6 @@
package com.youlai.boot.infra.file.service;
package com.youlai.boot.file.service;
import com.youlai.boot.infra.file.model.FileInfo;
import com.youlai.boot.file.model.FileInfo;
import org.springframework.web.multipart.MultipartFile;
/**

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.file.service.impl;
package com.youlai.boot.file.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
@@ -8,8 +8,8 @@ import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.ObjectMetadata;
import com.aliyun.oss.model.PutObjectRequest;
import com.youlai.boot.infra.file.service.FileService;
import com.youlai.boot.infra.file.model.FileInfo;
import com.youlai.boot.file.service.FileService;
import com.youlai.boot.file.model.FileInfo;
import jakarta.annotation.PostConstruct;
import lombok.Data;
import lombok.RequiredArgsConstructor;

View File

@@ -1,11 +1,11 @@
package com.youlai.boot.infra.file.service.impl;
package com.youlai.boot.file.service.impl;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.IdUtil;
import com.youlai.boot.infra.file.model.FileInfo;
import com.youlai.boot.infra.file.service.FileService;
import com.youlai.boot.file.model.FileInfo;
import com.youlai.boot.file.service.FileService;
import lombok.Data;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.file.service.impl;
package com.youlai.boot.file.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
@@ -7,8 +7,8 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.youlai.boot.core.exception.BusinessException;
import com.youlai.boot.core.web.ResultCode;
import com.youlai.boot.infra.file.model.FileInfo;
import com.youlai.boot.infra.file.service.FileService;
import com.youlai.boot.file.model.FileInfo;
import com.youlai.boot.file.service.FileService;
import io.minio.*;
import io.minio.http.Method;
import jakarta.annotation.PostConstruct;

View File

@@ -1,14 +0,0 @@
package com.youlai.boot.infra.mail.controller;
import org.springframework.web.bind.annotation.*;
/**
* 邮件控制层
*
* @author Ray.Hao
* @since 2.10.0
*/
@RestController
public class MailController {
}

View File

@@ -1,14 +0,0 @@
package com.youlai.boot.infra.sms.controller;
/**
* 短信控制层
*
* @author Ray
* @since 2.10.0
*/
public class SmsController {
}

View File

@@ -3,7 +3,6 @@ package com.youlai.boot.plugin.mybatis;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import lombok.RequiredArgsConstructor;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;

View File

@@ -4,11 +4,9 @@ import com.youlai.boot.core.web.ResultCode;
import com.youlai.boot.core.web.WebResponseWriter;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.web.access.AccessDeniedHandler;
import org.springframework.stereotype.Component;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 无权限访问处理器

View File

@@ -6,7 +6,6 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import cn.hutool.jwt.JWT;
import cn.hutool.jwt.JWTPayload;
import cn.hutool.jwt.JWTUtil;

View File

@@ -9,7 +9,6 @@ import com.youlai.boot.core.web.ResultCode;
import com.youlai.boot.config.property.SecurityProperties;
import com.youlai.boot.security.model.AuthenticationToken;
import com.youlai.boot.security.model.UserSession;
import com.youlai.boot.security.model.RoleDataScope;
import com.youlai.boot.security.model.SysUserDetails;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.data.redis.core.RedisTemplate;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.mail.service;
package com.youlai.boot.support.mail.service;
/**
* 邮件服务接口层

View File

@@ -1,7 +1,7 @@
package com.youlai.boot.infra.mail.service.impl;
package com.youlai.boot.support.mail.service.impl;
import com.youlai.boot.config.property.MailProperties;
import com.youlai.boot.infra.mail.service.MailService;
import com.youlai.boot.support.mail.service.MailService;
import jakarta.mail.MessagingException;
import jakarta.mail.internet.MimeMessage;
import lombok.RequiredArgsConstructor;
@@ -66,14 +66,14 @@ public class MailServiceImpl implements MailService {
helper.setFrom(mailProperties.getFrom());
helper.setTo(to);
helper.setSubject(subject);
helper.setText(text, true); // true表示支持HTML内容
helper.setText(text, true); // true 表示支持HTML内容
FileSystemResource file = new FileSystemResource(new File(filePath));
helper.addAttachment(file.getFilename(), file);
mailSender.send(message);
} catch (MessagingException e) {
log.error("发送邮件失败{}", e.getMessage());
log.error("发送带附件的邮件失败{}", e.getMessage());
}
}
}

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.sms.enums;
package com.youlai.boot.support.sms.enums;
import com.youlai.boot.common.base.IBaseEnum;
import lombok.Getter;

View File

@@ -1,6 +1,6 @@
package com.youlai.boot.infra.sms.service;
package com.youlai.boot.support.sms.service;
import com.youlai.boot.infra.sms.enums.SmsTypeEnum;
import com.youlai.boot.support.sms.enums.SmsTypeEnum;
import java.util.Map;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.sms.service.impl;
package com.youlai.boot.support.sms.service.impl;
import cn.hutool.json.JSONUtil;
import com.aliyuncs.CommonRequest;
@@ -9,8 +9,8 @@ import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.youlai.boot.config.property.AliyunSmsProperties;
import com.youlai.boot.infra.sms.enums.SmsTypeEnum;
import com.youlai.boot.infra.sms.service.SmsService;
import com.youlai.boot.support.sms.enums.SmsTypeEnum;
import com.youlai.boot.support.sms.service.SmsService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.websocket.dto;
package com.youlai.boot.support.websocket.dto;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.websocket.dto;
package com.youlai.boot.support.websocket.dto;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@@ -1,8 +1,8 @@
package com.youlai.boot.infra.websocket.job;
package com.youlai.boot.support.websocket.job;
import com.youlai.boot.infra.websocket.publisher.WebSocketPublisher;
import com.youlai.boot.infra.websocket.session.UserSessionRegistry;
import com.youlai.boot.infra.websocket.topic.WebSocketTopics;
import com.youlai.boot.support.websocket.publisher.WebSocketPublisher;
import com.youlai.boot.support.websocket.session.UserSessionRegistry;
import com.youlai.boot.support.websocket.topic.WebSocketTopics;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.websocket.publisher;
package com.youlai.boot.support.websocket.publisher;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

View File

@@ -1,6 +1,6 @@
package com.youlai.boot.infra.websocket.service;
package com.youlai.boot.support.websocket.service;
import com.youlai.boot.infra.websocket.dto.OnlineUserDTO;
import com.youlai.boot.support.websocket.dto.OnlineUserDTO;
import java.util.List;

View File

@@ -1,11 +1,11 @@
package com.youlai.boot.infra.websocket.service.impl;
package com.youlai.boot.support.websocket.service.impl;
import com.youlai.boot.infra.websocket.dto.DictChangeEvent;
import com.youlai.boot.infra.websocket.dto.OnlineUserDTO;
import com.youlai.boot.infra.websocket.publisher.WebSocketPublisher;
import com.youlai.boot.infra.websocket.session.UserSessionRegistry;
import com.youlai.boot.infra.websocket.service.WebSocketService;
import com.youlai.boot.infra.websocket.topic.WebSocketTopics;
import com.youlai.boot.support.websocket.dto.DictChangeEvent;
import com.youlai.boot.support.websocket.dto.OnlineUserDTO;
import com.youlai.boot.support.websocket.publisher.WebSocketPublisher;
import com.youlai.boot.support.websocket.session.UserSessionRegistry;
import com.youlai.boot.support.websocket.service.WebSocketService;
import com.youlai.boot.support.websocket.topic.WebSocketTopics;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

View File

@@ -1,6 +1,6 @@
package com.youlai.boot.infra.websocket.session;
package com.youlai.boot.support.websocket.session;
import com.youlai.boot.infra.websocket.dto.OnlineUserDTO;
import com.youlai.boot.support.websocket.dto.OnlineUserDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.websocket.topic;
package com.youlai.boot.support.websocket.topic;
public final class WebSocketTopics {

View File

@@ -16,7 +16,7 @@ import com.youlai.boot.system.model.form.DictForm;
import com.youlai.boot.common.annotation.Log;
import com.youlai.boot.system.service.DictItemService;
import com.youlai.boot.system.service.DictService;
import com.youlai.boot.infra.websocket.service.WebSocketService;
import com.youlai.boot.support.websocket.service.WebSocketService;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;

View File

@@ -1,7 +1,7 @@
package com.youlai.boot.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.youlai.boot.infra.codegen.model.entity.GenTable;
import com.youlai.boot.tool.codegen.model.entity.GenTable;
import com.youlai.boot.system.model.form.MenuForm;
import com.youlai.boot.common.model.Option;
import com.youlai.boot.system.model.entity.Menu;

View File

@@ -1,7 +1,6 @@
package com.youlai.boot.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

View File

@@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import tools.jackson.core.type.TypeReference;
import tools.jackson.databind.ObjectMapper;
import com.youlai.boot.infra.codegen.model.entity.GenTable;
import com.youlai.boot.tool.codegen.model.entity.GenTable;
import com.youlai.boot.security.util.SecurityUtils;
import com.youlai.boot.system.converter.MenuConverter;
import com.youlai.boot.system.mapper.MenuMapper;
@@ -163,7 +163,7 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
// 双重保障:动态查询"平台管理"目录,过滤其子菜单
// 通过路由路径识别平台管理目录,避免硬编码
Menu platformMenu = this.getOne(new LambdaQueryWrapper<Menu>()
.eq(Menu::getRoutePath, "/infra")
.eq(Menu::getRoutePath, "/support")
.eq(Menu::getParentId, SystemConstants.ROOT_NODE_ID)
.eq(Menu::getType, MenuTypeEnum.CATALOG.getValue())
.last("LIMIT 1")

View File

@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.youlai.boot.core.exception.BusinessException;
import com.youlai.boot.infra.websocket.dto.OnlineUserDTO;
import com.youlai.boot.support.websocket.dto.OnlineUserDTO;
import com.youlai.boot.security.util.SecurityUtils;
import com.youlai.boot.system.converter.NoticeConverter;
import com.youlai.boot.system.enums.NoticePublishStatusEnum;
@@ -27,7 +27,7 @@ import com.youlai.boot.system.model.vo.NoticeDetailVO;
import com.youlai.boot.system.service.NoticeService;
import com.youlai.boot.system.service.UserNoticeService;
import com.youlai.boot.system.service.UserService;
import com.youlai.boot.infra.websocket.service.WebSocketService;
import com.youlai.boot.support.websocket.service.WebSocketService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

View File

@@ -14,8 +14,6 @@ import com.youlai.boot.system.service.UserNoticeService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 用户公告状态服务实现类
*

View File

@@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.youlai.boot.security.token.TokenManager;
import com.youlai.boot.security.util.SecurityUtils;
import com.youlai.boot.system.mapper.UserRoleMapper;
import com.youlai.boot.system.model.entity.UserRole;
import com.youlai.boot.system.service.UserRoleService;
@@ -14,7 +13,6 @@ import org.springframework.stereotype.Service;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
/**

View File

@@ -12,9 +12,9 @@ import com.youlai.boot.common.constant.RedisConstants;
import com.youlai.boot.common.constant.SystemConstants;
import com.youlai.boot.core.exception.BusinessException;
import com.youlai.boot.common.model.Option;
import com.youlai.boot.infra.mail.service.MailService;
import com.youlai.boot.infra.sms.enums.SmsTypeEnum;
import com.youlai.boot.infra.sms.service.SmsService;
import com.youlai.boot.support.mail.service.MailService;
import com.youlai.boot.support.sms.enums.SmsTypeEnum;
import com.youlai.boot.support.sms.service.SmsService;
import com.youlai.boot.security.model.RoleDataScope;
import com.youlai.boot.security.model.UserAuthInfo;
import com.youlai.boot.security.token.TokenManager;

View File

@@ -1,17 +1,17 @@
package com.youlai.boot.infra.codegen.controller;
package com.youlai.boot.tool.codegen.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.boot.core.web.PageResult;
import com.youlai.boot.core.web.Result;
import com.youlai.boot.config.property.CodegenProperties;
import com.youlai.boot.common.enums.LogModuleEnum;
import com.youlai.boot.infra.codegen.service.CodegenService;
import com.youlai.boot.infra.codegen.model.form.GenConfigForm;
import com.youlai.boot.infra.codegen.model.query.TableQuery;
import com.youlai.boot.infra.codegen.model.vo.CodegenPreviewVO;
import com.youlai.boot.infra.codegen.model.vo.TablePageVO;
import com.youlai.boot.tool.codegen.service.CodegenService;
import com.youlai.boot.tool.codegen.model.form.GenConfigForm;
import com.youlai.boot.tool.codegen.model.query.TableQuery;
import com.youlai.boot.tool.codegen.model.vo.CodegenPreviewVO;
import com.youlai.boot.tool.codegen.model.vo.TablePageVO;
import com.youlai.boot.common.annotation.Log;
import com.youlai.boot.infra.codegen.service.GenTableService;
import com.youlai.boot.tool.codegen.service.GenTableService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;

View File

@@ -1,8 +1,8 @@
package com.youlai.boot.infra.codegen.converter;
package com.youlai.boot.tool.codegen.converter;
import com.youlai.boot.infra.codegen.model.entity.GenTable;
import com.youlai.boot.infra.codegen.model.entity.GenTableColumn;
import com.youlai.boot.infra.codegen.model.form.GenConfigForm;
import com.youlai.boot.tool.codegen.model.entity.GenTable;
import com.youlai.boot.tool.codegen.model.entity.GenTableColumn;
import com.youlai.boot.tool.codegen.model.form.GenConfigForm;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.codegen.enums;
package com.youlai.boot.tool.codegen.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.codegen.enums;
package com.youlai.boot.tool.codegen.enums;
import lombok.Getter;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.codegen.enums;
package com.youlai.boot.tool.codegen.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator;

View File

@@ -1,11 +1,11 @@
package com.youlai.boot.infra.codegen.mapper;
package com.youlai.boot.tool.codegen.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.boot.infra.codegen.model.bo.ColumnMetaData;
import com.youlai.boot.infra.codegen.model.bo.TableMetaData;
import com.youlai.boot.infra.codegen.model.query.TableQuery;
import com.youlai.boot.infra.codegen.model.vo.TablePageVO;
import com.youlai.boot.tool.codegen.model.bo.ColumnMetaData;
import com.youlai.boot.tool.codegen.model.bo.TableMetaData;
import com.youlai.boot.tool.codegen.model.query.TableQuery;
import com.youlai.boot.tool.codegen.model.vo.TablePageVO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

View File

@@ -1,7 +1,7 @@
package com.youlai.boot.infra.codegen.mapper;
package com.youlai.boot.tool.codegen.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youlai.boot.infra.codegen.model.entity.GenTableColumn;
import com.youlai.boot.tool.codegen.model.entity.GenTableColumn;
import org.apache.ibatis.annotations.Mapper;
/**

View File

@@ -1,7 +1,7 @@
package com.youlai.boot.infra.codegen.mapper;
package com.youlai.boot.tool.codegen.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youlai.boot.infra.codegen.model.entity.GenTable;
import com.youlai.boot.tool.codegen.model.entity.GenTable;
import org.apache.ibatis.annotations.Mapper;
/**

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.codegen.model.bo;
package com.youlai.boot.tool.codegen.model.bo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.codegen.model.bo;
package com.youlai.boot.tool.codegen.model.bo;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.codegen.model.entity;
package com.youlai.boot.tool.codegen.model.entity;
import com.baomidou.mybatisplus.annotation.*;

View File

@@ -1,12 +1,12 @@
package com.youlai.boot.infra.codegen.model.entity;
package com.youlai.boot.tool.codegen.model.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.youlai.boot.common.base.BaseEntity;
import com.youlai.boot.infra.codegen.enums.FormTypeEnum;
import com.youlai.boot.infra.codegen.enums.QueryTypeEnum;
import com.youlai.boot.tool.codegen.enums.FormTypeEnum;
import com.youlai.boot.tool.codegen.enums.QueryTypeEnum;
import lombok.Getter;
import lombok.Setter;

View File

@@ -1,7 +1,7 @@
package com.youlai.boot.infra.codegen.model.form;
package com.youlai.boot.tool.codegen.model.form;
import com.youlai.boot.infra.codegen.enums.FormTypeEnum;
import com.youlai.boot.infra.codegen.enums.QueryTypeEnum;
import com.youlai.boot.tool.codegen.enums.FormTypeEnum;
import com.youlai.boot.tool.codegen.enums.QueryTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.codegen.model.query;
package com.youlai.boot.tool.codegen.model.query;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.youlai.boot.common.base.BaseQuery;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.codegen.model.query;
package com.youlai.boot.tool.codegen.model.query;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.youlai.boot.common.base.BaseQuery;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.codegen.model.vo;
package com.youlai.boot.tool.codegen.model.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.codegen.model.vo;
package com.youlai.boot.tool.codegen.model.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

View File

@@ -1,9 +1,9 @@
package com.youlai.boot.infra.codegen.service;
package com.youlai.boot.tool.codegen.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.boot.infra.codegen.model.query.TableQuery;
import com.youlai.boot.infra.codegen.model.vo.CodegenPreviewVO;
import com.youlai.boot.infra.codegen.model.vo.TablePageVO;
import com.youlai.boot.tool.codegen.model.query.TableQuery;
import com.youlai.boot.tool.codegen.model.vo.CodegenPreviewVO;
import com.youlai.boot.tool.codegen.model.vo.TablePageVO;
import java.util.List;

View File

@@ -1,7 +1,7 @@
package com.youlai.boot.infra.codegen.service;
package com.youlai.boot.tool.codegen.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.youlai.boot.infra.codegen.model.entity.GenTableColumn;
import com.youlai.boot.tool.codegen.model.entity.GenTableColumn;
/**
* 代码生成配置接口

View File

@@ -1,8 +1,8 @@
package com.youlai.boot.infra.codegen.service;
package com.youlai.boot.tool.codegen.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.youlai.boot.infra.codegen.model.entity.GenTable;
import com.youlai.boot.infra.codegen.model.form.GenConfigForm;
import com.youlai.boot.tool.codegen.model.entity.GenTable;
import com.youlai.boot.tool.codegen.model.form.GenConfigForm;
/**
* 代码生成配置接口

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.codegen.service.impl;
package com.youlai.boot.tool.codegen.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
@@ -11,18 +11,18 @@ import cn.hutool.extra.template.TemplateEngine;
import cn.hutool.extra.template.TemplateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.boot.infra.codegen.enums.JavaTypeEnum;
import com.youlai.boot.tool.codegen.enums.JavaTypeEnum;
import com.youlai.boot.config.property.CodegenProperties;
import com.youlai.boot.infra.codegen.service.GenTableService;
import com.youlai.boot.infra.codegen.service.GenTableColumnService;
import com.youlai.boot.infra.codegen.service.CodegenService;
import com.youlai.boot.tool.codegen.service.GenTableService;
import com.youlai.boot.tool.codegen.service.GenTableColumnService;
import com.youlai.boot.tool.codegen.service.CodegenService;
import com.youlai.boot.core.exception.BusinessException;
import com.youlai.boot.infra.codegen.mapper.DatabaseMapper;
import com.youlai.boot.infra.codegen.model.entity.GenTable;
import com.youlai.boot.infra.codegen.model.entity.GenTableColumn;
import com.youlai.boot.infra.codegen.model.query.TableQuery;
import com.youlai.boot.infra.codegen.model.vo.CodegenPreviewVO;
import com.youlai.boot.infra.codegen.model.vo.TablePageVO;
import com.youlai.boot.tool.codegen.mapper.DatabaseMapper;
import com.youlai.boot.tool.codegen.model.entity.GenTable;
import com.youlai.boot.tool.codegen.model.entity.GenTableColumn;
import com.youlai.boot.tool.codegen.model.query.TableQuery;
import com.youlai.boot.tool.codegen.model.vo.CodegenPreviewVO;
import com.youlai.boot.tool.codegen.model.vo.TablePageVO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

View File

@@ -1,9 +1,9 @@
package com.youlai.boot.infra.codegen.service.impl;
package com.youlai.boot.tool.codegen.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.youlai.boot.infra.codegen.mapper.GenTableColumnMapper;
import com.youlai.boot.infra.codegen.model.entity.GenTableColumn;
import com.youlai.boot.infra.codegen.service.GenTableColumnService;
import com.youlai.boot.tool.codegen.mapper.GenTableColumnMapper;
import com.youlai.boot.tool.codegen.model.entity.GenTableColumn;
import com.youlai.boot.tool.codegen.service.GenTableColumnService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

View File

@@ -1,4 +1,4 @@
package com.youlai.boot.infra.codegen.service.impl;
package com.youlai.boot.tool.codegen.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Assert;
@@ -7,21 +7,21 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.youlai.boot.YouLaiBootApplication;
import com.youlai.boot.common.enums.EnvEnum;
import com.youlai.boot.infra.codegen.enums.FormTypeEnum;
import com.youlai.boot.infra.codegen.enums.JavaTypeEnum;
import com.youlai.boot.infra.codegen.enums.QueryTypeEnum;
import com.youlai.boot.tool.codegen.enums.FormTypeEnum;
import com.youlai.boot.tool.codegen.enums.JavaTypeEnum;
import com.youlai.boot.tool.codegen.enums.QueryTypeEnum;
import com.youlai.boot.core.exception.BusinessException;
import com.youlai.boot.config.property.CodegenProperties;
import com.youlai.boot.infra.codegen.converter.CodegenConverter;
import com.youlai.boot.infra.codegen.mapper.DatabaseMapper;
import com.youlai.boot.infra.codegen.mapper.GenTableMapper;
import com.youlai.boot.infra.codegen.model.bo.ColumnMetaData;
import com.youlai.boot.infra.codegen.model.bo.TableMetaData;
import com.youlai.boot.infra.codegen.model.entity.GenTable;
import com.youlai.boot.infra.codegen.model.entity.GenTableColumn;
import com.youlai.boot.infra.codegen.model.form.GenConfigForm;
import com.youlai.boot.infra.codegen.service.GenTableService;
import com.youlai.boot.infra.codegen.service.GenTableColumnService;
import com.youlai.boot.tool.codegen.converter.CodegenConverter;
import com.youlai.boot.tool.codegen.mapper.DatabaseMapper;
import com.youlai.boot.tool.codegen.mapper.GenTableMapper;
import com.youlai.boot.tool.codegen.model.bo.ColumnMetaData;
import com.youlai.boot.tool.codegen.model.bo.TableMetaData;
import com.youlai.boot.tool.codegen.model.entity.GenTable;
import com.youlai.boot.tool.codegen.model.entity.GenTableColumn;
import com.youlai.boot.tool.codegen.model.form.GenConfigForm;
import com.youlai.boot.tool.codegen.service.GenTableService;
import com.youlai.boot.tool.codegen.service.GenTableColumnService;
import com.youlai.boot.system.service.MenuService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;

View File

@@ -6,7 +6,7 @@
<mapper namespace="com.youlai.boot.platform.codegen.mapper.DatabaseMapper">
<!-- 查询数据库表分页 mysql版本-->
<select id="getTablePage" resultType="com.youlai.boot.infra.codegen.model.vo.TablePageVO" databaseId="mysql">
<select id="getTablePage" resultType="com.youlai.boot.tool.codegen.model.vo.TablePageVO" databaseId="mysql">
SELECT
t1.TABLE_NAME ,
t1.TABLE_COMMENT ,
@@ -35,7 +35,7 @@
</select>
<!-- 查询数据库表元数据 mysql版本-->
<select id="getTableMetadata" resultType="com.youlai.boot.infra.codegen.model.bo.TableMetaData" databaseId="mysql">
<select id="getTableMetadata" resultType="com.youlai.boot.tool.codegen.model.bo.TableMetaData" databaseId="mysql">
SELECT
TABLE_NAME ,
TABLE_COMMENT ,
@@ -50,7 +50,7 @@
</select>
<!-- 获取数据库表字段元数据 mysql版本-->
<select id="getTableColumns" resultType="com.youlai.boot.infra.codegen.model.bo.ColumnMetaData" databaseId="mysql">
<select id="getTableColumns" resultType="com.youlai.boot.tool.codegen.model.bo.ColumnMetaData" databaseId="mysql">
SELECT
COLUMN_NAME,
DATA_TYPE,

View File

@@ -39,8 +39,8 @@ public class SystemCodeGenerator {
.parent("com.youlai.boot.system")
.entity("model.entity")
.mapper("mapper")
.service("infra")
.serviceImpl("infra.impl")
.service("support")
.serviceImpl("support.impl")
.controller("controller")
.pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir") + "/src/main/resources/mapper"));
}

View File

@@ -1,14 +1,10 @@
package com.youlai.boot.plugin.mybatis;
import com.youlai.boot.common.annotation.DataPermission;
import com.youlai.boot.common.enums.DataScopeEnum;
import com.youlai.boot.security.model.RoleDataScope;
import com.youlai.boot.security.model.SysUserDetails;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.operators.conditional.AndExpression;
import net.sf.jsqlparser.expression.operators.conditional.OrExpression;
import net.sf.jsqlparser.expression.operators.relational.EqualsTo;
import net.sf.jsqlparser.expression.operators.relational.InExpression;
import net.sf.jsqlparser.schema.Column;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;