Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
device-back
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
device-back
Commits
3ced4661
提交
3ced4661
authored
10月 09, 2020
作者:
Matrix
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[系统架构] 增加了全局返回值的封装
上级
4f01d03b
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
79 行增加
和
18 行删除
+79
-18
UnifiedReturnConfig.java
...rc/main/java/com/tykj/dev/config/UnifiedReturnConfig.java
+62
-0
FinalCheckController.java
...ev/device/finalcheck/controller/FinalCheckController.java
+17
-18
没有找到文件。
dev-config/src/main/java/com/tykj/dev/config/UnifiedReturnConfig.java
0 → 100644
浏览文件 @
3ced4661
package
com
.
tykj
.
dev
.
config
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.tykj.dev.misc.base.ResultObj
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.core.MethodParameter
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.converter.HttpMessageConverter
;
import
org.springframework.http.server.ServerHttpRequest
;
import
org.springframework.http.server.ServerHttpResponse
;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
import
org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice
;
/**
* UnifiedReturnConfig.
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2020/10/9 at 3:17 下午
*/
@Configuration
@RestControllerAdvice
(
"com.tykj.dev.device"
)
public
class
UnifiedReturnConfig
implements
ResponseBodyAdvice
<
Object
>
{
private
ObjectMapper
objectMapper
=
new
ObjectMapper
();
@Override
public
boolean
supports
(
MethodParameter
returnType
,
Class
<?
extends
HttpMessageConverter
<?>>
converterType
)
{
return
true
;
}
@Override
public
Object
beforeBodyWrite
(
Object
body
,
MethodParameter
returnType
,
MediaType
selectedContentType
,
Class
<?
extends
HttpMessageConverter
<?>>
selectedConverterType
,
ServerHttpRequest
request
,
ServerHttpResponse
response
)
{
// 如果返回的就是ResultObj 那么直接返回
if
(
body
instanceof
ResultObj
)
{
return
body
;
}
// 如果返回的是流媒体格式 那么也不做处理
if
(
selectedContentType
.
includes
(
MediaType
.
APPLICATION_OCTET_STREAM
))
{
return
body
;
}
ResultObj
<
Object
>
result
=
new
ResultObj
<>(
body
,
"成功 :)"
);
// 如果返回的是字符串,则要对其做JSON序列化
if
(
returnType
.
getGenericParameterType
().
equals
(
String
.
class
))
{
try
{
response
.
getHeaders
().
set
(
"Content-Type"
,
"application/json;charset=utf-8"
);
return
objectMapper
.
writeValueAsString
(
result
);
}
catch
(
JsonProcessingException
e
)
{
e
.
printStackTrace
();
}
}
// 其他的类型直接封装返回
return
result
;
}
}
dev-finalcheck/src/main/java/com/tykj/dev/device/finalcheck/controller/FinalCheckController.java
浏览文件 @
3ced4661
...
@@ -17,12 +17,15 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -17,12 +17,15 @@ import lombok.extern.slf4j.Slf4j;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Page
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
springfox.documentation.service.ApiKey
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.BufferedOutputStream
;
import
java.io.BufferedOutputStream
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.io.OutputStream
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
...
@@ -61,11 +64,6 @@ public class FinalCheckController {
...
@@ -61,11 +64,6 @@ public class FinalCheckController {
response
.
setContentType
(
"application/octet-stream;charset=UTF-8"
);
response
.
setContentType
(
"application/octet-stream;charset=UTF-8"
);
response
.
setHeader
(
"Pragma"
,
"no-cache"
);
response
.
setHeader
(
"Pragma"
,
"no-cache"
);
response
.
setDateHeader
(
"Expires"
,
0
);
response
.
setDateHeader
(
"Expires"
,
0
);
response
.
setHeader
(
"Access-Control-Allow-Origin"
,
request
.
getHeader
(
"Origin"
));
response
.
setHeader
(
"Access-Control-Allow-Credentials"
,
"true"
);
response
.
setHeader
(
"Access-Control-Allow-Methods"
,
"POST, GET, OPTIONS, PUT, PATCH, DELETE"
);
response
.
setHeader
(
"Access-Control-Allow-Headers"
,
"Origin, X-Requested-With, Content-Type, Accept"
);
response
.
setHeader
(
"Access-Control-Max-Age"
,
"3600"
);
// 写出数据输出流到页面
// 写出数据输出流到页面
try
{
try
{
OutputStream
output
=
response
.
getOutputStream
();
OutputStream
output
=
response
.
getOutputStream
();
...
@@ -80,6 +78,12 @@ public class FinalCheckController {
...
@@ -80,6 +78,12 @@ public class FinalCheckController {
}
}
// @GetMapping("/test")
// @ApiOperation(value = "测试接口")
public
ResponseEntity
test
()
{
return
ResponseEntity
.
ok
(
4
);
}
@GetMapping
(
"/reports"
)
@GetMapping
(
"/reports"
)
@ApiOperation
(
value
=
"查询所有决算报告(不附带详情数据)"
)
@ApiOperation
(
value
=
"查询所有决算报告(不附带详情数据)"
)
public
ResponseEntity
<
ResultObj
<
Page
<
FinalReportVo
>>>
findAllReports
(
public
ResponseEntity
<
ResultObj
<
Page
<
FinalReportVo
>>>
findAllReports
(
...
@@ -102,10 +106,9 @@ public class FinalCheckController {
...
@@ -102,10 +106,9 @@ public class FinalCheckController {
return
ResultUtil
.
success
(
finalReportVo
);
return
ResultUtil
.
success
(
finalReportVo
);
}
}
@SneakyThrows
@PostMapping
(
"/excel/{id}"
)
@PostMapping
(
"/excel/{id}"
)
@ApiOperation
(
value
=
"根据id导出对应的excel数据"
)
@ApiOperation
(
value
=
"根据id导出对应的excel数据"
)
public
void
exportExcel
(
public
ResponseEntity
<
byte
[]>
exportExcel
(
@PathVariable
Integer
id
,
@PathVariable
Integer
id
,
HttpServletRequest
request
,
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
IOException
{
HttpServletResponse
response
)
throws
IOException
{
...
@@ -164,17 +167,13 @@ public class FinalCheckController {
...
@@ -164,17 +167,13 @@ public class FinalCheckController {
Workbook
book
=
ExcelExportUtil
.
exportExcel
(
params
,
map
);
Workbook
book
=
ExcelExportUtil
.
exportExcel
(
params
,
map
);
//
ByteArrayOutputStream
outByteStream
=
new
ByteArrayOutputStream
();
// File savefile = new File("/Users/matrix/local-doc/excel");
book
.
write
(
outByteStream
);
// if (!savefile.exists()) {
// boolean result = savefile.mkdirs();
return
ResponseEntity
.
ok
()
// System.out.println("目录不存在,进行创建,创建" + (result ? "成功!" : "失败!"));
.
headers
(
headers
->
headers
.
setContentDispositionFormData
(
"attachment"
,
"Report.xls"
))
// }
.
contentType
(
MediaType
.
APPLICATION_OCTET_STREAM
)
// FileOutputStream fos = new FileOutputStream("/Users/matrix/local-doc/excel/templateMapResult.xlsx");
.
body
(
outByteStream
.
toByteArray
());
// book.write(fos);
// fos.close();
downloadExcel
(
request
,
response
,
book
,
"Report"
);
}
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论