Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
1c54ecd2
提交
1c54ecd2
authored
12月 04, 2023
作者:
huyufan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
同步网络货运加解密相关处理
上级
4cd3e4e1
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
198 行增加
和
3 行删除
+198
-3
ThirdOrderChildBrokerParam.java
...nce/param/feign/transport/ThirdOrderChildBrokerParam.java
+2
-2
ThirdComponent.java
...in/java/com/clx/performance/component/ThirdComponent.java
+167
-0
FeignInterceptor.java
...main/java/com/clx/performance/feign/FeignInterceptor.java
+28
-0
TransportFeignService.java
...java/com/clx/performance/feign/TransportFeignService.java
+1
-1
没有找到文件。
performance-api/src/main/java/com/clx/performance/param/feign/transport/ThirdOrderChildBrokerParam.java
浏览文件 @
1c54ecd2
...
...
@@ -15,9 +15,9 @@ import java.util.List;
@NoArgsConstructor
public
class
ThirdOrderChildBrokerParam
{
@ApiModelProperty
(
value
=
"
订
单编码"
,
dataType
=
"String"
,
required
=
true
)
@ApiModelProperty
(
value
=
"
运
单编码"
,
dataType
=
"String"
,
required
=
true
)
private
String
childNo
;
@ApiModelProperty
(
value
=
"
主
单编码"
,
dataType
=
"String"
,
required
=
true
)
@ApiModelProperty
(
value
=
"
订
单编码"
,
dataType
=
"String"
,
required
=
true
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"车牌号"
,
dataType
=
"String"
,
required
=
true
)
private
String
truckNo
;
...
...
performance-web/src/main/java/com/clx/performance/component/ThirdComponent.java
0 → 100644
浏览文件 @
1c54ecd2
package
com
.
clx
.
performance
.
component
;
import
cn.hutool.json.JSONUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.msl.common.dto.HttpDTO
;
import
com.msl.common.result.Result
;
import
com.msl.common.utils.EncryptUtil
;
import
com.msl.common.utils.HttpUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
java.security.GeneralSecurityException
;
@Slf4j
public
class
ThirdComponent
{
public
static
final
String
TRANSPORT_USER
=
"13403503399"
;
public
static
final
String
TRANSPORT_KEY
=
"9Y1N5AUP8N2TI359"
;
// @Autowired
// private HttpLogService httpLogService;
// /**
// * post请求
// *
// * @param host
// * @param httpEnum
// * @param param
// * @param httpLog
// * @param isEncrypt
// */
// @Transactional(propagation = Propagation.NOT_SUPPORTED)
// public Result<?> postRequest(String host, HttpEnum httpEnum, String param, HttpLog httpLog, boolean isEncrypt) {
// if (Objects.nonNull(httpLog)) {
// httpLog.setTryCount(httpLog.getTryCount() + 1);
// httpLogService.updateHttpLogTryCount(httpLog);
// } else {
// httpLog = new HttpLog()
// .setMsgId(UUID.randomUUID().toString())
// .setType(httpEnum.getCode())
// .setRemark(httpEnum.getMark())
// .setUrl(httpEnum.getUrl())
// .setParam(param)
// .setStatus(HttpStatusEnum.HAVING.getCode())
// .setTryCount(1);
// httpLogService.saveHttpLog(httpLog);
// }
// return isEncrypt ? encryptPost(host + httpLog.getUrl(), httpLog.getParam(), httpLog.getId()) : asyncPost(host + httpLog.getUrl(), httpLog.getParam(), httpLog.getId());
// }
//
// @Transactional(propagation = Propagation.NOT_SUPPORTED)
// public Result<?> postRequestBroker(String host, HttpEnum httpEnum, String param, HttpLog httpLog, Map<String, Object> headers) {
// if (Objects.nonNull(httpLog)) {
// httpLog.setTryCount(httpLog.getTryCount() + 1);
// httpLogService.updateHttpLogTryCount(httpLog);
// } else {
// httpLog = new HttpLog()
// .setMsgId(UUID.randomUUID().toString())
// .setType(httpEnum.getCode())
// .setRemark(httpEnum.getMark())
// .setUrl(httpEnum.getUrl())
// .setParam(param)
// .setStatus(HttpStatusEnum.HAVING.getCode())
// .setTryCount(1)
// .setHeader(JSON.toJSONString(headers));
// httpLogService.saveHttpLog(httpLog);
// }
// return asyncPostBroker(host + httpLog.getUrl(), httpLog.getParam(), httpLog.getId(), headers);
// }
//
// /**
// * get请求
// *
// * @param host
// * @param httpEnum
// * @param headers
// * @param param
// * @return
// */
// @Transactional(propagation = Propagation.NOT_SUPPORTED)
// public Result<?> getRequest(String host, HttpEnum httpEnum, Map<String, Object> headers, HttpLog httpLog, Object... param) {
// if (Objects.nonNull(httpLog)) {
// httpLog.setTryCount(httpLog.getTryCount() + 1);
// httpLogService.updateHttpLogTryCount(httpLog);
// } else {
// httpLog = new HttpLog()
// .setMsgId(UUID.randomUUID().toString())
// .setType(httpEnum.getCode())
// .setRemark(httpEnum.getMark())
// .setUrl(String.format(httpEnum.getUrl(), param))
// .setHeader(JSON.toJSONString(headers))
// .setParam("")
// .setStatus(HttpStatusEnum.HAVING.getCode())
// .setTryCount(1);
// httpLogService.saveHttpLog(httpLog);
// }
// return asyncGet(host + httpLog.getUrl(), headers, httpLog.getId());
// }
//
// private Result<?> asyncGet(String url, Map<String, Object> headers, Integer httpLogId) {
// try {
// return Optional.ofBlank(HttpClientUtil.httpGetRequest(url, headers))
// .map(res -> JSON.parseObject(res, Result.class))
// .peek(result -> httpLogService.updateHttpLogStatus(httpLogId, result))
// .filter(Result::succeed)
// .orElse(new Result<>(ResultCodeEnum.FAIL));
// } catch (Exception e) {
// log.error("http请求错误---->httpLogId:{},url:{}", httpLogId, url, e);
// }
// return new Result<>(ResultCodeEnum.FAIL);
// }
//
// private Result<?> asyncPost(String url, String param, Integer httpLogId) {
// try {
// return Optional.ofBlank(HttpClientUtil.httpPostRequest(url, param))
// .map(res -> JSON.parseObject(res, Result.class))
// .peek(result -> httpLogService.updateHttpLogStatus(httpLogId, result))
// .filter(Result::succeed)
// .orElse(new Result<>(ResultCodeEnum.FAIL));
// } catch (Exception e) {
// log.error("http请求错误---->httpLogId:{},url:{},param:{}", httpLogId, url, param, e);
// }
// return new Result<>(ResultCodeEnum.FAIL);
// }
//
// private Result<?> asyncPostBroker(String url, String param, Integer httpLogId, Map<String, Object> headers) {
// try {
// String s = HttpClientUtil.httpPostRequestBroker(url, param, headers);
// return Optional.ofBlank(s)
// .map(res -> JSON.parseObject(res, Result.class))
// .peek(result -> httpLogService.updateHttpLogStatus(httpLogId, result))
// .filter(Result::succeed)
// .orElse(new Result<>(ResultCodeEnum.FAIL));
// } catch (Exception e) {
// log.error("http请求错误---->httpLogId:{},url:{},param:{}", httpLogId, url, param, e);
// }
// return new Result<>(ResultCodeEnum.FAIL);
// }
public
static
String
encrypt
(
String
param
)
throws
Exception
{
HttpDTO
httpDTO
=
EncryptUtil
.
buildDTO
(
TRANSPORT_USER
,
param
,
TRANSPORT_KEY
,
System
.
currentTimeMillis
());
return
JSONUtil
.
parse
(
httpDTO
).
toString
();
}
public
static
Result
<?>
encryptPost
(
String
url
,
String
param
,
Integer
httpLogId
)
{
try
{
return
HttpUtil
.
post
(
url
,
null
,
EncryptUtil
.
buildDTO
(
TRANSPORT_USER
,
param
,
TRANSPORT_KEY
,
System
.
currentTimeMillis
()))
.
map
(
r
->
JSON
.
parseObject
(
r
,
new
TypeReference
<
HttpDTO
>()
{
}))
.
peek
(
dto
->
log
.
info
(
"http请求返回------dto->{}"
,
dto
))
.
mapTry
(
dto
->
EncryptUtil
.
decrypt
(
dto
.
getData
(),
TRANSPORT_KEY
))
.
map
(
t
->
{
return
JSONUtil
.
toBean
(
t
,
Result
.
class
);
}
).
get
();
// .peek(result -> httpLogService.updateHttpLogStatus(httpLogId, result))
}
catch
(
GeneralSecurityException
e
)
{
log
.
error
(
"解密失败"
,
e
);
throw
new
RuntimeException
();
}
}
}
performance-web/src/main/java/com/clx/performance/feign/FeignInterceptor.java
0 → 100644
浏览文件 @
1c54ecd2
package
com
.
clx
.
performance
.
feign
;
import
com.clx.performance.component.ThirdComponent
;
import
com.msl.common.result.Result
;
import
feign.RequestInterceptor
;
import
feign.RequestTemplate
;
public
class
FeignInterceptor
implements
RequestInterceptor
{
@Override
public
void
apply
(
RequestTemplate
template
){
// 通过template获取到请求体(已经被转成json)
String
jsonBody
=
template
.
requestBody
().
asString
();
// 构造通用的请求体
// String url = template.feignTarget().url() + template.url();
// Result<?> result = ThirdComponent.encryptPost(url, jsonBody, null);
// System.out.println(result);
try
{
jsonBody
=
ThirdComponent
.
encrypt
(
jsonBody
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
template
.
body
(
jsonBody
);
}
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/feign/TransportFeignService.java
浏览文件 @
1c54ecd2
...
...
@@ -15,7 +15,7 @@ import javax.validation.constraints.NotBlank;
import
javax.validation.constraints.NotEmpty
;
import
java.util.List
;
@FeignClient
(
name
=
"transport-service-yitu"
,
url
=
"${transport-service.host}"
)
@FeignClient
(
name
=
"transport-service-yitu"
,
url
=
"${transport-service.host}"
,
configuration
=
FeignInterceptor
.
class
)
public
interface
TransportFeignService
{
/**
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论