This commit is contained in:
esacpe
2024-07-17 21:04:17 +08:00
commit 1fa3303972
1291 changed files with 92328 additions and 0 deletions

View File

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
</facet>
<facet type="web" name="Web">
<configuration>
<webroots />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="common-base-starter" />
<orderEntry type="library" name="Maven: org.apache.velocity:velocity-engine-core:2.3" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.8.0" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.14" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.14" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.7" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.8.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-core:2.8.0" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.7.9" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.8.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.8.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.8.0" level="project" />
<orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
<orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.4" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:4.0.9.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:4.0.9.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.8.0" level="project" />
<orderEntry type="library" name="Maven: com.github.caspar-chen:swagger-ui-layer:1.1.3" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.13.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.26" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.11.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.37" level="project" />
<orderEntry type="library" name="Maven: org.glassfish:jakarta.el:3.0.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.37" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.7.20" level="project" />
<orderEntry type="library" name="Maven: com.belerweb:pinyin4j:2.5.0" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.83" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.12.0" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:29.0-jre" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:failureaccess:1.0.1" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" level="project" />
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" />
<orderEntry type="library" name="Maven: org.checkerframework:checker-qual:2.11.1" level="project" />
<orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.3.4" level="project" />
<orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.3" level="project" />
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.8" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:transmittable-thread-local:2.11.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.6" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.3.0" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.2" level="project" />
<orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.4.3" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.4.3" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.4.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.4.5" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.5" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.4.3" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.4.3" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.4.3" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.7" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.6" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:4.1.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:4.1.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:3.1.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.19" level="project" />
<orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.06" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi:4.1.2" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.13" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-math3:3.6.1" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:SparseBitSet:1.2" level="project" />
<orderEntry type="module" module-name="common-redis-starter" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.3.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.3.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.3.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.3.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.lettuce:lettuce-core:5.3.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.49.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.49.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.49.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.49.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.49.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.49.Final" level="project" />
<orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.3.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" />
<orderEntry type="library" name="Maven: org.ssssssss:magic-api-spring-boot-starter:2.0.1" level="project" />
<orderEntry type="library" name="Maven: org.ssssssss:magic-api:2.0.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-websocket:2.4.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-messaging:5.3.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-websocket:5.3.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.3.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.6" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-text:1.6" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.4" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.7" level="project" />
<orderEntry type="library" name="Maven: org.ssssssss:magic-script:1.8.5" level="project" />
<orderEntry type="library" name="Maven: org.ssssssss:magic-editor:2.0.1" level="project" />
<orderEntry type="library" name="Maven: org.ssssssss:magic-api-plugin-swagger:2.0.1" level="project" />
</component>
</module>

View File

@ -0,0 +1,38 @@
<?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">
<parent>
<artifactId>mosty-common</artifactId>
<groupId>com.mosty</groupId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>common-magic-api-starter</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.mosty</groupId>
<artifactId>common-base-starter</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api-plugin-swagger</artifactId>
<version>2.0.1</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,15 @@
package com.mosty.common.magic.api;
import org.springframework.context.annotation.Configuration;
/**
* 自动装配启动类型
* @author kevin
* @date 2022/2/3 7:28 PM
* @since 1.0.0
*/
@Configuration
@SuppressWarnings("unused")
public class MagicApiAutoConfiguration {
}

View File

@ -0,0 +1,60 @@
package com.mosty.common.magic.api.config;
import com.mosty.common.base.domain.ResponseResult;
import com.mosty.common.base.exception.BusinessException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
import org.ssssssss.magicapi.core.context.RequestEntity;
import org.ssssssss.magicapi.core.interceptor.ResultProvider;
/**
* magic 全局结果包装
* @author kevin
* @date 2022/5/29 6:06 下午
* @since 1.0.0
* @see ResponseResult
* @see com.mosty.common.base.exception.MostyExceptionHandler
*/
@Slf4j
@Component
@Qualifier("globalResultHandler")
public class CustomJsonValueProvider implements ResultProvider {
/**
* 定义返回结果默认返回JsonBean
*/
@Override
public Object buildResult(RequestEntity requestEntity, int code, String message, Object data) {
// 如果对分页格式有要求的话可以对data的类型进行判断进而返回不同的格式
return new ResponseResult(code, message, data);
}
@Override
public Object buildException(RequestEntity requestEntity, Throwable throwable) {
throwable.printStackTrace();
log.warn("业务异常message={}", throwable.getMessage());
Throwable cause = throwable.getCause();
if (cause instanceof BusinessException) {
BusinessException businessException = (BusinessException) cause;
return businessException.getCode() != null ?
ResponseResult.fail(businessException.getCode(), businessException.getMessage()) :
ResponseResult.fail(businessException.getMessage());
}
return ResponseResult.fail(500, "系统异常,请稍后重试");
}
/**
* 定义分页返回结果该项会被封装在Json结果内
* 此方法可以不覆盖默认返回PageResult
*/
// @Override
// public Object buildPageResult(RequestEntity requestEntity, Page page, long total, List<Map<String, Object>> data) {
// return new HashMap<String,Object>(){
// {
// put("total", total);
// put("list", data);
// }
// };
// }
}

View File

@ -0,0 +1,46 @@
package com.mosty.common.magic.api.config;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.ssssssss.magicapi.core.interceptor.RequestInterceptor;
import org.ssssssss.magicapi.core.model.ApiInfo;
import org.ssssssss.script.MagicScriptContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 泛解析jwt 信息,实现类似 {@code JwtSysUser} 的效果
*/
@Component
@Order(1) //拦截器顺序,可选
public class TokenParseInterceptor implements RequestInterceptor {
/*
* 当返回对象时直接将此对象返回到页面返回null时继续执行后续操作
*/
@Override
public Object preHandle(ApiInfo info, MagicScriptContext context, HttpServletRequest request, HttpServletResponse response) {
System.out.println("请求前:" + info.getPath());
// 拦截请求并直接返回结果,不继续后续代码
// 需要注意的是拦截器返回的结果不会被包裹一层json值也不会走ResultProvider
// return new JsonBean<>(100,"拦截器返回");
// 放开请求,执行后续代码
return null;
}
/**
* 执行完毕之后执行
* @param value 即将要返回到页面的值
* @return 返回到页面的对象,当返回null时执行后续拦截器否则直接返回该值不执行后续拦截器
*/
@Override
public Object postHandle(ApiInfo info, MagicScriptContext context, Object value, HttpServletRequest request, HttpServletResponse response) {
System.out.println("请求后:" + info.getPath());
System.out.println("返回结果:" + value);
// 拦截请求并直接返回结果,不继续后续代码
// 需要注意的是拦截器返回的结果不会被包裹一层json值也不会走ResultProvider
// return new JsonBean<>(100,"拦截器返回");
// 放开请求,执行后续代码
return null;
}
}

View File

@ -0,0 +1,4 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.mosty.common.magic.api.MagicApiAutoConfiguration,\
com.mosty.common.magic.api.config.CustomJsonValueProvider,\
com.mosty.common.magic.api.config.TokenParseInterceptor

View File

@ -0,0 +1,4 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.mosty.common.magic.api.MagicApiAutoConfiguration,\
com.mosty.common.magic.api.config.CustomJsonValueProvider,\
com.mosty.common.magic.api.config.TokenParseInterceptor

View File

@ -0,0 +1,5 @@
#Generated by Maven
#Thu Apr 18 12:45:24 CST 2024
version=1.0.0-SNAPSHOT
groupId=com.mosty
artifactId=common-magic-api-starter

View File

@ -0,0 +1,3 @@
com\mosty\common\magic\api\config\CustomJsonValueProvider.class
com\mosty\common\magic\api\config\TokenParseInterceptor.class
com\mosty\common\magic\api\MagicApiAutoConfiguration.class

View File

@ -0,0 +1,3 @@
C:\tools\dy外网\mosty-common\common-magic-api-starter\src\main\java\com\mosty\common\magic\api\config\TokenParseInterceptor.java
C:\tools\dy外网\mosty-common\common-magic-api-starter\src\main\java\com\mosty\common\magic\api\MagicApiAutoConfiguration.java
C:\tools\dy外网\mosty-common\common-magic-api-starter\src\main\java\com\mosty\common\magic\api\config\CustomJsonValueProvider.java