Commit baff664e by lanmw

update gitignore

parent 175a48ca
<?xml version="1.0" encoding="UTF-8"?> <?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" <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"> 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> <modelVersion>4.0.0</modelVersion>
<groupId>com.keymobile</groupId> <groupId>com.keymobile</groupId>
<artifactId>tagManager</artifactId> <artifactId>tagManager</artifactId>
<version>1.0.2-SNAPSHOT</version> <version>1.0.2-SNAPSHOT</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>tagManager</name> <name>tagManager</name>
<description>tagManager</description> <description>tagManager</description>
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version> <version>2.0.4.RELEASE</version>
<relativePath /> <!-- lookup parent from repository --> <relativePath /> <!-- lookup parent from repository -->
</parent> </parent>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<docker.image.prefix>springio</docker.image.prefix> <docker.image.prefix>springio</docker.image.prefix>
<druid.version>1.0.29</druid.version> <druid.version>1.0.29</druid.version>
<fastjson.version>1.2.30</fastjson.version> <fastjson.version>1.2.30</fastjson.version>
<spring-cloud.version>Finchley.RELEASE</spring-cloud.version> <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
</properties> </properties>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId> <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency> </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>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId> <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId> <artifactId>commons-lang3</artifactId>
<version>3.7</version> <version>3.7</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId> <artifactId>springfox-swagger2</artifactId>
<version>2.5.0</version> <version>2.5.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId> <artifactId>springfox-swagger-ui</artifactId>
<version>2.5.0</version> <version>2.5.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId> <artifactId>fastjson</artifactId>
<version>${fastjson.version}</version> <version>${fastjson.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId> <artifactId>spring-boot-configuration-processor</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId> <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId> <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.session</groupId> <groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId> <artifactId>spring-session-data-redis</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId> <artifactId>spring-boot-starter-security</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId> <artifactId>spring-cloud-config-client</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dom4j</groupId> <groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId> <artifactId>dom4j</artifactId>
<version>2.1.0</version> <version>2.1.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.google.guava</groupId> <groupId>com.google.guava</groupId>
<artifactId>guava</artifactId> <artifactId>guava</artifactId>
<version>20.0</version> <version>20.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId> <artifactId>spring-boot-starter-amqp</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.elasticsearch.plugin</groupId> <groupId>org.elasticsearch.plugin</groupId>
<artifactId>transport-netty4-client</artifactId> <artifactId>transport-netty4-client</artifactId>
<version>${elasticsearch.version}</version> <version>${elasticsearch.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.elasticsearch.client</groupId> <groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId> <artifactId>transport</artifactId>
<version>${elasticsearch.version}</version> <version>${elasticsearch.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.antlr</groupId> <groupId>org.antlr</groupId>
<artifactId>antlr4-runtime</artifactId> <artifactId>antlr4-runtime</artifactId>
<version>4.7</version> <version>4.7</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId> <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.sourceforge.javacsv</groupId> <groupId>net.sourceforge.javacsv</groupId>
<artifactId>javacsv</artifactId> <artifactId>javacsv</artifactId>
<version>2.0</version> <version>2.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>redis.clients</groupId> <groupId>redis.clients</groupId>
<artifactId>jedis</artifactId> <artifactId>jedis</artifactId>
<version>2.9.0</version> <version>2.9.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version> <version>5.1.6</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.kakawait</groupId> <groupId>com.kakawait</groupId>
<artifactId>cas-security-spring-boot-starter</artifactId> <artifactId>cas-security-spring-boot-starter</artifactId>
<version>1.0.0-beta-1</version> <version>1.0.0-beta-1</version>
</dependency> </dependency>
</dependencies> </dependencies>
<dependencyManagement> <dependencyManagement>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId> <artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version> <version>${spring-cloud.version}</version>
<type>pom</type> <type>pom</type>
<scope>import</scope> <scope>import</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.security</groupId> <groupId>org.springframework.security</groupId>
<artifactId>spring-security-bom</artifactId> <artifactId>spring-security-bom</artifactId>
<version>${spring-security.version}</version> <version>${spring-security.version}</version>
<type>pom</type> <type>pom</type>
<scope>import</scope> <scope>import</scope>
</dependency> </dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
<build> <build>
<resources> <resources>
<resource> <resource>
<directory>lib</directory> <directory>lib</directory>
<targetPath>BOOT-INF/lib/</targetPath> <targetPath>BOOT-INF/lib/</targetPath>
<includes> <includes>
<include>**/*.jar</include> <include>**/*.jar</include>
</includes> </includes>
</resource> </resource>
<resource> <resource>
<directory>src/main/resources</directory> <directory>src/main/resources</directory>
<includes> <includes>
<include>*.yml</include> <include>*.yml</include>
<include>**/*.xml</include> <include>**/*.xml</include>
</includes> </includes>
</resource> </resource>
</resources> </resources>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
</plugin> </plugin>
<plugin> <plugin>
<groupId>com.spotify</groupId> <groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId> <artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version> <version>0.4.13</version>
<configuration> <configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName> <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<dockerDirectory>src/main/docker</dockerDirectory> <dockerDirectory>src/main/docker</dockerDirectory>
<resources> <resources>
<resource> <resource>
<targetPath>/</targetPath> <targetPath>/</targetPath>
<directory>${project.build.directory}</directory> <directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include> <include>${project.build.finalName}.jar</include>
</resource> </resource>
</resources> </resources>
</configuration> </configuration>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
<repositories> <repositories>
<repository> <repository>
<id>spring-milestones</id> <id>spring-milestones</id>
<name>Spring Milestones</name> <name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url> <url>https://repo.spring.io/milestone</url>
<snapshots> <snapshots>
<enabled>false</enabled> <enabled>false</enabled>
</snapshots> </snapshots>
</repository> </repository>
<repository> <repository>
<id>jboss-public-repository-group</id> <id>jboss-public-repository-group</id>
<name>JBoss Public Maven Repository Group</name> <name>JBoss Public Maven Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public/</url> <url>http://repository.jboss.org/nexus/content/groups/public/</url>
<layout>default</layout> <layout>default</layout>
<releases> <releases>
<enabled>true</enabled> <enabled>true</enabled>
<updatePolicy>never</updatePolicy> <updatePolicy>never</updatePolicy>
</releases> </releases>
<snapshots> <snapshots>
<enabled>true</enabled> <enabled>true</enabled>
<updatePolicy>never</updatePolicy> <updatePolicy>never</updatePolicy>
</snapshots> </snapshots>
</repository> </repository>
<repository> <repository>
<id>jboss-developer-repository-group</id> <id>jboss-developer-repository-group</id>
<name>JBoss Developer Maven Repository Group</name> <name>JBoss Developer Maven Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/developer/</url> <url>http://repository.jboss.org/nexus/content/groups/developer/</url>
<layout>default</layout> <layout>default</layout>
<releases> <releases>
<enabled>true</enabled> <enabled>true</enabled>
<updatePolicy>never</updatePolicy> <updatePolicy>never</updatePolicy>
</releases> </releases>
<snapshots> <snapshots>
<enabled>true</enabled> <enabled>true</enabled>
<updatePolicy>never</updatePolicy> <updatePolicy>never</updatePolicy>
</snapshots> </snapshots>
</repository> </repository>
<repository> <repository>
<id>thirdparty-uploads</id> <id>thirdparty-uploads</id>
<name>JBoss Third Party Uploads</name> <name>JBoss Third Party Uploads</name>
<url>https://repository.jboss.org/nexus/content/repositories/thirdparty-uploads/</url> <url>https://repository.jboss.org/nexus/content/repositories/thirdparty-uploads/</url>
<layout>default</layout> <layout>default</layout>
<releases> <releases>
<enabled>true</enabled> <enabled>true</enabled>
<updatePolicy>never</updatePolicy> <updatePolicy>never</updatePolicy>
</releases> </releases>
<snapshots> <snapshots>
<enabled>false</enabled> <enabled>false</enabled>
</snapshots> </snapshots>
</repository> </repository>
</repositories> </repositories>
</project> </project>
...@@ -13,6 +13,7 @@ import org.springframework.scheduling.annotation.EnableAsync; ...@@ -13,6 +13,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
public class TagManagerApplication { public class TagManagerApplication {
public static void main(String[] args) { public static void main(String[] args) {
System.out.println();
System.setProperty("es.set.netty.runtime.available.processors", "false"); System.setProperty("es.set.netty.runtime.available.processors", "false");
SpringApplication.run(TagManagerApplication.class, args); SpringApplication.run(TagManagerApplication.class, args);
} }
......
package com.keymobile.tagmanager.api; package com.keymobile.tagmanager.api;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; 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.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.keymobile.tagmanager.model.Page; import com.keymobile.tagmanager.model.Page;
import com.keymobile.tagmanager.model.Tag; import com.keymobile.tagmanager.model.Tag;
import com.keymobile.tagmanager.service.TagService; import com.keymobile.tagmanager.service.TagService;
import com.keymobile.tagmanager.util.Constants; import com.keymobile.tagmanager.util.Constants;
import com.keymobile.tagmanager.util.JsonTreeHelper.JsonNode; import com.keymobile.tagmanager.util.JsonTreeHelper.JsonNode;
import com.keymobile.tagmanager.util.UserInfoUtils; import com.keymobile.tagmanager.util.UserInfoUtils;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@Api(value = "标签相关", tags = "标签相关") @Api(value = "标签相关", tags = "标签相关")
@RestController @RestController
@RequestMapping(value = "/tagCtrl") @RequestMapping(value = "/tagCtrl")
//@PreAuthorize("principal.authorities.?[authority.startsWith('ROLE_tagmanager_operator')].size() > 0") //@PreAuthorize("principal.authorities.?[authority.startsWith('ROLE_tagmanager_operator')].size() > 0")
public class TagCtrl { public class TagCtrl {
@Autowired @Autowired
private TagService tagService; private TagService tagService;
@ApiOperation(value = "新增或更新标签", notes = "新增或更新标签") @ApiOperation(value = "新增或更新标签", notes = "新增或更新标签")
@PostMapping(value = "/addOrUpdateTag") @PostMapping(value = "/addOrUpdateTag")
public Tag addTag(@RequestParam(value = "parentId", required = false) String parentId, public Tag addTag(@RequestParam(value = "parentId", required = false) String parentId,
@RequestBody Tag tag) throws Exception { @RequestBody Tag tag) throws Exception {
String userName = UserInfoUtils.getUserName(); String userName = UserInfoUtils.getUserName();
tag.setCreator(userName); tag.setCreator(userName);
return tagService.addOrUpdateTag(parentId, tag); return tagService.addOrUpdateTag(parentId, tag);
} }
// @PreAuthorize("principal.authorities.?[authority.startsWith('ROLE_tagmanager_admin')].size() > 0") // @PreAuthorize("principal.authorities.?[authority.startsWith('ROLE_tagmanager_admin')].size() > 0")
@ApiOperation(value = "查询系统标签树", notes = "查询系统标签树") @ApiOperation(value = "查询系统标签树", notes = "查询系统标签树")
@PostMapping(value = "/querySystemTagAsTree") @PostMapping(value = "/querySystemTagAsTree")
public JsonNode[] querySystemTagAsTree(@RequestParam(value = "parentId", required = false) String parentId) throws Exception { public JsonNode[] querySystemTagAsTree(@RequestParam(value = "parentId", required = false) String parentId) throws Exception {
String userName = UserInfoUtils.getUserName(); String userName = UserInfoUtils.getUserName();
return tagService.queryTagAsTreeByTagType(Constants.TAG_SYSTEM_TYPE, parentId, userName); return tagService.queryTagAsTreeByTagType(Constants.TAG_SYSTEM_TYPE, parentId, userName);
} }
@ApiOperation(value = "查询个人标签树", notes = "查询个人标签树") @ApiOperation(value = "查询个人标签树", notes = "查询个人标签树")
@PostMapping(value = "/queryPersonalTagAsTree") @PostMapping(value = "/queryPersonalTagAsTree")
public JsonNode[] queryPersonalTagAsTree(@RequestParam(value = "parentId", required = false) String parentId) throws Exception { public JsonNode[] queryPersonalTagAsTree(@RequestParam(value = "parentId", required = false) String parentId) throws Exception {
String userName = UserInfoUtils.getUserName(); String userName = UserInfoUtils.getUserName();
return tagService.queryTagAsTreeByTagType(Constants.TAG_PERSONAL_TYPE, parentId, userName); return tagService.queryTagAsTreeByTagType(Constants.TAG_PERSONAL_TYPE, parentId, userName);
} }
@ApiOperation(value = "搜索系統标签", notes = "搜索系統标签") @ApiOperation(value = "搜索系統标签", notes = "搜索系統标签")
@PostMapping(value = "/searchSystemTagByPage") @PostMapping(value = "/searchSystemTagByPage")
public Page searchSystemTagByPage(@RequestParam(required = false, value = "keyword") String keyword, public Page searchSystemTagByPage(@RequestParam(required = false, value = "keyword") String keyword,
@RequestParam(required = false, value = "domain") Integer domain, @RequestParam(required = false, value = "domain") Integer domain,
@RequestParam("pageNo") Integer pageNo, @RequestParam("pageNo") Integer pageNo,
@RequestParam("pageSize") Integer pageSize) throws Exception { @RequestParam("pageSize") Integer pageSize) throws Exception {
String userName = UserInfoUtils.getUserName(); String userName = UserInfoUtils.getUserName();
return tagService.searchSystemTagByPage(userName, keyword, domain, new Page(pageSize, pageNo)); return tagService.searchSystemTagByPage(userName, keyword, domain, new Page(pageSize, pageNo));
} }
@ApiOperation(value = "搜索个人标签", notes = "搜索个人标签") @ApiOperation(value = "搜索个人标签", notes = "搜索个人标签")
@PostMapping(value = "/searchPersonalTagByPage") @PostMapping(value = "/searchPersonalTagByPage")
public Page searchPersonalTagByPage(@RequestParam(required = false, value = "keyword") String keyword, public Page searchPersonalTagByPage(@RequestParam(required = false, value = "keyword") String keyword,
@RequestParam(required = false , value = "domain") Integer domain, @RequestParam(required = false , value = "domain") Integer domain,
@RequestParam("pageNo") Integer pageNo, @RequestParam("pageNo") Integer pageNo,
@RequestParam("pageSize") Integer pageSize) throws Exception { @RequestParam("pageSize") Integer pageSize) throws Exception {
String userName = UserInfoUtils.getUserName(); String userName = UserInfoUtils.getUserName();
return tagService.searchPersonalTagByPage(userName, keyword, domain, new Page(pageSize, pageNo)); return tagService.searchPersonalTagByPage(userName, keyword, domain, new Page(pageSize, pageNo));
} }
} }
package com.keymobile.tagmanager.config; package com.keymobile.tagmanager.config;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import feign.auth.BasicAuthRequestInterceptor; import feign.auth.BasicAuthRequestInterceptor;
@Configuration @Configuration
public class FeignClientConfig { public class FeignClientConfig {
@Value("${security.authUser}") @Value("${security.authUser}")
private String authUser; private String authUser;
@Value("${security.authPwd}") @Value("${security.authPwd}")
private String authPwd; private String authPwd;
@Bean @Bean
public BasicAuthRequestInterceptor getBasicAuthRequestInterceptor() { public BasicAuthRequestInterceptor getBasicAuthRequestInterceptor() {
return new BasicAuthRequestInterceptor(authUser, authPwd); return new BasicAuthRequestInterceptor(authUser, authPwd);
} }
} }
\ No newline at end of file
package com.keymobile.tagmanager.enums; package com.keymobile.tagmanager.enums;
public enum TagType { public enum TagType {
SYSTEM("0", "系统标签"), PERSONAL("1", "个人标签"); SYSTEM("0", "系统标签"), PERSONAL("1", "个人标签");
private String code; private String code;
private String desc; private String desc;
TagType(String code, String desc) { TagType(String code, String desc) {
this.code = code; this.code = code;
this.desc = desc; this.desc = desc;
} }
public String getDesc() { public String getDesc() {
return desc; return desc;
} }
public String getCode() { public String getCode() {
return code; return code;
} }
public static String getTypeByCode(String code) { public static String getTypeByCode(String code) {
for (TagType tagType : TagType.values()) { for (TagType tagType : TagType.values()) {
if (tagType.getCode().equals(code)) return tagType.getDesc(); if (tagType.getCode().equals(code)) return tagType.getDesc();
} }
return ""; return "";
} }
} }
package com.keymobile.tagmanager.exception; package com.keymobile.tagmanager.exception;
public class PrivilegeException extends Exception{ public class PrivilegeException extends Exception{
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public PrivilegeException(String errorMsg) { public PrivilegeException(String errorMsg) {
super(errorMsg); super(errorMsg);
} }
public PrivilegeException(String errorMsg, Throwable cause) { public PrivilegeException(String errorMsg, Throwable cause) {
super(errorMsg, cause); super(errorMsg, cause);
} }
} }
package com.keymobile.tagmanager.util; package com.keymobile.tagmanager.util;
public final class Constants { public final class Constants {
private Constants() {}; private Constants() {};
public static final Integer TABLEMODEL_PUBLISH_TYPE_ENABLE = 1; public static final Integer TABLEMODEL_PUBLISH_TYPE_ENABLE = 1;
public static final Integer TABLEMODEL_PUBLISH_TYPE_DISABLE = 2; public static final Integer TABLEMODEL_PUBLISH_TYPE_DISABLE = 2;
public static final Integer TABLEMODEL_PUBLISH_TYPE_INIT = 0; public static final Integer TABLEMODEL_PUBLISH_TYPE_INIT = 0;
public static final Integer TABLEMODEL_PREVIEW_STATUS_INIT = 0; public static final Integer TABLEMODEL_PREVIEW_STATUS_INIT = 0;
public static final Integer TABLEMODEL_PREVIEW_STATUS_SUCCESS = 1; public static final Integer TABLEMODEL_PREVIEW_STATUS_SUCCESS = 1;
public static final Integer TABLEMODEL_PREVIEW_STATUS_RUNNING = 2; public static final Integer TABLEMODEL_PREVIEW_STATUS_RUNNING = 2;
public static final Integer TABLEMODEL_PREVIEW_STATUS_FAIL = 3; public static final Integer TABLEMODEL_PREVIEW_STATUS_FAIL = 3;
public static final Integer TABLEMODEL_PREVIEW_SAMPLE_COUNT = 20; public static final Integer TABLEMODEL_PREVIEW_SAMPLE_COUNT = 20;
public static final String TABLEMODEL_REDIS_KEY = "tableModel"; public static final String TABLEMODEL_REDIS_KEY = "tableModel";
public static final String TABLEMODEL_HOTWORD_REDIS_TIME = "tableModel_hotword_time"; public static final String TABLEMODEL_HOTWORD_REDIS_TIME = "tableModel_hotword_time";
public static final String TABLEMODEL_HOTWORD_REDIS_KEY = "tableModel_hotword_key"; public static final String TABLEMODEL_HOTWORD_REDIS_KEY = "tableModel_hotword_key";
public static final String TABLEMODEL_DATABASE_REDIS_KEY = "database_key"; public static final String TABLEMODEL_DATABASE_REDIS_KEY = "database_key";
public static final String TABLEMODEL_USERDOMAIN_REDIS_KEY = "userDomain_key"; public static final String TABLEMODEL_USERDOMAIN_REDIS_KEY = "userDomain_key";
public static final String TABLEMODEL_USERROLE_REDIS_KEY = "userRole_key"; public static final String TABLEMODEL_USERROLE_REDIS_KEY = "userRole_key";
public static final long TABLEMODEL_REDIS_EXPIRE_TIME = 1000 * 60 * 60 * 24 * 1l;// 1 day public static final long TABLEMODEL_REDIS_EXPIRE_TIME = 1000 * 60 * 60 * 24 * 1l;// 1 day
public static final long DATABASE_REDIS_EXPIRE_TIME = 1000 * 60 * 5l; //5 minute public static final long DATABASE_REDIS_EXPIRE_TIME = 1000 * 60 * 5l; //5 minute
public static final long USERDOMAIN_REDIS_EXPIRE_TIME = 1000 * 60 * 3l; //3 minute public static final long USERDOMAIN_REDIS_EXPIRE_TIME = 1000 * 60 * 3l; //3 minute
public static final long USERROLE_REDIS_EXPIRE_TIME = 1000 * 60 * 3l; //3 minute public static final long USERROLE_REDIS_EXPIRE_TIME = 1000 * 60 * 3l; //3 minute
public static final String TABLEMODEL_INNERTYPE_SIMPLE = "simple"; public static final String TABLEMODEL_INNERTYPE_SIMPLE = "simple";
public static final String TABLEMODEL_INNERTYPE_VIEW = "view"; public static final String TABLEMODEL_INNERTYPE_VIEW = "view";
public static final String TABLEMODEL_INNERTYPE_QUICK = "quick"; public static final String TABLEMODEL_INNERTYPE_QUICK = "quick";
public static final String TABLEMODEL_DBTYPE_HANAVIEW = "HanaView"; public static final String TABLEMODEL_DBTYPE_HANAVIEW = "HanaView";
public static final String TABLEMODEL_DBTYPE_TABLE = "Table"; public static final String TABLEMODEL_DBTYPE_TABLE = "Table";
public static final String DIR_ROOT_NODE_ID = "002c4155d13149a092129382e89a413f"; public static final String DIR_ROOT_NODE_ID = "002c4155d13149a092129382e89a413f";
public static final String TAG_PERSONAL_TYPE = "1"; public static final String TAG_PERSONAL_TYPE = "1";
public static final String TAG_SYSTEM_TYPE = "0"; public static final String TAG_SYSTEM_TYPE = "0";
public static final String TAG_PATH_SEPARATOR = ","; public static final String TAG_PATH_SEPARATOR = ",";
public static final String TAG_OPEN_STATUS = "1"; public static final String TAG_OPEN_STATUS = "1";
public static final String TAG_CLOSE_STATUS = "0"; public static final String TAG_CLOSE_STATUS = "0";
public static final String PROCESS_AUDITSTATUS_APPLYING = "applying"; public static final String PROCESS_AUDITSTATUS_APPLYING = "applying";
public static final String PROCESS_AUDITSTATUS_APPROVE = "approve"; public static final String PROCESS_AUDITSTATUS_APPROVE = "approve";
public static final String PROCESS_AUDITSTATUS_REJECT = "reject"; public static final String PROCESS_AUDITSTATUS_REJECT = "reject";
public static final String PRIVILEGE_EXPIRE_TIME_STR = "3000-01-01"; public static final String PRIVILEGE_EXPIRE_TIME_STR = "3000-01-01";
public static final String REDIS_OPERATYPE_ADD = "add"; public static final String REDIS_OPERATYPE_ADD = "add";
public static final String REDIS_OPERATYPE_DELETE = "delete"; public static final String REDIS_OPERATYPE_DELETE = "delete";
public static final String REDIS_OPERATYPE_UPDATE = "update"; public static final String REDIS_OPERATYPE_UPDATE = "update";
public static final String REDIS_OPERATYPE_FIND = "find"; public static final String REDIS_OPERATYPE_FIND = "find";
public static final String MQ_METADATA_CREATE = "metadataCreate"; public static final String MQ_METADATA_CREATE = "metadataCreate";
public static final String MQ_METADATA_UPDATE = "metadataUpdate"; public static final String MQ_METADATA_UPDATE = "metadataUpdate";
public static final String MQ_METADATA_DELETE = "metadataDelete"; public static final String MQ_METADATA_DELETE = "metadataDelete";
public static final String MQ_DATACATALOG_CREATE = "dataCatalogCreate"; public static final String MQ_DATACATALOG_CREATE = "dataCatalogCreate";
public static final String MQ_DATACATALOG_DELETE = "dataCatalogDelete"; public static final String MQ_DATACATALOG_DELETE = "dataCatalogDelete";
public static final String MQ_DATACATALOG_SAMPLE_CREATE = "dataCatalogSampleCreate"; public static final String MQ_DATACATALOG_SAMPLE_CREATE = "dataCatalogSampleCreate";
public static final String MQ_DATACATALOG_ONCATALOG = "dataCatalogOnCatalog"; public static final String MQ_DATACATALOG_ONCATALOG = "dataCatalogOnCatalog";
public static final String MQ_DATACATALOG_OFFCATALOG = "dataCatalogOffCatalog"; public static final String MQ_DATACATALOG_OFFCATALOG = "dataCatalogOffCatalog";
public static final String MQ_DATACATALOG_MODIFY = "dataCatalogModify"; public static final String MQ_DATACATALOG_MODIFY = "dataCatalogModify";
public static final String MQ_DATACATALOG_TYPE_KEY = "type"; public static final String MQ_DATACATALOG_TYPE_KEY = "type";
public static final String MQ_DATACATALOG_TIMESTAMP_KEY = "timestamp"; public static final String MQ_DATACATALOG_TIMESTAMP_KEY = "timestamp";
public static final String MQ_DATACATALOG_CONTENT_KEY = "content"; public static final String MQ_DATACATALOG_CONTENT_KEY = "content";
public static final String OPELOG_DAY_RESOURCE_VISIT_REDIS_KEY = "dailyResourceVisitState"; public static final String OPELOG_DAY_RESOURCE_VISIT_REDIS_KEY = "dailyResourceVisitState";
public static final String OPELOG_MONTH_RESOUCE_VISIT_REDIS_KEY = "monthlyResourceVisitState"; public static final String OPELOG_MONTH_RESOUCE_VISIT_REDIS_KEY = "monthlyResourceVisitState";
public static final String OPELOG_DAY_USER_VISIT_REDIS_KEY = "dailyUserVisitState"; public static final String OPELOG_DAY_USER_VISIT_REDIS_KEY = "dailyUserVisitState";
public static final String OPELOG_MONTH_TOPVISIT_USER_REDIS_KEY = "monthlyTopVisitUserState"; public static final String OPELOG_MONTH_TOPVISIT_USER_REDIS_KEY = "monthlyTopVisitUserState";
public static final String ORG_QUERY_SQL = "select SPP_ID, SUBSPP_TYPE, SUBSPP_NAM, SUBSPP_ID FROM DIM_SUBSPP"; public static final String ORG_QUERY_SQL = "select SPP_ID, SUBSPP_TYPE, SUBSPP_NAM, SUBSPP_ID FROM DIM_SUBSPP";
} }
package com.keymobile.tagmanager.util; package com.keymobile.tagmanager.util;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import org.bson.Document; import org.bson.Document;
import org.bson.types.ObjectId; import org.bson.types.ObjectId;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Order; import org.springframework.data.domain.Sort.Order;
import org.springframework.data.mongodb.core.query.BasicQuery; import org.springframework.data.mongodb.core.query.BasicQuery;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import com.keymobile.tagmanager.model.Page; import com.keymobile.tagmanager.model.Page;
public class MongoOperationsUtil { public class MongoOperationsUtil {
private static final String splitMarker = "::"; private static final String splitMarker = "::";
public static Query createQueryWithSpecifiedField(Map<String, Object> condition, List<String> specifields) { public static Query createQueryWithSpecifiedField(Map<String, Object> condition, List<String> specifields) {
Document fieldsObject = new Document(); Document fieldsObject = new Document();
specifields.forEach(field -> fieldsObject.put(field, 1)); specifields.forEach(field -> fieldsObject.put(field, 1));
Document dbObject = new Document(); Document dbObject = new Document();
condition.forEach((k, v) -> { condition.forEach((k, v) -> {
dbObject.put(k, v); dbObject.put(k, v);
}); });
return new BasicQuery(dbObject, fieldsObject); return new BasicQuery(dbObject, fieldsObject);
} }
public static Query createQueryWithSpecifiedField(Map<String, Object> condition, List<String> specifields, Page page) { public static Query createQueryWithSpecifiedField(Map<String, Object> condition, List<String> specifields, Page page) {
return createQueryWithSpecifiedField(condition, specifields, page, new ArrayList<>()); return createQueryWithSpecifiedField(condition, specifields, page, new ArrayList<>());
} }
public static Query createBasicQuery(Map<String, Object> condition,List<String> specifields) { public static Query createBasicQuery(Map<String, Object> condition,List<String> specifields) {
Document fieldsObject = new Document(); Document fieldsObject = new Document();
specifields.forEach(field -> fieldsObject.put(field, 1)); specifields.forEach(field -> fieldsObject.put(field, 1));
Document dbObject = new Document(); Document dbObject = new Document();
condition.forEach((k, v) -> { condition.forEach((k, v) -> {
dbObject.put(k, v); dbObject.put(k, v);
}); });
return new BasicQuery(dbObject, fieldsObject); return new BasicQuery(dbObject, fieldsObject);
} }
public static Query createQueryWithSpecifiedField(Map<String, Object> condition, List<String> specifields, Page page, List<Order> orderList) { public static Query createQueryWithSpecifiedField(Map<String, Object> condition, List<String> specifields, Page page, List<Order> orderList) {
Document fieldsObject = new Document(); Document fieldsObject = new Document();
specifields.forEach(field -> fieldsObject.put(field, 1)); specifields.forEach(field -> fieldsObject.put(field, 1));
Document dbObject = new Document(); Document dbObject = new Document();
condition.forEach((k, v) -> { condition.forEach((k, v) -> {
dbObject.put(k, v); dbObject.put(k, v);
}); });
Query q = new BasicQuery(dbObject, fieldsObject); Query q = new BasicQuery(dbObject, fieldsObject);
q.skip(page.getOffset()); q.skip(page.getOffset());
q.limit(page.getPageSize()); q.limit(page.getPageSize());
if (orderList != null && !orderList.isEmpty()) { if (orderList != null && !orderList.isEmpty()) {
q.with(Sort.by(orderList)); q.with(Sort.by(orderList));
} }
return q; return q;
} }
public static Query createQueryWithSpecifiedField(List<String> specifields) { public static Query createQueryWithSpecifiedField(List<String> specifields) {
Map<String, Object> condition = new HashMap<>(); Map<String, Object> condition = new HashMap<>();
return createQueryWithSpecifiedField(condition, specifields); return createQueryWithSpecifiedField(condition, specifields);
} }
private static void buildQuery(String key, Object value, Query query) { private static void buildQuery(String key, Object value, Query query) {
if (key.contains("_id")) { if (key.contains("_id")) {
query.addCriteria(Criteria.where(key).is(new ObjectId(value.toString()))); query.addCriteria(Criteria.where(key).is(new ObjectId(value.toString())));
} else { } else {
if (value instanceof Integer || value instanceof Float if (value instanceof Integer || value instanceof Float
|| value instanceof Double || value instanceof Boolean) { || value instanceof Double || value instanceof Boolean) {
query.addCriteria(Criteria.where(key).is(value)); query.addCriteria(Criteria.where(key).is(value));
} else if (value instanceof List) { } else if (value instanceof List) {
query.addCriteria(Criteria.where(key).in(value)); query.addCriteria(Criteria.where(key).in(value));
}else { }else {
query.addCriteria(Criteria.where(key).is(value)); query.addCriteria(Criteria.where(key).is(value));
} }
} }
} }
public static Query buildQuery(Map<String, Object> paramMap) { public static Query buildQuery(Map<String, Object> paramMap) {
Query query = new Query(); Query query = new Query();
for (String key : paramMap.keySet()) { for (String key : paramMap.keySet()) {
buildQuery(key, paramMap.get(key), query); buildQuery(key, paramMap.get(key), query);
} }
return query; return query;
} }
public static Query buildQueryByKV(String key, Object value) { public static Query buildQueryByKV(String key, Object value) {
Query query = new Query(); Query query = new Query();
buildQuery(key, value, query); buildQuery(key, value, query);
return query; return query;
} }
public static Query buildQueryByOrder(Map<String, Object> paramMap, List<Order> orderList) { public static Query buildQueryByOrder(Map<String, Object> paramMap, List<Order> orderList) {
Query query = new Query(); Query query = new Query();
for (String key : paramMap.keySet()) { for (String key : paramMap.keySet()) {
buildQuery(key, paramMap.get(key), query); buildQuery(key, paramMap.get(key), query);
} }
if (orderList != null && orderList.size() > 0) { if (orderList != null && orderList.size() > 0) {
query.with(Sort.by(orderList)); query.with(Sort.by(orderList));
} }
return query; return query;
} }
public static Map<String, Object> addSearchCriteria(List<String> searchColumns, String keyword, Map<String, Object> condition) { public static Map<String, Object> addSearchCriteria(List<String> searchColumns, String keyword, Map<String, Object> condition) {
Pattern pattern = Pattern.compile("^.*" + keyword + ".*$"); Pattern pattern = Pattern.compile("^.*" + keyword + ".*$");
List<Document> documents = new ArrayList<>(); List<Document> documents = new ArrayList<>();
searchColumns.forEach(column -> { searchColumns.forEach(column -> {
Document value = new Document("$regex", pattern); Document value = new Document("$regex", pattern);
value.put("$options", "i"); value.put("$options", "i");
documents.add(new Document(column, value)); documents.add(new Document(column, value));
}); });
condition.put("$or", documents); condition.put("$or", documents);
return condition; return condition;
} }
public static Query buildQueryByPage(Map<String, Object> paramMap, List<Order> orderList, Integer pageSize, Integer startIndex) { public static Query buildQueryByPage(Map<String, Object> paramMap, List<Order> orderList, Integer pageSize, Integer startIndex) {
Query query = new Query(); Query query = new Query();
if (paramMap != null && paramMap.size() > 0) { if (paramMap != null && paramMap.size() > 0) {
for (String key : paramMap.keySet()) { for (String key : paramMap.keySet()) {
Object value = paramMap.get(key); Object value = paramMap.get(key);
if (key.contains(splitMarker)) {/*// 处理关联查询的情况 if (key.contains(splitMarker)) {/*// 处理关联查询的情况
String[] arr = key.split(this.splitMarker); String[] arr = key.split(this.splitMarker);
if (arr.length != 2) { if (arr.length != 2) {
continue; continue;
} }
String p1 = arr[0]; String p1 = arr[0];
String p2 = arr[1]; String p2 = arr[1];
Class<T> clazz = ReflectUtils.getSuperClassGenricType(getClass()); Class<T> clazz = ReflectUtils.getSuperClassGenricType(getClass());
Field[] fs = this.getAllFields(clazz); Field[] fs = this.getAllFields(clazz);
// ReflectUtils.getAllFields(clazz); // ReflectUtils.getAllFields(clazz);
Class<?> clazz1 = null; Class<?> clazz1 = null;
for (Field f : fs) { for (Field f : fs) {
if (f.getName().equals(p1)) { if (f.getName().equals(p1)) {
clazz1 = f.getType(); clazz1 = f.getType();
break; break;
} }
} }
Query query0 = new Query(); Query query0 = new Query();
this.buildQuery(p2, value, query0); this.buildQuery(p2, value, query0);
query.addCriteria(Criteria.where(p1).in(mongoOper.find(query0, clazz1))); query.addCriteria(Criteria.where(p1).in(mongoOper.find(query0, clazz1)));
*/} else { */} else {
buildQuery(key, value, query); buildQuery(key, value, query);
} }
} }
} }
if (orderList != null && orderList.size() > 0) { if (orderList != null && orderList.size() > 0) {
query.with(Sort.by(orderList)); query.with(Sort.by(orderList));
} }
if (pageSize != 0) { if (pageSize != 0) {
query.skip(startIndex); query.skip(startIndex);
query.limit(pageSize); query.limit(pageSize);
} }
return query; return query;
} }
} }
package com.keymobile.tagmanager.util; package com.keymobile.tagmanager.util;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetails;
public class UserInfoUtils { public class UserInfoUtils {
public final static String ADMIN = "ROLE_dataCatalog_admin"; public final static String ADMIN = "ROLE_dataCatalog_admin";
public final static String OPERATOR = "ROLE_dataCatalog_operator"; public final static String OPERATOR = "ROLE_dataCatalog_operator";
public final static String USER= "ROLE_dataCatalog_user"; public final static String USER= "ROLE_dataCatalog_user";
public static List<String> getUserRoles() { public static List<String> getUserRoles() {
UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
List<String> roles = new ArrayList<>(); List<String> roles = new ArrayList<>();
userDetails.getAuthorities().forEach(auth -> roles.add(auth.getAuthority())); userDetails.getAuthorities().forEach(auth -> roles.add(auth.getAuthority()));
return roles; return roles;
} }
public static List<Integer> getUserDomains() { public static List<Integer> getUserDomains() {
List<String> roles = UserInfoUtils.getUserRoles(); List<String> roles = UserInfoUtils.getUserRoles();
String role = ""; String role = "";
for (String r : roles) { for (String r : roles) {
if (r.startsWith(UserInfoUtils.ADMIN) || r.startsWith(UserInfoUtils.OPERATOR)) { if (r.startsWith(UserInfoUtils.ADMIN) || r.startsWith(UserInfoUtils.OPERATOR)) {
role = r; role = r;
break; break;
} }
} }
// ADMIN:1,2 // ADMIN:1,2
List<Integer> domainIds = new ArrayList<>(); List<Integer> domainIds = new ArrayList<>();
if (StringUtils.isEmpty(role)) return domainIds; if (StringUtils.isEmpty(role)) return domainIds;
if (role.split(":")[1].equals("*")) return domainIds; if (role.split(":")[1].equals("*")) return domainIds;
for (String domain : role.split(":")[1].split(",")) { for (String domain : role.split(":")[1].split(",")) {
domainIds.add(Integer.valueOf(domain)); domainIds.add(Integer.valueOf(domain));
} }
return domainIds; return domainIds;
} }
public static String getUserName() { public static String getUserName() {
return SecurityContextHolder.getContext().getAuthentication().getName().split(":")[0]; return SecurityContextHolder.getContext().getAuthentication().getName().split(":")[0];
} }
public static Integer getUserId() { public static Integer getUserId() {
return Integer.valueOf(SecurityContextHolder.getContext().getAuthentication().getName().split(":")[1]); return Integer.valueOf(SecurityContextHolder.getContext().getAuthentication().getName().split(":")[1]);
} }
} }
Manifest-Version: 1.0
Implementation-Title: tagManager
Implementation-Version: 1.0.2-SNAPSHOT
Built-By: lanminwu
Implementation-Vendor-Id: com.keymobile
Build-Jdk: 1.8.0_191
Implementation-URL: https://projects.spring.io/spring-boot/#/spring-bo
ot-starter-parent/tagManager
Created-By: Maven Integration for Eclipse
#Generated by Maven Integration for Eclipse
#Thu Nov 28 11:03:13 CST 2019
version=1.0.2-SNAPSHOT
groupId=com.keymobile
m2e.projectName=tagManager
m2e.projectLocation=D\:\\eclipse\\workspace\\tagManager
artifactId=tagManager
<?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>
<groupId>com.keymobile</groupId>
<artifactId>tagManager</artifactId>
<version>1.0.2-SNAPSHOT</version>
<packaging>jar</packaging>
<name>tagManager</name>
<description>tagManager</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<docker.image.prefix>springio</docker.image.prefix>
<druid.version>1.0.29</druid.version>
<fastjson.version>1.2.30</fastjson.version>
<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.elasticsearch.plugin</groupId>
<artifactId>transport-netty4-client</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr4-runtime</artifactId>
<version>4.7</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>net.sourceforge.javacsv</groupId>
<artifactId>javacsv</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>com.kakawait</groupId>
<artifactId>cas-security-spring-boot-starter</artifactId>
<version>1.0.0-beta-1</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-bom</artifactId>
<version>${spring-security.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<resources>
<resource>
<directory>lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>*.yml</include>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>jboss-public-repository-group</id>
<name>JBoss Public Maven Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
</repository>
<repository>
<id>jboss-developer-repository-group</id>
<name>JBoss Developer Maven Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/developer/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
</repository>
<repository>
<id>thirdparty-uploads</id>
<name>JBoss Third Party Uploads</name>
<url>https://repository.jboss.org/nexus/content/repositories/thirdparty-uploads/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment