Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-api-boot
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-api-boot
Commits
7bf585c5
提交
7bf585c5
authored
4月 21, 2022
作者:
谭志磊
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat : 访客基本增删改查 收发卡导出功能
上级
ef2b8aeb
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
537 行增加
和
10 行删除
+537
-10
Visitor.java
app/src/main/java/com/yiring/app/domain/visitor/Visitor.java
+1
-1
VisitorExportExcel.java
...java/com/yiring/app/excel/visitor/VisitorExportExcel.java
+68
-0
CarQueryParam.java
...src/main/java/com/yiring/app/param/car/CarQueryParam.java
+3
-0
VisitorParam.java
.../main/java/com/yiring/app/param/visitor/VisitorParam.java
+2
-2
VisitorQueryParam.java
.../java/com/yiring/app/param/visitor/VisitorQueryParam.java
+52
-1
CarServiceImpl.java
.../java/com/yiring/app/service/car/impl/CarServiceImpl.java
+2
-2
VisitorService.java
...n/java/com/yiring/app/service/visitor/VisitorService.java
+22
-0
VisitorServiceImpl.java
...m/yiring/app/service/visitor/impl/VisitorServiceImpl.java
+231
-1
VideoVo.java
app/src/main/java/com/yiring/app/vo/video/VideoVo.java
+1
-1
VisitorVo.java
app/src/main/java/com/yiring/app/vo/visitor/VisitorVo.java
+67
-0
CarController.java
app/src/main/java/com/yiring/app/web/car/CarController.java
+1
-1
VideoController.java
...c/main/java/com/yiring/app/web/video/VideoController.java
+1
-1
VisitorController.java
...in/java/com/yiring/app/web/visitor/VisitorController.java
+86
-0
没有找到文件。
app/src/main/java/com/yiring/app/domain/visitor/Visitor.java
浏览文件 @
7bf585c5
...
...
@@ -26,7 +26,7 @@ import org.hibernate.snowflake.SnowflakeId;
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
@Entity
@Table
(
name
=
"BS_VISITOR"
)
@Comment
(
"
监控视频
"
)
@Comment
(
"
访客信息
"
)
public
class
Visitor
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7367226565168197562L
;
...
...
app/src/main/java/com/yiring/app/excel/visitor/VisitorExportExcel.java
0 → 100644
浏览文件 @
7bf585c5
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
excel
.
visitor
;
import
com.github.liaochong.myexcel.core.annotation.ExcelColumn
;
import
com.github.liaochong.myexcel.core.annotation.ExcelModel
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
/**
* @author tzl
* 2022/4/21 9:37
*/
@ExcelModel
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
VisitorExportExcel
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
-
5732379257900745806L
;
@ExcelColumn
(
title
=
"到访人姓名"
)
String
visitorName
;
@ExcelColumn
(
title
=
"到访人姓名"
)
String
visitorMobile
;
@ExcelColumn
(
title
=
"到访人身份证"
)
String
visitorCarNum
;
@ExcelColumn
(
title
=
"是否特殊作业"
)
boolean
taskType
;
@ExcelColumn
(
title
=
"邀请人数"
)
Integer
numOfVisitor
;
@ExcelColumn
(
title
=
"访客来源"
)
String
visitorSource
;
@ExcelColumn
(
title
=
"标签卡"
)
String
labelCard
;
@ExcelColumn
(
title
=
"标签卡状态"
)
String
labelCardStatus
;
@ExcelColumn
(
title
=
"所属单位"
)
String
orgId
;
@ExcelColumn
(
title
=
"被访人"
)
String
intervieweeId
;
@ExcelColumn
(
title
=
"来访原因"
)
String
reason
;
@ExcelColumn
(
title
=
"收卡时间"
)
LocalDateTime
cardRecTime
;
@ExcelColumn
(
title
=
"预约到访时间"
)
LocalDateTime
appOfVisitTime
;
@ExcelColumn
(
title
=
"发卡时间"
)
LocalDateTime
cardSendTime
;
}
app/src/main/java/com/yiring/app/param/car/CarQueryParam.java
浏览文件 @
7bf585c5
...
...
@@ -61,6 +61,9 @@ public class CarQueryParam implements Serializable {
@ApiModelProperty
(
value
=
"收卡时间(结束)"
,
example
=
"2022-04-11 17:26:33"
)
LocalDateTime
cardRecTimeEnd
;
/**
* 来访时间参数字段名用错 应该时 cardSendTimeStart
*/
@ApiModelProperty
(
value
=
"来访时间(开始)"
,
example
=
"2022-04-11 17:25:33"
)
LocalDateTime
createTimeStart
;
...
...
app/src/main/java/com/yiring/app/param/visitor/VisitorParam.java
浏览文件 @
7bf585c5
...
...
@@ -36,7 +36,7 @@ public class VisitorParam implements Serializable {
@NotEmpty
(
message
=
"到访人身份证不能为空"
)
String
visitorCarNum
;
@ApiModelProperty
(
value
=
"
到访人身份证
"
,
example
=
"fasle"
,
required
=
true
)
@ApiModelProperty
(
value
=
"
是否特殊作业
"
,
example
=
"fasle"
,
required
=
true
)
boolean
taskType
;
// @Comment("邀请人数")
...
...
@@ -64,7 +64,7 @@ public class VisitorParam implements Serializable {
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// LocalDateTime cardRecTime;
@ApiModelProperty
(
value
=
"来访原因"
,
example
=
"2022-04-19 14:28:00"
,
required
=
true
)
@ApiModelProperty
(
value
=
"来访原因"
,
example
=
"2022-04-19 14:28:00"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
LocalDateTime
appOfVisitTime
;
// @Comment("创建时间")
...
...
app/src/main/java/com/yiring/app/param/visitor/VisitorQueryParam.java
浏览文件 @
7bf585c5
...
...
@@ -2,7 +2,9 @@
package
com
.
yiring
.
app
.
param
.
visitor
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
...
...
@@ -20,5 +22,54 @@ public class VisitorQueryParam implements Serializable {
private
static
final
long
serialVersionUID
=
-
4314254785949101573L
;
String
id
;
@ApiModelProperty
(
value
=
"访客姓名"
,
example
=
"张三"
)
String
visitorName
;
@ApiModelProperty
(
value
=
"访客电话"
,
example
=
"17688888888"
)
String
visitorMobile
;
@ApiModelProperty
(
value
=
"访客身份证"
,
example
=
"430441190001255417"
)
String
visitorCarNum
;
@ApiModelProperty
(
value
=
"是否特殊作业"
,
example
=
"fasle"
)
String
taskType
;
@ApiModelProperty
(
value
=
"所属公司"
,
example
=
"壹润科技"
)
String
orgId
;
@ApiModelProperty
(
value
=
"访客来源"
,
example
=
"外部邀请"
)
String
visitorSource
;
@ApiModelProperty
(
value
=
"被访人id"
,
example
=
"1"
)
String
intervieweeId
;
@ApiModelProperty
(
value
=
"标签卡"
,
example
=
"DS41234231"
)
String
labelCard
;
@ApiModelProperty
(
value
=
"标签卡状态"
,
example
=
"1"
)
String
labelCardStatus
;
@ApiModelProperty
(
value
=
"预约到访时间(开始)"
,
example
=
"2022-04-19 14:28:00"
)
LocalDateTime
appOfVisitTimeStart
;
@ApiModelProperty
(
value
=
"预约到访时间(结束)"
,
example
=
"2022-04-19 14:28:00"
)
LocalDateTime
appOfVisitTimeEnd
;
@ApiModelProperty
(
value
=
"实际到访时间(开始)"
,
example
=
"2022-04-19 14:28:00"
)
LocalDateTime
cardSendTimeStart
;
@ApiModelProperty
(
value
=
"实际到访时间(结束)"
,
example
=
"2022-04-19 14:28:00"
)
LocalDateTime
cardSendTimeEnd
;
@ApiModelProperty
(
value
=
"收卡时间(开始)"
,
example
=
"2022-04-11 17:25:33"
)
LocalDateTime
cardRecTimeStart
;
@ApiModelProperty
(
value
=
"收卡时间(结束)"
,
example
=
"2022-04-11 17:26:33"
)
LocalDateTime
cardRecTimeEnd
;
@ApiModelProperty
(
value
=
"分页条数"
,
example
=
"10"
)
Integer
pageSize
;
@ApiModelProperty
(
value
=
"当前页数"
,
example
=
"1"
)
Integer
pageNo
;
}
app/src/main/java/com/yiring/app/service/car/impl/CarServiceImpl.java
浏览文件 @
7bf585c5
...
...
@@ -298,7 +298,7 @@ public class CarServiceImpl implements CarService {
//来访时间区间段查询
list
.
add
(
criteriaBuilder
.
between
(
root
.
get
(
Car
.
Fields
.
c
reate
Time
),
root
.
get
(
Car
.
Fields
.
c
ardSend
Time
),
carParam
.
getCreateTimeStart
(),
carParam
.
getCreateTimeEnd
()
)
...
...
@@ -320,7 +320,7 @@ public class CarServiceImpl implements CarService {
}
if
(
Objects
.
nonNull
(
carParam
.
getCardRecTimeStart
())
&&
Objects
.
nonNull
(
carParam
.
getCardRecTimeEnd
()))
{
//
来访
时间区间段查询
//
收卡
时间区间段查询
list
.
add
(
criteriaBuilder
.
between
(
root
.
get
(
Car
.
Fields
.
cardRecTime
),
...
...
app/src/main/java/com/yiring/app/service/visitor/VisitorService.java
浏览文件 @
7bf585c5
...
...
@@ -2,9 +2,12 @@
package
com
.
yiring
.
app
.
service
.
visitor
;
import
com.yiring.app.param.visitor.VisitorParam
;
import
com.yiring.app.param.visitor.VisitorQueryParam
;
import
com.yiring.app.vo.visitor.VisitorVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.vo.PageVo
;
import
javax.servlet.http.HttpServletResponse
;
/**
* @author tzl
...
...
@@ -33,5 +36,24 @@ public interface VisitorService {
*/
Result
<
String
>
updateVisitor
(
VisitorParam
visitorParam
,
IdParam
idParam
);
/**
* 查询访客详情
* @param idParam 主键id
* @return 访客信息
*/
Result
<
VisitorVo
>
selectVisitor
(
IdParam
idParam
);
/**
* 分页查询
* @param visitorQueryParam 访客查询参数
* @return 访客分页信息
*/
Result
<
PageVo
<
VisitorVo
>>
pageVisitor
(
VisitorQueryParam
visitorQueryParam
);
/**
* 导出访客信息
* @param visitorQueryParam 访客筛选条件
* @param response HttpServletResponse
*/
void
exportVisitor
(
VisitorQueryParam
visitorQueryParam
,
HttpServletResponse
response
);
}
app/src/main/java/com/yiring/app/service/visitor/impl/VisitorServiceImpl.java
浏览文件 @
7bf585c5
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
service
.
visitor
.
impl
;
import
cn.hutool.core.util.StrUtil
;
import
com.github.liaochong.myexcel.core.DefaultStreamExcelBuilder
;
import
com.yiring.app.domain.visitor.Visitor
;
import
com.yiring.app.domain.visitor.VisitorRepository
;
import
com.yiring.app.excel.visitor.VisitorExportExcel
;
import
com.yiring.app.param.visitor.VisitorParam
;
import
com.yiring.app.param.visitor.VisitorQueryParam
;
import
com.yiring.app.service.visitor.VisitorService
;
import
com.yiring.app.vo.visitor.VisitorVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.core.Status
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.vo.PageVo
;
import
java.io.OutputStream
;
import
java.net.URLEncoder
;
import
java.nio.charset.StandardCharsets
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Optional
;
import
java.util.concurrent.Executors
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
import
javax.persistence.criteria.Predicate
;
import
javax.servlet.http.HttpServletResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.data.domain.Example
;
import
org.springframework.data.domain.*
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
/**
* @author tzl
* 2022/4/19 14:12
*/
@Slf4j
@Transactional
(
rollbackFor
=
RuntimeException
.
class
)
@Service
public
class
VisitorServiceImpl
implements
VisitorService
{
...
...
@@ -88,6 +109,82 @@ public class VisitorServiceImpl implements VisitorService {
return
Result
.
ok
(
vo
);
}
@Override
public
Result
<
PageVo
<
VisitorVo
>>
pageVisitor
(
VisitorQueryParam
visitorQueryParam
)
{
PageVo
<
VisitorVo
>
resultVo
;
//排序
Sort
sort
=
Sort
.
by
(
Sort
.
Order
.
desc
(
Visitor
.
Fields
.
createTime
));
if
(
Objects
.
nonNull
(
visitorQueryParam
.
getPageNo
())
&&
Objects
.
nonNull
(
visitorQueryParam
.
getPageSize
()))
{
//分页
Pageable
pageable
=
PageRequest
.
of
(
visitorQueryParam
.
getPageNo
()
-
1
,
visitorQueryParam
.
getPageSize
());
Page
<
Visitor
>
all
=
visitorRepository
.
findAll
(
condition
(
visitorQueryParam
),
pageable
);
List
<
VisitorVo
>
data
=
all
.
get
()
.
map
(
visitor
->
{
VisitorVo
vo
=
new
VisitorVo
();
BeanUtils
.
copyProperties
(
visitor
,
vo
);
return
vo
;
})
.
collect
(
Collectors
.
toList
());
resultVo
=
PageVo
.
build
(
data
,
all
.
getTotalElements
());
}
else
{
List
<
Visitor
>
all
=
visitorRepository
.
findAll
(
condition
(
visitorQueryParam
),
sort
);
List
<
VisitorVo
>
data
=
all
.
stream
()
.
map
(
visitor
->
{
VisitorVo
vo
=
new
VisitorVo
();
BeanUtils
.
copyProperties
(
visitor
,
vo
);
return
vo
;
})
.
collect
(
Collectors
.
toList
());
resultVo
=
PageVo
.
build
(
data
,
data
.
size
());
}
return
Result
.
ok
(
resultVo
);
}
@Override
public
void
exportVisitor
(
VisitorQueryParam
visitorQueryParam
,
HttpServletResponse
response
)
{
List
<
Visitor
>
visitors
=
visitorRepository
.
findAll
(
condition
(
visitorQueryParam
));
List
<
VisitorExportExcel
>
visitorExportExcels
=
visitors
.
stream
()
.
map
(
visitor
->
{
VisitorExportExcel
visitorExportExcel
=
new
VisitorExportExcel
();
BeanUtils
.
copyProperties
(
visitor
,
visitorExportExcel
);
return
visitorExportExcel
;
})
.
toList
();
try
(
DefaultStreamExcelBuilder
<
VisitorExportExcel
>
defaultStreamExcelBuilder
=
DefaultStreamExcelBuilder
.
of
(
VisitorExportExcel
.
class
)
.
threadPool
(
Executors
.
newFixedThreadPool
(
2
))
.
rowHeight
(
14
)
.
titleRowHeight
(
14
)
.
widths
(
8
)
.
style
(
"cell->vertical-align:center;text-align:center"
,
"title->vertical-align:center;text-align:center;font-weight:bold;font-family:等线"
)
.
start
()
)
{
defaultStreamExcelBuilder
.
append
(
visitorExportExcels
);
String
fileName
=
URLEncoder
.
encode
(
"访客信息.xlsx"
,
StandardCharsets
.
UTF_8
);
response
.
setContentType
(
"application/octet-stream"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
fileName
);
OutputStream
out
=
response
.
getOutputStream
();
Workbook
workbook
=
defaultStreamExcelBuilder
.
fixedTitles
().
build
();
workbook
.
write
(
out
);
workbook
.
close
();
out
.
flush
();
out
.
close
();
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
throw
new
RuntimeException
(
"导出访客信息失败: "
+
e
.
getMessage
());
}
}
public
boolean
hasCarNum
(
String
carNum
)
{
Visitor
visitor
=
Visitor
.
builder
().
visitorCarNum
(
carNum
).
build
();
return
visitorRepository
.
count
(
Example
.
of
(
visitor
))
>
0
;
...
...
@@ -97,4 +194,137 @@ public class VisitorServiceImpl implements VisitorService {
Visitor
visitor
=
Visitor
.
builder
().
visitorMobile
(
mobile
).
build
();
return
visitorRepository
.
count
(
Example
.
of
(
visitor
))
>
0
;
}
public
Specification
<
Visitor
>
condition
(
VisitorQueryParam
visitorQueryParam
)
{
return
(
root
,
query
,
criteriaBuilder
)
->
{
List
<
Predicate
>
list
=
new
ArrayList
<>();
//查询条件
if
(
StrUtil
.
isNotBlank
(
visitorQueryParam
.
getVisitorName
()))
{
//访客姓名
list
.
add
(
criteriaBuilder
.
like
(
root
.
get
(
Visitor
.
Fields
.
visitorName
),
"%"
+
visitorQueryParam
.
getVisitorName
()
+
"%"
)
);
}
if
(
StrUtil
.
isNotBlank
(
visitorQueryParam
.
getVisitorMobile
()))
{
//访客电话
list
.
add
(
criteriaBuilder
.
like
(
root
.
get
(
Visitor
.
Fields
.
visitorMobile
),
"%"
+
visitorQueryParam
.
getVisitorMobile
()
+
"%"
)
);
}
if
(
StrUtil
.
isNotBlank
(
visitorQueryParam
.
getVisitorCarNum
()))
{
//访客身份证
list
.
add
(
criteriaBuilder
.
like
(
root
.
get
(
Visitor
.
Fields
.
visitorCarNum
),
"%"
+
visitorQueryParam
.
getVisitorCarNum
()
+
"%"
)
);
}
if
(
StrUtil
.
isNotBlank
(
visitorQueryParam
.
getTaskType
()))
{
//是否特殊作业
list
.
add
(
criteriaBuilder
.
like
(
root
.
get
(
Visitor
.
Fields
.
taskType
),
"%"
+
visitorQueryParam
.
getTaskType
()
+
"%"
)
);
}
if
(
StrUtil
.
isNotBlank
(
visitorQueryParam
.
getOrgId
()))
{
//所属单位查询
list
.
add
(
criteriaBuilder
.
like
(
root
.
get
(
Visitor
.
Fields
.
orgId
),
"%"
+
visitorQueryParam
.
getOrgId
()
+
"%"
)
);
}
if
(
StrUtil
.
isNotBlank
(
visitorQueryParam
.
getVisitorSource
()))
{
//访客来源
list
.
add
(
criteriaBuilder
.
like
(
root
.
get
(
Visitor
.
Fields
.
visitorSource
),
"%"
+
visitorQueryParam
.
getVisitorSource
()
+
"%"
)
);
}
if
(
StrUtil
.
isNotBlank
(
visitorQueryParam
.
getIntervieweeId
()))
{
//被访人
list
.
add
(
criteriaBuilder
.
equal
(
root
.
get
(
Visitor
.
Fields
.
intervieweeId
),
visitorQueryParam
.
getIntervieweeId
())
);
}
if
(
StrUtil
.
isNotBlank
(
visitorQueryParam
.
getLabelCard
()))
{
//标签卡号查询
list
.
add
(
criteriaBuilder
.
like
(
root
.
get
(
Visitor
.
Fields
.
labelCard
),
"%"
+
visitorQueryParam
.
getLabelCard
()
+
"%"
)
);
}
if
(
StrUtil
.
isNotBlank
(
visitorQueryParam
.
getLabelCardStatus
()))
{
//标签卡状态
list
.
add
(
criteriaBuilder
.
like
(
root
.
get
(
Visitor
.
Fields
.
labelCardStatus
),
"%"
+
visitorQueryParam
.
getLabelCardStatus
()
+
"%"
)
);
}
if
(
Objects
.
nonNull
(
visitorQueryParam
.
getAppOfVisitTimeStart
())
&&
Objects
.
nonNull
(
visitorQueryParam
.
getAppOfVisitTimeEnd
())
)
{
//预约到访时间区间段查询
list
.
add
(
criteriaBuilder
.
between
(
root
.
get
(
Visitor
.
Fields
.
appOfVisitTime
),
visitorQueryParam
.
getAppOfVisitTimeStart
(),
visitorQueryParam
.
getAppOfVisitTimeEnd
()
)
);
}
if
(
Objects
.
nonNull
(
visitorQueryParam
.
getCardSendTimeStart
())
&&
Objects
.
nonNull
(
visitorQueryParam
.
getCardSendTimeEnd
())
)
{
//实际到访时间区间段查询
list
.
add
(
criteriaBuilder
.
between
(
root
.
get
(
Visitor
.
Fields
.
cardSendTime
),
visitorQueryParam
.
getCardSendTimeStart
(),
visitorQueryParam
.
getCardSendTimeEnd
()
)
);
}
if
(
Objects
.
nonNull
(
visitorQueryParam
.
getCardRecTimeStart
())
&&
Objects
.
nonNull
(
visitorQueryParam
.
getCardRecTimeEnd
())
)
{
//收卡时间区间段查询
list
.
add
(
criteriaBuilder
.
between
(
root
.
get
(
Visitor
.
Fields
.
cardRecTime
),
visitorQueryParam
.
getCardRecTimeStart
(),
visitorQueryParam
.
getCardRecTimeEnd
()
)
);
}
Predicate
[]
predicates
=
new
Predicate
[
list
.
size
()];
query
.
where
(
list
.
toArray
(
predicates
));
return
criteriaBuilder
.
and
(
list
.
toArray
(
predicates
));
};
}
}
app/src/main/java/com/yiring/app/vo/video/VideoVo.java
浏览文件 @
7bf585c5
...
...
@@ -28,7 +28,7 @@ public class VideoVo implements Serializable {
@ApiModelProperty
(
value
=
"id"
,
example
=
"1548548545755"
)
Long
id
;
@ApiModelProperty
(
value
=
"坐标点"
,
example
=
"坐标点"
,
required
=
true
)
@ApiModelProperty
(
value
=
"坐标点"
,
example
=
"坐标点"
)
Point
point
;
@ApiModelProperty
(
value
=
"编号"
,
example
=
"88888888"
)
...
...
app/src/main/java/com/yiring/app/vo/visitor/VisitorVo.java
浏览文件 @
7bf585c5
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
vo
.
visitor
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
/**
* @author tzl
* 2022/4/19 14:16
*/
@ApiModel
(
"VisitorVo"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
VisitorVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
9004209982164273860L
;
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@ApiModelProperty
(
value
=
"id"
,
example
=
"1548548545755"
)
Long
id
;
@ApiModelProperty
(
value
=
"到访人姓名"
,
example
=
"张三"
)
String
visitorName
;
@ApiModelProperty
(
value
=
"到访人电话"
,
example
=
"17688888888"
)
String
visitorMobile
;
@ApiModelProperty
(
value
=
"到访人身份证"
,
example
=
"430441190001255417"
)
String
visitorCarNum
;
@ApiModelProperty
(
value
=
"是否特殊作业"
,
example
=
"true"
)
boolean
taskType
;
@ApiModelProperty
(
value
=
"邀请人数"
,
example
=
"1"
)
Integer
numOfVisitor
;
@ApiModelProperty
(
value
=
"访客来源"
,
example
=
"内部邀请"
)
String
visitorSource
;
@ApiModelProperty
(
value
=
"标签卡"
,
example
=
"WE34421231"
)
String
labelCard
;
@ApiModelProperty
(
value
=
"标签卡状态"
,
example
=
"使用中"
)
String
labelCardStatus
;
@ApiModelProperty
(
value
=
"所属单位id"
,
example
=
"壹润科技"
)
String
orgId
;
@ApiModelProperty
(
value
=
"被访人id"
,
example
=
"1"
)
String
intervieweeId
;
@ApiModelProperty
(
value
=
"来访原因"
,
example
=
"来访原因"
)
String
reason
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty
(
value
=
"收卡时间"
,
example
=
"2022-04-19 14:28:00"
)
LocalDateTime
cardRecTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty
(
value
=
"预约到访时间"
,
example
=
"2022-04-19 14:28:00"
)
LocalDateTime
appOfVisitTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty
(
value
=
"创建时间"
,
example
=
"2022-04-19 14:28:00"
)
LocalDateTime
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty
(
value
=
"发卡时间"
,
example
=
"2022-04-19 14:28:00"
)
LocalDateTime
cardSendTime
;
}
app/src/main/java/com/yiring/app/web/car/CarController.java
浏览文件 @
7bf585c5
...
...
@@ -29,7 +29,7 @@ import org.springframework.web.bind.annotation.RestController;
* 2022/4/11 17:02
*/
@Slf4j
@Api
(
tags
=
"Car"
)
@Api
(
tags
=
"Car
(车辆)
"
)
@Validated
@RestController
@RequestMapping
(
"/Car/"
)
...
...
app/src/main/java/com/yiring/app/web/video/VideoController.java
浏览文件 @
7bf585c5
...
...
@@ -33,7 +33,7 @@ import org.springframework.web.multipart.MultipartFile;
*/
@Slf4j
@Validated
@Api
(
tags
=
"Video"
)
@Api
(
tags
=
"Video
(监控设备)
"
)
@RestController
@RequestMapping
(
"/video/"
)
public
class
VideoController
{
...
...
app/src/main/java/com/yiring/app/web/visitor/VisitorController.java
0 → 100644
浏览文件 @
7bf585c5
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
web
.
visitor
;
import
com.yiring.app.param.visitor.VisitorParam
;
import
com.yiring.app.param.visitor.VisitorQueryParam
;
import
com.yiring.app.service.visitor.VisitorService
;
import
com.yiring.app.vo.visitor.VisitorVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.vo.PageVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.Valid
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.http.MediaType
;
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
;
/**
* @author tzl
* 2022/4/21 9:50
*/
@Slf4j
@Validated
@Api
(
tags
=
"Visitor(访客)"
)
@RestController
@RequestMapping
(
"/visitor/"
)
public
class
VisitorController
{
@Resource
VisitorService
visitorService
;
@ApiOperation
(
value
=
"新增访客信息"
)
@PostMapping
(
"saveVisitor"
)
public
Result
<
String
>
saveVisitor
(
@Valid
VisitorParam
visitorParam
)
{
return
visitorService
.
saveVisitor
(
visitorParam
);
}
@ApiOperation
(
value
=
"修改访客信息"
)
@PostMapping
(
"updateVisitor"
)
public
Result
<
String
>
updateVisitor
(
@Valid
VisitorParam
visitorParam
,
@Valid
IdParam
idParam
)
{
return
visitorService
.
updateVisitor
(
visitorParam
,
idParam
);
}
// @ApiOperation(value = "收卡")
// @PostMapping("cardRec")
// public Result<Long> cardRec(@Valid IdParam idParam) {
// return carService.cardRec(idParam);
// }
//
// @ApiOperation(value = "发卡")
// @ApiImplicitParam(value = "标签卡", example = "DW8544568", required = true, name = "labelCard")
// @PostMapping("cardSend")
// public Result<Long> cardSend(@Valid IdParam idParam, String labelCard) {
// return carService.cardSend(idParam, labelCard);
// }
@ApiOperation
(
value
=
"删除访客信息"
)
@PostMapping
(
"deleteVisitor"
)
public
Result
<
String
>
deleteVisitor
(
@Valid
IdParam
idParam
)
{
return
visitorService
.
deleteVisitor
(
idParam
);
}
@ApiOperation
(
value
=
"查看访客信息详情"
)
@GetMapping
(
"selectVisitor"
)
public
Result
<
VisitorVo
>
selectVisitor
(
@Valid
IdParam
idParam
)
{
return
visitorService
.
selectVisitor
(
idParam
);
}
@ApiOperation
(
value
=
"查看访客信息(分页)"
)
@GetMapping
(
"pageVisitor"
)
public
Result
<
PageVo
<
VisitorVo
>>
pageVisitor
(
@Valid
VisitorQueryParam
visitorQueryParam
)
{
return
visitorService
.
pageVisitor
(
visitorQueryParam
);
}
@ApiOperation
(
value
=
"导出访客信息"
,
produces
=
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
)
@PostMapping
(
"exportVisitor"
)
public
void
exportVisitor
(
HttpServletResponse
response
,
@Valid
VisitorQueryParam
visitorQueryParam
)
{
visitorService
.
exportVisitor
(
visitorQueryParam
,
response
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论