localizer
parent
76cf8ecbfd
commit
8000a4bd3e
|
|
@ -72,18 +72,6 @@
|
|||
</dependency>
|
||||
<!--</editor-fold>-->
|
||||
|
||||
<!-- cglib -->
|
||||
<dependency>
|
||||
<groupId>cglib</groupId>
|
||||
<artifactId>cglib</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- okhttp -->
|
||||
<dependency>
|
||||
<groupId>com.squareup.okhttp3</groupId>
|
||||
<artifactId>okhttp</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- lombok -->
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ package com.njzscloud.common.core.thread;
|
|||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.concurrent.RejectedExecutionHandler;
|
||||
import java.util.concurrent.ThreadFactory;
|
||||
|
|
@ -115,7 +114,7 @@ public class ThreadPool {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Thread newThread(@NotNull Runnable r) {
|
||||
public Thread newThread(Runnable r) {
|
||||
String name = namePrefix + threadNumber.getAndIncrement();
|
||||
log.debug("创建新线程:{}", name);
|
||||
Thread t = new Thread(r, name) {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package com.njzscloud.common.core.http.constant;
|
||||
package com.njzscloud.common.core.utils;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
package com.njzscloud.common.core.utils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class StrUtil {
|
||||
// 匹配非特殊字符的正则表达式,对应 TS 中的 [^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+
|
||||
private static final Pattern SPLIT_CHAR_PATTERN = Pattern.compile("[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+");
|
||||
|
||||
// 匹配大写字母的正则表达式,用于分割单词
|
||||
private static final Pattern UPPER_CASE_PATTERN = Pattern.compile("([A-Z])");
|
||||
|
||||
/**
|
||||
* 检查字符串是否为空
|
||||
*/
|
||||
private static boolean isBlank(String str) {
|
||||
return str == null || str.trim().isEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
* 首字母大写
|
||||
*/
|
||||
private static String capitalize(String word) {
|
||||
if (isBlank(word)) {
|
||||
return word;
|
||||
}
|
||||
return Character.toUpperCase(word.charAt(0)) +
|
||||
(word.length() > 1 ? word.substring(1).toLowerCase() : "");
|
||||
}
|
||||
|
||||
/**
|
||||
* 以大写字母为分割符,转换成其他分隔符
|
||||
*/
|
||||
public static String processWords(String str, WordJoiner joiner) {
|
||||
if (isBlank(str)) {
|
||||
return "";
|
||||
}
|
||||
|
||||
// 处理字符串:在大写字母前添加分隔符,然后转为小写
|
||||
String processed = UPPER_CASE_PATTERN.matcher(str).replaceAll(" $1").toLowerCase();
|
||||
|
||||
// 提取匹配的单词
|
||||
Matcher matcher = SPLIT_CHAR_PATTERN.matcher(processed);
|
||||
List<String> words = new ArrayList<>();
|
||||
while (matcher.find()) {
|
||||
words.add(matcher.group().trim());
|
||||
}
|
||||
|
||||
// 使用 joiner 连接单词
|
||||
StringBuilder result = new StringBuilder();
|
||||
for (int i = 0; i < words.size(); i++) {
|
||||
result.append(joiner.join(words.get(i), i));
|
||||
}
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 小驼峰命名 (camelCase)
|
||||
*/
|
||||
public static String camelCase(String str) {
|
||||
return processWords(str, (word, index) -> {
|
||||
if (index == 0) {
|
||||
return word;
|
||||
} else {
|
||||
return capitalize(word);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 大驼峰命名 (PascalCase)
|
||||
*/
|
||||
public static String pascalCase(String str) {
|
||||
String camel = camelCase(str);
|
||||
return capitalize(camel);
|
||||
}
|
||||
|
||||
/**
|
||||
* 下划线命名 (snake_case)
|
||||
*/
|
||||
public static String snakeCase(String str) {
|
||||
return processWords(str, (word, index) -> {
|
||||
if (index == 0) {
|
||||
return word;
|
||||
} else {
|
||||
return "_" + word;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 中横杠命名 (kebab-case)
|
||||
*/
|
||||
public static String kebabCase(String str) {
|
||||
return processWords(str, (word, index) -> {
|
||||
if (index == 0) {
|
||||
return word;
|
||||
} else {
|
||||
return "-" + word;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 函数式接口,用于处理单词连接
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public interface WordJoiner {
|
||||
String join(String word, int index);
|
||||
}
|
||||
}
|
||||
|
|
@ -2,8 +2,8 @@ package com.njzscloud.common.email;
|
|||
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import com.njzscloud.common.core.ex.Exceptions;
|
||||
import com.njzscloud.common.core.http.constant.Mime;
|
||||
import com.njzscloud.common.core.tuple.Tuple2;
|
||||
import com.njzscloud.common.core.utils.Mime;
|
||||
import lombok.Getter;
|
||||
|
||||
import javax.mail.util.ByteArrayDataSource;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.common.gen;
|
||||
|
||||
import com.njzscloud.common.core.http.constant.Mime;
|
||||
import com.njzscloud.common.core.utils.Mime;
|
||||
import com.njzscloud.common.core.utils.R;
|
||||
import com.njzscloud.common.gen.support.Generator;
|
||||
import com.njzscloud.common.mp.support.PageParam;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.njzscloud</groupId>
|
||||
<artifactId>njzscloud-common</artifactId>
|
||||
<version>0.0.1</version>
|
||||
</parent>
|
||||
<artifactId>njzscloud-common-http</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.njzscloud</groupId>
|
||||
<artifactId>njzscloud-common-core</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- cglib -->
|
||||
<dependency>
|
||||
<groupId>cglib</groupId>
|
||||
<artifactId>cglib</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- okhttp -->
|
||||
<dependency>
|
||||
<groupId>com.squareup.okhttp3</groupId>
|
||||
<artifactId>okhttp</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
package com.njzscloud.common.core.http;
|
||||
package com.njzscloud.common.http;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.njzscloud.common.core.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.core.http.support.ResponseInfo;
|
||||
import com.njzscloud.common.core.tuple.Tuple2;
|
||||
import com.njzscloud.common.http.config.HttpClientProperties;
|
||||
import com.njzscloud.common.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.http.support.ResponseInfo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import okhttp3.*;
|
||||
|
||||
|
|
@ -1,20 +1,23 @@
|
|||
package com.njzscloud.common.core.http;
|
||||
package com.njzscloud.common.http;
|
||||
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.lang.SimpleCache;
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import com.njzscloud.common.core.http.annotation.GetEndpoint;
|
||||
import com.njzscloud.common.core.http.annotation.PostEndpoint;
|
||||
import com.njzscloud.common.core.http.annotation.RemoteServer;
|
||||
import com.njzscloud.common.core.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.core.http.interceptor.RequestInterceptor;
|
||||
import com.njzscloud.common.core.http.interceptor.ResponseInterceptor;
|
||||
import com.njzscloud.common.core.http.resolver.*;
|
||||
import com.njzscloud.common.core.http.support.RequestInfo;
|
||||
import com.njzscloud.common.core.http.support.ResponseInfo;
|
||||
import com.njzscloud.common.core.http.support.ResponseResult;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import com.njzscloud.common.core.ex.Exceptions;
|
||||
import com.njzscloud.common.core.tuple.Tuple2;
|
||||
import com.njzscloud.common.http.annotation.GetEndpoint;
|
||||
import com.njzscloud.common.http.annotation.PostEndpoint;
|
||||
import com.njzscloud.common.http.annotation.RemoteServer;
|
||||
import com.njzscloud.common.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.http.interceptor.RequestInterceptor;
|
||||
import com.njzscloud.common.http.interceptor.ResponseInterceptor;
|
||||
import com.njzscloud.common.http.resolver.*;
|
||||
import com.njzscloud.common.http.support.RequestInfo;
|
||||
import com.njzscloud.common.http.support.ResponseInfo;
|
||||
import com.njzscloud.common.http.support.ResponseResult;
|
||||
import net.sf.cglib.proxy.Enhancer;
|
||||
import net.sf.cglib.proxy.MethodInterceptor;
|
||||
import net.sf.cglib.proxy.MethodProxy;
|
||||
|
|
@ -63,9 +66,16 @@ public class HttpClientDecorator {
|
|||
|
||||
public MethodInterceptorImpl(Class<?> clazz, HttpClient httpClient) {
|
||||
RemoteServer anno = clazz.getAnnotation(RemoteServer.class);
|
||||
baseUrl = anno.value();
|
||||
Matcher matcher = ADDR_PATTERN.matcher(baseUrl);
|
||||
Assert.isTrue(matcher.matches(), "地址不合法");
|
||||
String value = anno.value();
|
||||
if (value.startsWith("${") && value.endsWith("}")) {
|
||||
value = SpringUtil.getProperty(value.substring(2, value.length() - 1));
|
||||
}
|
||||
if (StrUtil.isBlank(value)) {
|
||||
throw Exceptions.error("地址不合法");
|
||||
}
|
||||
Matcher matcher = ADDR_PATTERN.matcher(value);
|
||||
Assert.isTrue(matcher.matches(), () -> Exceptions.error("地址不合法"));
|
||||
baseUrl = value;
|
||||
Class<? extends RequestInterceptor> requestedInterceptorClazz = anno.requestInterceptor();
|
||||
Class<? extends ResponseInterceptor> responseInterceptorClazz = anno.responseInterceptor();
|
||||
requestInterceptor = ReflectUtil.newInstance(requestedInterceptorClazz);
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.njzscloud.common.core.http.annotation;
|
||||
package com.njzscloud.common.http.annotation;
|
||||
|
||||
import com.njzscloud.common.core.http.processor.BodyParamProcessor;
|
||||
import com.njzscloud.common.core.http.processor.DefaultBodyParamProcessor;
|
||||
import com.njzscloud.common.http.processor.BodyParamProcessor;
|
||||
import com.njzscloud.common.http.processor.DefaultBodyParamProcessor;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.common.core.http.annotation;
|
||||
package com.njzscloud.common.http.annotation;
|
||||
|
||||
import com.njzscloud.common.core.http.processor.FormBodyParamProcessor;
|
||||
import com.njzscloud.common.http.processor.FormBodyParamProcessor;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.njzscloud.common.core.http.annotation;
|
||||
package com.njzscloud.common.http.annotation;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.njzscloud.common.core.http.annotation;
|
||||
package com.njzscloud.common.http.annotation;
|
||||
|
||||
|
||||
import com.njzscloud.common.core.http.processor.DefaultHeaderParamProcessor;
|
||||
import com.njzscloud.common.http.processor.DefaultHeaderParamProcessor;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.njzscloud.common.core.http.annotation;
|
||||
package com.njzscloud.common.http.annotation;
|
||||
|
||||
import com.njzscloud.common.core.http.processor.DefaultJsonBodyParamProcessor;
|
||||
import com.njzscloud.common.core.http.processor.JsonBodyParamProcessor;
|
||||
import com.njzscloud.common.http.processor.DefaultJsonBodyParamProcessor;
|
||||
import com.njzscloud.common.http.processor.JsonBodyParamProcessor;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.common.core.http.annotation;
|
||||
package com.njzscloud.common.http.annotation;
|
||||
|
||||
import com.njzscloud.common.core.http.processor.MultiBodyParamProcessor;
|
||||
import com.njzscloud.common.http.processor.MultiBodyParamProcessor;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.njzscloud.common.core.http.annotation;
|
||||
package com.njzscloud.common.http.annotation;
|
||||
|
||||
import com.njzscloud.common.core.http.processor.DefaultPathParamProcessor;
|
||||
import com.njzscloud.common.core.http.processor.PathParamProcessor;
|
||||
import com.njzscloud.common.http.processor.DefaultPathParamProcessor;
|
||||
import com.njzscloud.common.http.processor.PathParamProcessor;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.njzscloud.common.core.http.annotation;
|
||||
package com.njzscloud.common.http.annotation;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.common.core.http.annotation;
|
||||
package com.njzscloud.common.http.annotation;
|
||||
|
||||
import com.njzscloud.common.core.http.processor.DefaultQueryParamProcessor;
|
||||
import com.njzscloud.common.http.processor.DefaultQueryParamProcessor;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package com.njzscloud.common.core.http.annotation;
|
||||
package com.njzscloud.common.http.annotation;
|
||||
|
||||
|
||||
import com.njzscloud.common.core.http.interceptor.CompositeInterceptor;
|
||||
import com.njzscloud.common.core.http.interceptor.RequestInterceptor;
|
||||
import com.njzscloud.common.core.http.interceptor.ResponseInterceptor;
|
||||
import com.njzscloud.common.http.interceptor.CompositeInterceptor;
|
||||
import com.njzscloud.common.http.interceptor.RequestInterceptor;
|
||||
import com.njzscloud.common.http.interceptor.ResponseInterceptor;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
|
@ -22,7 +22,7 @@ public @interface RemoteServer {
|
|||
*
|
||||
* @return String
|
||||
*/
|
||||
String value();
|
||||
String value() default "";
|
||||
|
||||
/**
|
||||
* 请求拦截器, 在请求之前触发
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.njzscloud.common.core.http.annotation;
|
||||
package com.njzscloud.common.http.annotation;
|
||||
|
||||
import com.njzscloud.common.core.http.processor.DefaultXmlBodyParamProcessor;
|
||||
import com.njzscloud.common.core.http.processor.XmlBodyParamProcessor;
|
||||
import com.njzscloud.common.http.processor.DefaultXmlBodyParamProcessor;
|
||||
import com.njzscloud.common.http.processor.XmlBodyParamProcessor;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
|
@ -1,8 +1,7 @@
|
|||
package com.njzscloud.supervisory.config;
|
||||
package com.njzscloud.common.http.config;
|
||||
|
||||
import com.njzscloud.common.core.http.HttpClient;
|
||||
import com.njzscloud.common.core.http.HttpClientDecorator;
|
||||
import com.njzscloud.common.core.http.HttpClientProperties;
|
||||
import com.njzscloud.common.http.HttpClient;
|
||||
import com.njzscloud.common.http.HttpClientDecorator;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.njzscloud.common.core.http;
|
||||
package com.njzscloud.common.http.config;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.njzscloud.common.core.http.constant;
|
||||
package com.njzscloud.common.http.constant;
|
||||
|
||||
/**
|
||||
* HTTP 方法
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package com.njzscloud.common.core.http.interceptor;
|
||||
package com.njzscloud.common.http.interceptor;
|
||||
|
||||
import com.njzscloud.common.core.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.core.http.support.RequestInfo;
|
||||
import com.njzscloud.common.core.http.support.ResponseInfo;
|
||||
import com.njzscloud.common.core.jackson.Jackson;
|
||||
import com.njzscloud.common.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.http.support.RequestInfo;
|
||||
import com.njzscloud.common.http.support.ResponseInfo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.njzscloud.common.core.http.interceptor;
|
||||
package com.njzscloud.common.http.interceptor;
|
||||
|
||||
|
||||
import com.njzscloud.common.core.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.http.constant.HttpMethod;
|
||||
|
||||
/**
|
||||
* 请求拦截器, 在请求之前触发, 可修改请求参数
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.njzscloud.common.core.http.interceptor;
|
||||
package com.njzscloud.common.http.interceptor;
|
||||
|
||||
|
||||
import com.njzscloud.common.core.http.support.RequestInfo;
|
||||
import com.njzscloud.common.core.http.support.ResponseInfo;
|
||||
import com.njzscloud.common.http.support.RequestInfo;
|
||||
import com.njzscloud.common.http.support.ResponseInfo;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.BodyParam;
|
||||
import com.njzscloud.common.http.annotation.BodyParam;
|
||||
|
||||
public interface BodyParamProcessor {
|
||||
byte[] process(BodyParam bodyParam, String paramName, Class<?> paramClazz, Object paramValue);
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import com.njzscloud.common.core.http.annotation.BodyParam;
|
||||
import com.njzscloud.common.http.annotation.BodyParam;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.FormBodyParam;
|
||||
import com.njzscloud.common.http.annotation.FormBodyParam;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.HeaderParam;
|
||||
import com.njzscloud.common.http.annotation.HeaderParam;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.JsonBodyParam;
|
||||
import com.njzscloud.common.core.jackson.Jackson;
|
||||
import com.njzscloud.common.http.annotation.JsonBodyParam;
|
||||
|
||||
public class DefaultJsonBodyParamProcessor implements JsonBodyParamProcessor {
|
||||
@Override
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.MultiBodyParam;
|
||||
import com.njzscloud.common.core.tuple.Tuple3;
|
||||
import com.njzscloud.common.http.annotation.MultiBodyParam;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.PathParam;
|
||||
import com.njzscloud.common.http.annotation.PathParam;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.QueryParam;
|
||||
import com.njzscloud.common.http.annotation.QueryParam;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.XmlBodyParam;
|
||||
import com.njzscloud.common.core.jackson.Jackson;
|
||||
import com.njzscloud.common.http.annotation.XmlBodyParam;
|
||||
|
||||
public class DefaultXmlBodyParamProcessor implements XmlBodyParamProcessor {
|
||||
@Override
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.FormBodyParam;
|
||||
import com.njzscloud.common.http.annotation.FormBodyParam;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.HeaderParam;
|
||||
import com.njzscloud.common.http.annotation.HeaderParam;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.JsonBodyParam;
|
||||
import com.njzscloud.common.http.annotation.JsonBodyParam;
|
||||
|
||||
public interface JsonBodyParamProcessor {
|
||||
byte[] process(JsonBodyParam jsonBodyParam, String paramName, Class<?> paramClazz, Object paramValue);
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.MultiBodyParam;
|
||||
import com.njzscloud.common.core.tuple.Tuple3;
|
||||
import com.njzscloud.common.http.annotation.MultiBodyParam;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.PathParam;
|
||||
import com.njzscloud.common.http.annotation.PathParam;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.QueryParam;
|
||||
import com.njzscloud.common.http.annotation.QueryParam;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.common.core.http.processor;
|
||||
package com.njzscloud.common.http.processor;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.XmlBodyParam;
|
||||
import com.njzscloud.common.http.annotation.XmlBodyParam;
|
||||
|
||||
public interface XmlBodyParamProcessor {
|
||||
byte[] process(XmlBodyParam xmlBodyParam, String paramName, Class<?> paramClazz, Object paramValue);
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package com.njzscloud.common.core.http.resolver;
|
||||
package com.njzscloud.common.http.resolver;
|
||||
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import com.njzscloud.common.core.http.annotation.BodyParam;
|
||||
import com.njzscloud.common.core.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.core.http.constant.Mime;
|
||||
import com.njzscloud.common.core.http.processor.BodyParamProcessor;
|
||||
import com.njzscloud.common.core.tuple.Tuple2;
|
||||
import com.njzscloud.common.core.utils.Mime;
|
||||
import com.njzscloud.common.http.annotation.BodyParam;
|
||||
import com.njzscloud.common.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.http.processor.BodyParamProcessor;
|
||||
|
||||
public class BodyParamResolver extends ParamResolver<BodyParam, Tuple2<String, byte[]>> {
|
||||
byte[] result = null;
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
package com.njzscloud.common.core.http.resolver;
|
||||
package com.njzscloud.common.http.resolver;
|
||||
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.njzscloud.common.core.http.annotation.FormBodyParam;
|
||||
import com.njzscloud.common.core.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.core.http.constant.Mime;
|
||||
import com.njzscloud.common.core.http.processor.FormBodyParamProcessor;
|
||||
import com.njzscloud.common.core.tuple.Tuple2;
|
||||
import com.njzscloud.common.core.utils.Mime;
|
||||
import com.njzscloud.common.http.annotation.FormBodyParam;
|
||||
import com.njzscloud.common.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.http.processor.FormBodyParamProcessor;
|
||||
|
||||
import java.math.RoundingMode;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package com.njzscloud.common.core.http.resolver;
|
||||
package com.njzscloud.common.http.resolver;
|
||||
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.njzscloud.common.core.http.annotation.HeaderParam;
|
||||
import com.njzscloud.common.core.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.core.http.processor.DefaultHeaderParamProcessor;
|
||||
import com.njzscloud.common.http.annotation.HeaderParam;
|
||||
import com.njzscloud.common.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.http.processor.DefaultHeaderParamProcessor;
|
||||
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package com.njzscloud.common.core.http.resolver;
|
||||
package com.njzscloud.common.http.resolver;
|
||||
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import com.njzscloud.common.core.http.annotation.JsonBodyParam;
|
||||
import com.njzscloud.common.core.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.core.http.constant.Mime;
|
||||
import com.njzscloud.common.core.http.processor.JsonBodyParamProcessor;
|
||||
import com.njzscloud.common.core.tuple.Tuple2;
|
||||
import com.njzscloud.common.core.utils.Mime;
|
||||
import com.njzscloud.common.http.annotation.JsonBodyParam;
|
||||
import com.njzscloud.common.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.http.processor.JsonBodyParamProcessor;
|
||||
|
||||
public class JsonBodyParamResolver extends ParamResolver<JsonBodyParam, Tuple2<String, byte[]>> {
|
||||
byte[] result = null;
|
||||
|
|
@ -1,16 +1,16 @@
|
|||
package com.njzscloud.common.core.http.resolver;
|
||||
package com.njzscloud.common.http.resolver;
|
||||
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.URLUtil;
|
||||
import com.njzscloud.common.core.http.annotation.MultiBodyParam;
|
||||
import com.njzscloud.common.core.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.core.http.constant.Mime;
|
||||
import com.njzscloud.common.core.http.processor.MultiBodyParamProcessor;
|
||||
import com.njzscloud.common.core.tuple.Tuple2;
|
||||
import com.njzscloud.common.core.tuple.Tuple3;
|
||||
import com.njzscloud.common.core.utils.Mime;
|
||||
import com.njzscloud.common.http.annotation.MultiBodyParam;
|
||||
import com.njzscloud.common.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.http.processor.MultiBodyParamProcessor;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.math.RoundingMode;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.njzscloud.common.core.http.resolver;
|
||||
package com.njzscloud.common.http.resolver;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
|
|
@ -7,9 +7,9 @@ import cn.hutool.core.io.IoUtil;
|
|||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.njzscloud.common.core.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.core.tuple.Tuple2;
|
||||
import com.njzscloud.common.core.tuple.Tuple3;
|
||||
import com.njzscloud.common.http.constant.HttpMethod;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import java.io.File;
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package com.njzscloud.common.core.http.resolver;
|
||||
package com.njzscloud.common.http.resolver;
|
||||
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.njzscloud.common.core.http.annotation.PathParam;
|
||||
import com.njzscloud.common.core.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.core.http.processor.PathParamProcessor;
|
||||
import com.njzscloud.common.http.annotation.PathParam;
|
||||
import com.njzscloud.common.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.http.processor.PathParamProcessor;
|
||||
|
||||
import java.math.RoundingMode;
|
||||
import java.util.Map;
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package com.njzscloud.common.core.http.resolver;
|
||||
package com.njzscloud.common.http.resolver;
|
||||
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.njzscloud.common.core.http.annotation.QueryParam;
|
||||
import com.njzscloud.common.core.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.core.http.processor.DefaultQueryParamProcessor;
|
||||
import com.njzscloud.common.http.annotation.QueryParam;
|
||||
import com.njzscloud.common.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.http.processor.DefaultQueryParamProcessor;
|
||||
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package com.njzscloud.common.core.http.resolver;
|
||||
package com.njzscloud.common.http.resolver;
|
||||
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import com.njzscloud.common.core.http.annotation.XmlBodyParam;
|
||||
import com.njzscloud.common.core.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.core.http.constant.Mime;
|
||||
import com.njzscloud.common.core.http.processor.XmlBodyParamProcessor;
|
||||
import com.njzscloud.common.core.tuple.Tuple2;
|
||||
import com.njzscloud.common.core.utils.Mime;
|
||||
import com.njzscloud.common.http.annotation.XmlBodyParam;
|
||||
import com.njzscloud.common.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.http.processor.XmlBodyParamProcessor;
|
||||
|
||||
public class XmlBodyParamResolver extends ParamResolver<XmlBodyParam, Tuple2<String, byte[]>> {
|
||||
byte[] result = null;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.njzscloud.common.core.http.support;
|
||||
package com.njzscloud.common.http.support;
|
||||
|
||||
import java.lang.annotation.Annotation;
|
||||
import java.util.List;
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.njzscloud.common.core.http.support;
|
||||
package com.njzscloud.common.http.support;
|
||||
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import com.njzscloud.common.core.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.core.tuple.Tuple2;
|
||||
import com.njzscloud.common.http.constant.HttpMethod;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.njzscloud.common.core.http.support;
|
||||
package com.njzscloud.common.http.support;
|
||||
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.njzscloud.common.core.http.support;
|
||||
package com.njzscloud.common.http.support;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
org.springframework.boot.autoconfigure.EnableAutoConfiguration = \
|
||||
com.njzscloud.common.http.config.HttpClientAutoConfiguration
|
||||
|
|
@ -5,7 +5,6 @@ import cn.hutool.core.util.StrUtil;
|
|||
import com.njzscloud.common.core.jackson.Jackson;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.servlet.ReadListener;
|
||||
import javax.servlet.ServletInputStream;
|
||||
|
|
@ -98,12 +97,12 @@ public class ReusableHttpServletRequest extends HttpServletRequestWrapper {
|
|||
}
|
||||
|
||||
@Override
|
||||
public int read(@NotNull byte[] b) throws IOException {
|
||||
public int read(byte[] b) throws IOException {
|
||||
return bais.read(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int read(@NotNull byte[] b, int off, int len) throws IOException {
|
||||
public int read(byte[] b, int off, int len) throws IOException {
|
||||
return bais.read(b, off, len);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import cn.hutool.core.util.StrUtil;
|
|||
import com.njzscloud.common.redis.annotation.RedisListener;
|
||||
import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.factory.annotation.AnnotatedBeanDefinition;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
|
||||
|
|
@ -34,7 +33,7 @@ public class RedisListenerRegistrar implements ImportBeanDefinitionRegistrar, Re
|
|||
private Environment environment;
|
||||
|
||||
@Override
|
||||
public void registerBeanDefinitions(@NotNull AnnotationMetadata metadata, @NotNull BeanDefinitionRegistry registry) {
|
||||
public void registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionRegistry registry) {
|
||||
LinkedHashSet<BeanDefinition> candidateComponents = new LinkedHashSet<>();
|
||||
|
||||
AnnotationTypeFilter annotationTypeFilter = new AnnotationTypeFilter(RedisListener.class);
|
||||
|
|
@ -92,7 +91,7 @@ public class RedisListenerRegistrar implements ImportBeanDefinitionRegistrar, Re
|
|||
protected ClassPathScanningCandidateComponentProvider getScanner() {
|
||||
return new ClassPathScanningCandidateComponentProvider(false, this.environment) {
|
||||
@Override
|
||||
protected boolean isCandidateComponent(@NotNull AnnotatedBeanDefinition beanDefinition) {
|
||||
protected boolean isCandidateComponent(AnnotatedBeanDefinition beanDefinition) {
|
||||
return beanDefinition.getMetadata().isIndependent() && !beanDefinition.getMetadata().isAnnotation();
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ package com.njzscloud.common.security.handler;
|
|||
|
||||
import cn.hutool.extra.servlet.ServletUtil;
|
||||
import com.njzscloud.common.core.ex.ExceptionMsg;
|
||||
import com.njzscloud.common.core.http.constant.Mime;
|
||||
import com.njzscloud.common.core.jackson.Jackson;
|
||||
import com.njzscloud.common.core.utils.Mime;
|
||||
import com.njzscloud.common.core.utils.R;
|
||||
import com.njzscloud.common.security.ex.MissingPermissionException;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ package com.njzscloud.common.security.handler;
|
|||
|
||||
import cn.hutool.extra.servlet.ServletUtil;
|
||||
import com.njzscloud.common.core.ex.ExceptionMsg;
|
||||
import com.njzscloud.common.core.http.constant.Mime;
|
||||
import com.njzscloud.common.core.jackson.Jackson;
|
||||
import com.njzscloud.common.core.utils.Mime;
|
||||
import com.njzscloud.common.core.utils.R;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.security.authentication.AuthenticationCredentialsNotFoundException;
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ package com.njzscloud.common.security.handler;
|
|||
|
||||
import cn.hutool.extra.servlet.ServletUtil;
|
||||
import com.njzscloud.common.core.ex.ExceptionMsg;
|
||||
import com.njzscloud.common.core.http.constant.Mime;
|
||||
import com.njzscloud.common.core.jackson.Jackson;
|
||||
import com.njzscloud.common.core.utils.Mime;
|
||||
import com.njzscloud.common.core.utils.R;
|
||||
import com.njzscloud.common.security.contant.AuthWay;
|
||||
import com.njzscloud.common.security.ex.UserLoginException;
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ package com.njzscloud.common.security.handler;
|
|||
|
||||
import cn.hutool.extra.servlet.ServletUtil;
|
||||
import com.njzscloud.common.core.ex.ExceptionMsg;
|
||||
import com.njzscloud.common.core.http.constant.Mime;
|
||||
import com.njzscloud.common.core.jackson.Jackson;
|
||||
import com.njzscloud.common.core.utils.Mime;
|
||||
import com.njzscloud.common.core.utils.R;
|
||||
import com.njzscloud.common.security.support.Token;
|
||||
import com.njzscloud.common.security.support.UserAuthenticationToken;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package com.njzscloud.common.security.module.wechat;
|
||||
package com.njzscloud.common.security.module.wechat.mini;
|
||||
|
||||
import com.njzscloud.common.core.ex.ExceptionMsg;
|
||||
import com.njzscloud.common.security.contant.AuthWay;
|
||||
|
|
@ -14,7 +14,7 @@ import java.util.Set;
|
|||
* 验证码登录认证器
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
public class WechatAuthenticationProvider extends AbstractAuthenticationProvider {
|
||||
public class WechatMiniAuthenticationProvider extends AbstractAuthenticationProvider {
|
||||
private final IUserService iUserService;
|
||||
private final IRoleService iRoleService;
|
||||
private final IResourceService iResourceService;
|
||||
|
|
@ -27,9 +27,9 @@ public class WechatAuthenticationProvider extends AbstractAuthenticationProvider
|
|||
*/
|
||||
@Override
|
||||
protected UserDetail retrieveUser(LoginForm loginForm) throws UserLoginException {
|
||||
WechatLoginForm wechatLoginForm = (WechatLoginForm) loginForm;
|
||||
String code = wechatLoginForm.getCode();
|
||||
AuthWay authWay = wechatLoginForm.getAuthWay();
|
||||
WechatMiniLoginForm wechatMiniLoginForm = (WechatMiniLoginForm) loginForm;
|
||||
String code = wechatMiniLoginForm.getCode();
|
||||
AuthWay authWay = wechatMiniLoginForm.getAuthWay();
|
||||
UserDetail userDetail = iUserService.selectUser(code, authWay);
|
||||
if (userDetail == null) throw new UserLoginException(ExceptionMsg.CLI_ERR_MSG, "账号不存在");
|
||||
Long userId = userDetail.getUserId();
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.njzscloud.common.security.module.wechat;
|
||||
package com.njzscloud.common.security.module.wechat.mini;
|
||||
|
||||
import com.njzscloud.common.security.contant.AuthWay;
|
||||
import com.njzscloud.common.security.support.LoginForm;
|
||||
|
|
@ -10,13 +10,15 @@ import lombok.Setter;
|
|||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class WechatLoginForm extends LoginForm {
|
||||
public class WechatMiniLoginForm extends LoginForm {
|
||||
/**
|
||||
* 验证码
|
||||
*/
|
||||
private String code;
|
||||
private String openid;
|
||||
private String unionid;
|
||||
|
||||
public WechatLoginForm() {
|
||||
public WechatMiniLoginForm() {
|
||||
super(AuthWay.WECHAT_MINI);
|
||||
}
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.njzscloud.common.security.module.wechat;
|
||||
package com.njzscloud.common.security.module.wechat.mini;
|
||||
|
||||
import com.njzscloud.common.core.ex.ExceptionMsg;
|
||||
import com.njzscloud.common.core.jackson.Jackson;
|
||||
|
|
@ -16,7 +16,7 @@ import static com.njzscloud.common.security.contant.Constants.LOGIN_WECHAT_URL;
|
|||
/**
|
||||
* 验证码登录,登录参数处理器
|
||||
*/
|
||||
public class WechatLoginPreparer implements LoginPreparer {
|
||||
public class WechatMiniLoginPreparer implements LoginPreparer {
|
||||
private static final AntPathRequestMatcher matcher = new AntPathRequestMatcher(LOGIN_WECHAT_URL, "POST");
|
||||
|
||||
/**
|
||||
|
|
@ -28,7 +28,7 @@ public class WechatLoginPreparer implements LoginPreparer {
|
|||
@Override
|
||||
public LoginForm createLoginForm(HttpServletRequest request) {
|
||||
try (ServletInputStream inputStream = request.getInputStream()) {
|
||||
return Jackson.toBean(inputStream, WechatLoginForm.class);
|
||||
return Jackson.toBean(inputStream, WechatMiniLoginForm.class);
|
||||
} catch (Exception e) {
|
||||
throw new UserLoginException(e, ExceptionMsg.SYS_ERR_MSG, "登录表单解析失败");
|
||||
}
|
||||
|
|
@ -1,7 +1,21 @@
|
|||
package com.njzscloud.common.security.support;
|
||||
|
||||
import com.njzscloud.common.security.contant.AuthWay;
|
||||
import com.njzscloud.common.security.module.password.PasswordLoginForm;
|
||||
import com.njzscloud.common.security.module.wechat.mini.WechatMiniLoginForm;
|
||||
|
||||
public interface IUserService {
|
||||
UserDetail selectUser(String phone, AuthWay authWay);
|
||||
|
||||
default UserDetail selectUser(PasswordLoginForm form) {
|
||||
return null;
|
||||
}
|
||||
|
||||
default UserDetail selectUser(WechatMiniLoginForm form) {
|
||||
return null;
|
||||
}
|
||||
|
||||
default UserDetail my(WechatMiniLoginForm form) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import lombok.RequiredArgsConstructor;
|
|||
import lombok.Setter;
|
||||
|
||||
import java.security.Principal;
|
||||
import java.util.Map;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
@ -17,4 +18,8 @@ public abstract class LoginForm implements Principal {
|
|||
*/
|
||||
private final AuthWay authWay;
|
||||
|
||||
/**
|
||||
* 扩展参数
|
||||
*/
|
||||
private Map<String, Object> extra;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.njzscloud</groupId>
|
||||
<artifactId>njzscloud-common</artifactId>
|
||||
<version>0.0.1</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>njzscloud-common-wechat</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.njzscloud</groupId>
|
||||
<artifactId>njzscloud-common-core</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.njzscloud</groupId>
|
||||
<artifactId>njzscloud-common-http</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.njzscloud.common.wechat;
|
||||
|
||||
import com.njzscloud.common.http.annotation.GetEndpoint;
|
||||
import com.njzscloud.common.http.annotation.QueryParam;
|
||||
import com.njzscloud.common.http.annotation.RemoteServer;
|
||||
import com.njzscloud.common.wechat.param.Code2SessionParam;
|
||||
import com.njzscloud.common.wechat.param.GetAccessTokenParam;
|
||||
import com.njzscloud.common.wechat.result.Code2SessionResult;
|
||||
import com.njzscloud.common.wechat.result.GetAccessTokenResult;
|
||||
|
||||
@RemoteServer(value = "${wechat.base-url}")
|
||||
public interface WechatApi {
|
||||
|
||||
/**
|
||||
* 获取access_token
|
||||
*/
|
||||
@GetEndpoint("/cgi-bin/token")
|
||||
GetAccessTokenResult getAccessToken(@QueryParam GetAccessTokenParam getAccessTokenParam);
|
||||
|
||||
/**
|
||||
* 小程序登录
|
||||
*/
|
||||
@GetEndpoint("/sns/jscode2session")
|
||||
Code2SessionResult code2Session(@QueryParam Code2SessionParam code2SessionParam);
|
||||
}
|
||||
|
|
@ -1,21 +1,27 @@
|
|||
package com.njzscloud.supervisory.wechat;
|
||||
package com.njzscloud.common.wechat;
|
||||
|
||||
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import com.njzscloud.common.core.ex.Exceptions;
|
||||
import com.njzscloud.supervisory.wechat.param.Code2SessionParam;
|
||||
import com.njzscloud.supervisory.wechat.param.GetAccessTokenParam;
|
||||
import com.njzscloud.supervisory.wechat.result.Code2SessionResult;
|
||||
import com.njzscloud.supervisory.wechat.result.GetAccessTokenResult;
|
||||
import com.njzscloud.common.http.HttpClientDecorator;
|
||||
import com.njzscloud.common.wechat.param.Code2SessionParam;
|
||||
import com.njzscloud.common.wechat.param.GetAccessTokenParam;
|
||||
import com.njzscloud.common.wechat.result.Code2SessionResult;
|
||||
import com.njzscloud.common.wechat.result.GetAccessTokenResult;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class WechatUtil {
|
||||
private static final WechatApi API = SpringUtil.getBean(WechatApi.class);
|
||||
|
||||
private static final WechatApi API;
|
||||
private static String accessToken = "";
|
||||
private static long tokenExpTime = 0;
|
||||
|
||||
static {
|
||||
HttpClientDecorator decorator = SpringUtil.getBean(HttpClientDecorator.class);
|
||||
API = decorator.decorate(WechatApi.class);
|
||||
}
|
||||
|
||||
public static Code2SessionResult code2Session(Code2SessionParam param) {
|
||||
auth();
|
||||
return API.code2Session(param.setAccess_token(accessToken));
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
package com.njzscloud.common.wechat.config;
|
||||
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
@EnableConfigurationProperties(WechatProperties.class)
|
||||
public class WechatAutoConfiguration {
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.njzscloud.supervisory.config;
|
||||
package com.njzscloud.common.wechat.config;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
|
@ -14,4 +14,5 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
|
|||
public class WechatProperties {
|
||||
private String appId;
|
||||
private String appSecret;
|
||||
private String baseUrl;
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.njzscloud.supervisory.wechat.param;
|
||||
package com.njzscloud.common.wechat.param;
|
||||
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import com.njzscloud.supervisory.config.WechatProperties;
|
||||
import com.njzscloud.common.wechat.config.WechatProperties;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.njzscloud.supervisory.wechat.param;
|
||||
package com.njzscloud.common.wechat.param;
|
||||
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import com.njzscloud.supervisory.config.WechatProperties;
|
||||
import com.njzscloud.common.wechat.config.WechatProperties;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.njzscloud.supervisory.wechat.result;
|
||||
package com.njzscloud.common.wechat.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.njzscloud.supervisory.wechat.result;
|
||||
package com.njzscloud.common.wechat.result;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
org.springframework.boot.autoconfigure.EnableAutoConfiguration = \
|
||||
com.njzscloud.common.wechat.config.WechatAutoConfiguration
|
||||
|
|
@ -27,6 +27,8 @@
|
|||
<module>njzscloud-common-sn</module>
|
||||
<module>njzscloud-common-gen</module>
|
||||
<module>njzscloud-common-mqtt</module>
|
||||
<module>njzscloud-common-http</module>
|
||||
<module>njzscloud-common-wechat</module>
|
||||
</modules>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,14 @@
|
|||
<groupId>com.njzscloud</groupId>
|
||||
<artifactId>njzscloud-common-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.njzscloud</groupId>
|
||||
<artifactId>njzscloud-common-http</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.njzscloud</groupId>
|
||||
<artifactId>njzscloud-common-wechat</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.njzscloud</groupId>
|
||||
<artifactId>njzscloud-common-mp</artifactId>
|
||||
|
|
|
|||
|
|
@ -1,21 +0,0 @@
|
|||
package com.njzscloud.supervisory.biz.constant;
|
||||
|
||||
import com.njzscloud.common.core.ienum.DictStr;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* 字典代码:truck_category
|
||||
* 字典名称:车辆类型
|
||||
*/
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
public enum TruckCategory implements DictStr {
|
||||
HookTruck("HookTruck", "勾臂车"),
|
||||
FiveSmallTruck("FiveSmallTruck", "五小工程车"),
|
||||
DumpTruck("DumpTruck", "渣土车"),
|
||||
OtherTruck("OtherTruck", "其他车型"),
|
||||
;
|
||||
private final String val;
|
||||
private final String txt;
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.njzscloud.supervisory.config;
|
||||
|
||||
import com.njzscloud.common.core.http.HttpClientDecorator;
|
||||
import com.njzscloud.common.http.HttpClientDecorator;
|
||||
import com.njzscloud.supervisory.gps.tuqiang.jimi.support.JimiApi;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
|
|
|
|||
|
|
@ -1,17 +0,0 @@
|
|||
package com.njzscloud.supervisory.config;
|
||||
|
||||
import com.njzscloud.common.core.http.HttpClientDecorator;
|
||||
import com.njzscloud.supervisory.wechat.WechatApi;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
@EnableConfigurationProperties(WechatProperties.class)
|
||||
public class WechatAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
public WechatApi wechatApi(HttpClientDecorator httpClientDecorator) {
|
||||
return httpClientDecorator.decorate(WechatApi.class);
|
||||
}
|
||||
}
|
||||
|
|
@ -127,11 +127,11 @@ public class DeviceInfoService extends ServiceImpl<DeviceInfoMapper, DeviceInfoE
|
|||
String frontPhoto = null;
|
||||
String bodyPhoto = null;
|
||||
orderInfoService.truckComing(new TruckComingOrderParam()
|
||||
.setOrderId(orderInfoByLicensePlate.getId())
|
||||
.setWeight(weight)
|
||||
.setFrontPhoto(frontPhoto)
|
||||
.setBodyPhoto(bodyPhoto)
|
||||
);
|
||||
.setOrderId(orderInfoByLicensePlate.getId())
|
||||
.setWeight(weight)
|
||||
.setFrontPhoto(frontPhoto)
|
||||
.setBodyPhoto(bodyPhoto),
|
||||
0);
|
||||
}
|
||||
break;
|
||||
// TODO 出前置不启用
|
||||
|
|
@ -162,11 +162,11 @@ public class DeviceInfoService extends ServiceImpl<DeviceInfoMapper, DeviceInfoE
|
|||
String frontPhoto = null;
|
||||
String bodyPhoto = null;
|
||||
orderInfoService.truckLeaving(new TruckLeavingOrderParam()
|
||||
.setOrderId(orderInfoByLicensePlate.getId())
|
||||
.setWeight(weight)
|
||||
.setFrontPhoto(frontPhoto)
|
||||
.setBodyPhoto(bodyPhoto)
|
||||
);
|
||||
.setOrderId(orderInfoByLicensePlate.getId())
|
||||
.setWeight(weight)
|
||||
.setFrontPhoto(frontPhoto)
|
||||
.setBodyPhoto(bodyPhoto),
|
||||
0);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
|
@ -292,21 +292,21 @@ public class DeviceInfoService extends ServiceImpl<DeviceInfoMapper, DeviceInfoE
|
|||
// 开门
|
||||
open(sn);
|
||||
orderInfoService.truckComing(new TruckComingOrderParam()
|
||||
.setOrderId(orderId)
|
||||
.setWeight(weight)
|
||||
.setFrontPhoto(frontPhoto)
|
||||
.setBodyPhoto(bodyPhoto)
|
||||
);
|
||||
.setOrderId(orderId)
|
||||
.setWeight(weight)
|
||||
.setFrontPhoto(frontPhoto)
|
||||
.setBodyPhoto(bodyPhoto),
|
||||
0);
|
||||
}
|
||||
|
||||
if (deviceCode == DeviceCode.Chu) {
|
||||
try {
|
||||
orderInfoService.truckLeaving(new TruckLeavingOrderParam()
|
||||
.setOrderId(orderId)
|
||||
.setWeight(weight)
|
||||
.setFrontPhoto(frontPhoto)
|
||||
.setBodyPhoto(bodyPhoto)
|
||||
);
|
||||
.setOrderId(orderId)
|
||||
.setWeight(weight)
|
||||
.setFrontPhoto(frontPhoto)
|
||||
.setBodyPhoto(bodyPhoto),
|
||||
0);
|
||||
// 播语音
|
||||
playVoice(sn, "{}称重完成,磅重{}吨", licensePlate, weight / 1000);
|
||||
// 开门
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
package com.njzscloud.supervisory.gps.tuqiang.jimi.support;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.FormBodyParam;
|
||||
import com.njzscloud.common.core.http.annotation.PostEndpoint;
|
||||
import com.njzscloud.common.core.http.annotation.RemoteServer;
|
||||
import com.njzscloud.common.http.annotation.FormBodyParam;
|
||||
import com.njzscloud.common.http.annotation.PostEndpoint;
|
||||
import com.njzscloud.common.http.annotation.RemoteServer;
|
||||
|
||||
@RemoteServer(value = "http://open.aichezaixian.com/route/rest", requestInterceptor = JimiRequestInterceptor.class)
|
||||
public interface JimiApi {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
package com.njzscloud.supervisory.gps.tuqiang.jimi.support;
|
||||
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import com.njzscloud.common.core.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.core.http.interceptor.RequestInterceptor;
|
||||
import com.njzscloud.common.http.constant.HttpMethod;
|
||||
import com.njzscloud.common.http.interceptor.RequestInterceptor;
|
||||
import com.njzscloud.supervisory.config.JimiProperties;
|
||||
|
||||
public class JimiRequestInterceptor implements RequestInterceptor {
|
||||
|
|
|
|||
|
|
@ -102,12 +102,12 @@ public class OrderInfoController {
|
|||
/**
|
||||
* 待派单列表
|
||||
*/
|
||||
@GetMapping("/dispatch_paging")
|
||||
/* @GetMapping("/dispatch_paging")
|
||||
public R<PageResult<OrderPagingResult>> dispatchPaging(PageParam pageParam, OrderPagingSearchParam orderPagingSearchParam) {
|
||||
return R.success(orderInfoService
|
||||
.dispatchPaging(pageParam, orderPagingSearchParam));
|
||||
}
|
||||
|
||||
*/
|
||||
/**
|
||||
* 审核分页查询
|
||||
*/
|
||||
|
|
@ -191,7 +191,7 @@ public class OrderInfoController {
|
|||
*/
|
||||
@PostMapping("/truck_coming")
|
||||
public R<?> truckComing(@RequestBody TruckComingOrderParam truckComingOrderParam) {
|
||||
orderInfoService.truckComing(truckComingOrderParam);
|
||||
orderInfoService.truckComing(truckComingOrderParam, 1);
|
||||
return R.success();
|
||||
}
|
||||
|
||||
|
|
@ -200,7 +200,7 @@ public class OrderInfoController {
|
|||
*/
|
||||
@PostMapping("/truck_leaving")
|
||||
public R<?> truckLeaving(@RequestBody TruckLeavingOrderParam truckLeavingOrderParam) {
|
||||
orderInfoService.truckLeaving(truckLeavingOrderParam);
|
||||
orderInfoService.truckLeaving(truckLeavingOrderParam, 1);
|
||||
return R.success();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package com.njzscloud.supervisory.order.pojo.result;
|
|||
|
||||
import com.njzscloud.supervisory.biz.constant.AuditStatus;
|
||||
import com.njzscloud.supervisory.biz.constant.BizObj;
|
||||
import com.njzscloud.supervisory.biz.constant.TruckCategory;
|
||||
import com.njzscloud.supervisory.goods.contant.MoneyStrategy;
|
||||
import com.njzscloud.supervisory.order.contant.*;
|
||||
import lombok.Getter;
|
||||
|
|
@ -25,10 +24,7 @@ public class OrderPagingResult {
|
|||
* 昵称
|
||||
*/
|
||||
private String nickname;
|
||||
/**
|
||||
* 车辆类型
|
||||
*/
|
||||
private TruckCategory truckCategory;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
|
|
@ -403,7 +399,10 @@ public class OrderPagingResult {
|
|||
* 车牌号
|
||||
*/
|
||||
private String licensePlate;
|
||||
|
||||
/**
|
||||
* 车辆类型
|
||||
*/
|
||||
private String truckCategory;
|
||||
/**
|
||||
* 行驶证
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package com.njzscloud.supervisory.order.pojo.result;
|
|||
|
||||
import com.njzscloud.supervisory.biz.constant.AuditStatus;
|
||||
import com.njzscloud.supervisory.biz.constant.BizObj;
|
||||
import com.njzscloud.supervisory.biz.constant.TruckCategory;
|
||||
import com.njzscloud.supervisory.goods.contant.MoneyStrategy;
|
||||
import com.njzscloud.supervisory.order.contant.*;
|
||||
import lombok.Getter;
|
||||
|
|
@ -422,7 +421,7 @@ public class TrainBillResult {
|
|||
* 空重; 单位:吨
|
||||
*/
|
||||
private Integer historyTareWeight;
|
||||
private TruckCategory truckCategory;
|
||||
private String truckCategory;
|
||||
|
||||
// endregion
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ import com.njzscloud.supervisory.order.contant.OrderCategory;
|
|||
import com.njzscloud.supervisory.order.contant.OrderStatus;
|
||||
import com.njzscloud.supervisory.order.contant.OrderViewType;
|
||||
import com.njzscloud.supervisory.order.mapper.OrderInfoMapper;
|
||||
import com.njzscloud.supervisory.order.pojo.entity.OrderCargoPlaceEntity;
|
||||
import com.njzscloud.supervisory.order.pojo.entity.OrderGoodsEntity;
|
||||
import com.njzscloud.supervisory.order.pojo.entity.OrderInfoEntity;
|
||||
import com.njzscloud.supervisory.order.pojo.param.*;
|
||||
|
|
@ -71,19 +72,6 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
AddOrderCargoPlaceParam cargoPlace = addOrderInfoParam.getCargoPlace();
|
||||
long cargoPlaceId = orderCargoPlaceService.add(cargoPlace);
|
||||
Long userId = SecurityUtil.currentUserId();
|
||||
String area = cargoPlace.getArea();
|
||||
BizAuditConfigEntity bizAuditConfigEntity = bizAuditConfigService.getOne(Wrappers.lambdaQuery(BizAuditConfigEntity.class).eq(BizAuditConfigEntity::getArea, area));
|
||||
|
||||
AuditStatus auditStatus = AuditStatus.DaiShenHe;
|
||||
if (bizAuditConfigEntity != null) {
|
||||
String areaRole = bizAuditConfigEntity.getAreaRole();
|
||||
String cityRole = bizAuditConfigEntity.getCityRole();
|
||||
if (areaRole != null && cityRole != null) {
|
||||
auditStatus = AuditStatus.QuDaiShenHe;
|
||||
} else if (areaRole == null && cityRole != null) {
|
||||
auditStatus = AuditStatus.ShiDaiShenHe;
|
||||
}
|
||||
}
|
||||
|
||||
Long transCompanyId = addOrderInfoParam.getTransCompanyId();
|
||||
OrderStatus orderStatus = transCompanyId == null ? OrderStatus.YiYuYue : OrderStatus.DaiPaiDan;
|
||||
|
|
@ -96,10 +84,8 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
.setSn(SnUtil.next())
|
||||
.setCargoPlaceId(cargoPlaceId)
|
||||
.setUserId(userId)
|
||||
.setAuditStatus(auditStatus)
|
||||
.setOrderStatus(orderStatus)
|
||||
.setGoodsId(orderGoodsId)
|
||||
.setCheckStatus(CheckStatus.WeiKanLiao);
|
||||
.setGoodsId(orderGoodsId);
|
||||
this.save(orderInfoEntity);
|
||||
|
||||
Long orderId = orderInfoEntity.getId();
|
||||
|
|
@ -205,8 +191,10 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
}
|
||||
Set<String> roles = userDetail.getRoles();
|
||||
if (SecurityUtil.isAdmin() || roles.contains(Constant.ROLE_STATION_MANAGE)) {
|
||||
Long stationId = orderPagingSearchParam.getStationId();
|
||||
Assert.notNull(stationId, () -> Exceptions.clierr("请选择站点"));
|
||||
ew
|
||||
.eq("a.station_id", orderPagingSearchParam.getStationId())
|
||||
.eq("a.station_id", stationId)
|
||||
.eq("a.order_status", OrderStatus.YiYuYue)
|
||||
.isNull("a.trans_company_id ")
|
||||
;
|
||||
|
|
@ -229,8 +217,10 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
|
||||
Set<String> roles = userDetail.getRoles();
|
||||
if (SecurityUtil.isAdmin() || roles.contains(Constant.ROLE_STATION_MANAGE)) {
|
||||
Long stationId = orderPagingSearchParam.getStationId();
|
||||
Assert.notNull(stationId, () -> Exceptions.clierr("请选择站点"));
|
||||
ew
|
||||
.eq("a.station_id", orderPagingSearchParam.getStationId())
|
||||
.eq("a.station_id", stationId)
|
||||
.in("a.order_status", OrderStatus.DaiPaiDan, OrderStatus.DaiJieDan, OrderStatus.YiJieDan)
|
||||
;
|
||||
return;
|
||||
|
|
@ -266,8 +256,10 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
|
||||
Set<String> roles = userDetail.getRoles();
|
||||
if (SecurityUtil.isAdmin() || roles.contains(Constant.ROLE_STATION_MANAGE)) {
|
||||
Long stationId = orderPagingSearchParam.getStationId();
|
||||
Assert.notNull(stationId, () -> Exceptions.clierr("请选择站点"));
|
||||
ew
|
||||
.eq("a.station_id", orderPagingSearchParam.getStationId())
|
||||
.eq("a.station_id", stationId)
|
||||
.in("a.order_status", OrderStatus.QingYunZhong, OrderStatus.YiJinChang, OrderStatus.YiChuChang)
|
||||
;
|
||||
return;
|
||||
|
|
@ -304,8 +296,10 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
|
||||
Set<String> roles = userDetail.getRoles();
|
||||
if (SecurityUtil.isAdmin() || roles.contains(Constant.ROLE_STATION_MANAGE)) {
|
||||
Long stationId = orderPagingSearchParam.getStationId();
|
||||
Assert.notNull(stationId, () -> Exceptions.clierr("请选择站点"));
|
||||
ew
|
||||
.eq("a.station_id", orderPagingSearchParam.getStationId())
|
||||
.eq("a.station_id", stationId)
|
||||
.eq("a.order_status", OrderStatus.YiWanCheng)
|
||||
;
|
||||
return;
|
||||
|
|
@ -327,8 +321,10 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
|
||||
Set<String> roles = userDetail.getRoles();
|
||||
if (SecurityUtil.isAdmin() || roles.contains(Constant.ROLE_STATION_MANAGE)) {
|
||||
Long stationId = orderPagingSearchParam.getStationId();
|
||||
Assert.notNull(stationId, () -> Exceptions.clierr("请选择站点"));
|
||||
ew
|
||||
.eq("a.station_id", orderPagingSearchParam.getStationId())
|
||||
.eq("a.station_id", stationId)
|
||||
.eq("a.order_status", OrderStatus.YiQuXiao)
|
||||
;
|
||||
return;
|
||||
|
|
@ -339,8 +335,10 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
UserDetail userDetail = SecurityUtil.loginUser();
|
||||
Set<String> roles = userDetail.getRoles();
|
||||
if (SecurityUtil.isAdmin() || roles.contains(Constant.ROLE_STATION_MANAGE)) {
|
||||
Long stationId = orderPagingSearchParam.getStationId();
|
||||
Assert.notNull(stationId, () -> Exceptions.clierr("请选择站点"));
|
||||
ew
|
||||
.eq("a.station_id", orderPagingSearchParam.getStationId())
|
||||
.eq("a.station_id", stationId)
|
||||
.ne("a.auto_order", 3)
|
||||
;
|
||||
return;
|
||||
|
|
@ -478,8 +476,10 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
// detail.setAuditStatus(newAuditStatus);
|
||||
// detail.setAuditMemo(auditOrderParam.getAuditMemo());
|
||||
String certificateSn = null;
|
||||
CheckStatus checkStatus = null;
|
||||
if (auditStatus == AuditStatus.TongGuo) {
|
||||
certificateSn = SnUtil.next(CERTIFICATE_SN_CODE);
|
||||
checkStatus = CheckStatus.WeiKanLiao;
|
||||
}
|
||||
this.updateById(new OrderInfoEntity()
|
||||
.setId(detail.getId())
|
||||
|
|
@ -488,6 +488,7 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
.setShiAuditUserId(shiAuditUserId)
|
||||
.setCertificateSn(certificateSn)
|
||||
.setAuditTime(LocalDateTime.now())
|
||||
.setCheckStatus(checkStatus)
|
||||
.setAuditMemo(auditOrderParam.getAuditMemo())
|
||||
);
|
||||
}
|
||||
|
|
@ -560,9 +561,23 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
Long driverId_ = baseMapper.getDriverId(userId);
|
||||
Assert.isTrue(driverId_ != null && driverId == driverId_, () -> Exceptions.clierr("您没有权限确认此单"));
|
||||
baseMapper.busyTruck(truckId, Boolean.TRUE);
|
||||
OrderCargoPlaceEntity cargoPlaceEntity = orderCargoPlaceService.getById(orderInfo.getCargoPlaceId());
|
||||
String area = cargoPlaceEntity.getArea();
|
||||
BizAuditConfigEntity bizAuditConfigEntity = bizAuditConfigService.getOne(Wrappers.lambdaQuery(BizAuditConfigEntity.class).eq(BizAuditConfigEntity::getArea, area));
|
||||
|
||||
AuditStatus auditStatus = AuditStatus.DaiShenHe;
|
||||
if (bizAuditConfigEntity != null) {
|
||||
String areaRole = bizAuditConfigEntity.getAreaRole();
|
||||
String cityRole = bizAuditConfigEntity.getCityRole();
|
||||
if (areaRole != null && cityRole != null) {
|
||||
auditStatus = AuditStatus.QuDaiShenHe;
|
||||
} else if (areaRole == null && cityRole != null) {
|
||||
auditStatus = AuditStatus.ShiDaiShenHe;
|
||||
}
|
||||
}
|
||||
this.updateById(new OrderInfoEntity()
|
||||
.setId(orderInfo.getId())
|
||||
.setAuditStatus(auditStatus)
|
||||
.setTruckId(truckId)
|
||||
.setOrderStatus(OrderStatus.YiJieDan)
|
||||
);
|
||||
|
|
@ -627,9 +642,11 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
|
||||
/**
|
||||
* 车辆进场
|
||||
*
|
||||
* @param i 0-->自动、1-->手动
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void truckComing(TruckComingOrderParam truckComingOrderParam) {
|
||||
public void truckComing(TruckComingOrderParam truckComingOrderParam, int i) {
|
||||
OrderInfoEntity orderInfoEntity = this.getById(truckComingOrderParam.getOrderId());
|
||||
Assert.notNull(orderInfoEntity, () -> Exceptions.clierr("订单不存在"));
|
||||
OrderStatus orderStatus = orderInfoEntity.getOrderStatus();
|
||||
|
|
@ -639,6 +656,7 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
long carInOutId = orderCarInOutService.truckComing(truckComingOrderParam, orderCategory);
|
||||
|
||||
this.updateById(new OrderInfoEntity()
|
||||
.setAutoOrder(3 ^ i)
|
||||
.setId(orderInfoEntity.getId())
|
||||
.setCarInOutId(carInOutId)
|
||||
.setOrderStatus(OrderStatus.YiJinChang)
|
||||
|
|
@ -647,9 +665,11 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
|
||||
/**
|
||||
* 车辆出场
|
||||
*
|
||||
* @param i 0-->自动、1-->手动
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void truckLeaving(TruckLeavingOrderParam truckLeavingOrderParam) {
|
||||
public void truckLeaving(TruckLeavingOrderParam truckLeavingOrderParam, int i) {
|
||||
OrderInfoEntity orderInfoEntity = this.getById(truckLeavingOrderParam.getOrderId());
|
||||
Assert.notNull(orderInfoEntity, () -> Exceptions.clierr("订单不存在"));
|
||||
OrderStatus orderStatus = orderInfoEntity.getOrderStatus();
|
||||
|
|
@ -657,6 +677,7 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
|
|||
baseMapper.busyDriver(orderInfoEntity.getDriverId(), Boolean.FALSE);
|
||||
baseMapper.busyTruck(orderInfoEntity.getTruckId(), Boolean.FALSE);
|
||||
this.updateById(new OrderInfoEntity()
|
||||
.setAutoOrder(3 ^ (i << 1))
|
||||
.setId(orderInfoEntity.getId())
|
||||
.setOrderStatus(OrderStatus.YiWanCheng)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -30,6 +30,10 @@ public class SearchStationManageResult {
|
|||
* 站点名称
|
||||
*/
|
||||
private String stationName;
|
||||
/**
|
||||
* 站点状态
|
||||
*/
|
||||
private Boolean open;
|
||||
|
||||
private String userPhone;
|
||||
private String uscc;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
package com.njzscloud.supervisory.sys.auth.service;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.njzscloud.common.security.contant.AuthWay;
|
||||
import com.njzscloud.common.security.module.password.PasswordLoginForm;
|
||||
import com.njzscloud.common.security.module.wechat.mini.WechatMiniLoginForm;
|
||||
import com.njzscloud.common.security.support.*;
|
||||
import com.njzscloud.common.security.util.SecurityUtil;
|
||||
import com.njzscloud.supervisory.biz.pojo.result.SearchCompanyResult;
|
||||
|
|
@ -22,6 +25,7 @@ import java.util.Set;
|
|||
@RequiredArgsConstructor
|
||||
public class AuthService implements IUserService, IResourceService, IRoleService {
|
||||
private final AuthMapper authMapper;
|
||||
|
||||
private final UserService userService;
|
||||
|
||||
@Override
|
||||
|
|
@ -39,6 +43,21 @@ public class AuthService implements IUserService, IResourceService, IRoleService
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserDetail selectUser(PasswordLoginForm form) {
|
||||
String account = form.getAccount();
|
||||
return authMapper.selectUser(Wrappers.query().eq("a.username", account).eq("a.deleted", 0));
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserDetail selectUser(WechatMiniLoginForm form) {
|
||||
String openid = form.getOpenid();
|
||||
String unionid = form.getUnionid();
|
||||
return authMapper.selectUser(Wrappers.query().eq("a.wechat_openid", openid)
|
||||
.eq(StrUtil.isNotBlank(unionid), "a.wechat_unionid", unionid)
|
||||
.eq("a.deleted", 0));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Resource selectResourceByUserId(Long userId) {
|
||||
List<MenuResource> menuResources = authMapper.selectUserMenu(userId);
|
||||
|
|
|
|||
|
|
@ -13,6 +13,9 @@ import com.njzscloud.common.core.ex.Exceptions;
|
|||
import com.njzscloud.common.mp.support.PageResult;
|
||||
import com.njzscloud.common.security.contant.AuthWay;
|
||||
import com.njzscloud.common.security.util.SecurityUtil;
|
||||
import com.njzscloud.common.wechat.WechatUtil;
|
||||
import com.njzscloud.common.wechat.param.Code2SessionParam;
|
||||
import com.njzscloud.common.wechat.result.Code2SessionResult;
|
||||
import com.njzscloud.supervisory.biz.constant.BizObj;
|
||||
import com.njzscloud.supervisory.biz.pojo.param.AddBizCompanyParam;
|
||||
import com.njzscloud.supervisory.biz.service.BizCompanyService;
|
||||
|
|
@ -25,9 +28,6 @@ import com.njzscloud.supervisory.sys.user.pojo.entity.UserEntity;
|
|||
import com.njzscloud.supervisory.sys.user.pojo.param.*;
|
||||
import com.njzscloud.supervisory.sys.user.pojo.result.UserAccountDetailResult;
|
||||
import com.njzscloud.supervisory.sys.user.pojo.result.UserDetailResult;
|
||||
import com.njzscloud.supervisory.wechat.WechatUtil;
|
||||
import com.njzscloud.supervisory.wechat.param.Code2SessionParam;
|
||||
import com.njzscloud.supervisory.wechat.result.Code2SessionResult;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
|
|
|||
|
|
@ -1,25 +0,0 @@
|
|||
package com.njzscloud.supervisory.wechat;
|
||||
|
||||
import com.njzscloud.common.core.http.annotation.GetEndpoint;
|
||||
import com.njzscloud.common.core.http.annotation.QueryParam;
|
||||
import com.njzscloud.common.core.http.annotation.RemoteServer;
|
||||
import com.njzscloud.supervisory.wechat.param.Code2SessionParam;
|
||||
import com.njzscloud.supervisory.wechat.param.GetAccessTokenParam;
|
||||
import com.njzscloud.supervisory.wechat.result.Code2SessionResult;
|
||||
import com.njzscloud.supervisory.wechat.result.GetAccessTokenResult;
|
||||
|
||||
@RemoteServer(value = "https://api.weixin.qq.com")
|
||||
public interface WechatApi {
|
||||
|
||||
/**
|
||||
* 获取access_token
|
||||
*/
|
||||
@GetEndpoint("/cgi-bin/token")
|
||||
GetAccessTokenResult getAccessToken(@QueryParam GetAccessTokenParam getAccessTokenParam);
|
||||
|
||||
/**
|
||||
* 小程序登录
|
||||
*/
|
||||
@GetEndpoint("/sns/jscode2session")
|
||||
Code2SessionResult code2Session(@QueryParam Code2SessionParam code2SessionParam);
|
||||
}
|
||||
|
|
@ -56,3 +56,4 @@ mybatis-plus:
|
|||
wechat:
|
||||
app-id: wx3c06d9dd4e56c58d
|
||||
app-secret: ff280a71a4c06fc2956178f8c472ef96
|
||||
base-url: https://api.weixin.qq.com
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
<resultMap id="SearchBizProjectResultMap" autoMapping="true" type="com.njzscloud.supervisory.biz.pojo.result.SearchBizProjectResult">
|
||||
<result property="contract" column="contract" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
|
||||
<result property="auditStatus" column="audit_status" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
|
||||
<result property="contractDate" column="contract_date" typeHandler="com.njzscloud.common.mp.support.handler.j.JsonTypeHandler"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="paging" resultMap="SearchBizProjectResultMap">
|
||||
|
|
@ -33,6 +34,7 @@
|
|||
a.deleted,
|
||||
a.audit_status,
|
||||
a.audit_memo,
|
||||
a.contract_date,
|
||||
b.company_name other_company_name,
|
||||
c.company_name,
|
||||
c.id company_id,
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@
|
|||
a.busy,
|
||||
a.gps,
|
||||
a.picture,
|
||||
a.truck_category,
|
||||
a.disabled
|
||||
FROM biz_truck a
|
||||
INNER JOIN biz_company b ON b.id = a.company_id AND b.deleted = 0
|
||||
|
|
@ -64,6 +65,7 @@
|
|||
a.deleted,
|
||||
a.gps,
|
||||
a.picture,
|
||||
a.truck_category,
|
||||
a.disabled
|
||||
FROM biz_truck a
|
||||
INNER JOIN biz_company b ON b.id = a.company_id AND b.deleted = 0
|
||||
|
|
|
|||
|
|
@ -167,8 +167,6 @@
|
|||
<result property="payerCategory" column="payer_category" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
|
||||
<result property="paymentStatus" column="payment_status" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
|
||||
<result property="moneyStrategy" column="money_strategy" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
|
||||
<result property="truckCategory" column="truck_category" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
|
||||
|
||||
</resultMap>
|
||||
<select id="paging" resultMap="OrderPagingResultMap">
|
||||
<include refid="base_select"/>
|
||||
|
|
|
|||
|
|
@ -56,9 +56,10 @@
|
|||
b.contacts,
|
||||
b.phone,
|
||||
a.station_id,
|
||||
b.open,
|
||||
b.company_name station_name
|
||||
FROM station_manage a
|
||||
INNER JOIN biz_company b ON b.id = a.station_id AND b.station = 1 AND b.deleted = 0 AND b.open = 1
|
||||
INNER JOIN biz_company b ON b.id = a.station_id AND b.station = 1 AND b.deleted = 0
|
||||
INNER JOIN sys_user c ON c.id = a.user_id AND c.deleted = 0
|
||||
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
|
||||
${ew.customSqlSegment}
|
||||
|
|
@ -107,6 +108,7 @@
|
|||
b.lng,
|
||||
b.lat,
|
||||
b.contacts,
|
||||
b.open,
|
||||
b.phone,
|
||||
b.id station_id,
|
||||
b.company_name station_name
|
||||
|
|
@ -114,6 +116,5 @@
|
|||
INNER JOIN sys_user c ON c.id = 1 AND c.deleted = 0
|
||||
WHERE b.station = 1
|
||||
AND b.deleted = 0
|
||||
AND b.open = 1
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
10
pom.xml
10
pom.xml
|
|
@ -57,6 +57,16 @@
|
|||
<artifactId>njzscloud-common-sichen</artifactId>
|
||||
<version>0.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.njzscloud</groupId>
|
||||
<artifactId>njzscloud-common-wechat</artifactId>
|
||||
<version>0.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.njzscloud</groupId>
|
||||
<artifactId>njzscloud-common-http</artifactId>
|
||||
<version>0.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.njzscloud</groupId>
|
||||
<artifactId>njzscloud-common-sn</artifactId>
|
||||
|
|
|
|||
Loading…
Reference in New Issue