Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-api-boot
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-api-boot
Commits
ca409c7b
提交
ca409c7b
authored
4月 29, 2022
作者:
Administrator
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat : 访客,邀请功能增加
上级
c19783ee
隐藏空白字符变更
内嵌
并排
正在显示
18 个修改的文件
包含
479 行增加
和
64 行删除
+479
-64
Invitation.java
...c/main/java/com/yiring/app/domain/visitor/Invitation.java
+17
-2
InvitationRepository.java
...a/com/yiring/app/domain/visitor/InvitationRepository.java
+13
-1
Visitor.java
app/src/main/java/com/yiring/app/domain/visitor/Visitor.java
+9
-1
VisitorRepository.java
...java/com/yiring/app/domain/visitor/VisitorRepository.java
+5
-0
InvitationExportExcel.java
...a/com/yiring/app/excel/visitor/InvitationExportExcel.java
+2
-2
InvitationAppQueryParam.java
...com/yiring/app/param/visitor/InvitationAppQueryParam.java
+36
-0
InvitationParam.java
...in/java/com/yiring/app/param/visitor/InvitationParam.java
+1
-1
InvitationQueryParam.java
...va/com/yiring/app/param/visitor/InvitationQueryParam.java
+4
-4
VisitorParam.java
.../main/java/com/yiring/app/param/visitor/VisitorParam.java
+1
-0
InvitationService.java
...ava/com/yiring/app/service/visitor/InvitationService.java
+23
-2
VisitorService.java
...n/java/com/yiring/app/service/visitor/VisitorService.java
+3
-2
InvitationServiceImpl.java
...iring/app/service/visitor/impl/InvitationServiceImpl.java
+164
-24
VisitorServiceImpl.java
...m/yiring/app/service/visitor/impl/VisitorServiceImpl.java
+58
-6
InvitationDetailsVo.java
...n/java/com/yiring/app/vo/visitor/InvitationDetailsVo.java
+81
-0
InvitationVo.java
...src/main/java/com/yiring/app/vo/visitor/InvitationVo.java
+24
-0
VisitorVo.java
app/src/main/java/com/yiring/app/vo/visitor/VisitorVo.java
+21
-16
InvitationController.java
...java/com/yiring/app/web/visitor/InvitationController.java
+15
-2
VisitorController.java
...in/java/com/yiring/app/web/visitor/VisitorController.java
+2
-1
没有找到文件。
app/src/main/java/com/yiring/app/domain/visitor/Invitation.java
浏览文件 @
ca409c7b
...
...
@@ -3,6 +3,7 @@ package com.yiring.app.domain.visitor;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.yiring.auth.domain.user.User
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
...
...
@@ -11,6 +12,8 @@ import lombok.*;
import
lombok.experimental.FieldDefaults
;
import
lombok.experimental.FieldNameConstants
;
import
org.hibernate.annotations.Comment
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.GenericGenerator
;
import
org.hibernate.snowflake.SnowflakeId
;
...
...
@@ -31,6 +34,8 @@ import org.hibernate.snowflake.SnowflakeId;
@FieldNameConstants
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
@Entity
@DynamicInsert
@DynamicUpdate
@Table
(
name
=
"BS_INVITATION"
)
@Comment
(
"邀请信息"
)
public
class
Invitation
implements
Serializable
{
...
...
@@ -50,8 +55,8 @@ public class Invitation implements Serializable {
@Comment
(
"状态"
)
String
status
;
@Comment
(
"邀请人id"
)
Long
inviterId
;
//
@Comment("邀请人id")
//
Long inviterId;
@Comment
(
"邀请人数"
)
Integer
numOfVisitor
;
...
...
@@ -60,6 +65,10 @@ public class Invitation implements Serializable {
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
LocalDateTime
createTime
;
@Comment
(
"修改时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
LocalDateTime
updateTime
;
// @Comment("访客id")
// Long visitorId;
...
...
@@ -68,4 +77,10 @@ public class Invitation implements Serializable {
@OneToOne
@JoinColumn
(
name
=
"visitor_id"
,
referencedColumnName
=
"id"
)
Visitor
visitor
;
@Comment
(
"邀请人"
)
@JsonIgnore
@OneToOne
@JoinColumn
(
name
=
"inviter_id"
,
referencedColumnName
=
"id"
)
User
user
;
}
app/src/main/java/com/yiring/app/domain/visitor/InvitationRepository.java
浏览文件 @
ca409c7b
...
...
@@ -2,6 +2,8 @@
package
com
.
yiring
.
app
.
domain
.
visitor
;
import
java.io.Serializable
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.stereotype.Repository
;
...
...
@@ -12,4 +14,14 @@ import org.springframework.stereotype.Repository;
*/
@Repository
public
interface
InvitationRepository
extends
JpaRepository
<
Invitation
,
Serializable
>,
JpaSpecificationExecutor
<
Invitation
>
{}
extends
JpaRepository
<
Invitation
,
Serializable
>,
JpaSpecificationExecutor
<
Invitation
>
{
/**
* 小程序用户查看邀请信息
* @author tzl
* @date 2022/4/28 11:08
* @param mobile 手机
* @param deleted 是否删除
* @return java.util.List<com.yiring.app.domain.visitor.Invitation>
*/
Page
<
Invitation
>
findAllByVisitor_VisitorMobileAndVisitor_Deleted
(
String
mobile
,
String
deleted
,
Pageable
pageable
);
}
app/src/main/java/com/yiring/app/domain/visitor/Visitor.java
浏览文件 @
ca409c7b
...
...
@@ -71,7 +71,7 @@ public class Visitor implements Serializable {
String
orgId
;
@Comment
(
"被访人id"
)
Stri
ng
intervieweeId
;
Lo
ng
intervieweeId
;
@Comment
(
"来访原因/邀请原因"
)
String
reason
;
...
...
@@ -108,4 +108,12 @@ public class Visitor implements Serializable {
@Comment
(
"访客车辆"
)
@OneToOne
(
cascade
=
{
CascadeType
.
ALL
})
Car
car
;
@Comment
(
"修改时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
LocalDateTime
updateTime
;
// @Comment("邀请人")
// @OneToOne(cascade = { CascadeType.ALL })
// @JoinColumn(name = "main_visitor_id", referencedColumnName = "id")
// Visitor visitor;
}
app/src/main/java/com/yiring/app/domain/visitor/VisitorRepository.java
浏览文件 @
ca409c7b
...
...
@@ -2,6 +2,7 @@
package
com
.
yiring
.
app
.
domain
.
visitor
;
import
java.io.Serializable
;
import
java.util.List
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.stereotype.Repository
;
...
...
@@ -13,4 +14,8 @@ import org.springframework.stereotype.Repository;
@Repository
public
interface
VisitorRepository
extends
JpaRepository
<
Visitor
,
Serializable
>,
JpaSpecificationExecutor
<
Visitor
>
{
Visitor
findByIdAndDeleted
(
Long
id
,
String
deleted
);
List
<
Visitor
>
findAllByMainVisitorIdAndDeletedEquals
(
Long
mainId
,
String
deleted
);
List
<
Visitor
>
findAllByMainVisitorIdAndDeletedEqualsAndIdIsNot
(
Long
mainId
,
String
deleted
,
Long
id
);
}
app/src/main/java/com/yiring/app/excel/visitor/InvitationExportExcel.java
浏览文件 @
ca409c7b
...
...
@@ -29,7 +29,7 @@ public class InvitationExportExcel implements Serializable {
@ExcelColumn
(
title
=
"邀请原因"
)
String
reason
;
@ExcelColumn
(
title
=
"邀请方式"
)
@ExcelColumn
(
title
=
"邀请方式"
,
mapping
=
"1:个人,2:公司"
)
String
InvitationMethod
;
@ExcelColumn
(
title
=
"邀请人数"
)
...
...
@@ -44,7 +44,7 @@ public class InvitationExportExcel implements Serializable {
@ExcelColumn
(
title
=
"到访人电话"
)
String
visitorMobile
;
@ExcelColumn
(
title
=
"是否特殊任务"
)
@ExcelColumn
(
title
=
"是否特殊任务"
,
mapping
=
"false:否,true:是"
)
String
taskType
;
// Long inviterId;
...
...
app/src/main/java/com/yiring/app/param/visitor/InvitationAppQueryParam.java
0 → 100644
浏览文件 @
ca409c7b
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
param
.
visitor
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
/**
* @author tzl
* @version 1.0
* @description: TODO
* @date 2022/4/28 11:12
*/
@ApiModel
(
"InvitationAppQueryParam"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
InvitationAppQueryParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
5194434249966317387L
;
@ApiModelProperty
(
value
=
"到访人电话"
,
example
=
"17688888888"
)
String
visitorMobile
;
@ApiModelProperty
(
value
=
"分页条数"
,
example
=
"10"
)
Integer
pageSize
;
@ApiModelProperty
(
value
=
"当前页数"
,
example
=
"1"
)
Integer
pageNo
;
}
app/src/main/java/com/yiring/app/param/visitor/InvitationParam.java
浏览文件 @
ca409c7b
...
...
@@ -53,7 +53,7 @@ public class InvitationParam implements Serializable {
@ApiModelProperty
(
value
=
"到访人身份证"
,
example
=
"430441190001255417"
)
String
visitorCarNum
;
@ApiModelProperty
(
value
=
"是否特殊作业"
,
example
=
"
否
"
,
required
=
true
)
@ApiModelProperty
(
value
=
"是否特殊作业"
,
example
=
"
false
"
,
required
=
true
)
String
taskType
;
// @ApiModelProperty(value = "访客来源", example = "外部邀请", required = true)
...
...
app/src/main/java/com/yiring/app/param/visitor/InvitationQueryParam.java
浏览文件 @
ca409c7b
...
...
@@ -38,11 +38,11 @@ public class InvitationQueryParam implements Serializable {
@ApiModelProperty
(
value
=
"是否特殊作业"
,
example
=
"fasle"
)
String
taskType
;
@ApiModelProperty
(
value
=
"邀请人
id"
,
example
=
"1
"
)
Long
inviterId
;
@ApiModelProperty
(
value
=
"邀请人
"
,
example
=
"张三
"
)
String
realName
;
// @ApiModelProperty(value = "邀请人部门id", example = "1
")
// Long deptId
;
@ApiModelProperty
(
value
=
"邀请人部门"
,
example
=
"研发
"
)
String
deptName
;
@ApiModelProperty
(
value
=
"预约到访时间(开始)"
,
example
=
"2022-04-19 14:28:00"
)
LocalDateTime
appOfVisitTimeStart
;
...
...
app/src/main/java/com/yiring/app/param/visitor/VisitorParam.java
浏览文件 @
ca409c7b
...
...
@@ -33,6 +33,7 @@ public class VisitorParam implements Serializable {
String
visitorName
;
@ApiModelProperty
(
value
=
"到访人电话"
,
example
=
"17688888888"
,
required
=
true
)
@Pattern
(
regexp
=
RegEx
.
MOBILE
,
message
=
"手机号码格式不正确"
)
@NotEmpty
(
message
=
"到访人电话不能为空"
)
String
visitorMobile
;
...
...
app/src/main/java/com/yiring/app/service/visitor/InvitationService.java
浏览文件 @
ca409c7b
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
service
.
visitor
;
import
com.yiring.app.param.visitor.InvitationAppQueryParam
;
import
com.yiring.app.param.visitor.InvitationParam
;
import
com.yiring.app.param.visitor.InvitationQueryParam
;
import
com.yiring.app.vo.visitor.InvitationVo
;
import
com.yiring.app.vo.visitor.Invitation
Details
Vo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.vo.PageVo
;
...
...
@@ -38,7 +39,7 @@ public interface InvitationService {
* @date 2022/4/24 17:56
* @return com.yiring.common.core.Result<com.yiring.common.vo.PageVo<java.lang.String>>
*/
Result
<
PageVo
<
InvitationVo
>>
pageInv
(
InvitationQueryParam
invitationQueryParam
);
Result
<
PageVo
<
Invitation
Details
Vo
>>
pageInv
(
InvitationQueryParam
invitationQueryParam
);
/**
* 撤回邀请
...
...
@@ -65,4 +66,24 @@ public interface InvitationService {
* @param invitationQueryParam 筛选条件
*/
void
exportInv
(
InvitationQueryParam
invitationQueryParam
,
HttpServletResponse
response
);
/**
* 小程序查询全部
* @author tzl
* @date 2022/4/28 10:56
* @param idParam 主键id
* @return com.yiring.common.core.Result<com.yiring.app.vo.visitor.InvitationDetailsVo>
*/
Result
<
InvitationDetailsVo
>
detailsInv
(
IdParam
idParam
);
/**
* 小程序用户查看邀请信息
* @author tzl
* @date 2022/4/28 11:30
* @param invitationAppQueryParam 入参
* @return com.yiring.common.core.Result<com.yiring.common.vo.PageVo<com.yiring.app.vo.visitor.InvitationVo>>
*/
Result
<
PageVo
<
InvitationDetailsVo
>>
findAllByVisitor_VisitorMobileAndVisitor_Deleted
(
InvitationAppQueryParam
invitationAppQueryParam
);
}
app/src/main/java/com/yiring/app/service/visitor/VisitorService.java
浏览文件 @
ca409c7b
...
...
@@ -3,6 +3,7 @@ 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.VisitorDetailsVo
;
import
com.yiring.app.vo.visitor.VisitorVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.IdParam
;
...
...
@@ -15,7 +16,7 @@ import javax.servlet.http.HttpServletResponse;
*/
public
interface
VisitorService
{
/**
* 访客
新增
* 访客
登记
* @param visitorParam 新增访客入参
* @return 是否成功
*/
...
...
@@ -41,7 +42,7 @@ public interface VisitorService {
* @param idParam 主键id
* @return 访客信息
*/
Result
<
VisitorVo
>
selectVisitor
(
IdParam
idParam
);
Result
<
Visitor
Details
Vo
>
selectVisitor
(
IdParam
idParam
);
/**
* 分页查询
...
...
app/src/main/java/com/yiring/app/service/visitor/impl/InvitationServiceImpl.java
浏览文件 @
ca409c7b
...
...
@@ -8,10 +8,12 @@ import com.yiring.app.domain.visitor.InvitationRepository;
import
com.yiring.app.domain.visitor.Visitor
;
import
com.yiring.app.domain.visitor.VisitorRepository
;
import
com.yiring.app.excel.visitor.InvitationExportExcel
;
import
com.yiring.app.param.visitor.InvitationAppQueryParam
;
import
com.yiring.app.param.visitor.InvitationParam
;
import
com.yiring.app.param.visitor.InvitationQueryParam
;
import
com.yiring.app.service.visitor.InvitationService
;
import
com.yiring.app.vo.visitor.InvitationVo
;
import
com.yiring.app.vo.visitor.InvitationDetailsVo
;
import
com.yiring.auth.domain.user.User
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.core.Status
;
import
com.yiring.common.param.IdParam
;
...
...
@@ -29,6 +31,7 @@ import java.util.stream.Collectors;
import
javax.annotation.Resource
;
import
javax.persistence.criteria.Join
;
import
javax.persistence.criteria.JoinType
;
import
javax.persistence.criteria.Order
;
import
javax.persistence.criteria.Predicate
;
import
javax.servlet.http.HttpServletResponse
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -58,21 +61,30 @@ public class InvitationServiceImpl implements InvitationService {
@Override
public
Result
<
String
>
saveInv
(
InvitationParam
invitationParam
)
{
User
user
=
User
.
builder
().
id
(
invitationParam
.
getInviterId
()).
build
();
Visitor
visitor
=
new
Visitor
();
BeanUtils
.
copyProperties
(
invitationParam
,
visitor
);
visitor
.
setIntervieweeId
(
invitationParam
.
getInviterId
());
visitor
.
setCreateTime
(
LocalDateTime
.
now
());
//身份证验证
// if(StrUtil.isNotBlank(invitationParam.getVisitorCarNum())){
// if (invitationParam.getVisitorCarNum().matches(RegEx.)) {
// return Result.no(Status.BAD_REQUEST, "请输入正确的车牌号码");
// }
// }
//设置创建时间和默认状态
Invitation
invitation
=
Invitation
.
builder
()
.
createTime
(
LocalDateTime
.
now
())
.
updateTime
(
LocalDateTime
.
now
())
.
status
(
"已发送"
)
.
visitor
(
visitor
)
.
InvitationMethod
(
invitationParam
.
getInvitationMethod
())
.
numOfVisitor
(
invitationParam
.
getNumOfVisitor
())
.
inviterId
(
invitationParam
.
getInviterId
()
)
.
user
(
user
)
.
build
();
//添加一条访客未到访信息
if
(
invitationParam
.
getInvitationMethod
().
equals
(
"
个人
"
))
{
if
(
invitationParam
.
getInvitationMethod
().
equals
(
"
1
"
))
{
visitor
.
setVisitorSource
(
"邀请个人"
);
}
else
{
visitor
.
setVisitorSource
(
"邀请公司"
);
...
...
@@ -95,7 +107,12 @@ public class InvitationServiceImpl implements InvitationService {
Invitation
invitation
=
optional
.
get
();
Visitor
visitor2
=
invitation
.
getVisitor
();
if
(
invitation
.
getVisitor
().
getCardSendTime
()
!=
null
)
{
return
Result
.
no
(
Status
.
BAD_REQUEST
,
"访客已到访,无法修改"
);
}
BeanUtils
.
copyProperties
(
invitationParam
,
invitation
);
invitation
.
setUpdateTime
(
LocalDateTime
.
now
());
invitationRepository
.
saveAndFlush
(
invitation
);
//修改访客未到访信息
if
(
visitor2
==
null
)
{
...
...
@@ -103,10 +120,12 @@ public class InvitationServiceImpl implements InvitationService {
visitor2
=
new
Visitor
();
}
BeanUtils
.
copyProperties
(
invitationParam
,
visitor2
);
visitor2
.
setIntervieweeId
(
invitationParam
.
getInviterId
());
visitorRepository
.
saveAndFlush
(
visitor2
);
//短信通知该手机用户
//
//
return
Result
.
ok
();
}
...
...
@@ -126,10 +145,10 @@ public class InvitationServiceImpl implements InvitationService {
}
@Override
public
Result
<
PageVo
<
InvitationVo
>>
pageInv
(
InvitationQueryParam
invitationQueryParam
)
{
PageVo
<
InvitationVo
>
resultVo
;
public
Result
<
PageVo
<
Invitation
Details
Vo
>>
pageInv
(
InvitationQueryParam
invitationQueryParam
)
{
PageVo
<
Invitation
Details
Vo
>
resultVo
;
//排序
Sort
sort
=
Sort
.
by
(
Sort
.
Order
.
desc
(
Visitor
.
Fields
.
cre
ateTime
));
Sort
sort
=
Sort
.
by
(
Sort
.
Order
.
desc
(
Invitation
.
Fields
.
upd
ateTime
));
if
(
Objects
.
nonNull
(
invitationQueryParam
.
getPageNo
())
&&
Objects
.
nonNull
(
invitationQueryParam
.
getPageSize
()))
{
//分页
Pageable
pageable
=
PageRequest
.
of
(
...
...
@@ -137,22 +156,40 @@ public class InvitationServiceImpl implements InvitationService {
invitationQueryParam
.
getPageSize
()
);
Page
<
Invitation
>
all
=
invitationRepository
.
findAll
(
condition
(
invitationQueryParam
),
pageable
);
List
<
InvitationVo
>
data
=
all
List
<
Invitation
Details
Vo
>
data
=
all
.
get
()
.
map
(
invitation
->
{
Invitation
Vo
vo
=
new
Invitation
Vo
();
Invitation
DetailsVo
vo
=
new
InvitationDetails
Vo
();
BeanUtils
.
copyProperties
(
invitation
,
vo
);
//翻译邀请人姓名,部门
if
(
invitation
.
getUser
()
!=
null
)
{
InvitationDetailsVo
.
User
user
=
new
InvitationDetailsVo
.
User
();
user
.
setDeptName
(
invitation
.
getUser
().
getDepartment
().
getName
());
user
.
setRealName
(
invitation
.
getUser
().
getRealName
());
user
.
setMobile
(
invitation
.
getUser
().
getMobile
());
user
.
setId
(
invitation
.
getUser
().
getId
());
vo
.
setUser
(
user
);
}
return
vo
;
})
.
collect
(
Collectors
.
toList
());
resultVo
=
PageVo
.
build
(
data
,
all
.
getTotalElements
());
}
else
{
List
<
Invitation
>
all
=
invitationRepository
.
findAll
(
condition
(
invitationQueryParam
),
sort
);
List
<
InvitationVo
>
data
=
all
List
<
Invitation
Details
Vo
>
data
=
all
.
stream
()
.
map
(
invitation
->
{
Invitation
Vo
vo
=
new
Invitation
Vo
();
Invitation
DetailsVo
vo
=
new
InvitationDetails
Vo
();
BeanUtils
.
copyProperties
(
invitation
,
vo
);
//翻译邀请人姓名,部门
if
(
invitation
.
getUser
()
!=
null
)
{
InvitationDetailsVo
.
User
user
=
new
InvitationDetailsVo
.
User
();
user
.
setDeptName
(
invitation
.
getUser
().
getDepartment
().
getName
());
user
.
setRealName
(
invitation
.
getUser
().
getRealName
());
user
.
setMobile
(
invitation
.
getUser
().
getMobile
());
user
.
setId
(
invitation
.
getUser
().
getId
());
vo
.
setUser
(
user
);
}
return
vo
;
})
.
collect
(
Collectors
.
toList
());
...
...
@@ -168,10 +205,14 @@ public class InvitationServiceImpl implements InvitationService {
return
Result
.
no
(
Status
.
NOT_FOUND
);
}
Invitation
invitation
=
optional
.
get
();
if
(
invitation
.
getVisitor
().
getCardSendTime
()
!=
null
)
{
return
Result
.
no
(
Status
.
BAD_REQUEST
,
"访客已到访,无法修改"
);
}
if
(
invitation
.
getVisitor
().
getAppOfVisitTime
().
isBefore
(
LocalDateTime
.
now
()))
{
return
Result
.
no
(
Status
.
BAD_REQUEST
,
"预约时间已过"
);
}
invitation
.
setStatus
(
"已撤回"
);
invitation
.
setUpdateTime
(
LocalDateTime
.
now
());
Visitor
visitor
=
invitation
.
getVisitor
();
// 逻辑删除对应访客信息
if
(
visitor
!=
null
)
{
...
...
@@ -193,10 +234,10 @@ public class InvitationServiceImpl implements InvitationService {
return
Result
.
no
(
Status
.
BAD_REQUEST
,
"预约时间已过"
);
}
invitation
.
setStatus
(
"已发送"
);
invitation
.
setUpdateTime
(
LocalDateTime
.
now
());
//添加访客信息
Visitor
visitor
=
invitation
.
getVisitor
();
//
逻辑删除对应访客信息
//
if
(
visitor
!=
null
)
{
visitor
.
setDeleted
(
"N"
);
visitorRepository
.
saveAndFlush
(
visitor
);
...
...
@@ -215,6 +256,9 @@ public class InvitationServiceImpl implements InvitationService {
InvitationExportExcel
invitationExportExcel
=
new
InvitationExportExcel
();
BeanUtils
.
copyProperties
(
invitation
,
invitationExportExcel
);
BeanUtils
.
copyProperties
(
invitation
.
getVisitor
(),
invitationExportExcel
);
invitationExportExcel
.
setInviterName
(
invitation
.
getUser
().
getRealName
());
invitationExportExcel
.
setInviterDept
(
invitation
.
getUser
().
getDepartment
().
getName
());
return
invitationExportExcel
;
})
.
toList
();
...
...
@@ -250,14 +294,100 @@ public class InvitationServiceImpl implements InvitationService {
}
}
@Override
public
Result
<
InvitationDetailsVo
>
detailsInv
(
IdParam
idParam
)
{
Optional
<
Invitation
>
byId
=
invitationRepository
.
findById
(
idParam
.
getId
());
if
(
byId
.
isEmpty
())
{
return
Result
.
no
(
Status
.
NOT_FOUND
);
}
Invitation
invitation
=
byId
.
get
();
InvitationDetailsVo
vo
=
new
InvitationDetailsVo
();
BeanUtils
.
copyProperties
(
invitation
,
vo
);
//翻译邀请人姓名,部门
if
(
invitation
.
getUser
()
!=
null
)
{
InvitationDetailsVo
.
User
user
=
new
InvitationDetailsVo
.
User
();
user
.
setDeptName
(
invitation
.
getUser
().
getDepartment
().
getName
());
user
.
setRealName
(
invitation
.
getUser
().
getRealName
());
user
.
setMobile
(
invitation
.
getUser
().
getMobile
());
vo
.
setUser
(
user
);
}
return
Result
.
ok
(
vo
);
}
@Override
public
Result
<
PageVo
<
InvitationDetailsVo
>>
findAllByVisitor_VisitorMobileAndVisitor_Deleted
(
InvitationAppQueryParam
invitationAppQueryParam
)
{
PageVo
<
InvitationDetailsVo
>
resultVo
;
//排序
Sort
sort
=
Sort
.
by
(
Sort
.
Order
.
desc
(
Visitor
.
Fields
.
createTime
));
if
(
Objects
.
nonNull
(
invitationAppQueryParam
.
getPageNo
())
&&
Objects
.
nonNull
(
invitationAppQueryParam
.
getPageSize
())
)
{
//分页
Pageable
pageable
=
PageRequest
.
of
(
invitationAppQueryParam
.
getPageNo
()
-
1
,
invitationAppQueryParam
.
getPageSize
()
);
Page
<
Invitation
>
all
=
invitationRepository
.
findAllByVisitor_VisitorMobileAndVisitor_Deleted
(
invitationAppQueryParam
.
getVisitorMobile
(),
"N"
,
pageable
);
List
<
InvitationDetailsVo
>
data
=
all
.
get
()
.
map
(
invitationResult
->
{
InvitationDetailsVo
vo
=
new
InvitationDetailsVo
();
BeanUtils
.
copyProperties
(
invitationResult
,
vo
);
//翻译邀请人姓名,部门
return
getInvitationDetailsVo
(
invitationResult
,
vo
);
})
.
collect
(
Collectors
.
toList
());
resultVo
=
PageVo
.
build
(
data
,
all
.
getTotalElements
());
}
else
{
Visitor
visitor
=
Visitor
.
builder
()
.
visitorMobile
(
invitationAppQueryParam
.
getVisitorMobile
())
.
deleted
(
"N"
)
.
build
();
Invitation
invitation
=
Invitation
.
builder
().
visitor
(
visitor
).
build
();
List
<
Invitation
>
all
=
invitationRepository
.
findAll
(
Example
.
of
(
invitation
),
sort
);
List
<
InvitationDetailsVo
>
data
=
all
.
stream
()
.
map
(
invitationResult
->
{
InvitationDetailsVo
vo
=
new
InvitationDetailsVo
();
BeanUtils
.
copyProperties
(
invitationResult
,
vo
);
//翻译邀请人姓名,部门
return
getInvitationDetailsVo
(
invitationResult
,
vo
);
})
.
collect
(
Collectors
.
toList
());
resultVo
=
PageVo
.
build
(
data
,
data
.
size
());
}
return
Result
.
ok
(
resultVo
);
}
private
InvitationDetailsVo
getInvitationDetailsVo
(
Invitation
invitationResult
,
InvitationDetailsVo
vo
)
{
if
(
invitationResult
.
getUser
()
!=
null
)
{
InvitationDetailsVo
.
User
user
=
new
InvitationDetailsVo
.
User
();
user
.
setDeptName
(
invitationResult
.
getUser
().
getDepartment
().
getName
());
user
.
setRealName
(
invitationResult
.
getUser
().
getRealName
());
user
.
setMobile
(
invitationResult
.
getUser
().
getMobile
());
vo
.
setUser
(
user
);
}
return
vo
;
}
public
Specification
<
Invitation
>
condition
(
InvitationQueryParam
invitationQueryParam
)
{
return
(
root
,
query
,
criteriaBuilder
)
->
{
Join
<
Invitation
,
Visitor
>
join
=
root
.
join
(
"visitor"
,
JoinType
.
LEFT
);
Join
<
Invitation
,
Visitor
>
joinVisitor
=
root
.
join
(
"visitor"
,
JoinType
.
LEFT
);
Join
<
Invitation
,
User
>
joinUser
=
root
.
join
(
"user"
,
JoinType
.
LEFT
);
// Join<User, Department> joinDepartment = root.join(User.Fields.department, JoinType.LEFT);
List
<
Predicate
>
list
=
new
ArrayList
<>();
if
(
StrUtil
.
isNotBlank
(
invitationQueryParam
.
getVisitorName
()))
{
list
.
add
(
criteriaBuilder
.
like
(
join
.
get
(
Visitor
.
Fields
.
visitorName
).
as
(
String
.
class
),
join
Visitor
.
get
(
Visitor
.
Fields
.
visitorName
).
as
(
String
.
class
),
"%"
+
invitationQueryParam
.
getVisitorName
()
+
"%"
)
);
...
...
@@ -266,7 +396,7 @@ public class InvitationServiceImpl implements InvitationService {
if
(
StrUtil
.
isNotBlank
(
invitationQueryParam
.
getVisitorMobile
()))
{
list
.
add
(
criteriaBuilder
.
like
(
join
.
get
(
Visitor
.
Fields
.
visitorMobile
).
as
(
String
.
class
),
join
Visitor
.
get
(
Visitor
.
Fields
.
visitorMobile
).
as
(
String
.
class
),
"%"
+
invitationQueryParam
.
getVisitorMobile
()
+
"%"
)
);
...
...
@@ -275,7 +405,7 @@ public class InvitationServiceImpl implements InvitationService {
if
(
StrUtil
.
isNotBlank
(
invitationQueryParam
.
getOrgId
()))
{
list
.
add
(
criteriaBuilder
.
like
(
join
.
get
(
Visitor
.
Fields
.
orgId
).
as
(
String
.
class
),
join
Visitor
.
get
(
Visitor
.
Fields
.
orgId
).
as
(
String
.
class
),
"%"
+
invitationQueryParam
.
getOrgId
()
+
"%"
)
);
...
...
@@ -283,20 +413,30 @@ public class InvitationServiceImpl implements InvitationService {
if
(
StrUtil
.
isNotBlank
(
invitationQueryParam
.
getTaskType
()))
{
list
.
add
(
criteriaBuilder
.
equal
(
join
.
get
(
Visitor
.
Fields
.
taskType
).
as
(
String
.
class
),
join
Visitor
.
get
(
Visitor
.
Fields
.
taskType
).
as
(
String
.
class
),
invitationQueryParam
.
getTaskType
()
)
);
}
if
(
invitationQueryParam
.
get
InviterId
()
!=
null
)
{
if
(
invitationQueryParam
.
get
RealName
()
!=
null
)
{
list
.
add
(
criteriaBuilder
.
equal
(
root
.
get
(
Invitation
.
Fields
.
inviterId
).
as
(
String
.
class
),
invitationQueryParam
.
getInviterId
()
criteriaBuilder
.
like
(
joinUser
.
get
(
User
.
Fields
.
realName
).
as
(
String
.
class
),
"%"
+
invitationQueryParam
.
getRealName
()
+
"%"
)
);
}
// if (invitationQueryParam.getDeptName() != null) {
// list.add(
// criteriaBuilder.like(
// joinDepartment.get(Department.Fields.name).as(String.class),
// "%"+invitationQueryParam.getDeptName()+"%"
// )
// );
// }
if
(
Objects
.
nonNull
(
invitationQueryParam
.
getAppOfVisitTimeStart
())
&&
Objects
.
nonNull
(
invitationQueryParam
.
getAppOfVisitTimeEnd
())
...
...
@@ -304,16 +444,16 @@ public class InvitationServiceImpl implements InvitationService {
//预约到访时间区间段查询
list
.
add
(
criteriaBuilder
.
between
(
join
.
get
(
Visitor
.
Fields
.
appOfVisitTime
),
join
Visitor
.
get
(
Visitor
.
Fields
.
appOfVisitTime
),
invitationQueryParam
.
getAppOfVisitTimeStart
(),
invitationQueryParam
.
getAppOfVisitTimeEnd
()
)
);
}
Order
order
=
criteriaBuilder
.
desc
(
root
.
get
(
Invitation
.
Fields
.
updateTime
));
Predicate
[]
predicates
=
new
Predicate
[
list
.
size
()];
query
.
where
(
list
.
toArray
(
predicates
));
query
.
orderBy
(
order
);
return
criteriaBuilder
.
and
(
list
.
toArray
(
predicates
));
};
}
...
...
app/src/main/java/com/yiring/app/service/visitor/impl/VisitorServiceImpl.java
浏览文件 @
ca409c7b
...
...
@@ -12,7 +12,10 @@ import com.yiring.app.param.visitor.VisitorParam;
import
com.yiring.app.param.visitor.VisitorQueryParam
;
import
com.yiring.app.service.visitor.CarService
;
import
com.yiring.app.service.visitor.VisitorService
;
import
com.yiring.app.vo.visitor.VisitorDetailsVo
;
import
com.yiring.app.vo.visitor.VisitorVo
;
import
com.yiring.auth.domain.user.User
;
import
com.yiring.auth.domain.user.UserRepository
;
import
com.yiring.common.constant.RegEx
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.core.Status
;
...
...
@@ -29,6 +32,7 @@ import java.util.Optional;
import
java.util.concurrent.Executors
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
import
javax.persistence.criteria.Order
;
import
javax.persistence.criteria.Predicate
;
import
javax.servlet.http.HttpServletResponse
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -55,20 +59,30 @@ public class VisitorServiceImpl implements VisitorService {
CarService
carService
;
@Resource
UserRepository
userRepository
;
@Resource
AppletUserRepository
appletUserRepository
;
@Override
public
Result
<
String
>
saveVisitor
(
VisitorParam
visitorParam
)
{
//设置创建时间和默认状态
Visitor
visitor
=
Visitor
.
builder
()
.
createTime
(
LocalDateTime
.
now
())
.
updateTime
(
LocalDateTime
.
now
())
.
cardSendTime
(
LocalDateTime
.
now
())
.
build
();
BeanUtils
.
copyProperties
(
visitorParam
,
visitor
);
if
(
visitorParam
.
getMainVisitorId
()
!=
null
)
{
//如果主访人员id不为空,
Visitor
optional
=
visitorRepository
.
findByIdAndDeleted
(
visitorParam
.
getMainVisitorId
(),
"N"
);
if
(
optional
==
null
)
{
return
Result
.
no
(
Status
.
NOT_FOUND
,
"信息失效,请联系管理员"
);
}
visitor
.
setMainVisitorId
(
visitorParam
.
getMainVisitorId
());
}
//设置创建时间和默认状态
Visitor
visitor
=
Visitor
.
builder
().
createTime
(
LocalDateTime
.
now
()).
build
();
BeanUtils
.
copyProperties
(
visitorParam
,
visitor
);
//如果有车, 填车辆信息,
if
(
visitorParam
.
getHasCar
()
==
1
)
{
//校验车辆必填信息
...
...
@@ -127,20 +141,45 @@ public class VisitorServiceImpl implements VisitorService {
}
}
BeanUtils
.
copyProperties
(
visitorParam
,
optional
);
optional
.
setUpdateTime
(
LocalDateTime
.
now
());
visitorRepository
.
saveAndFlush
(
optional
);
return
Result
.
ok
();
}
@Override
public
Result
<
VisitorVo
>
selectVisitor
(
IdParam
idParam
)
{
public
Result
<
Visitor
Details
Vo
>
selectVisitor
(
IdParam
idParam
)
{
Optional
<
Visitor
>
optional
=
visitorRepository
.
findById
(
idParam
.
getId
());
if
(
optional
.
isEmpty
())
{
return
Result
.
no
(
Status
.
NOT_FOUND
);
}
Visitor
visitor
=
optional
.
get
();
VisitorVo
vo
=
new
VisitorVo
();
List
<
Visitor
>
list
=
new
ArrayList
<>();
List
<
VisitorDetailsVo
.
VisitorResultVo
>
listResult
=
new
ArrayList
<>();
//主访人id为空 为主访问人,查询出其下面的随访人的姓名和电话
if
(
visitor
.
getMainVisitorId
()
==
null
)
{
list
=
visitorRepository
.
findAllByMainVisitorIdAndDeletedEquals
(
visitor
.
getId
(),
"N"
);
}
else
{
//查询此随访访客的主访客,
Visitor
n
=
visitorRepository
.
findByIdAndDeleted
(
visitor
.
getMainVisitorId
(),
"N"
);
if
(
n
!=
null
)
{
//添加此随访人一同的随访人
list
=
visitorRepository
.
findAllByMainVisitorIdAndDeletedEqualsAndIdIsNot
(
n
.
getId
(),
"N"
,
visitor
.
getId
());
list
.
add
(
n
);
}
}
//处理返回数据的结构
if
(
list
!=
null
)
{
list
.
forEach
(
visitorEntity
->
{
VisitorDetailsVo
.
VisitorResultVo
visitorResultVo
=
new
VisitorDetailsVo
.
VisitorResultVo
();
BeanUtils
.
copyProperties
(
visitorEntity
,
visitorResultVo
);
listResult
.
add
(
visitorResultVo
);
});
}
VisitorDetailsVo
vo
=
new
VisitorDetailsVo
();
BeanUtils
.
copyProperties
(
visitor
,
vo
);
vo
.
setList
(
listResult
);
return
Result
.
ok
(
vo
);
}
...
...
@@ -158,6 +197,11 @@ public class VisitorServiceImpl implements VisitorService {
.
map
(
visitor
->
{
VisitorVo
vo
=
new
VisitorVo
();
BeanUtils
.
copyProperties
(
visitor
,
vo
);
//翻译被访问人姓名
if
(
vo
.
getIntervieweeId
()
!=
null
)
{
Optional
<
User
>
byId
=
userRepository
.
findById
(
vo
.
getIntervieweeId
());
byId
.
ifPresent
(
user
->
vo
.
setIntervieweeName
(
user
.
getRealName
()));
}
return
vo
;
})
.
collect
(
Collectors
.
toList
());
...
...
@@ -169,6 +213,11 @@ public class VisitorServiceImpl implements VisitorService {
.
map
(
visitor
->
{
VisitorVo
vo
=
new
VisitorVo
();
BeanUtils
.
copyProperties
(
visitor
,
vo
);
//翻译被访问人姓名
if
(
vo
.
getIntervieweeId
()
!=
null
)
{
Optional
<
User
>
byId
=
userRepository
.
findById
(
vo
.
getIntervieweeId
());
byId
.
ifPresent
(
user
->
vo
.
setIntervieweeName
(
user
.
getRealName
()));
}
return
vo
;
})
.
collect
(
Collectors
.
toList
());
...
...
@@ -206,6 +255,7 @@ public class VisitorServiceImpl implements VisitorService {
String
fileName
=
URLEncoder
.
encode
(
"访客信息.xlsx"
,
StandardCharsets
.
UTF_8
);
response
.
setContentType
(
"application/octet-stream"
);
response
.
setHeader
(
"Access-Control-Expose-Headers"
,
"Content-Disposition"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
fileName
);
OutputStream
out
=
response
.
getOutputStream
();
...
...
@@ -243,6 +293,7 @@ public class VisitorServiceImpl implements VisitorService {
}
Visitor
visitor
=
optional
.
get
();
visitor
.
setLabelCardStatus
(
"3"
);
visitor
.
setUpdateTime
(
LocalDateTime
.
now
());
visitor
.
setCardRecTime
(
LocalDateTime
.
now
());
visitorRepository
.
saveAndFlush
(
visitor
);
return
Result
.
ok
();
...
...
@@ -395,9 +446,10 @@ public class VisitorServiceImpl implements VisitorService {
)
);
}
Order
order
=
criteriaBuilder
.
desc
(
root
.
get
(
Visitor
.
Fields
.
updateTime
));
Predicate
[]
predicates
=
new
Predicate
[
list
.
size
()];
query
.
where
(
list
.
toArray
(
predicates
));
query
.
orderBy
(
order
);
return
criteriaBuilder
.
and
(
list
.
toArray
(
predicates
));
};
}
...
...
app/src/main/java/com/yiring/app/vo/visitor/InvitationDetailsVo.java
0 → 100644
浏览文件 @
ca409c7b
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
vo
.
visitor
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
com.yiring.app.domain.visitor.Visitor
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
/**
* 邀请反参
* @author tzl
* @version 1.0
* @description:
* @date 2022/4/28 10:48
*/
@ApiModel
(
"InvitationDetailsVo"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
InvitationDetailsVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
5496232471863298479L
;
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@ApiModelProperty
(
value
=
"id"
,
example
=
"1548548545755"
)
Long
id
;
@ApiModelProperty
(
value
=
"邀请原因/来访原因"
,
example
=
"随便看看"
)
String
reason
;
@ApiModelProperty
(
value
=
"邀请方式:个人 公司"
,
example
=
"个人"
)
String
InvitationMethod
;
@ApiModelProperty
(
value
=
"邀请人数"
,
example
=
"1"
)
Integer
numOfVisitor
;
@ApiModelProperty
(
value
=
"邀请人id"
,
example
=
"1"
)
Long
inviterId
;
@ApiModelProperty
(
value
=
"状态"
,
example
=
"撤回"
)
String
status
;
@ApiModelProperty
(
value
=
"被邀请访客"
)
Visitor
visitor
;
@ApiModelProperty
(
value
=
"邀请人信息"
)
User
user
;
@ApiModel
(
"User"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
static
class
User
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
4115779013003587949L
;
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@ApiModelProperty
(
value
=
"id"
,
example
=
"1"
)
Long
id
;
@ApiModelProperty
(
value
=
"邀请人姓名"
,
example
=
"张三"
)
String
realName
;
@ApiModelProperty
(
value
=
"邀请人部门"
,
example
=
"研发部"
)
String
deptName
;
@ApiModelProperty
(
value
=
"邀请人电话"
,
example
=
"17688888888"
)
String
mobile
;
}
}
app/src/main/java/com/yiring/app/vo/visitor/InvitationVo.java
浏览文件 @
ca409c7b
...
...
@@ -56,4 +56,28 @@ public class InvitationVo implements Serializable {
@ApiModelProperty
(
value
=
"被邀请访客"
)
Visitor
visitor
;
@ApiModelProperty
(
value
=
"邀请人信息"
)
User
user
;
@ApiModel
(
"User"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
static
class
User
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
4115779013003587949L
;
// @JsonSerialize(using = ToStringSerializer.class)
// @ApiModelProperty(value = "id", example = "1")
// Long id;
@ApiModelProperty
(
value
=
"邀请人姓名"
,
example
=
"张三"
)
String
realName
;
@ApiModelProperty
(
value
=
"邀请人部门"
,
example
=
"研发部"
)
String
deptName
;
}
}
app/src/main/java/com/yiring/app/vo/visitor/VisitorVo.java
浏览文件 @
ca409c7b
...
...
@@ -4,7 +4,6 @@ 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
com.yiring.app.domain.visitor.Car
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
...
...
@@ -41,11 +40,11 @@ public class VisitorVo implements Serializable {
@ApiModelProperty
(
value
=
"到访人身份证"
,
example
=
"430441190001255417"
)
String
visitorCarNum
;
@ApiModelProperty
(
value
=
"是否特殊作业"
,
example
=
"
tru
e"
)
boolean
taskType
;
@ApiModelProperty
(
value
=
"是否特殊作业"
,
example
=
"
fals
e"
)
String
taskType
;
@ApiModelProperty
(
value
=
"邀请人数"
,
example
=
"1"
)
Integer
numOfVisitor
;
//
@ApiModelProperty(value = "邀请人数", example = "1")
//
Integer numOfVisitor;
@ApiModelProperty
(
value
=
"访客来源"
,
example
=
"内部邀请"
)
String
visitorSource
;
...
...
@@ -53,14 +52,17 @@ public class VisitorVo implements Serializable {
@ApiModelProperty
(
value
=
"标签卡"
,
example
=
"WE34421231"
)
String
labelCard
;
@ApiModelProperty
(
value
=
"标签卡状态"
,
example
=
"使用中"
)
String
labelCardStatus
;
//
@ApiModelProperty(value = "标签卡状态", example = "使用中")
//
String labelCardStatus;
@ApiModelProperty
(
value
=
"所属单位id"
,
example
=
"壹润科技"
)
String
orgId
;
@ApiModelProperty
(
value
=
"被访人id"
,
example
=
"1"
)
String
intervieweeId
;
Long
intervieweeId
;
@ApiModelProperty
(
value
=
"被访人姓名"
,
example
=
"李四"
)
String
intervieweeName
;
@ApiModelProperty
(
value
=
"来访原因"
,
example
=
"来访原因"
)
String
reason
;
...
...
@@ -69,18 +71,21 @@ public class VisitorVo implements Serializable {
@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 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 createTime;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty
(
value
=
"发卡时间"
,
example
=
"2022-04-19 14:28:00"
)
LocalDateTime
cardSendTime
;
@ApiModelProperty
(
value
=
"车辆反参"
)
Car
car
;
// @ApiModelProperty(value = "车辆反参")
// Car car;
@ApiModelProperty
(
value
=
"主访人id"
)
Long
mainVisitorId
;
}
app/src/main/java/com/yiring/app/web/visitor/InvitationController.java
浏览文件 @
ca409c7b
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
web
.
visitor
;
import
com.yiring.app.param.visitor.InvitationAppQueryParam
;
import
com.yiring.app.param.visitor.InvitationParam
;
import
com.yiring.app.param.visitor.InvitationQueryParam
;
import
com.yiring.app.service.visitor.InvitationService
;
import
com.yiring.app.vo.visitor.InvitationVo
;
import
com.yiring.app.vo.visitor.Invitation
Details
Vo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.vo.PageVo
;
...
...
@@ -69,7 +70,7 @@ public class InvitationController {
@ApiOperation
(
value
=
"查看邀请信息(分页)"
)
@GetMapping
(
"pageInv"
)
public
Result
<
PageVo
<
InvitationVo
>>
pageInv
(
@Valid
InvitationQueryParam
invitationQueryParam
)
{
public
Result
<
PageVo
<
Invitation
Details
Vo
>>
pageInv
(
@Valid
InvitationQueryParam
invitationQueryParam
)
{
return
invitationService
.
pageInv
(
invitationQueryParam
);
}
...
...
@@ -78,4 +79,16 @@ public class InvitationController {
public
void
exportInv
(
HttpServletResponse
response
,
@Valid
InvitationQueryParam
invitationQueryParam
)
{
invitationService
.
exportInv
(
invitationQueryParam
,
response
);
}
@ApiOperation
(
value
=
"小程序查看邀请详情"
)
@GetMapping
(
"detailsInv"
)
public
Result
<
InvitationDetailsVo
>
detailsInv
(
@Valid
IdParam
idParam
)
{
return
invitationService
.
detailsInv
(
idParam
);
}
@ApiOperation
(
value
=
"小程序查看邀请"
)
@GetMapping
(
"appGetInv"
)
public
Result
<
PageVo
<
InvitationDetailsVo
>>
appGetInv
(
@Valid
InvitationAppQueryParam
invitationAppQueryParam
)
{
return
invitationService
.
findAllByVisitor_VisitorMobileAndVisitor_Deleted
(
invitationAppQueryParam
);
}
}
app/src/main/java/com/yiring/app/web/visitor/VisitorController.java
浏览文件 @
ca409c7b
...
...
@@ -4,6 +4,7 @@ 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.VisitorDetailsVo
;
import
com.yiring.app.vo.visitor.VisitorVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.IdParam
;
...
...
@@ -69,7 +70,7 @@ public class VisitorController {
@ApiOperation
(
value
=
"查看访客信息详情"
)
@GetMapping
(
"selectVisitor"
)
public
Result
<
VisitorVo
>
selectVisitor
(
@Valid
IdParam
idParam
)
{
public
Result
<
Visitor
Details
Vo
>
selectVisitor
(
@Valid
IdParam
idParam
)
{
return
visitorService
.
selectVisitor
(
idParam
);
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论