Commit 58bb8e70 by ypenglv

调整目录结构

1 parent cfac4b9d
Showing 41 changed files with 195 additions and 64 deletions
package org.nafmii.config; package org.nafmii.common.config;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
......
package org.nafmii.config; package org.nafmii.common.config;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.connection.RedisConnectionFactory;
......
package org.nafmii.constant; package org.nafmii.common.constant;
/** /**
* @author lvyp * @author lvyp
......
package org.nafmii.constant; package org.nafmii.common.constant;
public enum CommonEnum { public enum CommonEnum {
......
package org.nafmii.constant; package org.nafmii.common.constant;
public enum HttpClientHeaderEnum { public enum HttpClientHeaderEnum {
......
package org.nafmii.constant; package org.nafmii.common.constant;
public enum MessageEnum { public enum MessageEnum {
/** /**
......
package org.nafmii.exception; package org.nafmii.common.exception;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
......
package org.nafmii.exception; package org.nafmii.common.exception;
import feign.codec.DecodeException; import feign.codec.DecodeException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nafmii.constant.MessageEnum; import org.nafmii.common.constant.MessageEnum;
import org.nafmii.response.ApiResponse; import org.nafmii.common.response.ApiResponse;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
......
package org.nafmii.param; package org.nafmii.common.param;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
......
package org.nafmii.param; package org.nafmii.common.param;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
......
package org.nafmii.param; package org.nafmii.common.param;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
......
package org.nafmii.response; package org.nafmii.common.response;
import java.io.Serializable; import java.io.Serializable;
......
package org.nafmii.response; package org.nafmii.common.response;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
......
package org.nafmii.response; package org.nafmii.common.response;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
......
package org.nafmii.utils; package org.nafmii.common.utils;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import org.nafmii.param.PageResult; import org.nafmii.common.param.PageResult;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.ArrayList; import java.util.ArrayList;
......
package org.nafmii.utils; package org.nafmii.common.utils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
......
package org.nafmii.common.utils;
import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.FileOutConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.TemplateConfig;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* @author lvyp
* @date 2021/2/19
*/
public class GeneratorCodeConfig {
public static String scanner(String tip) {
Scanner scanner = new Scanner(System.in);
StringBuilder help = new StringBuilder();
help.append("请输入" + tip + ":");
System.out.println(help.toString());
if (scanner.hasNext()) {
String ipt = scanner.next();
if (StringUtils.isNotEmpty(ipt)) {
return ipt;
}
}
throw new MybatisPlusException("请输入正确的" + tip + "!");
}
public static void main(String[] args) {
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://114.112.96.30:30029/NAFMII_2.1?useUnicode=true&characterEncoding=UTF8&useSSL=false");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("Moxi123#");
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
String moduleName = scanner("模块名");
pc.setParent(scanner("包名"));
pc.setController("controller");
pc.setEntity("entity");
pc.setMapper("dao");
pc.setService("service");
pc.setServiceImpl("service.impl");
mpg.setPackageInfo(pc);
// 全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir")+"/"+moduleName;
gc.setOutputDir(projectPath + "/src/main/java");
gc.setAuthor("lvyp");
gc.setOpen(false);
gc.setBaseResultMap(true);
gc.setBaseColumnList(true);
gc.setEntityName("%sPO");
gc.setMapperName("%sMapper");
//实体属性 Swagger2 注解
gc.setSwagger2(true);
mpg.setGlobalConfig(gc);
// 自定义配置
InjectionConfig cfg = new InjectionConfig() {
@Override
public void initMap() {
// to do nothing
}
};
// 如果模板引擎是 freemarker
//String templatePath = "/templates/mapper.xml.ftl";
// 如果模板引擎是 velocity
String templatePath = "/templates/mapper.xml.vm";
// 自定义输出配置
List<FileOutConfig> focList = new ArrayList<>();
// 自定义配置会被优先输出
focList.add(new FileOutConfig(templatePath) {
@Override
public String outputFile(TableInfo tableInfo) {
// 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!
return projectPath +"/src/main/resources/mapper/"+ tableInfo.getEntityName().substring(0,tableInfo.getEntityName().length()-2) + "Mapper" + StringPool.DOT_XML;
}
});
cfg.setFileOutConfigList(focList);
mpg.setCfg(cfg);
// 配置模板
TemplateConfig templateConfig = new TemplateConfig();
// 配置自定义输出模板
//指定自定义模板路径,注意不要带上.ftl/.vm, 会根据使用的模板引擎自动识别
templateConfig.setEntity("/templates/entity.java");
templateConfig.setController("/templates/controller.java");
templateConfig.setService("/templates/service.java");
templateConfig.setServiceImpl("/templates/serviceImpl.java");
templateConfig.setXml(null);
templateConfig.setMapper("/templates/mapper.java");
mpg.setTemplate(templateConfig);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setSuperEntityClass("com.baomidou.mybatisplus.extension.activerecord.Model");
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
strategy.setTablePrefix("t_"); // 该设置可以截取表名中的前缀字段
strategy.setEntityTableFieldAnnotationEnable(true);
// 公共父类
// strategy.setSuperControllerClass("com.baomidou.ant.common.BaseController");
// 写于父类中的公共字段
// strategy.setSuperEntityColumns("id");
strategy.setInclude(scanner("表名,多个英文逗号分割").split(","));
strategy.setControllerMappingHyphenStyle(true);
mpg.setStrategy(strategy);
mpg.setTemplateEngine(new VelocityTemplateEngine());
mpg.execute();
}
}
package org.nafmii.utils; package org.nafmii.common.utils;
import com.google.common.cache.Cache; import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheBuilder;
import lombok.Synchronized; import lombok.Synchronized;
import javax.annotation.PostConstruct;
import java.util.HashMap;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
/** /**
......
package org.nafmii.utils; package org.nafmii.common.utils;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.JSONLibDataFormatSerializer; import com.alibaba.fastjson.serializer.JSONLibDataFormatSerializer;
......
package org.nafmii.utils; package org.nafmii.common.utils;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts; import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm; import io.jsonwebtoken.SignatureAlgorithm;
import org.nafmii.vo.AppUser; import org.nafmii.common.vo.AppUser;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
......
package org.nafmii.utils; package org.nafmii.common.utils;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
......
package org.nafmii.utils; package org.nafmii.common.utils;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
......
package org.nafmii.utils; package org.nafmii.common.utils;
import org.nafmii.constant.HttpClientHeaderEnum; import org.nafmii.common.constant.MessageEnum;
import org.nafmii.constant.MessageEnum; import org.nafmii.common.constant.HttpClientHeaderEnum;
import org.nafmii.exception.BusinessException; import org.nafmii.common.exception.BusinessException;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
......
package org.nafmii.utils; package org.nafmii.common.utils;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean; import java.lang.management.RuntimeMXBean;
......
package org.nafmii.utils; package org.nafmii.common.utils;
import org.springframework.beans.BeansException; import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
...@@ -8,7 +8,6 @@ import org.springframework.web.context.request.RequestContextHolder; ...@@ -8,7 +8,6 @@ import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.Locale;
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Component @Component
......
package org.nafmii.vo; package org.nafmii.common.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
......
package org.nafmii.nafmiieu; package org.nafmii.eureka;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
...@@ -6,10 +6,10 @@ import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; ...@@ -6,10 +6,10 @@ import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication @SpringBootApplication
@EnableEurekaServer @EnableEurekaServer
public class NafmiiEuApplication { public class NafmiiEurekaApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(NafmiiEuApplication.class, args); SpringApplication.run(NafmiiEurekaApplication.class, args);
} }
} }
package org.nafmii; package org.nafmii.gateway;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
......
package org.nafmii.config; package org.nafmii.gateway.config;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.nafmii.exception.BusinessException; import org.nafmii.common.exception.BusinessException;
import org.nafmii.utils.JwtUtils; import org.nafmii.common.utils.JwtUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter; import org.springframework.cloud.gateway.filter.GlobalFilter;
......
package org.nafmii.config; package org.nafmii.gateway.config;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
......
package org.nafmii.nafmiiquartz; package org.nafmii.quartz;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* 版权所有,侵权必究! * 版权所有,侵权必究!
*/ */
package org.nafmii.nafmiiquartz.datasource.annotation; package org.nafmii.quartz.datasource.annotation;
import java.lang.annotation.*; import java.lang.annotation.*;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* 版权所有,侵权必究! * 版权所有,侵权必究!
*/ */
package org.nafmii.nafmiiquartz.datasource.aspect; package org.nafmii.quartz.datasource.aspect;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
...@@ -14,8 +14,8 @@ import org.aspectj.lang.annotation.Around; ...@@ -14,8 +14,8 @@ import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature; import org.aspectj.lang.reflect.MethodSignature;
import org.nafmii.nafmiiquartz.datasource.annotation.DataSource; import org.nafmii.quartz.datasource.annotation.DataSource;
import org.nafmii.nafmiiquartz.datasource.config.DynamicContextHolder; import org.nafmii.quartz.datasource.config.DynamicContextHolder;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.core.Ordered; import org.springframework.core.Ordered;
...@@ -36,8 +36,8 @@ import java.lang.reflect.Method; ...@@ -36,8 +36,8 @@ import java.lang.reflect.Method;
public class DataSourceAspect { public class DataSourceAspect {
protected Logger logger = LoggerFactory.getLogger(getClass()); protected Logger logger = LoggerFactory.getLogger(getClass());
@Pointcut("@annotation(org.nafmii.nafmiiquartz.datasource.annotation.DataSource) " + @Pointcut("@annotation(org.nafmii.quartz.datasource.annotation.DataSource) " +
"|| @within(org.nafmii.nafmiiquartz.datasource.annotation.DataSource)") "|| @within(org.nafmii.quartz.datasource.annotation.DataSource)")
public void dataSourcePointCut() { public void dataSourcePointCut() {
} }
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* 版权所有,侵权必究! * 版权所有,侵权必究!
*/ */
package org.nafmii.nafmiiquartz.datasource.config; package org.nafmii.quartz.datasource.config;
import java.util.ArrayDeque; import java.util.ArrayDeque;
import java.util.Deque; import java.util.Deque;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* 版权所有,侵权必究! * 版权所有,侵权必究!
*/ */
package org.nafmii.nafmiiquartz.datasource.config; package org.nafmii.quartz.datasource.config;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
......
...@@ -6,11 +6,11 @@ ...@@ -6,11 +6,11 @@
* 版权所有,侵权必究! * 版权所有,侵权必究!
*/ */
package org.nafmii.nafmiiquartz.datasource.config; package org.nafmii.quartz.datasource.config;
import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidDataSource;
import org.nafmii.nafmiiquartz.datasource.properties.DataSourceProperties; import org.nafmii.quartz.datasource.properties.DataSourceProperties;
import org.nafmii.nafmiiquartz.datasource.properties.DynamicDataSourceProperties; import org.nafmii.quartz.datasource.properties.DynamicDataSourceProperties;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
...@@ -19,7 +19,6 @@ import org.springframework.context.annotation.Configuration; ...@@ -19,7 +19,6 @@ import org.springframework.context.annotation.Configuration;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger;
/** /**
* 配置多数据源 * 配置多数据源
......
...@@ -6,10 +6,10 @@ ...@@ -6,10 +6,10 @@
* 版权所有,侵权必究! * 版权所有,侵权必究!
*/ */
package org.nafmii.nafmiiquartz.datasource.config; package org.nafmii.quartz.datasource.config;
import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidDataSource;
import org.nafmii.nafmiiquartz.datasource.properties.DataSourceProperties; import org.nafmii.quartz.datasource.properties.DataSourceProperties;
import java.sql.SQLException; import java.sql.SQLException;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* 版权所有,侵权必究! * 版权所有,侵权必究!
*/ */
package org.nafmii.nafmiiquartz.datasource.properties; package org.nafmii.quartz.datasource.properties;
/** /**
* 多数据源属性 * 多数据源属性
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* 版权所有,侵权必究! * 版权所有,侵权必究!
*/ */
package org.nafmii.nafmiiquartz.datasource.properties; package org.nafmii.quartz.datasource.properties;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
......
package org.nafmii.nafmiiquartz.scheduler; package org.nafmii.quartz.scheduler;
import org.nafmii.nafmiiquartz.scheduler.job.TestJob; import org.nafmii.quartz.scheduler.job.TestJob;
import org.quartz.*; import org.quartz.*;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationArguments;
......
package org.nafmii.nafmiiquartz.scheduler.job; package org.nafmii.quartz.scheduler.job;
import org.nafmii.nafmiiquartz.datasource.annotation.DataSource; import org.nafmii.quartz.datasource.annotation.DataSource;
import org.quartz.DisallowConcurrentExecution; import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext; import org.quartz.JobExecutionContext;
import org.quartz.PersistJobDataAfterExecution; import org.quartz.PersistJobDataAfterExecution;
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!