Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
travel-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cloud
travel-cloud
Commits
f396d765
提交
f396d765
authored
5月 16, 2025
作者:
hzh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
代码优化
上级
89a29ddf
显示空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
104 行增加
和
2 行删除
+104
-2
Api.java
...51weishi/src/main/java/org/dromara/common/weishi/Api.java
+58
-1
AbstractHttpDelegate.java
.../org/dromara/common/weishi/base/AbstractHttpDelegate.java
+1
-1
RequestMethodEnum.java
...ava/org/dromara/common/weishi/base/RequestMethodEnum.java
+4
-0
InsureApiEnum.java
...org/dromara/common/weishi/enums/insure/InsureApiEnum.java
+4
-0
WeishiService.java
...java/org/dromara/common/weishi/service/WeishiService.java
+9
-0
WeishiServiceImpl.java
...dromara/common/weishi/service/impl/WeishiServiceImpl.java
+17
-0
WeishiController.java
.../dromara/mall/controller/weishi/app/WeishiController.java
+11
-0
没有找到文件。
ruoyi-common/ruoyi-common-51weishi/src/main/java/org/dromara/common/weishi/Api.java
浏览文件 @
f396d765
...
@@ -2,6 +2,7 @@ package org.dromara.common.weishi;
...
@@ -2,6 +2,7 @@ package org.dromara.common.weishi;
import
cn.hutool.core.date.StopWatch
;
import
cn.hutool.core.date.StopWatch
;
import
cn.hutool.http.ContentType
;
import
cn.hutool.http.ContentType
;
import
cn.hutool.http.HttpResponse
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -13,7 +14,11 @@ import org.dromara.common.weishi.enums.ApiEnum;
...
@@ -13,7 +14,11 @@ import org.dromara.common.weishi.enums.ApiEnum;
import
org.dromara.common.weishi.enums.Domain
;
import
org.dromara.common.weishi.enums.Domain
;
import
org.dromara.common.weishi.enums.DomainEnum
;
import
org.dromara.common.weishi.enums.DomainEnum
;
import
java.io.ByteArrayOutputStream
;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.util.Base64
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -57,6 +62,14 @@ public class Api {
...
@@ -57,6 +62,14 @@ public class Api {
return
v1
(
method
,
urlPrefix
,
urlSuffix
,
token
,
null
,
body
,
null
,
clazz
);
return
v1
(
method
,
urlPrefix
,
urlSuffix
,
token
,
null
,
body
,
null
,
clazz
);
}
}
public
static
<
T
>
T
v1
(
RequestMethodEnum
method
,
String
urlPrefix
,
String
urlSuffix
,
String
token
,
String
body
,
Map
<
String
,
Object
>
params
,
Class
<
T
>
clazz
)
{
return
v1
(
method
,
urlPrefix
,
urlSuffix
,
token
,
params
,
body
,
null
,
clazz
);
}
public
static
ApiHttpResponse
v1
(
RequestMethodEnum
method
,
String
urlPrefix
,
String
urlSuffix
,
public
static
ApiHttpResponse
v1
(
RequestMethodEnum
method
,
String
urlPrefix
,
String
urlSuffix
,
String
token
,
String
token
,
String
body
)
{
String
body
)
{
...
@@ -93,7 +106,7 @@ public class Api {
...
@@ -93,7 +106,7 @@ public class Api {
String
bodyRes
=
null
;
String
bodyRes
=
null
;
if
(
method
==
RequestMethodEnum
.
GET
)
{
if
(
method
==
RequestMethodEnum
.
GET
)
{
bodyRes
=
get
(
urlPrefix
.
concat
(
urlSuffix
),
authorization
,
null
);
bodyRes
=
get
(
urlPrefix
.
concat
(
urlSuffix
),
authorization
,
params
);
}
else
if
(
method
==
RequestMethodEnum
.
POST
)
{
}
else
if
(
method
==
RequestMethodEnum
.
POST
)
{
bodyRes
=
post
(
urlPrefix
.
concat
(
urlSuffix
),
authorization
,
body
);
bodyRes
=
post
(
urlPrefix
.
concat
(
urlSuffix
),
authorization
,
body
);
}
else
if
(
method
==
RequestMethodEnum
.
DELETE
)
{
}
else
if
(
method
==
RequestMethodEnum
.
DELETE
)
{
...
@@ -104,6 +117,8 @@ public class Api {
...
@@ -104,6 +117,8 @@ public class Api {
bodyRes
=
patch
(
urlPrefix
.
concat
(
urlSuffix
),
authorization
,
body
);
bodyRes
=
patch
(
urlPrefix
.
concat
(
urlSuffix
),
authorization
,
body
);
}
else
if
(
method
==
RequestMethodEnum
.
PUT
)
{
}
else
if
(
method
==
RequestMethodEnum
.
PUT
)
{
bodyRes
=
put
(
urlPrefix
.
concat
(
urlSuffix
),
authorization
,
body
);
bodyRes
=
put
(
urlPrefix
.
concat
(
urlSuffix
),
authorization
,
body
);
}
else
if
(
method
==
RequestMethodEnum
.
DOWNLOAD
)
{
bodyRes
=
download
(
urlPrefix
.
concat
(
urlSuffix
),
authorization
,
params
);
}
}
return
JSON
.
parseObject
(
bodyRes
,
clazz
);
return
JSON
.
parseObject
(
bodyRes
,
clazz
);
}
}
...
@@ -259,6 +274,48 @@ public class Api {
...
@@ -259,6 +274,48 @@ public class Api {
return
get
(
url
,
params
,
getHeaders
(
authorization
));
return
get
(
url
,
params
,
getHeaders
(
authorization
));
}
}
private
static
String
download
(
String
url
,
String
authorization
,
Map
<
String
,
Object
>
params
)
{
return
download
(
url
,
params
,
getHeaders
(
authorization
));
}
/**
* get 请求
*
* @param url 请求url
* @param params 请求参数
* @param headers 请求头
* @return {@link ApiHttpResponse} 请求返回的结果
*/
public
static
String
download
(
String
url
,
Map
<
String
,
Object
>
params
,
Map
<
String
,
String
>
headers
)
{
log
.
info
(
"请求路径:{}"
,
url
);
log
.
info
(
"请求头:{}"
,
JSON
.
toJSONString
(
headers
));
log
.
info
(
"请求参数:{}"
,
params
);
StopWatch
watch
=
new
StopWatch
();
watch
.
start
();
try
(
HttpResponse
res
=
HttpKit
.
getDelegate
().
getToResponse
(
url
,
params
,
headers
);)
{
InputStream
fileStream
=
res
.
bodyStream
();
// 将流转换为字节数组
ByteArrayOutputStream
buffer
=
new
ByteArrayOutputStream
();
byte
[]
data
=
new
byte
[
1024
];
int
bytesRead
;
while
((
bytesRead
=
fileStream
.
read
(
data
,
0
,
data
.
length
))
!=
-
1
)
{
buffer
.
write
(
data
,
0
,
bytesRead
);
}
buffer
.
flush
();
byte
[]
byteArray
=
buffer
.
toByteArray
();
// 转换为Base64编码
String
base64String
=
Base64
.
getEncoder
().
encodeToString
(
byteArray
);
watch
.
stop
();
log
.
info
(
"请求耗时:{}ms"
,
watch
.
getTotalTimeMillis
());
return
base64String
;
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
public
static
boolean
isProd
(
String
url
)
{
public
static
boolean
isProd
(
String
url
)
{
return
url
.
startsWith
(
DomainEnum
.
PROD
.
getDomain
());
return
url
.
startsWith
(
DomainEnum
.
PROD
.
getDomain
());
}
}
...
...
ruoyi-common/ruoyi-common-51weishi/src/main/java/org/dromara/common/weishi/base/AbstractHttpDelegate.java
浏览文件 @
f396d765
...
@@ -324,7 +324,7 @@ public abstract class AbstractHttpDelegate {
...
@@ -324,7 +324,7 @@ public abstract class AbstractHttpDelegate {
* @param headers 请求头
* @param headers 请求头
* @return {@link HttpResponse} 请求返回的结果
* @return {@link HttpResponse} 请求返回的结果
*/
*/
p
rivate
HttpResponse
getToResponse
(
String
url
,
Map
<
String
,
Object
>
paramMap
,
Map
<
String
,
String
>
headers
)
{
p
ublic
HttpResponse
getToResponse
(
String
url
,
Map
<
String
,
Object
>
paramMap
,
Map
<
String
,
String
>
headers
)
{
return
HttpRequest
.
get
(
url
)
return
HttpRequest
.
get
(
url
)
.
setProxy
(
getProxy
())
.
setProxy
(
getProxy
())
.
addHeaders
(
headers
)
.
addHeaders
(
headers
)
...
...
ruoyi-common/ruoyi-common-51weishi/src/main/java/org/dromara/common/weishi/base/RequestMethodEnum.java
浏览文件 @
f396d765
...
@@ -47,6 +47,10 @@ public enum RequestMethodEnum {
...
@@ -47,6 +47,10 @@ public enum RequestMethodEnum {
* PATCH 请求
* PATCH 请求
*/
*/
PATCH
(
"PATCH"
),
PATCH
(
"PATCH"
),
/**
*
*/
DOWNLOAD
(
"GET"
);
;
;
private
final
String
method
;
private
final
String
method
;
...
...
ruoyi-common/ruoyi-common-51weishi/src/main/java/org/dromara/common/weishi/enums/insure/InsureApiEnum.java
浏览文件 @
f396d765
...
@@ -42,6 +42,10 @@ public enum InsureApiEnum implements ApiEnum {
...
@@ -42,6 +42,10 @@ public enum InsureApiEnum implements ApiEnum {
* 获取投/被保险人申明接口
* 获取投/被保险人申明接口
*/
*/
AVOW_LIST
(
"/api/v1/insurer/1/avow/list"
,
"获取投/被保险人申明接口"
),
AVOW_LIST
(
"/api/v1/insurer/1/avow/list"
,
"获取投/被保险人申明接口"
),
/**
* 保单下载
*/
DOWNLOAD
(
"/api/v1/insure/download/order/{orderId}"
,
"保单下载接口"
),
;
;
/**
/**
...
...
ruoyi-common/ruoyi-common-51weishi/src/main/java/org/dromara/common/weishi/service/WeishiService.java
浏览文件 @
f396d765
...
@@ -59,6 +59,15 @@ public interface WeishiService {
...
@@ -59,6 +59,15 @@ public interface WeishiService {
*/
*/
DetailResponse
insureDetail
(
String
token
,
Integer
orderId
);
DetailResponse
insureDetail
(
String
token
,
Integer
orderId
);
/**
* 保单下载
*
* @param token token
* @param orderId 订单id
* @return base64
*/
String
insureDownload
(
String
token
,
Integer
orderId
);
/**
/**
* 订单撤单接口
* 订单撤单接口
*
*
...
...
ruoyi-common/ruoyi-common-51weishi/src/main/java/org/dromara/common/weishi/service/impl/WeishiServiceImpl.java
浏览文件 @
f396d765
...
@@ -120,6 +120,23 @@ public class WeishiServiceImpl implements WeishiService {
...
@@ -120,6 +120,23 @@ public class WeishiServiceImpl implements WeishiService {
return
JSON
.
parseObject
(
res
.
getData
(),
DetailResponse
.
class
);
return
JSON
.
parseObject
(
res
.
getData
(),
DetailResponse
.
class
);
}
}
@Override
public
String
insureDownload
(
String
token
,
Integer
orderId
)
{
Map
<
String
,
Object
>
map
=
MapUtil
.<
String
,
Object
>
builder
()
.
put
(
"orderId"
,
orderId
)
.
build
();
Map
<
String
,
Object
>
paramsMap
=
MapUtil
.<
String
,
Object
>
builder
()
.
put
(
"refresh"
,
false
)
.
build
();
return
Api
.
v1
(
RequestMethodEnum
.
DOWNLOAD
,
DomainEnum
.
TEST
.
getDomain
(),
StrUtil
.
format
(
InsureApiEnum
.
DOWNLOAD
.
getUrl
(),
map
),
token
,
null
,
paramsMap
,
String
.
class
);
}
@Override
@Override
public
void
insureCancel
(
String
token
,
String
orderNum
)
{
public
void
insureCancel
(
String
token
,
String
orderNum
)
{
Map
<
String
,
Object
>
map
=
MapUtil
.<
String
,
Object
>
builder
()
Map
<
String
,
Object
>
map
=
MapUtil
.<
String
,
Object
>
builder
()
...
...
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/weishi/app/WeishiController.java
浏览文件 @
f396d765
...
@@ -116,6 +116,17 @@ public class WeishiController {
...
@@ -116,6 +116,17 @@ public class WeishiController {
return
R
.
ok
(
weishiService
.
insureDetail
(
getToken
(),
orderId
));
return
R
.
ok
(
weishiService
.
insureDetail
(
getToken
(),
orderId
));
}
}
/**
* 保单下载
*
* @param orderId orderId
* @return 保单base64
*/
@PostMapping
(
"/insureDownload/{orderId}"
)
public
R
<
String
>
insureDownload
(
@PathVariable
Integer
orderId
)
{
return
R
.
ok
(
weishiService
.
insureDownload
(
getToken
(),
orderId
));
}
/**
/**
* 订单撤单接口
* 订单撤单接口
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论