Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
zhangjian1949
microservices-platform
提交
72ec8784
microservices-platform
项目概览
zhangjian1949
/
microservices-platform
与 Fork 源项目一致
Fork自
zlt2000 / microservices-platform
通知
6
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
microservices-platform
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
72ec8784
编写于
10月 09, 2020
作者:
zlt2000
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
替换fastjson为jackson
上级
381b36c3
变更
24
隐藏空白更改
内联
并排
Showing
24 changed file
with
257 addition
and
63 deletion
+257
-63
zlt-business/search-center/search-client/src/main/java/com/central/search/client/feign/SearchService.java
...n/java/com/central/search/client/feign/SearchService.java
+2
-2
zlt-business/search-center/search-client/src/main/java/com/central/search/client/feign/fallback/SearchServiceFallbackFactory.java
...h/client/feign/fallback/SearchServiceFallbackFactory.java
+2
-2
zlt-business/search-center/search-client/src/main/java/com/central/search/client/service/IQueryService.java
...java/com/central/search/client/service/IQueryService.java
+3
-3
zlt-business/search-center/search-client/src/main/java/com/central/search/client/service/impl/QueryServiceImpl.java
.../central/search/client/service/impl/QueryServiceImpl.java
+3
-3
zlt-business/search-center/search-server/src/main/java/com/central/admin/service/impl/IndexServiceImpl.java
...java/com/central/admin/service/impl/IndexServiceImpl.java
+5
-2
zlt-business/search-center/search-server/src/main/java/com/central/search/controller/SearchController.java
.../java/com/central/search/controller/SearchController.java
+2
-2
zlt-business/search-center/search-server/src/main/java/com/central/search/service/ISearchService.java
.../main/java/com/central/search/service/ISearchService.java
+2
-2
zlt-business/search-center/search-server/src/main/java/com/central/search/service/impl/AggregationServiceImpl.java
...m/central/search/service/impl/AggregationServiceImpl.java
+2
-2
zlt-business/search-center/search-server/src/main/java/com/central/search/service/impl/SearchServiceImpl.java
...va/com/central/search/service/impl/SearchServiceImpl.java
+2
-2
zlt-business/user-center/src/main/java/com/central/user/controller/SysUserController.java
...n/java/com/central/user/controller/SysUserController.java
+2
-2
zlt-commons/zlt-auth-client-spring-boot-starter/src/main/java/com/central/oauth2/common/util/JwtUtils.java
...rc/main/java/com/central/oauth2/common/util/JwtUtils.java
+8
-7
zlt-commons/zlt-common-core/pom.xml
zlt-commons/zlt-common-core/pom.xml
+5
-0
zlt-commons/zlt-common-core/src/main/java/com/central/common/constant/CommonConstant.java
...main/java/com/central/common/constant/CommonConstant.java
+1
-0
zlt-commons/zlt-common-core/src/main/java/com/central/common/utils/JsonUtil.java
...core/src/main/java/com/central/common/utils/JsonUtil.java
+179
-0
zlt-commons/zlt-common-core/src/main/java/com/central/common/utils/WebfluxResponseUtil.java
...in/java/com/central/common/utils/WebfluxResponseUtil.java
+1
-2
zlt-commons/zlt-elasticsearch-spring-boot-starter/src/main/java/com/central/es/utils/SearchBuilder.java
...ter/src/main/java/com/central/es/utils/SearchBuilder.java
+21
-15
zlt-demo/rocketmq-demo/rocketmq-transactional/src/main/java/com/rocketmq/demo/listener/OrderTransactionListenerImpl.java
.../rocketmq/demo/listener/OrderTransactionListenerImpl.java
+2
-2
zlt-gateway/sc-gateway/src/main/java/com/central/gateway/route/NacosRouteDefinitionRepository.java
...central/gateway/route/NacosRouteDefinitionRepository.java
+2
-2
zlt-gateway/zuul-gateway/src/main/java/com/central/gateway/route/nacos/NacosDynRouteLocator.java
...com/central/gateway/route/nacos/NacosDynRouteLocator.java
+2
-2
zlt-monitor/log-center/src/main/java/com/central/log/controller/AuditLogController.java
...n/java/com/central/log/controller/AuditLogController.java
+2
-2
zlt-monitor/log-center/src/main/java/com/central/log/controller/SlowQueryLogController.java
...va/com/central/log/controller/SlowQueryLogController.java
+2
-2
zlt-monitor/log-center/src/main/java/com/central/log/controller/SysLogController.java
...ain/java/com/central/log/controller/SysLogController.java
+2
-2
zlt-uaa/src/main/java/com/central/oauth/handler/OauthLogoutSuccessHandler.java
.../com/central/oauth/handler/OauthLogoutSuccessHandler.java
+3
-3
zlt-uaa/src/test/java/com/central/oauth2/common/util/JwtUtilsTest.java
...est/java/com/central/oauth2/common/util/JwtUtilsTest.java
+2
-2
未找到文件。
zlt-business/search-center/search-client/src/main/java/com/central/search/client/feign/SearchService.java
浏览文件 @
72ec8784
package
com.central.search.client.feign
;
import
com.alibaba.fastjson.JSONObject
;
import
com.central.common.constant.ServiceNameConstants
;
import
com.central.common.model.PageResult
;
import
com.central.search.client.feign.fallback.SearchServiceFallbackFactory
;
import
com.central.search.model.SearchDto
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -19,5 +19,5 @@ public interface SearchService {
* @param searchDto 搜索Dto
*/
@PostMapping
(
value
=
"/search/{indexName}"
)
PageResult
<
J
SONObject
>
strQuery
(
@PathVariable
(
"indexName"
)
String
indexName
,
@RequestBody
SearchDto
searchDto
);
PageResult
<
J
sonNode
>
strQuery
(
@PathVariable
(
"indexName"
)
String
indexName
,
@RequestBody
SearchDto
searchDto
);
}
zlt-business/search-center/search-client/src/main/java/com/central/search/client/feign/fallback/SearchServiceFallbackFactory.java
浏览文件 @
72ec8784
package
com.central.search.client.feign.fallback
;
import
com.alibaba.fastjson.JSONObject
;
import
com.central.common.model.PageResult
;
import
com.central.search.client.feign.SearchService
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
feign.hystrix.FallbackFactory
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -17,7 +17,7 @@ public class SearchServiceFallbackFactory implements FallbackFactory<SearchServi
public
SearchService
create
(
Throwable
throwable
)
{
return
(
indexName
,
searchDto
)
->
{
log
.
error
(
"通过索引{}搜索异常:{}"
,
indexName
,
throwable
);
return
PageResult
.<
J
SONObject
>
builder
().
build
();
return
PageResult
.<
J
sonNode
>
builder
().
build
();
};
}
}
zlt-business/search-center/search-client/src/main/java/com/central/search/client/service/IQueryService.java
浏览文件 @
72ec8784
package
com.central.search.client.service
;
import
com.alibaba.fastjson.JSONObject
;
import
com.central.common.model.PageResult
;
import
com.central.search.model.LogicDelDto
;
import
com.central.search.model.SearchDto
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
java.util.Map
;
...
...
@@ -19,7 +19,7 @@ public interface IQueryService {
* @param indexName 索引名
* @param searchDto 搜索Dto
*/
PageResult
<
J
SONObject
>
strQuery
(
String
indexName
,
SearchDto
searchDto
);
PageResult
<
J
sonNode
>
strQuery
(
String
indexName
,
SearchDto
searchDto
);
/**
* 查询文档列表
...
...
@@ -27,7 +27,7 @@ public interface IQueryService {
* @param searchDto 搜索Dto
* @param logicDelDto 逻辑删除Dto
*/
PageResult
<
J
SONObject
>
strQuery
(
String
indexName
,
SearchDto
searchDto
,
LogicDelDto
logicDelDto
);
PageResult
<
J
sonNode
>
strQuery
(
String
indexName
,
SearchDto
searchDto
,
LogicDelDto
logicDelDto
);
/**
* 访问统计聚合查询
...
...
zlt-business/search-center/search-client/src/main/java/com/central/search/client/service/impl/QueryServiceImpl.java
浏览文件 @
72ec8784
package
com.central.search.client.service.impl
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.central.common.model.PageResult
;
import
com.central.search.client.feign.AggregationService
;
import
com.central.search.client.feign.SearchService
;
import
com.central.search.client.service.IQueryService
;
import
com.central.search.model.LogicDelDto
;
import
com.central.search.model.SearchDto
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
javax.annotation.Resource
;
import
java.util.Map
;
...
...
@@ -26,12 +26,12 @@ public class QueryServiceImpl implements IQueryService {
private
AggregationService
aggregationService
;
@Override
public
PageResult
<
J
SONObject
>
strQuery
(
String
indexName
,
SearchDto
searchDto
)
{
public
PageResult
<
J
sonNode
>
strQuery
(
String
indexName
,
SearchDto
searchDto
)
{
return
strQuery
(
indexName
,
searchDto
,
null
);
}
@Override
public
PageResult
<
J
SONObject
>
strQuery
(
String
indexName
,
SearchDto
searchDto
,
LogicDelDto
logicDelDto
)
{
public
PageResult
<
J
sonNode
>
strQuery
(
String
indexName
,
SearchDto
searchDto
,
LogicDelDto
logicDelDto
)
{
setLogicDelQueryStr
(
searchDto
,
logicDelDto
);
return
searchService
.
strQuery
(
indexName
,
searchDto
);
}
...
...
zlt-business/search-center/search-server/src/main/java/com/central/admin/service/impl/IndexServiceImpl.java
浏览文件 @
72ec8784
package
com.central.admin.service.impl
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.central.admin.model.IndexDto
;
import
com.central.admin.service.IIndexService
;
import
com.central.common.model.PageResult
;
import
com.central.common.utils.JsonUtil
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
org.apache.http.util.EntityUtils
;
...
...
@@ -72,6 +72,9 @@ public class IndexServiceImpl implements IIndexService {
@Override
public
PageResult
<
Map
<
String
,
String
>>
list
(
String
queryStr
,
String
indices
)
throws
IOException
{
if
(
StrUtil
.
isNotEmpty
(
queryStr
))
{
indices
=
queryStr
;
}
Response
response
=
elasticsearchRestTemplate
.
getClient
().
getLowLevelClient
()
.
performRequest
(
new
Request
(
"GET"
,
...
...
@@ -99,7 +102,7 @@ public class IndexServiceImpl implements IIndexService {
String
settingsStr
=
getIndexResponse
.
getSettings
().
get
(
indexName
).
toString
();
Object
settingsObj
=
null
;
if
(
StrUtil
.
isNotEmpty
(
settingsStr
))
{
settingsObj
=
J
SONObject
.
parse
(
settingsStr
);
settingsObj
=
J
sonUtil
.
parse
(
settingsStr
);
}
Map
<
String
,
Object
>
result
=
new
HashMap
<>(
1
);
Map
<
String
,
Object
>
indexMap
=
new
HashMap
<>(
3
);
...
...
zlt-business/search-center/search-server/src/main/java/com/central/search/controller/SearchController.java
浏览文件 @
72ec8784
package
com.central.search.controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.central.common.model.*
;
import
com.central.search.model.SearchDto
;
import
com.central.search.service.ISearchService
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
org.springframework.web.bind.annotation.*
;
import
io.swagger.annotations.Api
;
...
...
@@ -34,7 +34,7 @@ public class SearchController {
* @param searchDto 搜索Dto
*/
@PostMapping
(
"/{indexName}"
)
public
PageResult
<
J
SONObject
>
strQuery
(
@PathVariable
String
indexName
,
@RequestBody
(
required
=
false
)
SearchDto
searchDto
)
throws
IOException
{
public
PageResult
<
J
sonNode
>
strQuery
(
@PathVariable
String
indexName
,
@RequestBody
(
required
=
false
)
SearchDto
searchDto
)
throws
IOException
{
if
(
searchDto
==
null
)
{
searchDto
=
new
SearchDto
();
}
...
...
zlt-business/search-center/search-server/src/main/java/com/central/search/service/ISearchService.java
浏览文件 @
72ec8784
package
com.central.search.service
;
import
com.alibaba.fastjson.JSONObject
;
import
com.central.common.model.PageResult
;
import
com.central.search.model.SearchDto
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
java.io.IOException
;
...
...
@@ -17,5 +17,5 @@ public interface ISearchService {
* @param searchDto 搜索Dto
* @return
*/
PageResult
<
J
SONObject
>
strQuery
(
String
indexName
,
SearchDto
searchDto
)
throws
IOException
;
PageResult
<
J
sonNode
>
strQuery
(
String
indexName
,
SearchDto
searchDto
)
throws
IOException
;
}
zlt-business/search-center/search-server/src/main/java/com/central/search/service/impl/AggregationServiceImpl.java
浏览文件 @
72ec8784
...
...
@@ -150,7 +150,7 @@ public class AggregationServiceImpl implements IAggregationService {
.
fixedInterval
(
new
DateHistogramInterval
(
"90m"
))
.
format
(
CommonConstant
.
DATETIME_FORMAT
)
//时区相差8小时
.
timeZone
(
ZoneId
.
of
(
"GMT+8"
))
.
timeZone
(
ZoneId
.
of
(
CommonConstant
.
TIME_ZONE_GMT8
))
.
minDocCount
(
0L
)
.
extendedBounds
(
new
ExtendedBounds
(
curDateTime
.
minusDays
(
1
).
format
(
DateTimeFormatter
.
ofPattern
(
CommonConstant
.
DATETIME_FORMAT
)),
...
...
@@ -176,7 +176,7 @@ public class AggregationServiceImpl implements IAggregationService {
.
calendarInterval
(
DateHistogramInterval
.
DAY
)
.
format
(
CommonConstant
.
DATE_FORMAT
)
//时区相差8小时
.
timeZone
(
ZoneId
.
of
(
"GMT+8"
))
.
timeZone
(
ZoneId
.
of
(
CommonConstant
.
TIME_ZONE_GMT8
))
.
minDocCount
(
0L
)
.
extendedBounds
(
new
ExtendedBounds
(
localDate
.
minusDays
(
6
).
format
(
DateTimeFormatter
.
ofPattern
(
CommonConstant
.
DATE_FORMAT
)),
...
...
zlt-business/search-center/search-server/src/main/java/com/central/search/service/impl/SearchServiceImpl.java
浏览文件 @
72ec8784
package
com.central.search.service.impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.central.common.model.PageResult
;
import
com.central.es.utils.SearchBuilder
;
import
com.central.search.model.SearchDto
;
import
com.central.search.service.ISearchService
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
org.elasticsearch.search.sort.SortOrder
;
import
org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate
;
import
org.springframework.stereotype.Service
;
...
...
@@ -32,7 +32,7 @@ public class SearchServiceImpl implements ISearchService {
* @return
*/
@Override
public
PageResult
<
J
SONObject
>
strQuery
(
String
indexName
,
SearchDto
searchDto
)
throws
IOException
{
public
PageResult
<
J
sonNode
>
strQuery
(
String
indexName
,
SearchDto
searchDto
)
throws
IOException
{
return
SearchBuilder
.
builder
(
elasticsearchRestTemplate
,
indexName
)
.
setStringQuery
(
searchDto
.
getQueryStr
())
.
addSort
(
searchDto
.
getSortCol
(),
SortOrder
.
DESC
)
...
...
zlt-business/user-center/src/main/java/com/central/user/controller/SysUserController.java
浏览文件 @
72ec8784
...
...
@@ -7,7 +7,6 @@ import java.util.Map;
import
java.util.Set
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.central.common.annotation.LoginUser
;
import
com.central.common.constant.CommonConstant
;
import
com.central.common.model.*
;
...
...
@@ -18,6 +17,7 @@ import com.central.search.client.service.IQueryService;
import
com.central.search.model.LogicDelDto
;
import
com.central.search.model.SearchDto
;
import
com.central.user.model.SysUserExcel
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
org.apache.commons.collections4.MapUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cache.annotation.CacheEvict
;
...
...
@@ -280,7 +280,7 @@ public class SysUserController {
@ApiImplicitParam
(
name
=
"queryStr"
,
value
=
"搜索关键字"
,
dataType
=
"String"
)
})
@GetMapping
(
"/users/search"
)
public
PageResult
<
J
SONObject
>
search
(
SearchDto
searchDto
)
{
public
PageResult
<
J
sonNode
>
search
(
SearchDto
searchDto
)
{
searchDto
.
setIsHighlighter
(
true
);
searchDto
.
setSortCol
(
"createTime"
);
return
queryService
.
strQuery
(
"sys_user"
,
searchDto
,
SEARCH_LOGIC_DEL_DTO
);
...
...
zlt-commons/zlt-auth-client-spring-boot-starter/src/main/java/com/central/oauth2/common/util/JwtUtils.java
浏览文件 @
72ec8784
package
com.central.oauth2.common.util
;
import
com.alibaba.fastjson.JSONObject
;
import
com.central.common.constant.SecurityConstants
;
import
com.central.common.utils.JsonUtil
;
import
com.central.common.utils.RsaUtils
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
org.springframework.core.io.ClassPathResource
;
import
org.springframework.core.io.Resource
;
import
org.springframework.security.jwt.Jwt
;
...
...
@@ -46,10 +47,10 @@ public class JwtUtils {
* @param rsaPublicKey 公钥
* @return
*/
public
static
J
SONObject
decodeAndVerify
(
String
jwtToken
,
RSAPublicKey
rsaPublicKey
)
{
public
static
J
sonNode
decodeAndVerify
(
String
jwtToken
,
RSAPublicKey
rsaPublicKey
)
{
SignatureVerifier
rsaVerifier
=
new
RsaVerifier
(
rsaPublicKey
);
Jwt
jwt
=
JwtHelper
.
decodeAndVerify
(
jwtToken
,
rsaVerifier
);
return
J
SONObject
.
parseObject
(
jwt
.
getClaims
());
return
J
sonUtil
.
parse
(
jwt
.
getClaims
());
}
/**
...
...
@@ -57,7 +58,7 @@ public class JwtUtils {
* @param jwtToken token值
* @return
*/
public
static
J
SONObject
decodeAndVerify
(
String
jwtToken
)
{
public
static
J
sonNode
decodeAndVerify
(
String
jwtToken
)
{
return
decodeAndVerify
(
jwtToken
,
getPubKeyObj
());
}
...
...
@@ -67,8 +68,8 @@ public class JwtUtils {
* @param currTime 当前时间
* @return 未过期:true,已过期:false
*/
public
static
boolean
checkExp
(
J
SONObject
claims
,
long
currTime
)
{
long
exp
=
claims
.
get
Long
(
"exp"
);
public
static
boolean
checkExp
(
J
sonNode
claims
,
long
currTime
)
{
long
exp
=
claims
.
get
(
"exp"
).
asLong
(
);
if
(
exp
<
currTime
)
{
return
false
;
}
...
...
@@ -80,7 +81,7 @@ public class JwtUtils {
* @param claims jwt内容
* @return 未过期:true,已过期:false
*/
public
static
boolean
checkExp
(
J
SONObject
claims
)
{
public
static
boolean
checkExp
(
J
sonNode
claims
)
{
return
checkExp
(
claims
,
System
.
currentTimeMillis
());
}
}
zlt-commons/zlt-common-core/pom.xml
浏览文件 @
72ec8784
...
...
@@ -86,5 +86,10 @@
<artifactId>
reactor-core
</artifactId>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
com.fasterxml.jackson.core
</groupId>
<artifactId>
jackson-databind
</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
zlt-commons/zlt-common-core/src/main/java/com/central/common/constant/CommonConstant.java
浏览文件 @
72ec8784
...
...
@@ -98,6 +98,7 @@ public interface CommonConstant {
String
SIMPLE_MONTH_FORMAT
=
"yyyyMM"
;
String
SIMPLE_DATE_FORMAT
=
"yyyyMMdd"
;
String
SIMPLE_DATETIME_FORMAT
=
"yyyyMMddHHmmss"
;
String
TIME_ZONE_GMT8
=
"GMT+8"
;
String
DEF_USER_PASSWORD
=
"123456"
;
...
...
zlt-commons/zlt-common-core/src/main/java/com/central/common/utils/JsonUtil.java
0 → 100644
浏览文件 @
72ec8784
package
com.central.common.utils
;
import
com.central.common.constant.CommonConstant
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.core.json.JsonReadFeature
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.*
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.IOException
;
import
java.text.SimpleDateFormat
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.TimeZone
;
/**
* 基于 Jackson 的 json 工具类
*
* @author zlt
* @date 2020/10/8
* <p>
* Blog: https://zlt2000.gitee.io
* Github: https://github.com/zlt2000
*/
public
class
JsonUtil
{
private
final
static
ObjectMapper
MAPPER
=
new
ObjectMapper
();
static
{
// 忽略在json字符串中存在,但是在java对象中不存在对应属性的情况
MAPPER
.
configure
(
DeserializationFeature
.
FAIL_ON_UNKNOWN_PROPERTIES
,
false
);
// 忽略空Bean转json的错误
MAPPER
.
configure
(
SerializationFeature
.
FAIL_ON_EMPTY_BEANS
,
false
);
// 允许不带引号的字段名称
MAPPER
.
configure
(
JsonReadFeature
.
ALLOW_UNQUOTED_FIELD_NAMES
.
mappedFeature
(),
true
);
// 允许单引号
MAPPER
.
configure
(
JsonReadFeature
.
ALLOW_SINGLE_QUOTES
.
mappedFeature
(),
true
);
// allow int startWith 0
MAPPER
.
configure
(
JsonReadFeature
.
ALLOW_LEADING_ZEROS_FOR_NUMBERS
.
mappedFeature
(),
true
);
// 允许字符串存在转义字符:\r \n \t
MAPPER
.
configure
(
JsonReadFeature
.
ALLOW_UNESCAPED_CONTROL_CHARS
.
mappedFeature
(),
true
);
// 排除空值字段
MAPPER
.
setSerializationInclusion
(
JsonInclude
.
Include
.
NON_NULL
);
// 使用驼峰式
MAPPER
.
setPropertyNamingStrategy
(
PropertyNamingStrategy
.
LOWER_CAMEL_CASE
);
// 使用bean名称
MAPPER
.
enable
(
MapperFeature
.
USE_STD_BEAN_NAMING
);
// 所有日期格式都统一为固定格式
MAPPER
.
setDateFormat
(
new
SimpleDateFormat
(
CommonConstant
.
DATETIME_FORMAT
));
MAPPER
.
setTimeZone
(
TimeZone
.
getTimeZone
(
CommonConstant
.
TIME_ZONE_GMT8
));
}
/**
* 对象转换为json字符串
* @param o 要转换的对象
*/
public
static
String
toJSONString
(
Object
o
)
{
return
toJSONString
(
o
,
false
);
}
/**
* 对象转换为json字符串
* @param o 要转换的对象
* @param format 是否格式化json
*/
public
static
String
toJSONString
(
Object
o
,
boolean
format
)
{
try
{
if
(
o
==
null
)
{
return
""
;
}
if
(
o
instanceof
Number
)
{
return
o
.
toString
();
}
if
(
o
instanceof
String
)
{
return
(
String
)
o
;
}
if
(
format
)
{
return
MAPPER
.
writerWithDefaultPrettyPrinter
().
writeValueAsString
(
o
);
}
return
MAPPER
.
writeValueAsString
(
o
);
}
catch
(
JsonProcessingException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
/**
* 字符串转换为自定义对象
* @param json json字符串
* @param cls 目标对象
*/
public
static
<
T
>
T
toObject
(
String
json
,
Class
<
T
>
cls
)
{
if
(
StringUtils
.
isBlank
(
json
)
||
cls
==
null
){
return
null
;
}
try
{
return
MAPPER
.
readValue
(
json
,
cls
);
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
/**
* 字符串转换为自定义对象
* @param json json字符串
* @param typeReference 目标对象类型
*/
public
static
<
T
>
T
toObject
(
String
json
,
TypeReference
<
T
>
typeReference
)
{
if
(
StringUtils
.
isBlank
(
json
)
||
typeReference
==
null
){
return
null
;
}
try
{
return
MAPPER
.
readValue
(
json
,
typeReference
);
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
/**
* 字符串转换为JsonNode对象
* @param json json字符串
*/
public
static
JsonNode
parse
(
String
json
)
{
if
(
StringUtils
.
isBlank
(
json
))
{
return
null
;
}
try
{
return
MAPPER
.
readTree
(
json
);
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
/**
* 对象转换为map对象
* @param o 要转换的对象
*/
public
static
<
K
,
V
>
Map
<
K
,
V
>
toMap
(
Object
o
)
{
if
(
o
==
null
)
{
return
null
;
}
if
(
o
instanceof
String
)
{
return
toObject
((
String
)
o
,
Map
.
class
);
}
return
MAPPER
.
convertValue
(
o
,
Map
.
class
);
}
/**
* 字符串转换为list对象
* @param json json字符串
*/
public
static
<
T
>
List
<
T
>
toList
(
String
json
)
{
if
(
StringUtils
.
isBlank
(
json
))
{
return
null
;
}
try
{
return
MAPPER
.
readValue
(
json
,
List
.
class
);
}
catch
(
JsonProcessingException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
/**
* json字符串转换为list
* @param json json字符串
* @param cls list的元素类型
*/
public
static
<
T
>
List
<
T
>
toList
(
String
json
,
Class
<
T
>
cls
)
{
if
(
StringUtils
.
isBlank
(
json
))
{
return
null
;
}
try
{
JavaType
javaType
=
MAPPER
.
getTypeFactory
().
constructParametricType
(
List
.
class
,
cls
);
return
MAPPER
.
readValue
(
json
,
javaType
);
}
catch
(
JsonProcessingException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
}
zlt-commons/zlt-common-core/src/main/java/com/central/common/utils/WebfluxResponseUtil.java
浏览文件 @
72ec8784
package
com.central.common.utils
;
import
com.alibaba.fastjson.JSONObject
;
import
com.central.common.model.Result
;
import
org.springframework.core.io.buffer.DataBuffer
;
import
org.springframework.core.io.buffer.DataBufferFactory
;
...
...
@@ -49,7 +48,7 @@ public class WebfluxResponseUtil {
response
.
setStatusCode
(
HttpStatus
.
valueOf
(
httpStatus
));
response
.
getHeaders
().
setContentType
(
MediaType
.
APPLICATION_JSON
);
DataBufferFactory
dataBufferFactory
=
response
.
bufferFactory
();
DataBuffer
buffer
=
dataBufferFactory
.
wrap
(
J
SONObject
.
toJSONString
(
result
).
getBytes
(
Charset
.
defaultCharset
()));
DataBuffer
buffer
=
dataBufferFactory
.
wrap
(
J
sonUtil
.
toJSONString
(
result
).
getBytes
(
Charset
.
defaultCharset
()));
return
response
.
writeWith
(
Mono
.
just
(
buffer
)).
doOnError
((
error
)
->
{
DataBufferUtils
.
release
(
buffer
);
});
...
...
zlt-commons/zlt-elasticsearch-spring-boot-starter/src/main/java/com/central/es/utils/SearchBuilder.java
浏览文件 @
72ec8784
...
...
@@ -3,9 +3,10 @@ package com.central.es.utils;
import
cn.hutool.core.util.ArrayUtil
;
import
cn.hutool.core.util.BooleanUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.central.common.model.PageResult
;
import
com.central.common.utils.JsonUtil
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
lombok.Getter
;
import
lombok.Setter
;
import
org.apache.commons.beanutils.PropertyUtils
;
...
...
@@ -200,16 +201,16 @@ public class SearchBuilder {
}
/**
* 返回列表结果 List<J
SONObject
>
* 返回列表结果 List<J
sonNode
>
*/
public
List
<
J
SONObject
>
getList
()
throws
IOException
{
public
List
<
J
sonNode
>
getList
()
throws
IOException
{
return
getList
(
this
.
get
().
getHits
());
}
/**
* 返回分页结果 PageResult<JSONObject>
*/
public
PageResult
<
J
SONObject
>
getPage
()
throws
IOException
{
public
PageResult
<
J
sonNode
>
getPage
()
throws
IOException
{
return
this
.
getPage
(
null
,
null
);
}
...
...
@@ -218,30 +219,31 @@ public class SearchBuilder {
* @param page 当前页数
* @param limit 每页显示
*/
public
PageResult
<
J
SONObject
>
getPage
(
Integer
page
,
Integer
limit
)
throws
IOException
{
public
PageResult
<
J
sonNode
>
getPage
(
Integer
page
,
Integer
limit
)
throws
IOException
{
this
.
setPage
(
page
,
limit
);
SearchResponse
response
=
this
.
get
();
SearchHits
searchHits
=
response
.
getHits
();
long
totalCnt
=
searchHits
.
getTotalHits
().
value
;
List
<
J
SONObject
>
list
=
getList
(
searchHits
);
return
PageResult
.<
J
SONObject
>
builder
().
data
(
list
).
code
(
0
).
count
(
totalCnt
).
build
();
List
<
J
sonNode
>
list
=
getList
(
searchHits
);
return
PageResult
.<
J
sonNode
>
builder
().
data
(
list
).
code
(
0
).
count
(
totalCnt
).
build
();
}
/**
* 返回JSON列表数据
*/
private
List
<
J
SONObject
>
getList
(
SearchHits
searchHits
)
{
List
<
J
SONObject
>
list
=
new
ArrayList
<>();
private
List
<
J
sonNode
>
getList
(
SearchHits
searchHits
)
{
List
<
J
sonNode
>
list
=
new
ArrayList
<>();
if
(
searchHits
!=
null
)
{
searchHits
.
forEach
(
item
->
{
JSONObject
jsonObject
=
JSON
.
parseObject
(
item
.
getSourceAsString
());
jsonObject
.
put
(
"id"
,
item
.
getId
());
JsonNode
jsonNode
=
JsonUtil
.
parse
(
item
.
getSourceAsString
());
ObjectNode
objectNode
=
(
ObjectNode
)
jsonNode
;
objectNode
.
put
(
"id"
,
item
.
getId
());
Map
<
String
,
HighlightField
>
highlightFields
=
item
.
getHighlightFields
();
if
(
highlightFields
!=
null
)
{
populateHighLightedFields
(
jsonObject
,
highlightFields
);
populateHighLightedFields
(
objectNode
,
highlightFields
);
}
list
.
add
(
jsonObject
);
list
.
add
(
objectNode
);
});
}
return
list
;
...
...
@@ -257,7 +259,11 @@ public class SearchBuilder {
try
{
String
name
=
field
.
getName
();
if
(!
name
.
endsWith
(
".keyword"
))
{
PropertyUtils
.
setProperty
(
result
,
field
.
getName
(),
concat
(
field
.
fragments
()));
if
(
result
instanceof
ObjectNode
)
{
((
ObjectNode
)
result
).
put
(
field
.
getName
(),
concat
(
field
.
fragments
()));
}
else
{
PropertyUtils
.
setProperty
(
result
,
field
.
getName
(),
concat
(
field
.
fragments
()));
}
}
}
catch
(
InvocationTargetException
|
IllegalAccessException
|
NoSuchMethodException
e
)
{
throw
new
ElasticsearchException
(
"failed to set highlighted value for field: "
+
field
.
getName
()
...
...
zlt-demo/rocketmq-demo/rocketmq-transactional/src/main/java/com/rocketmq/demo/listener/OrderTransactionListenerImpl.java
浏览文件 @
72ec8784
package
com.rocketmq.demo.listener
;
import
com.
alibaba.fastjson.JSON
;
import
com.
central.common.utils.JsonUtil
;
import
com.rocketmq.demo.model.Order
;
import
com.rocketmq.demo.service.IOrderService
;
import
org.apache.rocketmq.spring.annotation.RocketMQTransactionListener
;
...
...
@@ -24,7 +24,7 @@ public class OrderTransactionListenerImpl implements RocketMQLocalTransactionLis
public
RocketMQLocalTransactionState
executeLocalTransaction
(
Message
message
,
Object
arg
)
{
//插入订单数据
String
orderJson
=
new
String
(((
byte
[])
message
.
getPayload
()));
Order
order
=
J
SON
.
parse
Object
(
orderJson
,
Order
.
class
);
Order
order
=
J
sonUtil
.
to
Object
(
orderJson
,
Order
.
class
);
orderService
.
save
(
order
);
String
produceError
=
(
String
)
message
.
getHeaders
().
get
(
"produceError"
);
...
...
zlt-gateway/sc-gateway/src/main/java/com/central/gateway/route/NacosRouteDefinitionRepository.java
浏览文件 @
72ec8784
...
...
@@ -3,9 +3,9 @@ package com.central.gateway.route;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.cloud.nacos.NacosConfigProperties
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.nacos.api.config.listener.Listener
;
import
com.alibaba.nacos.api.exception.NacosException
;
import
com.central.common.utils.JsonUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.gateway.event.RefreshRoutesEvent
;
import
org.springframework.cloud.gateway.route.RouteDefinition
;
...
...
@@ -87,7 +87,7 @@ public class NacosRouteDefinitionRepository implements RouteDefinitionRepository
private
List
<
RouteDefinition
>
getListByStr
(
String
content
)
{
if
(
StrUtil
.
isNotEmpty
(
content
))
{
return
J
SONObject
.
parseArray
(
content
,
RouteDefinition
.
class
);
return
J
sonUtil
.
toList
(
content
,
RouteDefinition
.
class
);
}
return
new
ArrayList
<>(
0
);
}
...
...
zlt-gateway/zuul-gateway/src/main/java/com/central/gateway/route/nacos/NacosDynRouteLocator.java
浏览文件 @
72ec8784
...
...
@@ -3,9 +3,9 @@ package com.central.gateway.route.nacos;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.cloud.nacos.NacosConfigProperties
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.nacos.api.config.listener.Listener
;
import
com.alibaba.nacos.api.exception.NacosException
;
import
com.central.common.utils.JsonUtil
;
import
com.central.gateway.config.ZuulRouteEntity
;
import
com.central.gateway.route.AbstractDynRouteLocator
;
import
lombok.Setter
;
...
...
@@ -106,7 +106,7 @@ public class NacosDynRouteLocator extends AbstractDynRouteLocator {
public
List
<
ZuulRouteEntity
>
getListByStr
(
String
content
)
{
if
(
StrUtil
.
isNotEmpty
(
content
))
{
return
J
SONObject
.
parseArray
(
content
,
ZuulRouteEntity
.
class
);
return
J
sonUtil
.
toList
(
content
,
ZuulRouteEntity
.
class
);
}
return
new
ArrayList
<>(
0
);
}
...
...
zlt-monitor/log-center/src/main/java/com/central/log/controller/AuditLogController.java
浏览文件 @
72ec8784
package
com.central.log.controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.central.common.model.PageResult
;
import
com.central.search.client.service.IQueryService
;
import
com.central.search.model.SearchDto
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -34,7 +34,7 @@ public class AuditLogController {
@ApiImplicitParam
(
name
=
"queryStr"
,
value
=
"搜索关键字"
,
dataType
=
"String"
)
})
@GetMapping
(
value
=
"/auditLog"
)
public
PageResult
<
J
SONObject
>
getPage
(
SearchDto
searchDto
)
{
public
PageResult
<
J
sonNode
>
getPage
(
SearchDto
searchDto
)
{
searchDto
.
setIsHighlighter
(
true
);
searchDto
.
setSortCol
(
"timestamp"
);
return
queryService
.
strQuery
(
"audit-log-*"
,
searchDto
);
...
...
zlt-monitor/log-center/src/main/java/com/central/log/controller/SlowQueryLogController.java
浏览文件 @
72ec8784
package
com.central.log.controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.central.common.model.PageResult
;
import
com.central.search.client.service.IQueryService
;
import
com.central.search.model.SearchDto
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -28,7 +28,7 @@ public class SlowQueryLogController {
@ApiImplicitParam
(
name
=
"queryStr"
,
value
=
"搜索关键字"
,
dataType
=
"String"
)
})
@GetMapping
(
value
=
"/slowQueryLog"
)
public
PageResult
<
J
SONObject
>
getPage
(
SearchDto
searchDto
)
{
public
PageResult
<
J
sonNode
>
getPage
(
SearchDto
searchDto
)
{
searchDto
.
setIsHighlighter
(
true
);
searchDto
.
setSortCol
(
"timestamp"
);
return
queryService
.
strQuery
(
"mysql-slowlog-*"
,
searchDto
);
...
...
zlt-monitor/log-center/src/main/java/com/central/log/controller/SysLogController.java
浏览文件 @
72ec8784
package
com.central.log.controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.central.common.model.PageResult
;
import
com.central.search.client.service.IQueryService
;
import
com.central.search.model.SearchDto
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -28,7 +28,7 @@ public class SysLogController {
@ApiImplicitParam
(
name
=
"queryStr"
,
value
=
"搜索关键字"
,
dataType
=
"String"
)
})
@GetMapping
(
value
=
"/sysLog"
)
public
PageResult
<
J
SONObject
>
getPage
(
SearchDto
searchDto
)
{
public
PageResult
<
J
sonNode
>
getPage
(
SearchDto
searchDto
)
{
searchDto
.
setIsHighlighter
(
true
);
searchDto
.
setSortCol
(
"timestamp"
);
return
queryService
.
strQuery
(
"sys-log-*"
,
searchDto
);
...
...
zlt-uaa/src/main/java/com/central/oauth/handler/OauthLogoutSuccessHandler.java
浏览文件 @
72ec8784
package
com.central.oauth.handler
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.central.common.model.Result
;
import
com.central.common.utils.JsonUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
...
...
@@ -36,9 +36,9 @@ public class OauthLogoutSuccessHandler implements LogoutSuccessHandler {
}
else
{
response
.
setStatus
(
HttpStatus
.
OK
.
value
());
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
MediaType
.
APPLICATION_JSON_
UTF8_
VALUE
);
response
.
setContentType
(
MediaType
.
APPLICATION_JSON_VALUE
);
PrintWriter
writer
=
response
.
getWriter
();
String
jsonStr
=
J
SON
.
toJSONString
(
Result
.
succeed
(
"登出成功"
));
String
jsonStr
=
J
sonUtil
.
toJSONString
(
Result
.
succeed
(
"登出成功"
));
writer
.
write
(
jsonStr
);
writer
.
flush
();
}
...
...
zlt-uaa/src/test/java/com/central/oauth2/common/util/JwtUtilsTest.java
浏览文件 @
72ec8784
package
com.central.oauth2.common.util
;
import
com.
alibaba.fastjson.JSONObject
;
import
com.
fasterxml.jackson.databind.JsonNode
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.test.context.junit4.SpringRunner
;
...
...
@@ -16,7 +16,7 @@ public class JwtUtilsTest {
@Test
public
void
test
()
{
String
jwtToken
=
"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZXN0IjoiYWJjIiwidXNlcl9uYW1lIjoiYWRtaW4iLCJzY29wZSI6WyJhcHAiXSwiZXhwIjoxNTYzNjgyMTI4LCJhdXRob3JpdGllcyI6WyJBRE1JTiJdLCJqdGkiOiJlMDFlNGU0Yi1hZDVkLTRlMTQtODhiMC00OGQ4YzBjN2U5YjkiLCJjbGllbnRfaWQiOiJ3ZWJBcHAifQ.Qrh2aEoN4TL_WIQ9UpxDrW12aqqoVqxeY826sjbea2LB24RBNDYQl1J5vwXzMaQlG9AgjHRL4bTQihwBYYfdL-VuJXx0_l0xONbz9sHPq60a3gAhxOnekNS5-Qet5feTw7j4o2OwNlxo-xty5s8u2lsQY21zCe0tes_T4XeM76JTBpRbQUFGUU3EKxtUFi3Nk9AII4zerW1AbQNvLo4YW2Wvj___0lq5a-xNdCcHlJid8vKgzEF3v3wECOv6OjgL-fUN8VpUsYVt1-_QZp8opPAf-t3OVTtrVIWrJZ_vWV9d6DN5mynKtZ7_mDyMwo_5w3roAZ0ahoBKPKrtYQyEwQ"
;
J
SONObject
claims
=
JwtUtils
.
decodeAndVerify
(
jwtToken
);
J
sonNode
claims
=
JwtUtils
.
decodeAndVerify
(
jwtToken
);
//token内容
System
.
out
.
println
(
claims
);
boolean
isValid
=
JwtUtils
.
checkExp
(
claims
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录