Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-api-boot
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-api-boot
Commits
c7db2617
提交
c7db2617
authored
4月 19, 2022
作者:
谭志磊
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix : 修复车辆管理联调中发现的bug,配置跨域
上级
76a93dbb
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
89 行增加
和
32 行删除
+89
-32
CarQueryParam.java
...src/main/java/com/yiring/app/param/car/CarQueryParam.java
+8
-0
CarService.java
app/src/main/java/com/yiring/app/service/car/CarService.java
+1
-2
CarServiceImpl.java
.../java/com/yiring/app/service/car/impl/CarServiceImpl.java
+34
-20
CarVo.java
app/src/main/java/com/yiring/app/vo/car/CarVo.java
+6
-0
CarController.java
app/src/main/java/com/yiring/app/web/car/CarController.java
+7
-7
CorsConfig.java
...re/src/main/java/com/yiring/common/config/CorsConfig.java
+30
-0
ExcelUtils.java
.../src/main/java/com/yiring/common/util/poi/ExcelUtils.java
+3
-3
没有找到文件。
app/src/main/java/com/yiring/app/param/car/CarQueryParam.java
浏览文件 @
c7db2617
...
...
@@ -19,6 +19,14 @@ import lombok.experimental.FieldDefaults;
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
CarQueryParam
{
@ApiModelProperty
(
value
=
"每页记录数"
,
example
=
"10"
)
// @DecimalMin(value = "1", message = "分页条数不能小于1")
Integer
pageSize
;
@ApiModelProperty
(
value
=
"页码"
,
example
=
"1"
)
// @DecimalMin(value = "1", message = "页码不能小于1")
Integer
pageNo
;
@ApiModelProperty
(
value
=
"车牌号码"
,
example
=
"湘A12345"
)
String
carNum
;
...
...
app/src/main/java/com/yiring/app/service/car/CarService.java
浏览文件 @
c7db2617
...
...
@@ -7,7 +7,6 @@ import com.yiring.app.param.car.CarQueryParam;
import
com.yiring.app.vo.car.CarVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.vo.PageVo
;
import
java.util.List
;
import
org.springframework.data.jpa.domain.Specification
;
...
...
@@ -71,7 +70,7 @@ public interface CarService {
* @param carParam CarParam
* @return 车辆来访信息分页数据
*/
Result
<
PageVo
<
CarVo
>>
pageCarInfo
(
CarQueryParam
carParam
,
PageParam
param
);
Result
<
PageVo
<
CarVo
>>
pageCarInfo
(
CarQueryParam
carParam
);
/**
* 导出excel
...
...
app/src/main/java/com/yiring/app/service/car/impl/CarServiceImpl.java
浏览文件 @
c7db2617
...
...
@@ -11,22 +11,17 @@ import com.yiring.auth.domain.role.Role;
import
com.yiring.common.core.Result
;
import
com.yiring.common.core.Status
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.util.StrUtils
;
import
com.yiring.common.util.date.DateUtils
;
import
com.yiring.common.vo.PageVo
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
import
javax.persistence.criteria.Predicate
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.data.domain.Example
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.*
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.stereotype.Service
;
...
...
@@ -151,18 +146,37 @@ public class CarServiceImpl implements CarService {
}
@Override
public
Result
<
PageVo
<
CarVo
>>
pageCarInfo
(
CarQueryParam
carParam
,
PageParam
param
)
{
Page
<
Car
>
all
=
carRepository
.
findAll
(
condition
(
carParam
),
PageParam
.
toPageable
(
param
));
List
<
CarVo
>
data
=
all
.
get
()
.
map
(
car
->
{
CarVo
vo
=
new
CarVo
();
BeanUtils
.
copyProperties
(
car
,
vo
);
return
vo
;
})
.
collect
(
Collectors
.
toList
());
PageVo
<
CarVo
>
vo
=
PageVo
.
build
(
data
,
all
.
getTotalElements
());
return
Result
.
ok
(
vo
);
public
Result
<
PageVo
<
CarVo
>>
pageCarInfo
(
CarQueryParam
carParam
)
{
PageVo
<
CarVo
>
resultVo
=
null
;
//排序
Sort
sort
=
Sort
.
by
(
Sort
.
Order
.
desc
(
Car
.
Fields
.
createTime
));
//如果传分页参数则分页,否查全部数据
if
(
Objects
.
nonNull
(
carParam
.
getPageNo
())
&&
Objects
.
nonNull
(
carParam
.
getPageSize
()))
{
//分页
Pageable
pageable
=
PageRequest
.
of
(
carParam
.
getPageNo
()
-
1
,
carParam
.
getPageSize
());
Page
<
Car
>
all
=
carRepository
.
findAll
(
condition
(
carParam
),
pageable
);
List
<
CarVo
>
data
=
all
.
get
()
.
map
(
car
->
{
CarVo
vo
=
new
CarVo
();
BeanUtils
.
copyProperties
(
car
,
vo
);
return
vo
;
})
.
collect
(
Collectors
.
toList
());
resultVo
=
PageVo
.
build
(
data
,
all
.
getTotalElements
());
}
else
{
List
<
Car
>
all
=
carRepository
.
findAll
(
condition
(
carParam
),
sort
);
List
<
CarVo
>
data
=
all
.
stream
()
.
map
(
car
->
{
CarVo
vo
=
new
CarVo
();
BeanUtils
.
copyProperties
(
car
,
vo
);
return
vo
;
})
.
collect
(
Collectors
.
toList
());
resultVo
=
PageVo
.
build
(
data
,
data
.
size
());
}
return
Result
.
ok
(
resultVo
);
}
@Override
...
...
@@ -222,7 +236,7 @@ public class CarServiceImpl implements CarService {
if
(
StrUtils
.
isNotBlank
(
carParam
.
getOrgId
()))
{
//所属单位查询
list
.
add
(
criteriaBuilder
.
equal
(
root
.
get
(
"orgId"
).
as
(
String
.
class
),
carParam
.
getOrgId
()
));
list
.
add
(
criteriaBuilder
.
like
(
root
.
get
(
"orgId"
).
as
(
String
.
class
),
"%"
+
carParam
.
getOrgId
()
+
"%"
));
}
if
(
StrUtils
.
isNotBlank
(
carParam
.
getReason
()))
{
...
...
app/src/main/java/com/yiring/app/vo/car/CarVo.java
浏览文件 @
c7db2617
...
...
@@ -2,6 +2,8 @@
package
com
.
yiring
.
app
.
vo
.
car
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
com.yiring.common.util.DictUtils
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -23,6 +25,10 @@ import org.apache.commons.lang3.StringUtils;
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
CarVo
implements
Serializable
{
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@ApiModelProperty
(
value
=
"主键id"
,
example
=
"1458555485552"
)
Long
id
;
@ApiModelProperty
(
value
=
"车牌号码"
,
example
=
"湘A99999"
)
String
carNum
;
...
...
app/src/main/java/com/yiring/app/web/car/CarController.java
浏览文件 @
c7db2617
...
...
@@ -8,7 +8,6 @@ import com.yiring.app.service.car.CarService;
import
com.yiring.app.vo.car.CarVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.util.poi.ExcelUtils
;
import
com.yiring.common.vo.PageVo
;
import
io.swagger.annotations.Api
;
...
...
@@ -20,10 +19,7 @@ import javax.servlet.http.HttpServletResponse;
import
javax.validation.Valid
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
/**
* 车辆来访信息控制器
...
...
@@ -80,8 +76,8 @@ public class CarController {
@ApiOperation
(
value
=
"查看车辆来访信息(分页)"
)
@GetMapping
(
"pageCarInfo"
)
public
Result
<
PageVo
<
CarVo
>>
pageCarInfo
(
@Valid
CarQueryParam
carParam
,
@Valid
PageParam
param
)
{
return
carService
.
pageCarInfo
(
carParam
,
param
);
public
Result
<
PageVo
<
CarVo
>>
pageCarInfo
(
@Valid
CarQueryParam
carParam
)
{
return
carService
.
pageCarInfo
(
carParam
);
}
@ApiOperation
(
value
=
"导出车辆来访信息"
)
...
...
@@ -89,6 +85,10 @@ public class CarController {
public
void
exportCarInfo
(
HttpServletResponse
response
,
@Valid
CarQueryParam
carParam
)
{
List
<
Car
>
export
=
carService
.
export
(
carParam
);
ExcelUtils
<
Car
>
util
=
new
ExcelUtils
<>(
Car
.
class
);
// String fileName = URLEncoder.encode("车辆来访信息.xlsx", StandardCharsets.UTF_8);
response
.
setContentType
(
"application/octet-stream"
);
// response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
// response.setCharacterEncoding("utf-8");
util
.
exportExcel
(
response
,
export
,
"车辆来访信息"
);
}
}
basic-common/core/src/main/java/com/yiring/common/config/CorsConfig.java
0 → 100644
浏览文件 @
c7db2617
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
common
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.cors.CorsConfiguration
;
import
org.springframework.web.cors.UrlBasedCorsConfigurationSource
;
import
org.springframework.web.filter.CorsFilter
;
/**
* 跨域设置
* @author tzl
* 2022/4/18 10:29
*/
@Configuration
public
class
CorsConfig
{
@Bean
public
CorsFilter
corsFilter
()
{
final
UrlBasedCorsConfigurationSource
urlBasedCorsConfigurationSource
=
new
UrlBasedCorsConfigurationSource
();
final
CorsConfiguration
corsConfiguration
=
new
CorsConfiguration
();
// corsConfiguration.setAllowCredentials(true);
corsConfiguration
.
addAllowedOrigin
(
"*"
);
corsConfiguration
.
addAllowedHeader
(
"*"
);
corsConfiguration
.
addAllowedMethod
(
"*"
);
urlBasedCorsConfigurationSource
.
registerCorsConfiguration
(
"/**"
,
corsConfiguration
);
return
new
CorsFilter
(
urlBasedCorsConfigurationSource
);
}
}
basic-common/util/src/main/java/com/yiring/common/util/poi/ExcelUtils.java
浏览文件 @
c7db2617
...
...
@@ -180,7 +180,7 @@ public class ExcelUtils<T> {
* 对excel表单指定表格索引名转换成list
*
* @param sheetName 表格索引名
* @param titleNum 标题占用行数
* @param titleNum 标题占用
第几
行数
* @param is 输入流
* @return 转换后集合
*/
...
...
@@ -317,8 +317,8 @@ public class ExcelUtils<T> {
* @throws IOException
*/
public
void
exportExcel
(
HttpServletResponse
response
,
List
<
T
>
list
,
String
sheetName
,
String
title
)
{
response
.
setContentType
(
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
"
);
response
.
setCharacterEncoding
(
"utf-8"
);
// response.setContentType("application/octet-stream
");
//
response.setCharacterEncoding("utf-8");
this
.
init
(
list
,
sheetName
,
title
,
Type
.
EXPORT
);
exportExcel
(
response
);
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论