소스 검색

初始化

523096025 1 년 전
부모
커밋
d4ffe73101
21개의 변경된 파일321개의 추가작업 그리고 231개의 파일을 삭제
  1. 9 0
      .editorconfig
  2. 66 0
      .flattened-pom.xml
  3. 2 2
      .gitignore
  4. 1 0
      .springjavaformatconfig
  5. 21 0
      LICENSE
  6. 9 9
      admin/pom.xml
  7. 3 3
      admin/src/main/java/com/your/packages/admin/captcha/TianaiCaptchaResourceStore.java
  8. 31 29
      admin/src/main/java/com/your/packages/admin/captcha/tianai/TianaiCaptchaEndpoint.java
  9. 71 60
      admin/src/main/java/com/your/packages/admin/captcha/tianai/TianaiCaptchaResourceStore.java
  10. 36 34
      admin/src/main/java/com/your/packages/admin/captcha/tianai/TianaiCaptchaValidator.java
  11. 15 15
      admin/src/main/java/com/your/packages/admin/config/MailNotifyConfig.java
  12. 29 28
      admin/src/main/java/com/your/packages/admin/modules/test/AdminDemoJobHandler.java
  13. 16 16
      admin/src/main/java/com/your/packages/admin/modules/test/IdempotentTestController.java
  14. 0 1
      admin/src/main/java/com/your/packages/datascope/handler/DataPermissionHandler.java
  15. 0 1
      admin/src/main/java/com/your/packages/datascope/handler/DataPermissionRule.java
  16. 0 1
      admin/src/main/java/com/your/packages/datascope/holder/DataPermissionRuleHolder.java
  17. 0 1
      admin/src/main/java/com/your/packages/datascope/holder/MappedStatementIdsWithoutDataScope.java
  18. 0 1
      admin/src/main/java/com/your/packages/datascope/util/DataPermissionUtils.java
  19. 2 2
      admin/src/main/java/com/your/packages/hccake/common/excel/enhance/WriterBuilderEnhancer.java
  20. 1 1
      admin/src/main/resources/application.yml
  21. 9 27
      pom.xml

+ 9 - 0
.editorconfig

@@ -0,0 +1,9 @@
+root = true
+
+[*.{adoc,bat,groovy,html,java,js,jsp,kt,kts,md,properties,py,rb,sh,sql,svg,txt,xml,xsd}]
+charset = utf-8
+
+[*.{groovy,java,kt,kts,xml,xsd}]
+indent_style = tab
+indent_size = 4
+continuation_indent_size = 8

+ 66 - 0
.flattened-pom.xml

@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.hccake</groupId>
+    <artifactId>ballcat</artifactId>
+    <version>1.4.0</version>
+    <relativePath></relativePath>
+  </parent>
+  <groupId>com.your.packages</groupId>
+  <artifactId>ballcat-boot</artifactId>
+  <version>1.4.0</version>
+  <packaging>pom</packaging>
+  <licenses>
+    <license>
+      <name>MIT License</name>
+      <url>http://www.opensource.org/licenses/mit-license.php</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <modules>
+    <module>admin</module>
+  </modules>
+  <properties>
+    <java.version>1.8</java.version>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+    <revision>1.4.0</revision>
+  </properties>
+  <repositories>
+    <repository>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+        <updatePolicy>always</updatePolicy>
+      </snapshots>
+      <id>oss-snapshots</id>
+      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+    </repository>
+  </repositories>
+  <build>
+    <resources>
+      <resource>
+        <filtering>true</filtering>
+        <directory>src/main/resources</directory>
+        <includes>
+          <include>**/*.yml</include>
+          <include>**/*.yaml</include>
+          <include>logback-spring.xml</include>
+        </includes>
+      </resource>
+      <resource>
+        <filtering>false</filtering>
+        <directory>src/main/resources</directory>
+        <excludes>
+          <exclude>**/*.yml</exclude>
+          <exclude>**/*.yaml</exclude>
+          <exclude>logback-spring.xml</exclude>
+        </excludes>
+      </resource>
+    </resources>
+  </build>
+</project>

+ 2 - 2
.gitignore

@@ -3,7 +3,7 @@ target/
 !.mvn/wrapper/maven-wrapper.jar
 !**/src/main/**/target/
 !**/src/test/**/target/
-**/src/main/**/target/
+
 ### STS ###
 .apt_generated
 .classpath
@@ -28,7 +28,7 @@ target/
 build/
 !**/src/main/**/build/
 !**/src/test/**/build/
-
+z
 ### VS Code ###
 .vscode/
 

+ 1 - 0
.springjavaformatconfig

@@ -0,0 +1 @@
+java-baseline=8

+ 21 - 0
LICENSE

@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 Hccake
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 9 - 9
admin/pom.xml

@@ -3,7 +3,7 @@
 		 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">
 	<parent>
-		<artifactId>huimv.farm.nongkeyuan</artifactId>
+		<artifactId>ballcat-boot</artifactId>
 		<groupId>com.your.packages</groupId>
 		<version>${revision}</version>
 	</parent>
@@ -83,14 +83,14 @@
 		</dependency>
 		<!-- API, java.xml.bind module -->
 		<!-- add it when jdk11 -->
-<!--		<dependency>-->
-<!--			<groupId>jakarta.xml.bind</groupId>-->
-<!--			<artifactId>jakarta.xml.bind-api</artifactId>-->
-<!--		</dependency>-->
-<!--		<dependency>-->
-<!--			<groupId>org.glassfish.jaxb</groupId>-->
-<!--			<artifactId>jaxb-runtime</artifactId>-->
-<!--		</dependency>-->
+		<!--		<dependency>-->
+		<!--			<groupId>jakarta.xml.bind</groupId>-->
+		<!--			<artifactId>jakarta.xml.bind-api</artifactId>-->
+		<!--		</dependency>-->
+		<!--		<dependency>-->
+		<!--			<groupId>org.glassfish.jaxb</groupId>-->
+		<!--			<artifactId>jaxb-runtime</artifactId>-->
+		<!--		</dependency>-->
 	</dependencies>
 
 	<build>

+ 3 - 3
admin/src/main/java/com/your/packages/admin/captcha/TianaiCaptchaResourceStore.java

@@ -17,18 +17,18 @@ public class TianaiCaptchaResourceStore extends DefaultResourceStore {
 	public TianaiCaptchaResourceStore() {
 
 		// 滑块验证码 模板 (系统内置)
-		ResourceMap template1 = new ResourceMap("default",4);
+		ResourceMap template1 = new ResourceMap("default", 4);
 		template1.put(SliderCaptchaConstant.TEMPLATE_ACTIVE_IMAGE_NAME, new Resource(ClassPathResourceProvider.NAME,
 				DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/1/active.png")));
 		template1.put(SliderCaptchaConstant.TEMPLATE_FIXED_IMAGE_NAME, new Resource(ClassPathResourceProvider.NAME,
 				DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/1/fixed.png")));
-		ResourceMap template2 = new ResourceMap("default",4);
+		ResourceMap template2 = new ResourceMap("default", 4);
 		template2.put(SliderCaptchaConstant.TEMPLATE_ACTIVE_IMAGE_NAME, new Resource(ClassPathResourceProvider.NAME,
 				DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/2/active.png")));
 		template2.put(SliderCaptchaConstant.TEMPLATE_FIXED_IMAGE_NAME, new Resource(ClassPathResourceProvider.NAME,
 				DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/2/fixed.png")));
 		// 旋转验证码 模板 (系统内置)
-		ResourceMap template3 = new ResourceMap("default",4);
+		ResourceMap template3 = new ResourceMap("default", 4);
 		template3.put(SliderCaptchaConstant.TEMPLATE_ACTIVE_IMAGE_NAME, new Resource(ClassPathResourceProvider.NAME,
 				StandardSliderImageCaptchaGenerator.DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/3/active.png")));
 		template3.put(SliderCaptchaConstant.TEMPLATE_FIXED_IMAGE_NAME, new Resource(ClassPathResourceProvider.NAME,

+ 31 - 29
admin/src/main/java/com/your/packages/admin/captcha/tianai/TianaiCaptchaEndpoint.java

@@ -1,35 +1,37 @@
-//package com.your.packages.admin.captcha.tianai;
+// package com.your.packages.admin.captcha.tianai;
 //
-//import cloud.tianai.captcha.common.constant.CaptchaTypeConstant;
-//import cloud.tianai.captcha.common.response.ApiResponse;
-//import cloud.tianai.captcha.spring.application.ImageCaptchaApplication;
-//import cloud.tianai.captcha.spring.vo.CaptchaResponse;
-//import cloud.tianai.captcha.spring.vo.ImageCaptchaVO;
-//import cloud.tianai.captcha.validator.common.model.dto.ImageCaptchaTrack;
-//import lombok.RequiredArgsConstructor;
-//import org.apache.commons.lang3.StringUtils;
-//import org.springframework.web.bind.annotation.*;
+// import cloud.tianai.captcha.common.constant.CaptchaTypeConstant;
+// import cloud.tianai.captcha.common.response.ApiResponse;
+// import cloud.tianai.captcha.spring.application.ImageCaptchaApplication;
+// import cloud.tianai.captcha.spring.vo.CaptchaResponse;
+// import cloud.tianai.captcha.spring.vo.ImageCaptchaVO;
+// import cloud.tianai.captcha.validator.common.model.dto.ImageCaptchaTrack;
+// import lombok.RequiredArgsConstructor;
+// import org.apache.commons.lang3.StringUtils;
+// import org.springframework.web.bind.annotation.*;
 //
-//@RestController
-//@RequestMapping("/captcha/tianai")
-//@RequiredArgsConstructor
-//public class TianaiCaptchaEndpoint {
+// @RestController
+// @RequestMapping("/captcha/tianai")
+// @RequiredArgsConstructor
+// public class TianaiCaptchaEndpoint {
 //
-//	private final ImageCaptchaApplication imageCaptchaApplication;
+// private final ImageCaptchaApplication imageCaptchaApplication;
 //
-//	@GetMapping("/gen")
-//	@ResponseBody
-//	public CaptchaResponse<ImageCaptchaVO> genCaptcha(@RequestParam(value = "type", required = false) String type) {
-//		if (StringUtils.isBlank(type)) {
-//			type = CaptchaTypeConstant.SLIDER;
-//		}
-//		return imageCaptchaApplication.generateCaptcha(type);
-//	}
+// @GetMapping("/gen")
+// @ResponseBody
+// public CaptchaResponse<ImageCaptchaVO> genCaptcha(@RequestParam(value = "type",
+// required = false) String type) {
+// if (StringUtils.isBlank(type)) {
+// type = CaptchaTypeConstant.SLIDER;
+// }
+// return imageCaptchaApplication.generateCaptcha(type);
+// }
 //
-//	@PostMapping("/check")
-//	@ResponseBody
-//	public ApiResponse<?> checkCaptcha(@RequestParam("id") String id, @RequestBody ImageCaptchaTrack imageCaptchaTrack) {
-//		return imageCaptchaApplication.matching(id, imageCaptchaTrack);
-//	}
+// @PostMapping("/check")
+// @ResponseBody
+// public ApiResponse<?> checkCaptcha(@RequestParam("id") String id, @RequestBody
+// ImageCaptchaTrack imageCaptchaTrack) {
+// return imageCaptchaApplication.matching(id, imageCaptchaTrack);
+// }
 //
-//}
+// }

+ 71 - 60
admin/src/main/java/com/your/packages/admin/captcha/tianai/TianaiCaptchaResourceStore.java

@@ -1,70 +1,81 @@
-//package com.your.packages.admin.captcha.tianai;
+// package com.your.packages.admin.captcha.tianai;
 //
-//import cloud.tianai.captcha.common.constant.CaptchaTypeConstant;
-//import cloud.tianai.captcha.generator.common.constant.SliderCaptchaConstant;
-//import cloud.tianai.captcha.generator.impl.StandardSliderImageCaptchaGenerator;
-//import cloud.tianai.captcha.resource.common.model.dto.Resource;
-//import cloud.tianai.captcha.resource.common.model.dto.ResourceMap;
-//import cloud.tianai.captcha.resource.impl.DefaultResourceStore;
-//import cloud.tianai.captcha.resource.impl.provider.ClassPathResourceProvider;
-//import org.springframework.stereotype.Component;
+// import cloud.tianai.captcha.common.constant.CaptchaTypeConstant;
+// import cloud.tianai.captcha.generator.common.constant.SliderCaptchaConstant;
+// import cloud.tianai.captcha.generator.impl.StandardSliderImageCaptchaGenerator;
+// import cloud.tianai.captcha.resource.common.model.dto.Resource;
+// import cloud.tianai.captcha.resource.common.model.dto.ResourceMap;
+// import cloud.tianai.captcha.resource.impl.DefaultResourceStore;
+// import cloud.tianai.captcha.resource.impl.provider.ClassPathResourceProvider;
+// import org.springframework.stereotype.Component;
 //
-//import java.util.HashMap;
-//import java.util.Map;
+// import java.util.HashMap;
+// import java.util.Map;
 //
-//import static cloud.tianai.captcha.generator.impl.StandardSliderImageCaptchaGenerator.DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH;
+// import static
+// cloud.tianai.captcha.generator.impl.StandardSliderImageCaptchaGenerator.DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH;
 //
-//@Component
-//public class TianaiCaptchaResourceStore extends DefaultResourceStore {
+// @Component
+// public class TianaiCaptchaResourceStore extends DefaultResourceStore {
 //
-//	public TianaiCaptchaResourceStore() {
+// public TianaiCaptchaResourceStore() {
 //
-//		// 滑块验证码 模板 (系统内置)
-////		Map<String, Resource> template1 = new HashMap<>(4);
-//		ResourceMap template1 = new ResourceMap();
-//		template1.put(SliderCaptchaConstant.TEMPLATE_ACTIVE_IMAGE_NAME, new Resource(ClassPathResourceProvider.NAME,
-//				DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/1/active.png")));
-//		template1.put(SliderCaptchaConstant.TEMPLATE_FIXED_IMAGE_NAME, new Resource(ClassPathResourceProvider.NAME,
-//				DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/1/fixed.png")));
-//		template1.put(SliderCaptchaConstant.OBFUSCATE_TEMPLATE_FIXED_IMAGE_NAME, new Resource(ClassPathResourceProvider.NAME,
-//				DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/1/matrix.png")));
-////		Map<String, Resource> template2 = new HashMap<>(4);
-//		ResourceMap template2 = new ResourceMap();
-//		template2.put(SliderCaptchaConstant.TEMPLATE_ACTIVE_IMAGE_NAME, new Resource(ClassPathResourceProvider.NAME,
-//				DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/2/active.png")));
-//		template2.put(SliderCaptchaConstant.TEMPLATE_FIXED_IMAGE_NAME, new Resource(ClassPathResourceProvider.NAME,
-//				DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/2/fixed.png")));
-//		template2.put(SliderCaptchaConstant.OBFUSCATE_TEMPLATE_FIXED_IMAGE_NAME, new Resource(ClassPathResourceProvider.NAME,
-//				DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/2/matrix.png")));
-//		// 旋转验证码 模板 (系统内置)
-////		Map<String, Resource> template3 = new HashMap<>(4);
-//		ResourceMap template3 = new ResourceMap();
-//		template3.put(SliderCaptchaConstant.TEMPLATE_ACTIVE_IMAGE_NAME, new Resource(ClassPathResourceProvider.NAME,
-//				StandardSliderImageCaptchaGenerator.DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/3/active.png")));
-//		template3.put(SliderCaptchaConstant.TEMPLATE_FIXED_IMAGE_NAME, new Resource(ClassPathResourceProvider.NAME,
-//				StandardSliderImageCaptchaGenerator.DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/3/fixed.png")));
-//		template3.put(SliderCaptchaConstant.OBFUSCATE_TEMPLATE_FIXED_IMAGE_NAME, new Resource(ClassPathResourceProvider.NAME,
-//				StandardSliderImageCaptchaGenerator.DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/3/matrix.png")));
+// // 滑块验证码 模板 (系统内置)
+//// Map<String, Resource> template1 = new HashMap<>(4);
+// ResourceMap template1 = new ResourceMap();
+// template1.put(SliderCaptchaConstant.TEMPLATE_ACTIVE_IMAGE_NAME, new
+// Resource(ClassPathResourceProvider.NAME,
+// DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/1/active.png")));
+// template1.put(SliderCaptchaConstant.TEMPLATE_FIXED_IMAGE_NAME, new
+// Resource(ClassPathResourceProvider.NAME,
+// DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/1/fixed.png")));
+// template1.put(SliderCaptchaConstant.OBFUSCATE_TEMPLATE_FIXED_IMAGE_NAME, new
+// Resource(ClassPathResourceProvider.NAME,
+// DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/1/matrix.png")));
+//// Map<String, Resource> template2 = new HashMap<>(4);
+// ResourceMap template2 = new ResourceMap();
+// template2.put(SliderCaptchaConstant.TEMPLATE_ACTIVE_IMAGE_NAME, new
+// Resource(ClassPathResourceProvider.NAME,
+// DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/2/active.png")));
+// template2.put(SliderCaptchaConstant.TEMPLATE_FIXED_IMAGE_NAME, new
+// Resource(ClassPathResourceProvider.NAME,
+// DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/2/fixed.png")));
+// template2.put(SliderCaptchaConstant.OBFUSCATE_TEMPLATE_FIXED_IMAGE_NAME, new
+// Resource(ClassPathResourceProvider.NAME,
+// DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/2/matrix.png")));
+// // 旋转验证码 模板 (系统内置)
+//// Map<String, Resource> template3 = new HashMap<>(4);
+// ResourceMap template3 = new ResourceMap();
+// template3.put(SliderCaptchaConstant.TEMPLATE_ACTIVE_IMAGE_NAME, new
+// Resource(ClassPathResourceProvider.NAME,
+// StandardSliderImageCaptchaGenerator.DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/3/active.png")));
+// template3.put(SliderCaptchaConstant.TEMPLATE_FIXED_IMAGE_NAME, new
+// Resource(ClassPathResourceProvider.NAME,
+// StandardSliderImageCaptchaGenerator.DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/3/fixed.png")));
+// template3.put(SliderCaptchaConstant.OBFUSCATE_TEMPLATE_FIXED_IMAGE_NAME, new
+// Resource(ClassPathResourceProvider.NAME,
+// StandardSliderImageCaptchaGenerator.DEFAULT_SLIDER_IMAGE_TEMPLATE_PATH.concat("/3/matrix.png")));
 //
-//		// 1. 添加一些模板
+// // 1. 添加一些模板
 //
 //
-//		addTemplate(CaptchaTypeConstant.SLIDER, template1);
-//		addTemplate(CaptchaTypeConstant.SLIDER, template2);
-//		addTemplate(CaptchaTypeConstant.ROTATE, template3);
-//		// 2. 添加自定义背景图片
-//		addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/a.jpg"));
-//		addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/b.jpg"));
-//		addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/c.jpg"));
-//		addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/d.jpg"));
-//		addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/e.jpg"));
-//		addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/g.jpg"));
-//		addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/h.jpg"));
-//		addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/i.jpg"));
-//		addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/j.jpg"));
-//		addResource(CaptchaTypeConstant.ROTATE, new Resource("classpath", "bgimages/48.jpg"));
-//		addResource(CaptchaTypeConstant.CONCAT, new Resource("classpath", "bgimages/48.jpg"));
-//		addResource(CaptchaTypeConstant.WORD_IMAGE_CLICK, new Resource("classpath", "bgimages/c.jpg"));
-//	}
+// addTemplate(CaptchaTypeConstant.SLIDER, template1);
+// addTemplate(CaptchaTypeConstant.SLIDER, template2);
+// addTemplate(CaptchaTypeConstant.ROTATE, template3);
+// // 2. 添加自定义背景图片
+// addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/a.jpg"));
+// addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/b.jpg"));
+// addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/c.jpg"));
+// addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/d.jpg"));
+// addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/e.jpg"));
+// addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/g.jpg"));
+// addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/h.jpg"));
+// addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/i.jpg"));
+// addResource(CaptchaTypeConstant.SLIDER, new Resource("classpath", "bgimages/j.jpg"));
+// addResource(CaptchaTypeConstant.ROTATE, new Resource("classpath", "bgimages/48.jpg"));
+// addResource(CaptchaTypeConstant.CONCAT, new Resource("classpath", "bgimages/48.jpg"));
+// addResource(CaptchaTypeConstant.WORD_IMAGE_CLICK, new Resource("classpath",
+// "bgimages/c.jpg"));
+// }
 //
-//}
+// }

+ 36 - 34
admin/src/main/java/com/your/packages/admin/captcha/tianai/TianaiCaptchaValidator.java

@@ -1,41 +1,43 @@
-//package com.your.packages.admin.captcha.tianai;
+// package com.your.packages.admin.captcha.tianai;
 //
-//import cloud.tianai.captcha.spring.application.ImageCaptchaApplication;
-//import cloud.tianai.captcha.spring.plugins.secondary.SecondaryVerificationApplication;
-//import cn.hutool.core.util.StrUtil;
-//import lombok.RequiredArgsConstructor;
-//import org.ballcat.security.captcha.CaptchaValidateResult;
-//import org.ballcat.security.captcha.CaptchaValidator;
-//import org.springframework.context.annotation.Primary;
-//import org.springframework.stereotype.Component;
+// import cloud.tianai.captcha.spring.application.ImageCaptchaApplication;
+// import cloud.tianai.captcha.spring.plugins.secondary.SecondaryVerificationApplication;
+// import cn.hutool.core.util.StrUtil;
+// import lombok.RequiredArgsConstructor;
+// import org.ballcat.security.captcha.CaptchaValidateResult;
+// import org.ballcat.security.captcha.CaptchaValidator;
+// import org.springframework.context.annotation.Primary;
+// import org.springframework.stereotype.Component;
 //
-//import javax.servlet.http.HttpServletRequest;
+// import javax.servlet.http.HttpServletRequest;
 //
-///**
+/// **
 // * tianai 验证码的校验器
 // *
 // * @author whace
 // */
-//@Primary
-//@Component
-//@RequiredArgsConstructor
-//public class TianaiCaptchaValidator implements CaptchaValidator {
-//
-//	private final ImageCaptchaApplication sca;
-//
-//	@Override
-//	public CaptchaValidateResult validate(HttpServletRequest request) {
-//		String captchaId = request.getParameter("captchaId");
-//		if (StrUtil.isBlank(captchaId)) {
-//			return CaptchaValidateResult.failure("captcha id can not be null");
-//		}
-//
-//		if (!(sca instanceof SecondaryVerificationApplication)) {
-//			return CaptchaValidateResult.failure("captcha must enable secondary verification");
-//		}
-//
-//		boolean match = ((SecondaryVerificationApplication) sca).secondaryVerification(captchaId);
-//		return match ? CaptchaValidateResult.success() : CaptchaValidateResult.failure("captcha validate failure");
-//	}
-//
-//}
+// @Primary
+// @Component
+// @RequiredArgsConstructor
+// public class TianaiCaptchaValidator implements CaptchaValidator {
+//
+// private final ImageCaptchaApplication sca;
+//
+// @Override
+// public CaptchaValidateResult validate(HttpServletRequest request) {
+// String captchaId = request.getParameter("captchaId");
+// if (StrUtil.isBlank(captchaId)) {
+// return CaptchaValidateResult.failure("captcha id can not be null");
+// }
+//
+// if (!(sca instanceof SecondaryVerificationApplication)) {
+// return CaptchaValidateResult.failure("captcha must enable secondary verification");
+// }
+//
+// boolean match = ((SecondaryVerificationApplication)
+// sca).secondaryVerification(captchaId);
+// return match ? CaptchaValidateResult.success() : CaptchaValidateResult.failure("captcha
+// validate failure");
+// }
+//
+// }

+ 15 - 15
admin/src/main/java/com/your/packages/admin/config/MailNotifyConfig.java

@@ -1,21 +1,21 @@
-//package com.your.packages.admin.config;
+// package com.your.packages.admin.config;
 //
-//import com.hccake.ballcat.common.mail.sender.MailSender;
-//import com.hccake.ballcat.notify.push.MailNotifyPusher;
-//import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
-//import org.springframework.context.annotation.Bean;
-//import org.springframework.context.annotation.Configuration;
+// import com.hccake.ballcat.common.mail.sender.MailSender;
+// import com.hccake.ballcat.notify.push.MailNotifyPusher;
+// import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
+// import org.springframework.context.annotation.Bean;
+// import org.springframework.context.annotation.Configuration;
 //
-///**
+/// **
 // * @author hccake
 // */
-//@Configuration(proxyBeanMethods = false)
-//public class MailNotifyConfig {
+// @Configuration(proxyBeanMethods = false)
+// public class MailNotifyConfig {
 //
-//	@Bean
-//	@ConditionalOnBean(MailSender.class)
-//	public MailNotifyPusher mailNotifyPusher(MailSender mailSender) {
-//		return new MailNotifyPusher(mailSender);
-//	}
+// @Bean
+// @ConditionalOnBean(MailSender.class)
+// public MailNotifyPusher mailNotifyPusher(MailSender mailSender) {
+// return new MailNotifyPusher(mailSender);
+// }
 //
-//}
+// }

+ 29 - 28
admin/src/main/java/com/your/packages/admin/modules/test/AdminDemoJobHandler.java

@@ -1,46 +1,47 @@
-//package com.your.packages.admin.modules.test;
+// package com.your.packages.admin.modules.test;
 //
-////import com.xxl.job.core.context.XxlJobHelper;
-////import com.xxl.job.core.handler.annotation.XxlJob;
-//import lombok.extern.slf4j.Slf4j;
-//import org.springframework.stereotype.Component;
+//// import com.xxl.job.core.context.XxlJobHelper;
+//// import com.xxl.job.core.handler.annotation.XxlJob;
+// import lombok.extern.slf4j.Slf4j;
+// import org.springframework.stereotype.Component;
 //
-//import java.time.LocalDateTime;
-//import java.util.concurrent.TimeUnit;
+// import java.time.LocalDateTime;
+// import java.util.concurrent.TimeUnit;
 //
-///**
+/// **
 // * XxlJob开发示例(Bean模式)
 // *
 // * 开发步骤: 1、任务开发:在Spring Bean实例中,开发Job方法; 2、注解配置:为Job方法添加注解
 // * "@XxlJob(value="自定义jobhandler名称", init = "JobHandler初始化方法", destroy =
-// * "JobHandler销毁方法")",注解value值对应的是调度中心新建任务的JobHandler属性的值。 3、执行日志:需要通过 "XxlJobHelper.log"
+// * "JobHandler销毁方法")",注解value值对应的是调度中心新建任务的JobHandler属性的值。 3、执行日志:需要通过
+// "XxlJobHelper.log"
 // * 打印执行日志; 4、任务结果:默认任务结果为 "成功" 状态,不需要主动设置;如有诉求,比如设置任务结果为失败,可以通过
 // * "XxlJobHelper.handleFail/handleSuccess" 自主设置任务结果;
 // *
 // * @author xuxueli 2019-12-11 21:52:51
 // */
-//@Slf4j
-//@Component
-//public class AdminDemoJobHandler {
+// @Slf4j
+// @Component
+// public class AdminDemoJobHandler {
 //
-//	@XxlJob(value = "adminDemoJobHandler")
-//	public void execute() throws Exception {
-//		// XxlJobLogger 改为使用 XxlJobHelper
-//		XxlJobHelper.log("AdminDemoJobHandler Invoke Success.");
+// @XxlJob(value = "adminDemoJobHandler")
+// public void execute() throws Exception {
+// // XxlJobLogger 改为使用 XxlJobHelper
+// XxlJobHelper.log("AdminDemoJobHandler Invoke Success.");
 //
-//		// param 获取改为使用 XxlJobHelper.getJobParam 方法
-//		String param = XxlJobHelper.getJobParam();
-//		XxlJobHelper.log("AdminDemoJobHandler param: " + param);
+// // param 获取改为使用 XxlJobHelper.getJobParam 方法
+// String param = XxlJobHelper.getJobParam();
+// XxlJobHelper.log("AdminDemoJobHandler param: " + param);
 //
-//		for (int i = 0; i < 5; i++) {
-//			XxlJobHelper.log("beat at:" + i);
-//			TimeUnit.SECONDS.sleep(2);
-//		}
+// for (int i = 0; i < 5; i++) {
+// XxlJobHelper.log("beat at:" + i);
+// TimeUnit.SECONDS.sleep(2);
+// }
 //
-//		XxlJobHelper.log(("执行成功!:" + LocalDateTime.now()));
+// XxlJobHelper.log(("执行成功!:" + LocalDateTime.now()));
 //
-//		// 无异常情况下可省略
-//		XxlJobHelper.handleSuccess();
-//	}
+// // 无异常情况下可省略
+// XxlJobHelper.handleSuccess();
+// }
 //
-//}
+// }

+ 16 - 16
admin/src/main/java/com/your/packages/admin/modules/test/IdempotentTestController.java

@@ -1,24 +1,24 @@
-//package com.your.packages.admin.modules.test;
+// package com.your.packages.admin.modules.test;
 //
-//import com.hccake.ballcat.common.idempotent.annotation.Idempotent;
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.RequestMapping;
-//import org.springframework.web.bind.annotation.RequestParam;
-//import org.springframework.web.bind.annotation.RestController;
+// import com.hccake.ballcat.common.idempotent.annotation.Idempotent;
+// import org.springframework.web.bind.annotation.GetMapping;
+// import org.springframework.web.bind.annotation.RequestMapping;
+// import org.springframework.web.bind.annotation.RequestParam;
+// import org.springframework.web.bind.annotation.RestController;
 //
-///**
+/// **
 // * 幂等测试
 // *
 // * @author hccake
 // */
-//@RestController
-//@RequestMapping("/public/idempotent")
-//public class IdempotentTestController {
+// @RestController
+// @RequestMapping("/public/idempotent")
+// public class IdempotentTestController {
 //
-//	@GetMapping
-//	@Idempotent(uniqueExpression = "#key")
-//	public String test(@RequestParam("key") String key) {
-//		return key;
-//	}
+// @GetMapping
+// @Idempotent(uniqueExpression = "#key")
+// public String test(@RequestParam("key") String key) {
+// return key;
+// }
 //
-//}
+// }

+ 0 - 1
admin/src/main/java/com/your/packages/datascope/handler/DataPermissionHandler.java

@@ -1,6 +1,5 @@
 package com.your.packages.datascope.handler;
 
-
 import com.your.packages.datascope.DataScope;
 
 import java.util.List;

+ 0 - 1
admin/src/main/java/com/your/packages/datascope/handler/DataPermissionRule.java

@@ -1,6 +1,5 @@
 package com.your.packages.datascope.handler;
 
-
 import com.your.packages.datascope.annotation.DataPermission;
 
 /**

+ 0 - 1
admin/src/main/java/com/your/packages/datascope/holder/DataPermissionRuleHolder.java

@@ -1,6 +1,5 @@
 package com.your.packages.datascope.holder;
 
-
 import com.your.packages.datascope.handler.DataPermissionRule;
 
 import java.util.ArrayDeque;

+ 0 - 1
admin/src/main/java/com/your/packages/datascope/holder/MappedStatementIdsWithoutDataScope.java

@@ -1,6 +1,5 @@
 package com.your.packages.datascope.holder;
 
-
 import com.your.packages.datascope.DataScope;
 
 import java.util.HashSet;

+ 0 - 1
admin/src/main/java/com/your/packages/datascope/util/DataPermissionUtils.java

@@ -1,6 +1,5 @@
 package com.your.packages.datascope.util;
 
-
 import com.your.packages.datascope.function.Action;
 import com.your.packages.datascope.function.ResultAction;
 import com.your.packages.datascope.handler.DataPermissionRule;

+ 2 - 2
admin/src/main/java/com/your/packages/hccake/common/excel/enhance/WriterBuilderEnhancer.java

@@ -24,7 +24,7 @@ public interface WriterBuilderEnhancer {
 	 * @return ExcelWriterBuilder
 	 */
 	ExcelWriterBuilder enhanceExcel(ExcelWriterBuilder writerBuilder, HttpServletResponse response,
-                                    ResponseExcel responseExcel, String templatePath);
+			ResponseExcel responseExcel, String templatePath);
 
 	/**
 	 * ExcelWriterSheetBuilder 增强
@@ -37,6 +37,6 @@ public interface WriterBuilderEnhancer {
 	 * @return ExcelWriterSheetBuilder
 	 */
 	ExcelWriterSheetBuilder enhanceSheet(ExcelWriterSheetBuilder writerSheetBuilder, Integer sheetNo, String sheetName,
-                                         Class<?> dataClass, String template, Class<? extends HeadGenerator> headEnhancerClass);
+			Class<?> dataClass, String template, Class<? extends HeadGenerator> headEnhancerClass);
 
 }

+ 1 - 1
admin/src/main/resources/application.yml

@@ -1,5 +1,5 @@
 server:
-  port: 8080
+  port: 8086
 
 spring:
   application:

+ 9 - 27
pom.xml

@@ -1,7 +1,7 @@
 <?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
+		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
 	<parent>
 		<artifactId>ballcat</artifactId>
 		<groupId>com.hccake</groupId>
@@ -9,22 +9,22 @@
 		<relativePath/>
 	</parent>
 
-    <groupId>com.your.packages</groupId>
-    <artifactId>huimv.farm.nongkeyuan</artifactId>
-    <version>${revision}</version>
+	<groupId>com.your.packages</groupId>
+	<artifactId>ballcat-boot</artifactId>
+	<version>${revision}</version>
 	<packaging>pom</packaging>
 
 	<modules>
 		<module>admin</module>
-		<module>ballcat-codegen-backend</module>
+<!--		<module>ballcat-system</module>-->
 	</modules>
 
-    <properties>
-		<revision>1.4.0</revision>
+	<properties>
+<!--		<revision>1.4.0</revision>-->
 		<java.version>1.8</java.version>
 		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
+	</properties>
 
 	<!-- oss 快照私服 -->
 	<repositories>
@@ -62,24 +62,6 @@
 					<exclude>logback-spring.xml</exclude>
 				</excludes>
 			</resource>
-			<resource>
-				<filtering>true</filtering>
-				<directory>src/main/resources</directory>
-				<includes>
-					<include>**/*.yml</include>
-					<include>**/*.yaml</include>
-					<include>logback-spring.xml</include>
-				</includes>
-			</resource>
-			<resource>
-				<filtering>false</filtering>
-				<directory>src/main/resources</directory>
-				<excludes>
-					<exclude>**/*.yml</exclude>
-					<exclude>**/*.yaml</exclude>
-					<exclude>logback-spring.xml</exclude>
-				</excludes>
-			</resource>
 		</resources>
 	</build>