Commit 0a6dfc0b by henry

修改报名

1 parent 19b1d9c1
Showing with 347 additions and 572 deletions
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
<file url="file://$PROJECT_DIR$/arch-clouds/log/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/arch-clouds/log/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/arch-clouds/mybatis/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/arch-clouds/mybatis/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/arch-clouds/mybatis/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/arch-clouds/mybatis/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/arch-clouds/nacos/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/arch-clouds/nacos/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/arch-clouds/office/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/arch-clouds/office/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/arch-clouds/office/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/arch-clouds/office/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/arch-clouds/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/arch-clouds/src/main/java" charset="UTF-8" />
......
# Arch Tools # Arch Tools
## arch-overall 总体架构微服务 ## arch-overall 总体架构微服务
## arch-clouds (微服务组件-在线文档、文件存储、日志管理等) ## arch-clouds (微服务组件-在线文档、文件存储、日志管理等)
## arch-system (系统架构微服务) ## arch-system (系统架构微服务)
......
...@@ -17,33 +17,18 @@ ...@@ -17,33 +17,18 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>
<dependencies> <dependencies>
<!--引入AOP -->
<!--SpringBoot2.4.x之后默认不加载bootstrap.yml文件,需要在pom里加上依赖-->
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.aspectj</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId> <artifactId>aspectjrt</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>org.aspectj</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <artifactId>aspectjweaver</artifactId>
</dependency> </dependency>
<!--openfeign-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!--sentinel依赖-->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.github.davidfantasy</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> <artifactId>mybatis-plus-generator-ui</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>javax.servlet</groupId> <groupId>javax.servlet</groupId>
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>org.arch</groupId> <groupId>org.arch</groupId>
<artifactId>arch</artifactId> <artifactId>arch-clouds</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../pom.xml</relativePath>
</parent> </parent>
<name>日志模块</name> <name>日志模块</name>
<artifactId>log</artifactId> <artifactId>log</artifactId>
...@@ -24,36 +24,13 @@ ...@@ -24,36 +24,13 @@
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- druid数据源驱动 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
</dependency>
<dependency>
<groupId>org.arch</groupId> <groupId>org.arch</groupId>
<artifactId>arch-base</artifactId> <artifactId>arch-base</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId> <artifactId>spring-web</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
package org.arch.annotation; package org.arch.log.annotation;
import org.arch.logenum.LogTypeEnum; import org.arch.log.logenum.LogTypeEnum;
import org.arch.logenum.LogOperTypeEnum; import org.arch.log.logenum.LogOperTypeEnum;
import java.lang.annotation.*; import java.lang.annotation.*;
......
package org.arch.aspect; package org.arch.log.aspect;
import cn.hutool.core.thread.threadlocal.NamedThreadLocal; import cn.hutool.core.thread.threadlocal.NamedThreadLocal;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.arch.entity.SysEventLog; import org.arch.log.entity.SysEventLog;
import org.arch.annotation.OperLog; import org.arch.log.annotation.OperLog;
import org.arch.service.SysEventLogService; import org.arch.log.service.SysEventLogService;
import org.aspectj.lang.JoinPoint; import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.*; import org.aspectj.lang.annotation.*;
import org.aspectj.lang.reflect.MethodSignature; import org.aspectj.lang.reflect.MethodSignature;
...@@ -37,7 +37,7 @@ public class AutoLogConfigAspect { ...@@ -37,7 +37,7 @@ public class AutoLogConfigAspect {
@Autowired @Autowired
private SysEventLogService sysEventLogService; private SysEventLogService sysEventLogService;
@Pointcut("@annotation(org.arch.annotation.OperLog)") @Pointcut("@annotation(org.arch.log.annotation.OperLog)")
public void logPointCut() { public void logPointCut() {
} }
......
package org.arch.config; package org.arch.log.config;
import org.arch.filter.SqlFilter; import org.arch.log.filter.SqlFilter;
import org.arch.filter.LoginFilter; import org.arch.log.filter.XssFilter;
import org.arch.filter.XssFilter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScan;
...@@ -17,20 +15,18 @@ import org.springframework.beans.factory.annotation.Value; ...@@ -17,20 +15,18 @@ import org.springframework.beans.factory.annotation.Value;
@Slf4j @Slf4j
@Configuration @Configuration
@ComponentScan("org.arch") @ComponentScan("org.arch.log")
public class LogAutoConfiguration { public class LogAutoConfiguration {
@Value("${log.enable.flag}") //@Value("${log.enable.flag}")
private boolean logFlag; private boolean logFlag;
@Value("${sql.enable.flag}") //@Value("${sql.enable.flag}")
private boolean sqlFlag; private boolean sqlFlag;
@Value("${xss.enable.flag}") //@Value("${xss.enable.flag}")
private boolean xssFlag; private boolean xssFlag;
@Autowired // 一定要注入,才会让 DemoFilter中的 @Autowrie生效
private LoginFilter loginFilter;
public LogAutoConfiguration() { public LogAutoConfiguration() {
log.info("加载logging配置..."); log.info("加载logging配置...");
} }
@Bean /* @Bean
public FilterRegistrationBean xssFilterRegistration() { public FilterRegistrationBean xssFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean(); FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setDispatcherTypes(DispatcherType.REQUEST); registration.setDispatcherTypes(DispatcherType.REQUEST);
...@@ -60,13 +56,13 @@ public class LogAutoConfiguration { ...@@ -60,13 +56,13 @@ public class LogAutoConfiguration {
public FilterRegistrationBean loginFilterRegistration() { public FilterRegistrationBean loginFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean(); FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setDispatcherTypes(DispatcherType.REQUEST); registration.setDispatcherTypes(DispatcherType.REQUEST);
registration.setFilter(loginFilter); //registration.setFilter(loginFilter);
registration.addUrlPatterns("/*"); registration.addUrlPatterns("/*");
registration.setName("loginFilter"); registration.setName("loginFilter");
//false则关闭改过滤器 //false则关闭改过滤器
registration.setEnabled(logFlag); registration.setEnabled(logFlag);
registration.setOrder(Integer.MAX_VALUE); registration.setOrder(Integer.MAX_VALUE);
/*JwtUitls.userLoginLogService = userLoginLogService;//重新赋值!!!!!!!!!!!!!,防止mapper还没加载的时候,@Autowired*/ *//*JwtUitls.userLoginLogService = userLoginLogService;//重新赋值!!!!!!!!!!!!!,防止mapper还没加载的时候,@Autowired*//*
return registration; return registration;
} }*/
} }
package org.arch.entity; package org.arch.log.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
......
package org.arch.filter; package org.arch.log.filter;
import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import net.minidev.json.JSONObject; import net.minidev.json.JSONObject;
......
package org.arch.filter; package org.arch.log.filter;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.arch.Result; import org.arch.Result;
......
package org.arch.filter; package org.arch.log.filter;
import javax.servlet.ReadListener; import javax.servlet.ReadListener;
import javax.servlet.ServletInputStream; import javax.servlet.ServletInputStream;
......
package org.arch.filter; package org.arch.log.filter;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import javax.servlet.*; import javax.servlet.*;
......
package org.arch.filter; package org.arch.log.filter;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
......
package org.arch.logenum; package org.arch.log.logenum;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
......
package org.arch.logenum; package org.arch.log.logenum;
/** /**
* 日志级别枚举类 * 日志级别枚举类
......
package org.arch.logenum; package org.arch.log.logenum;
/** /**
* 操作事件类型枚举类 * 操作事件类型枚举类
......
package org.arch.logenum; package org.arch.log.logenum;
/** /**
* 日志类型枚举类 * 日志类型枚举类
......
package org.arch.mapper; package org.arch.log.mapper;
import com.github.yulichang.base.MPJBaseMapper; import com.github.yulichang.base.MPJBaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.arch.entity.SysEventLog; import org.arch.log.entity.SysEventLog;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import java.util.List; import java.util.List;
......
package org.arch.service; package org.arch.log.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.arch.entity.SysEventLog; import org.arch.log.entity.SysEventLog;
import org.arch.modules.sysmanage.dto.UserDto; import org.arch.modules.sysmanage.dto.UserDto;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
......
package org.arch.service.impl; package org.arch.log.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
...@@ -7,9 +7,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -7,9 +7,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import org.arch.entity.SysEventLog; import org.arch.log.entity.SysEventLog;
import org.arch.service.SysEventLogService; import org.arch.log.mapper.SysEventLogMapper;
import org.arch.mapper.SysEventLogMapper; import org.arch.log.service.SysEventLogService;
import org.arch.modules.sysmanage.dto.UserDto; import org.arch.modules.sysmanage.dto.UserDto;
import org.arch.utils.StringUtils; import org.arch.utils.StringUtils;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
......
package org.arch.util; package org.arch.log.util;
public class CustomerException extends RuntimeException{ public class CustomerException extends RuntimeException{
private String msg; private String msg;
......
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.arch.config.LogAutoConfiguration org.arch.log.config.LogAutoConfiguration
\ No newline at end of file \ No newline at end of file
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
<groupId>org.arch</groupId> <groupId>org.arch</groupId>
<artifactId>arch-clouds</artifactId> <artifactId>arch-clouds</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent> </parent>
<artifactId>mybatis</artifactId> <artifactId>mybatis</artifactId>
...@@ -29,7 +30,17 @@ ...@@ -29,7 +30,17 @@
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId> <artifactId>mybatis-plus-extension</artifactId>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter --> <!--数据源驱动-->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<!-- druid数据源驱动 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.github.pagehelper</groupId> <groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId> <artifactId>pagehelper-spring-boot-starter</artifactId>
......
...@@ -15,15 +15,17 @@ package org.arch.config; ...@@ -15,15 +15,17 @@ package org.arch.config;
*/ */
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import java.util.Properties; import java.util.Properties;
@Slf4j
@Configuration @Configuration
@ComponentScan("org.arch")
public class MybatisConfig { public class MybatisConfig {
public MybatisConfig() {
log.info("加载MybatisPlus配置...");
}
/** /**
* 配置mybatis的分页插件pageHelper * 配置mybatis的分页插件pageHelper
* @return * @return
......
package org.arch.properties;
import com.baomidou.mybatisplus.annotation.DbType;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Component;
@Data
@Component
@ConfigurationProperties("mybatis-plus.interceptors.pagination")
@EnableConfigurationProperties(PaginationProperties.class)
public class PaginationProperties {
private boolean overflow = false;
private long maxLimit = 50;
private DbType dbType = DbType.MYSQL;
private String dialectClassName;
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.arch</groupId>
<artifactId>arch-clouds</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>nacos</artifactId>
<name>注册中心</name>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-commons</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package org.arch.nacos;
import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.api.naming.NamingService;
import com.alibaba.nacos.client.naming.NacosNamingService;
import org.arch.nacos.properties.NacosRegisterProperties;
import org.arch.nacos.properties.NacosServiceProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.commons.util.InetUtils;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
import java.util.List;
import java.util.Optional;
import java.util.Properties;
@ConditionalOnProperty(prefix = "spring.cloud.nacos", name = "enable-register", havingValue = "true")
@Configuration
@EnableConfigurationProperties(NacosRegisterProperties.class)
public class NacosRegisterConfig {
@Autowired
private NacosRegisterProperties nacosRegisterProperties;
@Autowired
private NacosDiscoveryProperties nacosDiscoveryProperties;
@Autowired
private InetUtils inetUtils;
@Bean
public NamingService namingService() throws NacosException {
return new NacosNamingService(getNacosProperties());
}
@PostConstruct
public void init() throws NacosException {
List<NacosServiceProperties> registers = this.nacosRegisterProperties.getRegisters();
for (NacosServiceProperties register : registers) {
//将服务注册到注册中心
namingService().registerInstance(register.getServiceName(),
Optional.ofNullable(this.nacosDiscoveryProperties.getIp()).orElse(this.inetUtils.findFirstNonLoopbackAddress().getHostAddress()),
register.getPort());
}
}
private Properties getNacosProperties() {
Properties properties = new Properties();
properties.setProperty("serverAddr", this.nacosRegisterProperties.getDiscovery().getServerAddr());
properties.setProperty("username", this.nacosRegisterProperties.getDiscovery().getUsername());
properties.setProperty("password", this.nacosRegisterProperties.getDiscovery().getPassword());
properties.setProperty("namingLoadCacheAtStart", "false");
properties.setProperty("com.alibaba.nacos.naming.log.filename", "");
properties.setProperty("clusterName", "DEFAULT");
properties.setProperty("secretKey", "");
properties.setProperty("namespace", "");
properties.setProperty("accessKey", "");
properties.setProperty("endpoint", "");
properties.setProperty("namingRequestTimeout", "60000");
return properties;
}
}
package org.arch.nacos.constants;
public class Version {
public static final String V100 = "1.0.0";
public static final String V101 = "1.0.1";
public static final String V102 = "1.0.2";
public static final String V200 = "2.0.0";
public static final String V201 = "2.0.1";
public static final String V202 = "2.0.2";
public static final String V300 = "3.0.0";
public static final String V301 = "3.0.1";
public static final String V302 = "3.0.2";
}
package org.arch.nacos.properties;
import lombok.Data;
@Data
public class NacosDiscoveryProperties {
private String serverAddr;
private String username;
private String password;
}
package org.arch.nacos.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
@Data
@ConfigurationProperties(prefix = "nacos")
public class NacosProperties {
private String serverAddr;
private String username;
private String password;
private String namespace;
}
package org.arch.nacos.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import java.util.ArrayList;
import java.util.List;
@Data
@ConfigurationProperties(prefix = "spring.cloud.nacos")
public class NacosRegisterProperties {
private NacosDiscoveryProperties discovery = new NacosDiscoveryProperties();
private boolean enableRegister;
private List<NacosServiceProperties> registers = new ArrayList<>();
}
package org.arch.nacos.properties;
import lombok.Data;
@Data
public class NacosServiceProperties {
private String serviceName;
private Integer port;
}
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.arch.nacos.NacosRegisterConfig
\ No newline at end of file
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
<module>office</module> <module>office</module>
<module>attach</module> <module>attach</module>
<module>mybatis</module> <module>mybatis</module>
<module>nacos</module>
</modules> </modules>
<properties> <properties>
<maven.compiler.source>8</maven.compiler.source> <maven.compiler.source>8</maven.compiler.source>
...@@ -29,5 +30,4 @@ ...@@ -29,5 +30,4 @@
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
...@@ -17,17 +17,6 @@ ...@@ -17,17 +17,6 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>
<dependencies> <dependencies>
<!--(nacos统一配置中心管理依赖)-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.github.xiaoymin</groupId> <groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-gateway-spring-boot-starter</artifactId> <artifactId>knife4j-gateway-spring-boot-starter</artifactId>
...@@ -48,13 +37,11 @@ ...@@ -48,13 +37,11 @@
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId> <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency> </dependency>
<!--openfeign-->
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.arch</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId> <artifactId>nacos</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<!--jwt--> <!--jwt-->
<dependency> <dependency>
<groupId>com.auth0</groupId> <groupId>com.auth0</groupId>
......
package org.arch.config;//package com.it4it.config;
//
//import com.it4it.common.Constant;
//import com.it4it.service.RedisService;
//import com.sgcc.isc.ualogin.client.IscServiceTicketValidator;
//import com.sgcc.isc.ualogin.client.util.IscSSOResourceUtil;
//import com.sgcc.isc.ualogin.client.vo.IscSSOUserBean;
//import org.apache.commons.lang.StringUtils;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.core.Ordered;
//import org.xml.sax.SAXException;
//
//import javax.servlet.*;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import javax.xml.parsers.ParserConfigurationException;
//import java.io.IOException;
//import java.util.concurrent.atomic.AtomicReference;
//
////import org.apache.shiro.web.util.WebUtils;
//
////import javax.servlet.*;
//
///**
// * 全局跨域放开
// *
// * @author wliduo[i@dolyw.com]
// * @date 2019/11/26 14:29
// */
////@Component
//public class OriginFilter_ISC implements Filter, Ordered {
//
// /**
// * logger
// */
// private static final Logger logger = LoggerFactory.getLogger(OriginFilter_ISC.class);
//
// @Value("${isc.serviceValidate}")
// private String isc_serviceValidate;
//
// @Value("${isc.sso_front_home_url}")
// private String isc_sso_front_home_url;
//
//
// @Autowired
// private RedisService redisService;
//
// @Override
// public void init(FilterConfig filterConfig) throws ServletException {
// logger.info("初始化全局跨域放开...");
// }
//
// @Override
// public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
//
// logger.info("111:--进入isc过滤器。。。。。。。。。。。。。。。。。。。。。。。。。。。");
// // HttpServletRequest httpServletRequest = WebUtils.toHttp(request);
//// HttpServletResponse httpServletResponse = WebUtils.toHttp(response);
// HttpServletRequest httpServletRequest = (HttpServletRequest)request;
// HttpServletResponse httpServletResponse = (HttpServletResponse)response;
//
// httpServletResponse.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS,PUT,DELETE");
// httpServletResponse.setHeader("Access-Control-Max-Age", "3600");
// httpServletResponse.setHeader("Access-control-Allow-Origin", httpServletRequest.getHeader("Origin"));
// httpServletResponse.setHeader("Access-Control-Allow-Headers", httpServletRequest.getHeader("Access-Control-Request-Headers"));
//// try {
//// IscSSOUserBean userbean2= IscSSOResourceUtil.getIscUserBean(((HttpServletRequest) request).getSession());
//// } catch (Exception e1) {
//// // TODO Auto-generated catch block
//// e1.printStackTrace();
//// }
// String ticket= httpServletRequest.getHeader("ticket");
// String authon=httpServletRequest.getHeader("Authorization"); //Authorization
//// String authon=JwtUtil.getClaim(Authorization, Constant.ACCOUNT);
// String tkv=httpServletRequest.getHeader("tkv"); //每个接口的刷新token值
// String method=httpServletRequest.getMethod();
//
// String uRl=httpServletRequest.getRequestURI();
// String uRl2=httpServletRequest.getRequestURL().toString();
// String uRl3=httpServletRequest.getContextPath();
////
// String user ="";
// String userid="";
// String errorCode;
// String errorMessage ;
// String xmlResponse;
// //httpServletRequest.getParameter("ticket")
// if(uRl.contains("project/download/pdf")){
// filterChain.doFilter(request, response);
// return;
// }
//
//
// if(method.equals("OPTIONS")){
// filterChain.doFilter(request, response);
// return;
// }
//
// AtomicReference<Boolean> isTrue = new AtomicReference<>(false);
// AnonFilterChainDefinitionMap.anonUrlList.forEach((item)->{
// if(uRl.contains(item)){
// isTrue.set(true);
// }
// });
// if(isTrue.get()){
// filterChain.doFilter(request, response);
// }
//
// if(StringUtils.isNotBlank(authon)){
// if(StringUtils.isNotBlank(tkv)&&StringUtils.isNotBlank(uRl)){
// String tkval=redisService.get(Constant.PREFIX_SHIRO_REFRESH_TOKEN + authon+":"+uRl);
// if(tkv.equals(tkval)){
// httpServletResponse.sendError(555, "无效请求");
// filterChain.doFilter(request, response);
// return;
// }
// redisService.set(Constant.PREFIX_SHIRO_REFRESH_TOKEN + authon+":"+uRl, tkv);
// }
// filterChain.doFilter(request, response);
// return;
// }
//
// /*判断ticket是否存在,不存在重定向到统一认证客户端*/
// if(null == ticket || "".equals(ticket)){
//
//// /*重定向到统一认证服务端,service参数是业务系统LoginModule请求地址*/
//// httpServletResponse.sendRedirect("http://27.50.21.55:17001/isc_sso/login?service=http://10.138.91.158:8082");
// httpServletResponse.sendError(555, "ticket_check_fail");
// filterChain.doFilter(request, response);
//// httpServletResponse.setStatus(401, "ticket_check_fail");
// return;
// }else{
// /* ticket校验器 */
// IscServiceTicketValidator sv = new IscServiceTicketValidator();
//
//
// /*统一认证服务端校验器地址*/
// sv.setCasValidateUrl(isc_serviceValidate);
//// sv.setCasValidateUrl("http://27.50.21.55:17001/isc_sso/serviceValidate");
// /*业务系统LoginModule访问地址*/
// sv.setService(isc_sso_front_home_url);
//// sv.setService("http://10.138.91.158:8082/");
// /*设置Ticket*/
// sv.setServiceTicket(ticket);
//
// /*校验*/
// try {
// sv.validate();
// } catch (SAXException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (ParserConfigurationException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
//
// xmlResponse = sv.getResponse();
// if(sv.isAuthenticationSuccesful()) {
// user = sv.getUser();
// IscSSOUserBean iscSSOUserBean = null;
// try {
// /*获取当前用户登录信息*/
// iscSSOUserBean = IscSSOResourceUtil.transferIscUserBean(user);
// /*当前登录用户ID*/
// userid = iscSSOUserBean.getIscUserId();
// //***************获取用户部门组织信息
//// List<BusinessOrganization> org= orgs.getBusiOrgsByUserId(userid, "c3482d816eb24dbc8b644444dd0fb0db");
//// BusiOrgNode mode= orgs.getAllBusiOrgsById("36776AA83E554E5E8D4A93CC19DA2912");//36776AA83E554E5E8D4A93CC19DA2912
//// System.out.println(userid);
// //***************
// /*当前登录用户账号*/
// String loginName = iscSSOUserBean.getIscUserSourceId();
//// System.out.println(loginName);
// httpServletResponse.setHeader("iscUser", userid);
// logger.info("userinfo >>>>>>>>>>>> "+user);
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// } else {
// errorCode = sv.getErrorCode();
// errorMessage = sv.getErrorMessage();
// httpServletResponse.sendError(555, "ticket_check_fail");
// /* handle the error */
// logger.error("errorInfo -----------> "+errorCode +"\r\n"+errorMessage);
//// return;
// }
//
//
// }
//
//
//
//
//
// filterChain.doFilter(request, response);
// }
//
// @Override
// public void destroy() {
//
// }
//
//// @Override
//// public void destroy() { }
//
//
// @Override
// public int getOrder() {
// return 1;
// }
//
//
//}
package org.arch.config.fileFilter;//package com.eadc.config.fileFilter;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
//
///**
// * 注册文件上传拦截器(做文件上传安全漏洞扫描使用)
// *
// */
////@Configuration
//public class WebFileConfig implements WebMvcConfigurer {
//
// @Autowired
// private FileUploadInterceptor fileUploadInterceptor;
//
// @Override
// public void addInterceptors(InterceptorRegistry registry) {
// registry.addInterceptor(fileUploadInterceptor)
// .addPathPatterns("/upload/**"); // 指定需要拦截的路径模式
// }
//}
package org.arch.config.tszf;
import io.netty.buffer.ByteBufAllocator;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered;
import org.springframework.core.io.buffer.DataBuffer;
import org.springframework.core.io.buffer.DataBufferUtils;
import org.springframework.core.io.buffer.NettyDataBufferFactory;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.http.server.reactive.ServerHttpRequestDecorator;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import javax.validation.constraints.NotEmpty;
import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Optional;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
//@Component
@Slf4j
//@Order(3)
public class specialCharFilter implements GlobalFilter, Ordered {
private List<XssWhiteUrl> whiteUrls;
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
ServerHttpRequest request = exchange.getRequest();
URI uri = request.getURI();
String method = request.getMethodValue();
if (this.white(uri.getPath(), method)) {
return chain.filter(exchange);
}
if ((HttpMethod.POST.name().equals(method) || HttpMethod.PUT.name().equals(method))) {
return DataBufferUtils.join(request.getBody()).flatMap(d -> Mono.just(Optional.of(d))).defaultIfEmpty(Optional.empty())
.flatMap(optional -> {
// 取出body中的参数
String bodyString = "";
if (optional.isPresent()) {
byte[] oldBytes = new byte[optional.get().readableByteCount()];
optional.get().read(oldBytes);
bodyString = new String(oldBytes, StandardCharsets.UTF_8);
}
HttpHeaders httpHeaders = request.getHeaders();
// 执行特殊字符清理
log.info("{} - [{}] tszf处理前参数:{}", method, uri.getPath(), bodyString);
// bodyString = XssUtil.INSTANCE.cleanXss(bodyString);
bodyString = this.StringFilter(bodyString);
log.info("{} - [{}] tszf处理后参数:{}", method, uri.getPath(), bodyString);
ServerHttpRequest newRequest = request.mutate().uri(uri).build();
// 重新构造body
byte[] newBytes = bodyString.getBytes(StandardCharsets.UTF_8);
DataBuffer bodyDataBuffer = toDataBuffer(newBytes);
Flux<DataBuffer> bodyFlux = Flux.just(bodyDataBuffer);
// 重新构造header
HttpHeaders headers = new HttpHeaders();
headers.putAll(httpHeaders);
// 由于修改了传递参数,需要重新设置CONTENT_LENGTH,长度是字节长度,不是字符串长度
int length = newBytes.length;
headers.remove(HttpHeaders.CONTENT_LENGTH);
headers.setContentLength(length);
headers.set(HttpHeaders.CONTENT_TYPE, "application/json;charset=utf8");
// 重写ServerHttpRequestDecorator,修改了body和header,重写getBody和getHeaders方法
newRequest = new ServerHttpRequestDecorator(newRequest) {
@Override
public Flux<DataBuffer> getBody() {
return bodyFlux;
}
@Override
public HttpHeaders getHeaders() {
return headers;
}
};
return chain.filter(exchange.mutate().request(newRequest).build());
});
} else {
return chain.filter(exchange);
}
}
private String StringFilter(String str) throws PatternSyntaxException {
// 只允许字母和数字
// String regEx = "[^a-zA-Z0-9]";
// 清除掉所有特殊字符
String regEx = "[`~!@#$%^&*()+=|{}':;',//[//].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}
/**
* 是否是白名单
*
* @param url 路由
* @param method 请求方式
* @return true/false
*/
private boolean white(String url, String method) {
return whiteUrls != null && whiteUrls.contains(XssWhiteUrl.builder().url(url).method(method).build());
}
/**
* 字节数组转DataBuffer
*
* @param bytes 字节数组
* @return DataBuffer
*/
private DataBuffer toDataBuffer(byte[] bytes) {
NettyDataBufferFactory nettyDataBufferFactory = new NettyDataBufferFactory(ByteBufAllocator.DEFAULT);
DataBuffer buffer = nettyDataBufferFactory.allocateBuffer(bytes.length);
buffer.write(bytes);
return buffer;
}
@Override
public int getOrder() {
return 0;
}
@Data
@Validated
@AllArgsConstructor
@NoArgsConstructor
@Builder
private static class XssWhiteUrl {
@NotEmpty
private String url;
@NotEmpty
private String method;
}
}
...@@ -17,8 +17,6 @@ spring: ...@@ -17,8 +17,6 @@ spring:
namespace: ${nacos.namespace} namespace: ${nacos.namespace}
# 公共配置 # 公共配置
shared-configs: shared-configs:
# - data-id: common-isc.${nacos.file-extension}
# refresh: true
- data-id: common-redis.${nacos.file-extension} - data-id: common-redis.${nacos.file-extension}
refresh: true refresh: true
- data-id: common-gateway.${nacos.file-extension} - data-id: common-gateway.${nacos.file-extension}
......
...@@ -16,51 +16,19 @@ ...@@ -16,51 +16,19 @@
<maven.compiler.target>8</maven.compiler.target> <maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.arch</groupId> <groupId>org.arch</groupId>
<artifactId>arch-base</artifactId> <artifactId>nacos</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<!--(nacos统一配置中心管理依赖)-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.hutool</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>hutool-all</artifactId> <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency>
<groupId>com.github.yulichang</groupId>
<artifactId>mybatis-plus-join-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<!-- mybatis-plus-extension -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
</dependency>
<dependency>
<groupId>org.arch</groupId>
<artifactId>mybatis</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.arch</groupId> <groupId>org.arch</groupId>
...@@ -68,5 +36,41 @@ ...@@ -68,5 +36,41 @@
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
</dependencies> </dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
</project> </project>
\ No newline at end of file
package org.arch.modules.design; package org.arch.modules;
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableAsync @SpringBootApplication(exclude= MybatisPlusAutoConfiguration.class)
@SpringBootApplication
@EnableDiscoveryClient @EnableDiscoveryClient
@EnableScheduling @MapperScan(basePackages = {"org.arch.*.mapper","org.arch.**.mapper"})
@EnableTransactionManagement
public class ArchOverallApp { public class ArchOverallApp {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(ArchOverallApp.class, args); SpringApplication.run(ArchOverallApp.class, args);
......
...@@ -5,8 +5,8 @@ import io.swagger.annotations.Api; ...@@ -5,8 +5,8 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.arch.Result; import org.arch.Result;
import org.arch.logenum.LogOperTypeEnum; import org.arch.log.logenum.LogOperTypeEnum;
import org.arch.logenum.LogTypeEnum; import org.arch.log.logenum.LogTypeEnum;
import org.arch.modules.archoverall.dto.BatchUpdateDTO; import org.arch.modules.archoverall.dto.BatchUpdateDTO;
import org.arch.modules.archoverall.dto.ArchiElementDTO; import org.arch.modules.archoverall.dto.ArchiElementDTO;
import org.arch.modules.design.entity.ArchiElement; import org.arch.modules.design.entity.ArchiElement;
...@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.PostMapping; ...@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.arch.annotation.OperLog; import org.arch.log.annotation.OperLog;
@Api(tags = {"元素管理"}) @Api(tags = {"元素管理"})
@RestController @RestController
......
...@@ -3,13 +3,11 @@ package org.arch.modules.design.mapper; ...@@ -3,13 +3,11 @@ package org.arch.modules.design.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.base.MPJBaseMapper; import com.github.yulichang.base.MPJBaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.arch.modules.archoverall.dto.ArchiElementDTO; import org.arch.modules.archoverall.dto.ArchiElementDTO;
import org.arch.modules.design.entity.ArchiElement; import org.arch.modules.design.entity.ArchiElement;
import java.util.List; import java.util.List;
@Mapper
public interface ArchiElementMapper extends MPJBaseMapper<ArchiElement> { public interface ArchiElementMapper extends MPJBaseMapper<ArchiElement> {
/** /**
......
...@@ -18,10 +18,10 @@ import org.arch.modules.design.entity.ArchiElement; ...@@ -18,10 +18,10 @@ import org.arch.modules.design.entity.ArchiElement;
import org.arch.modules.design.service.ArchiElementService; import org.arch.modules.design.service.ArchiElementService;
import org.arch.modules.design.mapper.ArchiElementMapper; import org.arch.modules.design.mapper.ArchiElementMapper;
import org.arch.utils.VersionUtil; import org.arch.utils.VersionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -29,11 +29,11 @@ import java.util.Objects; ...@@ -29,11 +29,11 @@ import java.util.Objects;
@Service @Service
public class ArchiElementImpl extends ServiceImpl<ArchiElementMapper, ArchiElement> implements ArchiElementService { public class ArchiElementImpl extends ServiceImpl<ArchiElementMapper, ArchiElement> implements ArchiElementService {
@Resource @Autowired
private ArchiElementMapper archiElementMapper; private ArchiElementMapper archiElementMapper;
@Resource @Autowired
private ArchiElePropertyMapper archiElePropertyMapper; private ArchiElePropertyMapper archiElePropertyMapper;
@Override @Autowired
public IPage<ArchiElement> gtArchiElement(ArchiElementDTO dto) { public IPage<ArchiElement> gtArchiElement(ArchiElementDTO dto) {
return archiElementMapper.gtArchiElement(dto, PageDTO.of(dto.getCurrent(), dto.getPageSize())); return archiElementMapper.gtArchiElement(dto, PageDTO.of(dto.getCurrent(), dto.getPageSize()));
} }
......
server: server:
port: 17003 port: 17003
nacos: nacos:
server-addr: 192.168.0.200:18848 server-addr: 192.168.0.210:18848
username: nacos username: nacos
password: nacos password: nacos
namespace: ${NAMESPACE:public} namespace: ${NAMESPACE:public}
...@@ -27,8 +27,6 @@ spring: ...@@ -27,8 +27,6 @@ spring:
refresh: true refresh: true
- data-id: common-mybatis.${nacos.file-extension} - data-id: common-mybatis.${nacos.file-extension}
refresh: true refresh: true
- data-id: common-isc.${nacos.file-extension}
refresh: true
- data-id: common-redis.${nacos.file-extension} - data-id: common-redis.${nacos.file-extension}
refresh: true refresh: true
discovery: discovery:
......
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
...@@ -16,5 +16,12 @@ ...@@ -16,5 +16,12 @@
<maven.compiler.target>8</maven.compiler.target> <maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>
<dependencies>
<dependency>
<groupId>org.arch</groupId>
<artifactId>log</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project> </project>
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!