Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-api-boot
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-api-boot
Commits
1e28aae6
提交
1e28aae6
authored
5月 18, 2022
作者:
方治民
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev_lijing' of
https://gitlab.yiring.com/chemical-kesai/kshg-api
into dev_fzm
上级
e358cfcb
1c8e5c1f
全部展开
显示空白字符变更
内嵌
并排
正在显示
68 个修改的文件
包含
1191 行增加
和
602 行删除
+1191
-602
Icon.java
app/src/main/java/com/yiring/app/domain/icon/Icon.java
+4
-0
LocationTag.java
...main/java/com/yiring/app/domain/location/LocationTag.java
+6
-1
LocationTagRepository.java
...com/yiring/app/domain/location/LocationTagRepository.java
+2
-0
PersonnelStatistics.java
.../yiring/app/domain/perstatistics/PersonnelStatistics.java
+61
-0
PersonnelStatisticsRepository.java
...p/domain/perstatistics/PersonnelStatisticsRepository.java
+17
-0
Car.java
app/src/main/java/com/yiring/app/domain/visitor/Car.java
+19
-4
CarRepository.java
...ain/java/com/yiring/app/domain/visitor/CarRepository.java
+2
-0
Visitor.java
app/src/main/java/com/yiring/app/domain/visitor/Visitor.java
+5
-27
VisitorRepository.java
...java/com/yiring/app/domain/visitor/VisitorRepository.java
+4
-6
DepartmentExportExcel.java
...java/com/yiring/app/excel/dept/DepartmentExportExcel.java
+4
-0
KeyAlarmExportExcel.java
...in/java/com/yiring/app/excel/key/KeyAlarmExportExcel.java
+5
-5
PersonnelStatisticsExportExcel.java
...p/excel/perstatistics/PersonnelStatisticsExportExcel.java
+34
-0
UserSendCardExcel.java
...ain/java/com/yiring/app/excel/user/UserSendCardExcel.java
+1
-1
MockPositionMessageJob.java
.../main/java/com/yiring/app/job/MockPositionMessageJob.java
+1
-1
KeyAlarmAddParam.java
.../main/java/com/yiring/app/param/key/KeyAlarmAddParam.java
+1
-8
KeyAlarmLogFindParam.java
...n/java/com/yiring/app/param/key/KeyAlarmLogFindParam.java
+3
-0
LocationTagFindParam.java
...m/yiring/app/param/location/tag/LocationTagFindParam.java
+3
-0
PersonnelStatisticsQueryParam.java
...pp/param/perstatistics/PersonnelStatisticsQueryParam.java
+30
-0
CarParam.java
app/src/main/java/com/yiring/app/param/visitor/CarParam.java
+24
-3
VisitorParam.java
.../main/java/com/yiring/app/param/visitor/VisitorParam.java
+8
-25
BroadcastAudioServiceImpl.java
...app/service/broadcast/impl/BroadcastAudioServiceImpl.java
+0
-1
DepartmentServiceImpl.java
...m/yiring/app/service/dept/impl/DepartmentServiceImpl.java
+27
-1
IconServiceImpl.java
...ava/com/yiring/app/service/icon/impl/IconServiceImpl.java
+17
-2
KeyAlarmService.java
...main/java/com/yiring/app/service/key/KeyAlarmService.java
+7
-0
KeyAlarmLogServiceImpl.java
...m/yiring/app/service/key/impl/KeyAlarmLogServiceImpl.java
+8
-3
KeyAlarmRuleServiceImpl.java
.../yiring/app/service/key/impl/KeyAlarmRuleServiceImpl.java
+0
-1
KeyAlarmServiceImpl.java
.../com/yiring/app/service/key/impl/KeyAlarmServiceImpl.java
+78
-7
LocationBeaconService.java
...ng/app/service/location/beacon/LocationBeaconService.java
+7
-0
LocationBeaconServiceImpl.java
...rvice/location/beacon/impl/LocationBeaconServiceImpl.java
+25
-0
LocationTagService.java
...m/yiring/app/service/location/tag/LocationTagService.java
+13
-13
LocationTagServiceImpl.java
...app/service/location/tag/impl/LocationTagServiceImpl.java
+0
-0
PositionMessageServiceImpl.java
.../app/service/message/impl/PositionMessageServiceImpl.java
+12
-2
PersonnelStatisticsService.java
...app/service/perstatistics/PersonnelStatisticsService.java
+39
-0
PersonnelStatisticsServiceImpl.java
...ce/perstatistics/impl/PersonnelStatisticsServiceImpl.java
+137
-0
PostService.java
...rc/main/java/com/yiring/app/service/post/PostService.java
+2
-2
PostServiceImpl.java
...ava/com/yiring/app/service/post/impl/PostServiceImpl.java
+23
-38
UserAppServiceImpl.java
.../com/yiring/app/service/user/impl/UserAppServiceImpl.java
+2
-3
CarService.java
.../main/java/com/yiring/app/service/visitor/CarService.java
+6
-4
InvitationService.java
...ava/com/yiring/app/service/visitor/InvitationService.java
+0
-89
VisitorService.java
...n/java/com/yiring/app/service/visitor/VisitorService.java
+27
-30
CarServiceImpl.java
...a/com/yiring/app/service/visitor/impl/CarServiceImpl.java
+25
-20
InvitationServiceImpl.java
...iring/app/service/visitor/impl/InvitationServiceImpl.java
+0
-0
VisitorServiceImpl.java
...m/yiring/app/service/visitor/impl/VisitorServiceImpl.java
+0
-0
ExportUtils.java
app/src/main/java/com/yiring/app/util/ExportUtils.java
+10
-0
IconVo.java
app/src/main/java/com/yiring/app/vo/icon/IconVo.java
+31
-0
KeyAlarmVo.java
app/src/main/java/com/yiring/app/vo/key/KeyAlarmVo.java
+3
-0
LocationTagVo.java
...in/java/com/yiring/app/vo/location/tag/LocationTagVo.java
+8
-0
PersonnelStatisticsVo.java
...om/yiring/app/vo/perstatistics/PersonnelStatisticsVo.java
+39
-0
CarVo.java
app/src/main/java/com/yiring/app/vo/visitor/CarVo.java
+26
-42
VisitorDetailsVo.java
...main/java/com/yiring/app/vo/visitor/VisitorDetailsVo.java
+8
-86
KeyAlarmController.java
.../main/java/com/yiring/app/web/key/KeyAlarmController.java
+7
-1
LocationBeaconController.java
...ing/app/web/location/beacon/LocationBeaconController.java
+6
-0
LocationTagController.java
...om/yiring/app/web/location/tag/LocationTagController.java
+12
-15
PersonnelStatisticsController.java
.../app/web/perstatistics/PersonnelStatisticsController.java
+57
-0
PostController.java
...src/main/java/com/yiring/app/web/post/PostController.java
+4
-4
CarController.java
...c/main/java/com/yiring/app/web/visitor/CarController.java
+12
-10
InvitationController.java
...java/com/yiring/app/web/visitor/InvitationController.java
+0
-95
VisitorController.java
...in/java/com/yiring/app/web/visitor/VisitorController.java
+4
-38
SaTokenConfigure.java
...rc/main/java/com/yiring/auth/config/SaTokenConfigure.java
+4
-0
UserExportExcel.java
...main/java/com/yiring/auth/excel/user/UserExportExcel.java
+85
-0
UserExportParam.java
...main/java/com/yiring/auth/param/user/UserExportParam.java
+37
-0
UserService.java
...c/main/java/com/yiring/auth/service/user/UserService.java
+16
-0
UserServiceImpl.java
...va/com/yiring/auth/service/user/impl/UserServiceImpl.java
+102
-6
RoleVo.java
basic-auth/src/main/java/com/yiring/auth/vo/role/RoleVo.java
+5
-0
UserVo.java
basic-auth/src/main/java/com/yiring/auth/vo/user/UserVo.java
+4
-1
AuthController.java
...rc/main/java/com/yiring/auth/web/auth/AuthController.java
+3
-3
UserController.java
...rc/main/java/com/yiring/auth/web/user/UserController.java
+16
-4
RegEx.java
.../core/src/main/java/com/yiring/common/constant/RegEx.java
+3
-0
没有找到文件。
app/src/main/java/com/yiring/app/domain/icon/Icon.java
浏览文件 @
1e28aae6
...
...
@@ -12,7 +12,9 @@ import lombok.*;
import
lombok.experimental.FieldDefaults
;
import
lombok.experimental.FieldNameConstants
;
import
org.hibernate.annotations.Comment
;
import
org.hibernate.annotations.CreationTimestamp
;
import
org.hibernate.annotations.GenericGenerator
;
import
org.hibernate.annotations.UpdateTimestamp
;
import
org.hibernate.snowflake.SnowflakeId
;
/**
...
...
@@ -60,8 +62,10 @@ public class Icon implements Serializable {
String
iconOffline
;
@Comment
(
"创建时间"
)
@CreationTimestamp
LocalDateTime
createTime
;
@Comment
(
"修改时间"
)
@UpdateTimestamp
LocalDateTime
updateTime
;
}
app/src/main/java/com/yiring/app/domain/location/LocationTag.java
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
domain
.
location
;
import
com.yiring.app.domain.visitor.Car
;
import
com.yiring.auth.domain.user.User
;
import
com.yiring.common.annotation.FieldMapping
;
import
com.yiring.common.domain.BasicEntity
;
...
...
@@ -81,10 +82,14 @@ public class LocationTag extends BasicEntity implements Serializable {
@Comment
(
"静止/运动"
)
Boolean
silent
;
@
Many
ToOne
@
One
ToOne
@Comment
(
"绑定用户"
)
User
user
;
@OneToOne
@Comment
(
"绑定车辆"
)
Car
car
;
@FieldMapping
@Comment
(
"使用/闲置"
)
Boolean
used
;
...
...
app/src/main/java/com/yiring/app/domain/location/LocationTagRepository.java
浏览文件 @
1e28aae6
...
...
@@ -18,6 +18,8 @@ import org.springframework.stereotype.Repository;
@Repository
public
interface
LocationTagRepository
extends
JpaRepository
<
LocationTag
,
Serializable
>,
JpaSpecificationExecutor
<
LocationTag
>
{
LocationTag
findByCode
(
String
code
);
/**
* 查询在指定区域内的所有标签
* @param geometry 指定区域
...
...
app/src/main/java/com/yiring/app/domain/perstatistics/PersonnelStatistics.java
0 → 100644
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
domain
.
perstatistics
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
javax.persistence.*
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
import
lombok.experimental.FieldNameConstants
;
import
org.hibernate.annotations.Comment
;
import
org.hibernate.annotations.CreationTimestamp
;
import
org.hibernate.annotations.GenericGenerator
;
import
org.hibernate.annotations.UpdateTimestamp
;
import
org.hibernate.snowflake.SnowflakeId
;
/**
* @author tzl
* @version 1.0
* @description:
* @date 2022/5/15 9:15
*/
@Getter
@Setter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldNameConstants
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
@Entity
@Table
(
name
=
"BS_PERSONNEL_STATISTICS"
)
@Comment
(
"区域人员统计"
)
public
class
PersonnelStatistics
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
1276138943241366605L
;
@Id
@Comment
(
"主键id"
)
@GeneratedValue
(
generator
=
SnowflakeId
.
GENERATOR
)
@GenericGenerator
(
name
=
SnowflakeId
.
GENERATOR
,
strategy
=
SnowflakeId
.
Strategy
.
LONG
)
Long
id
;
@Comment
(
"区域"
)
String
region
;
@Comment
(
"入场人数"
)
String
admissionNumber
;
@Comment
(
"出场人数"
)
String
attendance
;
@Comment
(
"创建时间"
)
@CreationTimestamp
LocalDateTime
createTime
;
@Comment
(
"修改时间"
)
@UpdateTimestamp
LocalDateTime
updateTime
;
}
app/src/main/java/com/yiring/app/domain/perstatistics/PersonnelStatisticsRepository.java
0 → 100644
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
domain
.
perstatistics
;
import
java.io.Serializable
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.stereotype.Repository
;
/**
* @author tzl
* @version 1.0
* @description:
* @date 2022/5/15 9:20
*/
@Repository
public
interface
PersonnelStatisticsRepository
extends
JpaRepository
<
PersonnelStatistics
,
Serializable
>,
JpaSpecificationExecutor
<
PersonnelStatistics
>
{}
app/src/main/java/com/yiring/app/domain/visitor/Car.java
浏览文件 @
1e28aae6
...
...
@@ -5,10 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
javax.persistence.Entity
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
javax.persistence.*
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
import
lombok.experimental.FieldNameConstants
;
...
...
@@ -61,4 +58,22 @@ public class Car implements Serializable {
@Comment
(
"标签卡"
)
String
labelCard
;
@Comment
(
"司机名称"
)
String
driverName
;
@Comment
(
"司机电话"
)
String
mobile
;
@Comment
(
"所属公司"
)
String
orgId
;
@Comment
(
"被访人电话"
)
String
intervieweeMobile
;
@Comment
(
"被访人姓名"
)
String
intervieweeName
;
@Comment
(
"来访原因/邀请原因"
)
String
reason
;
}
app/src/main/java/com/yiring/app/domain/visitor/CarRepository.java
浏览文件 @
1e28aae6
...
...
@@ -21,4 +21,6 @@ public interface CarRepository extends JpaRepository<Car, Serializable>, JpaSpec
*/
@Query
(
"SELECT COUNT(c.id) FROM Car c where carNum=?1 and cardRecTime is null"
)
int
hasCarInfoByCarNum
(
String
param
);
Car
findByLabelCard
(
String
str
);
}
app/src/main/java/com/yiring/app/domain/visitor/Visitor.java
浏览文件 @
1e28aae6
...
...
@@ -2,12 +2,10 @@
package
com
.
yiring
.
app
.
domain
.
visitor
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.yiring.auth.domain.user.User
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
javax.persistence.*
;
import
javax.persistence.CascadeType
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
import
lombok.*
;
...
...
@@ -71,9 +69,6 @@ public class Visitor implements Serializable {
@Comment
(
"所属单位id"
)
String
orgId
;
// @Comment("被访人id")
// Long intervieweeId;
@Comment
(
"来访原因/邀请原因"
)
String
reason
;
...
...
@@ -81,10 +76,6 @@ public class Visitor implements Serializable {
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
LocalDateTime
cardRecTime
;
@Comment
(
"预约到访时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
LocalDateTime
appOfVisitTime
;
@Comment
(
"创建时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
LocalDateTime
createTime
;
...
...
@@ -93,33 +84,20 @@ public class Visitor implements Serializable {
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
LocalDateTime
cardSendTime
;
@Comment
(
"备用字段"
)
Long
reserve1
;
@Comment
(
"是否已删除:Y是 N否"
)
@Column
(
columnDefinition
=
"VARCHAR DEFAULT 'N'"
)
String
deleted
;
@Comment
(
"主访人员id"
)
Long
mainVisitorId
;
@Comment
(
"被访人电话"
)
String
intervieweeMobile
;
@Comment
(
"被访人姓名"
)
String
intervieweeName
;
@Comment
(
"备用字段"
)
String
reserve3
;
@Comment
(
"访客车辆"
)
@OneToOne
(
cascade
=
{
CascadeType
.
ALL
})
Car
car
;
@Comment
(
"被访人信息"
)
@OneToOne
@JoinColumn
(
name
=
"interviewee_id"
,
referencedColumnName
=
"id"
)
User
user
;
@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
浏览文件 @
1e28aae6
...
...
@@ -2,9 +2,6 @@
package
com
.
yiring
.
app
.
domain
.
visitor
;
import
java.io.Serializable
;
import
java.util.List
;
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
;
...
...
@@ -17,9 +14,10 @@ import org.springframework.stereotype.Repository;
public
interface
VisitorRepository
extends
JpaRepository
<
Visitor
,
Serializable
>,
JpaSpecificationExecutor
<
Visitor
>
{
Visitor
findByIdAndDeleted
(
Long
id
,
String
deleted
);
List
<
Visitor
>
findAllByMainVisitorIdAndDeletedEquals
(
Long
mainId
,
String
deleted
);
Visitor
findByLabelCardAndDeleted
(
String
card
,
String
deleted
);
// List<Visitor> findAllByMainVisitorIdAndDeletedEquals(Long mainId, String deleted);
List
<
Visitor
>
findAllByMainVisitorIdAndDeletedEqualsAndIdIsNot
(
Long
mainId
,
String
deleted
,
Long
id
);
//
List<Visitor> findAllByMainVisitorIdAndDeletedEqualsAndIdIsNot(Long mainId, String deleted, Long id);
Page
<
Visitor
>
findAllByVisitorMobileAndDeletedEquals
(
String
mobile
,
String
deleted
,
Pageable
pageable
);
//
Page<Visitor> findAllByVisitorMobileAndDeletedEquals(String mobile, String deleted, Pageable pageable);
}
app/src/main/java/com/yiring/app/excel/dept/DepartmentExportExcel.java
浏览文件 @
1e28aae6
...
...
@@ -37,6 +37,9 @@ public class DepartmentExportExcel implements Serializable {
@ExcelColumn
(
title
=
"手机号码"
)
String
mobile
;
@ExcelColumn
(
title
=
"电子邮箱"
)
String
email
;
@ExcelColumn
(
title
=
"状态"
)
String
enable
;
...
...
@@ -49,6 +52,7 @@ public class DepartmentExportExcel implements Serializable {
if
(
ObjectUtil
.
isNotEmpty
(
department
.
getLeader
()))
{
departmentExportExcel
.
setRealName
(
department
.
getLeader
().
getRealName
());
departmentExportExcel
.
setMobile
(
department
.
getLeader
().
getMobile
());
departmentExportExcel
.
setEmail
(
department
.
getLeader
().
getEmail
());
}
return
departmentExportExcel
;
...
...
app/src/main/java/com/yiring/app/excel/key/KeyAlarmExportExcel.java
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
excel
.
key
;
import
cn.hutool.core.date.LocalDateTimeUtil
;
import
com.github.liaochong.myexcel.core.annotation.ExcelColumn
;
import
com.github.liaochong.myexcel.core.annotation.ExcelModel
;
import
com.yiring.app.domain.key.KeyAlarm
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
lombok.AccessLevel
;
import
lombok.Builder
;
import
lombok.Data
;
...
...
@@ -38,10 +38,10 @@ public class KeyAlarmExportExcel implements Serializable {
String
uuid
;
@ExcelColumn
(
title
=
"报警时间"
)
LocalDateTime
createTime
;
String
createTime
;
@ExcelColumn
(
title
=
"结束时间"
)
LocalDateTime
endTime
;
String
endTime
;
@ExcelColumn
(
title
=
"报警类型"
)
String
type
;
...
...
@@ -56,8 +56,8 @@ public class KeyAlarmExportExcel implements Serializable {
return
KeyAlarmExportExcel
.
builder
()
.
areaId
(
keyAlarm
.
getAreaId
())
.
createTime
(
keyAlarm
.
getCreateTime
(
))
.
endTime
(
keyAlarm
.
getUpdateTime
(
))
.
createTime
(
LocalDateTimeUtil
.
format
(
keyAlarm
.
getCreateTime
(),
"yyyy-MM-dd hh:mm:ss"
))
.
endTime
(
LocalDateTimeUtil
.
format
(
keyAlarm
.
getUpdateTime
(),
"yyyy-MM-dd hh:mm:ss"
))
.
type
(
"按键报警"
)
.
enable
(
keyAlarm
.
getEnable
())
.
build
();
...
...
app/src/main/java/com/yiring/app/excel/perstatistics/PersonnelStatisticsExportExcel.java
0 → 100644
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
excel
.
perstatistics
;
import
com.github.liaochong.myexcel.core.annotation.ExcelColumn
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
/**
* @author tzl
* @version 1.0
* @description:
* @date 2022/5/15 9:55
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
PersonnelStatisticsExportExcel
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
-
6466089255235570264L
;
@ExcelColumn
(
title
=
"区域"
,
width
=
10
)
String
region
;
@ExcelColumn
(
title
=
"入场人数"
,
width
=
5
)
String
admissionNumber
;
@ExcelColumn
(
title
=
"出场人数"
,
width
=
5
)
String
attendance
;
}
app/src/main/java/com/yiring/app/excel/user/UserSendCardExcel.java
浏览文件 @
1e28aae6
...
...
@@ -33,6 +33,6 @@ public class UserSendCardExcel implements Serializable {
String
uuid
;
// 标签号
@ExcelColumn
(
title
=
"标签
编号
"
)
@ExcelColumn
(
title
=
"标签"
)
String
code
;
}
app/src/main/java/com/yiring/app/job/MockPositionMessageJob.java
浏览文件 @
1e28aae6
...
...
@@ -170,7 +170,7 @@ public class MockPositionMessageJob {
JSONObject
params
=
new
JSONObject
();
params
.
put
(
"tagId"
,
mockTag
());
params
.
put
(
"entityId"
,
"4376"
);
params
.
put
(
"areaId"
,
mockAreaId
()
);
params
.
put
(
"areaId"
,
1L
);
params
.
put
(
"raiseTime"
,
System
.
currentTimeMillis
());
params
.
put
(
"x"
,
100
);
params
.
put
(
"y"
,
100
);
...
...
app/src/main/java/com/yiring/app/param/key/KeyAlarmAddParam.java
浏览文件 @
1e28aae6
...
...
@@ -51,13 +51,6 @@ public class KeyAlarmAddParam implements Serializable {
BigDecimal
z
;
public
static
KeyAlarm
transform
(
KeyAlarmAddParam
param
)
{
return
KeyAlarm
.
builder
()
.
areaId
(
param
.
areaId
)
.
code
(
param
.
getTagId
())
.
x
(
param
.
getX
())
.
y
(
param
.
getY
())
.
z
(
param
.
getZ
())
.
build
();
return
KeyAlarm
.
builder
().
areaId
(
param
.
areaId
).
x
(
param
.
getX
()).
y
(
param
.
getY
()).
z
(
param
.
getZ
()).
build
();
}
}
app/src/main/java/com/yiring/app/param/key/KeyAlarmLogFindParam.java
浏览文件 @
1e28aae6
...
...
@@ -27,6 +27,9 @@ public class KeyAlarmLogFindParam implements Serializable {
@Serial
private
static
final
long
serialVersionUID
=
-
7238582681776938388L
;
@ApiModelProperty
(
value
=
"主键"
,
example
=
"1"
)
Long
id
;
@ApiModelProperty
(
value
=
"通知方式"
,
example
=
"SMS/APP"
)
PushMessage
.
Type
type
;
...
...
app/src/main/java/com/yiring/app/param/location/tag/LocationTagFindParam.java
浏览文件 @
1e28aae6
...
...
@@ -37,4 +37,7 @@ public class LocationTagFindParam implements Serializable {
@ApiModelProperty
(
value
=
"绑卡状态"
,
example
=
"true"
)
Boolean
used
;
@ApiModelProperty
(
value
=
"是否在场外"
,
example
=
"true"
)
Boolean
out
;
}
app/src/main/java/com/yiring/app/param/perstatistics/PersonnelStatisticsQueryParam.java
0 → 100644
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
param
.
perstatistics
;
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/5/15 9:15
*/
@ApiModel
(
"PersonnelStatisticsQueryParam"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
PersonnelStatisticsQueryParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
-
638192778218413746L
;
@ApiModelProperty
(
value
=
"区域"
,
example
=
"化工区"
)
String
region
;
}
app/src/main/java/com/yiring/app/param/visitor/CarParam.java
浏览文件 @
1e28aae6
...
...
@@ -10,6 +10,7 @@ import javax.validation.constraints.NotEmpty;
import
javax.validation.constraints.Pattern
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
import
org.hibernate.annotations.Comment
;
/**
* @author tzl
...
...
@@ -34,8 +35,28 @@ public class CarParam implements Serializable {
@ApiModelProperty
(
value
=
"车辆类型"
,
example
=
"1"
)
String
carType
;
@ApiModelProperty
(
value
=
"
车辆类型"
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"
标签卡"
,
example
=
"BT82737612"
,
required
=
true
)
String
labelCard
;
// @ApiModelProperty(value = "对应访客id", example = "1", required = true)
// Long visitorId;
@ApiModelProperty
(
value
=
"司机名称"
,
example
=
"张三"
,
required
=
true
)
String
driverName
;
@ApiModelProperty
(
value
=
"司机电话"
,
example
=
"17674741309"
,
required
=
true
)
@Pattern
(
regexp
=
RegEx
.
MOBILE
,
message
=
"请输入正确的号码"
)
String
mobile
;
@ApiModelProperty
(
value
=
"所属公司"
,
example
=
"壹润科技"
)
String
orgId
;
@Comment
(
"被访人电话"
)
@ApiModelProperty
(
value
=
"被访人电话"
,
example
=
"17674741309"
)
String
intervieweeMobile
;
@Comment
(
"被访人姓名"
)
@ApiModelProperty
(
value
=
"被访人姓名"
,
example
=
"李四"
)
String
intervieweeName
;
@Comment
(
"来访原因"
)
@ApiModelProperty
(
value
=
"来访原因"
,
example
=
"工作"
)
String
reason
;
}
app/src/main/java/com/yiring/app/param/visitor/VisitorParam.java
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
param
.
visitor
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.yiring.common.constant.RegEx
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.Pattern
;
import
lombok.*
;
...
...
@@ -38,41 +36,26 @@ public class VisitorParam implements Serializable {
String
visitorMobile
;
@ApiModelProperty
(
value
=
"到访人身份证"
,
example
=
"430441190001255417"
,
required
=
true
)
@Pattern
(
regexp
=
RegEx
.
CARDNO
,
message
=
"手机号码格式不正确"
)
@NotEmpty
(
message
=
"到访人身份证不能为空"
)
String
visitorCarNum
;
@ApiModelProperty
(
value
=
"是否特殊作业"
,
example
=
"fasle"
,
required
=
true
)
String
taskType
;
@ApiModelProperty
(
value
=
"访客来源"
,
example
=
"外部邀请"
,
required
=
true
)
String
visitorSource
;
@ApiModelProperty
(
value
=
"访客所属公司"
,
example
=
"壹润科技"
)
String
orgId
;
@ApiModelProperty
(
value
=
"被访人id"
,
example
=
"1"
,
required
=
true
)
String
intervieweeId
;
@ApiModelProperty
(
value
=
"被访人电话"
,
example
=
"17674741309"
)
@Pattern
(
regexp
=
RegEx
.
MOBILE
,
message
=
"手机号码格式不正确"
)
String
intervieweeMobile
;
@ApiModelProperty
(
value
=
"被访人姓名"
,
example
=
"李敬"
)
String
intervieweeName
;
@ApiModelProperty
(
value
=
"来访原因"
,
example
=
"看看"
,
required
=
true
)
String
reason
;
@ApiModelProperty
(
value
=
"来访时间"
,
example
=
"2022-04-19 14:28:00"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
LocalDateTime
appOfVisitTime
;
@ApiModelProperty
(
value
=
"是否有车(是 1 ,否 2)"
,
example
=
"2"
)
Integer
hasCar
;
@ApiModelProperty
(
value
=
"车牌号码"
,
example
=
"湘A99999"
)
@Pattern
(
regexp
=
RegEx
.
CARNUM
,
message
=
"车牌号码格式不正确"
)
String
carNum
;
@ApiModelProperty
(
value
=
"车辆类型"
,
example
=
"货车"
)
String
carType
;
@ApiModelProperty
(
value
=
"车辆标签卡"
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"人员标签卡"
,
example
=
"1"
)
String
labelCard
;
@ApiModelProperty
(
value
=
"主访人员id"
,
example
=
"1"
)
Long
mainVisitorId
;
}
app/src/main/java/com/yiring/app/service/broadcast/impl/BroadcastAudioServiceImpl.java
浏览文件 @
1e28aae6
...
...
@@ -106,7 +106,6 @@ public class BroadcastAudioServiceImpl implements BroadcastAudioService {
Page
<
BroadcastAudio
>
broadcastAudios
=
broadcastAudioRepository
.
findAll
(
specification
,
pageable
);
List
<
BroadcastAudioVo
>
broadcastAudioVos
=
broadcastAudios
.
getContent
()
.
stream
()
.
map
(
BroadcastAudioVo:
:
transform
)
.
collect
(
Collectors
.
toList
());
...
...
app/src/main/java/com/yiring/app/service/dept/impl/DepartmentServiceImpl.java
浏览文件 @
1e28aae6
...
...
@@ -161,7 +161,10 @@ public class DepartmentServiceImpl implements DepartmentService {
List
<
DepartmentExportExcel
>
departmentExportExcels
=
ListUtil
.
toList
();
hashMap
.
forEach
((
k
,
v
)
->
{
DepartmentExportExcel
departmentExportExcel
=
DepartmentExportExcel
.
transform
(
v
);
if
(
v
.
getEnable
()
==
departmentExportParam
.
getEnable
())
{
if
(
v
.
getEnable
()
==
departmentExportParam
.
getEnable
()
||
ObjectUtil
.
isEmpty
(
departmentExportParam
.
getEnable
())
)
{
departmentExportExcel
.
setName
(
k
);
departmentExportExcels
.
add
(
departmentExportExcel
);
}
...
...
@@ -314,9 +317,32 @@ public class DepartmentServiceImpl implements DepartmentService {
String
subName
=
name
.
substring
(
0
,
lastIndexOf
);
Department
hashDept
=
hashMap
.
get
(
subName
);
// 通过姓名和电话号码找到用户
Optional
<
User
>
userOptional
=
userRepository
.
findOne
(
Example
.
of
(
User
.
builder
()
.
realName
(
departmentImportExcel
.
getRealName
())
.
mobile
(
departmentImportExcel
.
getMobile
())
.
build
()
)
);
ZyDepartmentAddParam
zyDepartmentAddParam
=
ZyDepartmentAddParam
.
transform
(
department
,
FACTORY_ID
);
zyDepartmentAddParam
.
setDeptName
(
name
.
substring
(
lastIndexOf
+
1
));
zyDepartmentAddParam
.
setParentId
(
hashDept
.
getLinkId
());
// 赋予用户
if
(
userOptional
.
isPresent
())
{
User
user
=
userOptional
.
get
();
department
.
setLeader
(
user
);
// zy
zyDepartmentAddParam
.
setLeader
(
user
.
getRealName
());
zyDepartmentAddParam
.
setPhone
(
user
.
getMobile
());
zyDepartmentAddParam
.
setEmail
(
user
.
getEmail
());
}
JSONObject
jsonObject
=
departmentClient
.
deptAdd
(
JSONUtil
.
toJsonStr
(
zyDepartmentAddParam
),
ZyUtil
.
clientLogin
()
...
...
app/src/main/java/com/yiring/app/service/icon/impl/IconServiceImpl.java
浏览文件 @
1e28aae6
...
...
@@ -15,8 +15,14 @@ import java.util.List;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
import
javax.persistence.criteria.Order
;
import
javax.persistence.criteria.Predicate
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.data.domain.*
;
import
org.springframework.data.domain.Example
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.stereotype.Service
;
/**
...
...
@@ -76,7 +82,16 @@ public class IconServiceImpl implements IconService {
public
Result
<
PageVo
<
IconVo
>>
pageIcon
(
PageParam
pageParam
)
{
//分页
Pageable
pageable
=
PageRequest
.
of
(
pageParam
.
getPageNo
()
-
1
,
pageParam
.
getPageSize
());
Page
<
Icon
>
all
=
iconRepository
.
findAll
(
pageable
);
Page
<
Icon
>
all
=
iconRepository
.
findAll
(
(
Specification
<
Icon
>)
(
root
,
query
,
criteriaBuilder
)
->
{
Predicate
[]
predicates
=
new
Predicate
[
0
];
Order
order
=
criteriaBuilder
.
desc
(
root
.
get
(
Icon
.
Fields
.
updateTime
));
query
.
where
();
query
.
orderBy
(
order
);
return
criteriaBuilder
.
and
();
},
pageable
);
List
<
IconVo
>
data
=
all
.
get
()
.
map
(
icon
->
{
...
...
app/src/main/java/com/yiring/app/service/key/KeyAlarmService.java
浏览文件 @
1e28aae6
...
...
@@ -29,4 +29,11 @@ public interface KeyAlarmService {
* @param response HttpServletResponse
*/
void
export
(
KeyAlarmFindParam
param
,
HttpServletResponse
response
);
/**
* 条件查询
* @param param KeyAlarmFindParam
* @return Result<PageVo<KeyAlarmVo>>
*/
Result
<
PageVo
<
KeyAlarmVo
>>
find
(
KeyAlarmFindParam
param
);
}
app/src/main/java/com/yiring/app/service/key/impl/KeyAlarmLogServiceImpl.java
浏览文件 @
1e28aae6
...
...
@@ -46,6 +46,12 @@ public class KeyAlarmLogServiceImpl implements KeyAlarmLogService {
Specification
<
KeyAlarmLog
>
specification
=
(
root
,
cq
,
cb
)
->
{
List
<
Predicate
>
predicates
=
ListUtil
.
toList
();
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getId
()))
{
predicates
.
add
(
cb
.
equal
(
root
.
get
(
KeyAlarmLog
.
Fields
.
keyAlarm
).
get
(
BasicEntity
.
Fields
.
id
),
param
.
getId
())
);
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getMobile
()))
{
predicates
.
add
(
cb
.
like
(
root
.
get
(
KeyAlarmLog
.
Fields
.
user
).
get
(
User
.
Fields
.
mobile
),
"%"
+
param
.
getMobile
()
+
"%"
)
...
...
@@ -57,10 +63,10 @@ public class KeyAlarmLogServiceImpl implements KeyAlarmLogService {
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getType
()))
{
predicates
.
add
(
cb
.
equal
(
root
.
get
(
KeyAlarmLog
.
Fields
.
types
),
param
.
getType
()));
predicates
.
add
(
cb
.
equal
(
root
.
get
(
KeyAlarmLog
.
Fields
.
types
),
param
.
getType
()
.
toString
()
));
}
Order
order
=
cb
.
desc
(
root
.
get
(
BasicEntity
.
Fields
.
createTi
me
));
Order
order
=
cb
.
desc
(
root
.
get
(
KeyAlarmLog
.
Fields
.
user
).
get
(
User
.
Fields
.
realNa
me
));
return
cq
.
orderBy
(
order
).
where
(
predicates
.
toArray
(
new
Predicate
[
0
])).
getRestriction
();
};
...
...
@@ -68,7 +74,6 @@ public class KeyAlarmLogServiceImpl implements KeyAlarmLogService {
Pageable
pageable
=
PageRequest
.
of
(
pageParam
.
getPageNo
()
-
1
,
pageParam
.
getPageSize
());
Page
<
KeyAlarmLog
>
keyAlarmLogs
=
keyAlarmLogRepository
.
findAll
(
specification
,
pageable
);
List
<
KeyAlarmLogVo
>
keyAlarmLogVos
=
keyAlarmLogs
.
getContent
()
.
stream
()
.
map
(
KeyAlarmLogVo:
:
transform
)
.
collect
(
Collectors
.
toList
());
...
...
app/src/main/java/com/yiring/app/service/key/impl/KeyAlarmRuleServiceImpl.java
浏览文件 @
1e28aae6
...
...
@@ -223,7 +223,6 @@ public class KeyAlarmRuleServiceImpl implements KeyAlarmRuleService {
Pageable
pageable
=
PageRequest
.
of
(
pageParam
.
getPageNo
()
-
1
,
pageParam
.
getPageSize
());
Page
<
KeyAlarmRule
>
pages
=
keyAlarmRuleRepository
.
findAll
(
specification
,
pageable
);
List
<
KeyAlarmRuleVo
>
keyAlarmRuleVos
=
pages
.
getContent
()
.
stream
()
.
map
(
KeyAlarmRuleVo:
:
transform
)
.
collect
(
Collectors
.
toList
());
...
...
app/src/main/java/com/yiring/app/service/key/impl/KeyAlarmServiceImpl.java
浏览文件 @
1e28aae6
...
...
@@ -33,6 +33,7 @@ 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.data.domain.Example
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Pageable
;
...
...
@@ -78,11 +79,11 @@ public class KeyAlarmServiceImpl implements KeyAlarmService {
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getCreateTime
()))
{
predicates
.
add
(
cb
.
less
Than
(
root
.
get
(
BasicEntity
.
Fields
.
createTime
),
param
.
getCreateTime
()));
predicates
.
add
(
cb
.
greater
Than
(
root
.
get
(
BasicEntity
.
Fields
.
createTime
),
param
.
getCreateTime
()));
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getEndTime
()))
{
predicates
.
add
(
cb
.
greater
Than
(
root
.
get
(
BasicEntity
.
Fields
.
updateTime
),
param
.
getEndTime
()));
predicates
.
add
(
cb
.
less
Than
(
root
.
get
(
BasicEntity
.
Fields
.
updateTime
),
param
.
getEndTime
()));
}
Order
order
=
cb
.
desc
(
root
.
get
(
BasicEntity
.
Fields
.
createTime
));
...
...
@@ -93,7 +94,6 @@ public class KeyAlarmServiceImpl implements KeyAlarmService {
Pageable
pageable
=
PageRequest
.
of
(
pageParam
.
getPageNo
()
-
1
,
pageParam
.
getPageSize
());
Page
<
KeyAlarm
>
keyAlarms
=
keyAlarmRepository
.
findAll
(
specification
,
pageable
);
List
<
KeyAlarmVo
>
keyAlarmVos
=
keyAlarms
.
getContent
()
.
stream
()
.
map
(
keyAlarm
->
{
KeyAlarmVo
keyAlarmVo
=
KeyAlarmVo
.
transform
(
keyAlarm
);
...
...
@@ -109,8 +109,8 @@ public class KeyAlarmServiceImpl implements KeyAlarmService {
.
build
();
keyAlarmVo
.
setUser
(
userVo
);
}
Optional
<
KeyAlarmRule
>
keyAlarmRuleOptional
=
keyAlarmRuleRepository
.
find
ById
(
leader
.
getDepartment
().
getId
(
)
Optional
<
KeyAlarmRule
>
keyAlarmRuleOptional
=
keyAlarmRuleRepository
.
find
One
(
Example
.
of
(
KeyAlarmRule
.
builder
().
department
(
leader
.
getDepartment
()).
build
()
)
);
if
(
keyAlarmRuleOptional
.
isPresent
())
{
...
...
@@ -118,7 +118,9 @@ public class KeyAlarmServiceImpl implements KeyAlarmService {
Set
<
User
>
users
=
keyAlarmRule
.
getUsers
();
List
<
String
>
names
=
users
.
stream
().
map
(
User:
:
getRealName
).
collect
(
Collectors
.
toList
());
keyAlarmVo
.
setReceiver
(
StrUtil
.
join
(
","
,
names
));
keyAlarmVo
.
setTypes
(
keyAlarmRule
.
getTypes
().
split
(
","
));
}
return
keyAlarmVo
;
})
.
collect
(
Collectors
.
toList
());
...
...
@@ -171,8 +173,8 @@ public class KeyAlarmServiceImpl implements KeyAlarmService {
keyAlarmExportExcel
.
setRealName
(
leader
.
getRealName
());
keyAlarmExportExcel
.
setUuid
(
leader
.
getUuid
());
}
Optional
<
KeyAlarmRule
>
keyAlarmRuleOptional
=
keyAlarmRuleRepository
.
find
ById
(
leader
.
getDepartment
().
getId
(
)
Optional
<
KeyAlarmRule
>
keyAlarmRuleOptional
=
keyAlarmRuleRepository
.
find
One
(
Example
.
of
(
KeyAlarmRule
.
builder
().
department
(
leader
.
getDepartment
()).
build
()
)
);
if
(
keyAlarmRuleOptional
.
isPresent
())
{
...
...
@@ -217,4 +219,73 @@ public class KeyAlarmServiceImpl implements KeyAlarmService {
throw
new
RuntimeException
(
"导出按键报警信息失败: "
+
e
.
getMessage
());
}
}
@Override
public
Result
<
PageVo
<
KeyAlarmVo
>>
find
(
KeyAlarmFindParam
param
)
{
Specification
<
KeyAlarm
>
specification
=
(
root
,
cq
,
cb
)
->
{
List
<
Predicate
>
predicates
=
ListUtil
.
toList
();
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getAreaId
()))
{
predicates
.
add
(
cb
.
equal
(
root
.
get
(
KeyAlarm
.
Fields
.
areaId
),
param
.
getAreaId
()));
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getName
()))
{
predicates
.
add
(
cb
.
like
(
root
.
get
(
KeyAlarm
.
Fields
.
leader
).
get
(
User
.
Fields
.
realName
),
"%"
+
param
.
getName
()
+
"%"
)
);
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getEnable
()))
{
predicates
.
add
(
cb
.
equal
(
root
.
get
(
KeyAlarm
.
Fields
.
enable
),
param
.
getEnable
()));
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getCreateTime
()))
{
predicates
.
add
(
cb
.
greaterThan
(
root
.
get
(
BasicEntity
.
Fields
.
createTime
),
param
.
getCreateTime
()));
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getEndTime
()))
{
predicates
.
add
(
cb
.
lessThan
(
root
.
get
(
BasicEntity
.
Fields
.
updateTime
),
param
.
getEndTime
()));
}
Order
order
=
cb
.
desc
(
root
.
get
(
BasicEntity
.
Fields
.
createTime
));
return
cq
.
orderBy
(
order
).
where
(
predicates
.
toArray
(
new
Predicate
[
0
])).
getRestriction
();
};
List
<
KeyAlarm
>
keyAlarms
=
keyAlarmRepository
.
findAll
(
specification
);
List
<
KeyAlarmVo
>
keyAlarmVos
=
keyAlarms
.
stream
()
.
map
(
keyAlarm
->
{
KeyAlarmVo
keyAlarmVo
=
KeyAlarmVo
.
transform
(
keyAlarm
);
User
leader
=
keyAlarm
.
getLeader
();
if
(
ObjectUtil
.
isNotEmpty
(
leader
))
{
UserVo
userVo
=
UserVo
.
builder
()
.
id
(
leader
.
getId
())
.
realName
(
leader
.
getRealName
())
.
uuid
(
leader
.
getUuid
())
.
departmentId
(
leader
.
getDepartment
().
getId
())
.
build
();
keyAlarmVo
.
setUser
(
userVo
);
}
Optional
<
KeyAlarmRule
>
keyAlarmRuleOptional
=
keyAlarmRuleRepository
.
findOne
(
Example
.
of
(
KeyAlarmRule
.
builder
().
department
(
leader
.
getDepartment
()).
build
())
);
if
(
keyAlarmRuleOptional
.
isPresent
())
{
KeyAlarmRule
keyAlarmRule
=
keyAlarmRuleOptional
.
get
();
Set
<
User
>
users
=
keyAlarmRule
.
getUsers
();
List
<
String
>
names
=
users
.
stream
().
map
(
User:
:
getRealName
).
collect
(
Collectors
.
toList
());
keyAlarmVo
.
setReceiver
(
StrUtil
.
join
(
","
,
names
));
keyAlarmVo
.
setTypes
(
keyAlarmRule
.
getTypes
().
split
(
","
));
}
return
keyAlarmVo
;
})
.
collect
(
Collectors
.
toList
());
PageVo
<
KeyAlarmVo
>
pageVo
=
PageVo
.
build
(
keyAlarmVos
,
keyAlarmVos
.
size
());
return
Result
.
ok
(
pageVo
);
}
}
app/src/main/java/com/yiring/app/service/location/beacon/LocationBeaconService.java
浏览文件 @
1e28aae6
...
...
@@ -38,4 +38,11 @@ public interface LocationBeaconService {
* @param response HttpServletResponse
*/
void
exportLocationBeacon
(
LocationBeaconExportParam
locationBeaconExportParam
,
HttpServletResponse
response
);
/**
* 条件查询
* @param locationBeaconFindParam LocationBeaconFindParam
* @return Result<PageVo<LocationBeaconVo>>
*/
Result
<
PageVo
<
LocationBeaconVo
>>
find
(
LocationBeaconFindParam
locationBeaconFindParam
);
}
app/src/main/java/com/yiring/app/service/location/beacon/impl/LocationBeaconServiceImpl.java
浏览文件 @
1e28aae6
...
...
@@ -182,6 +182,31 @@ public class LocationBeaconServiceImpl implements LocationBeaconService {
}
}
@Override
public
Result
<
PageVo
<
LocationBeaconVo
>>
find
(
LocationBeaconFindParam
locationBeaconFindParam
)
{
Specification
<
LocationBeacon
>
specification
=
(
root
,
cq
,
cb
)
->
{
List
<
Predicate
>
predicates
=
ListUtil
.
toList
();
if
(
StrUtil
.
isNotEmpty
(
locationBeaconFindParam
.
getCode
()))
{
predicates
.
add
(
cb
.
like
(
root
.
get
(
LocationBeacon
.
Fields
.
code
),
"%"
+
locationBeaconFindParam
.
getCode
()
+
"%"
)
);
}
Order
order
=
cb
.
desc
(
root
.
get
(
LocationBeacon
.
Fields
.
time
));
return
cq
.
orderBy
(
order
).
where
(
predicates
.
toArray
(
new
Predicate
[
0
])).
getRestriction
();
};
List
<
LocationBeacon
>
locationBeacons
=
locationBeaconRepository
.
findAll
(
specification
);
List
<
LocationBeaconVo
>
locationBeaconVos
=
locationBeacons
.
stream
()
.
map
(
LocationBeaconVo:
:
transform
)
.
collect
(
Collectors
.
toList
());
PageVo
<
LocationBeaconVo
>
pageVo
=
PageVo
.
build
(
locationBeaconVos
,
locationBeaconVos
.
size
());
return
Result
.
ok
(
pageVo
);
}
private
void
modifyLocationBeacon
(
LocationBeacon
locationBeacon
,
LocationBeaconAddParam
locationBeaconAddParam
)
{
locationBeacon
.
setCode
(
locationBeaconAddParam
.
getDeviceId
());
locationBeacon
.
setAreaId
(
locationBeaconAddParam
.
getAreaId
());
...
...
app/src/main/java/com/yiring/app/service/location/tag/LocationTagService.java
浏览文件 @
1e28aae6
...
...
@@ -26,10 +26,10 @@ public interface LocationTagService {
/**
* 分页查询
* @param
locationTagFindP
aram LocationTagFindParam
* @param
p
aram LocationTagFindParam
* @return Result<PageVo<LocationTagVo>>
*/
Result
<
PageVo
<
LocationTagVo
>>
findLocationTagPage
(
LocationTagFindParam
locationTagFindP
aram
,
PageParam
pageParam
);
Result
<
PageVo
<
LocationTagVo
>>
findLocationTagPage
(
LocationTagFindParam
p
aram
,
PageParam
pageParam
);
/**
* 销毁定位标签
...
...
@@ -40,10 +40,10 @@ public interface LocationTagService {
/**
* 导出定位标签
* @param
locationTagExportP
aram 入参
* @param
p
aram 入参
* @param response 响应信息
*/
void
exportLocationTagInfo
(
LocationTag
ExportParam
locationTagExportP
aram
,
HttpServletResponse
response
);
void
exportLocationTagInfo
(
LocationTag
FindParam
p
aram
,
HttpServletResponse
response
);
/**
* 导入定位标签
...
...
@@ -52,13 +52,6 @@ public interface LocationTagService {
*/
Result
<
String
>
importLocationTagInfo
(
MultipartFile
file
);
/* *//**
* 修改定位标签
* @param locationTagModifyParam 入参
* @return Result<String>
*//*
Result<String> modifyLocationTag(LocationTagModifyParam locationTagModifyParam);*/
/**
* 检索标签
* @param indexParam IndexParam
...
...
@@ -68,8 +61,15 @@ public interface LocationTagService {
/**
* 条件查询
* @param
locationTagFindP
aram LocationTagFindParam
* @param
p
aram LocationTagFindParam
* @return Result<PageVo<LocationTagVo>>
*/
Result
<
PageVo
<
LocationTagVo
>>
findLocationTag
(
LocationTagFindParam
locationTagFindParam
);
Result
<
PageVo
<
LocationTagVo
>>
findLocationTag
(
LocationTagFindParam
param
);
/**
* 标签详细信息
* @param param LocationTagFindParam
* @return Result<LocationTagVo>
*/
Result
<
LocationTagVo
>
info
(
LocationTagFindParam
param
);
}
app/src/main/java/com/yiring/app/service/location/tag/impl/LocationTagServiceImpl.java
浏览文件 @
1e28aae6
差异被折叠。
点击展开。
app/src/main/java/com/yiring/app/service/message/impl/PositionMessageServiceImpl.java
浏览文件 @
1e28aae6
...
...
@@ -493,7 +493,7 @@ public class PositionMessageServiceImpl implements PositionMessageService {
if
(
userRepositoryOne
.
isEmpty
())
{
// throw new RuntimeException("没找到该用户");
log
.
error
(
"没找到该用户"
);
log
.
warn
(
"Tag Not Found: {}"
,
"没找到该用户"
);
return
;
}
...
...
@@ -509,10 +509,20 @@ public class PositionMessageServiceImpl implements PositionMessageService {
if
(
keyAlarmRuleOptional
.
isEmpty
())
{
// throw new RuntimeException("该部门未设置报警规则");
log
.
error
(
"该部门未设置报警规则"
);
log
.
warn
(
"Tag Not Found: {}"
,
"该部门未设置报警规则"
);
return
;
}
Optional
<
LocationTag
>
locationTagOptional
=
locationTagRepository
.
findOne
(
Example
.
of
(
LocationTag
.
builder
().
code
(
keyAlarmAddParam
.
getTagId
()).
build
())
);
if
(
locationTagOptional
.
isEmpty
())
{
log
.
warn
(
"Tag Not Found: {}"
,
keyAlarmAddParam
.
getTagId
());
return
;
}
keyAlarm
.
setCode
(
locationTagOptional
.
get
().
getCode
());
final
KeyAlarm
finalKeyAlarm
=
keyAlarmRepository
.
save
(
keyAlarm
);
KeyAlarmRule
keyAlarmRule
=
keyAlarmRuleOptional
.
get
();
...
...
app/src/main/java/com/yiring/app/service/perstatistics/PersonnelStatisticsService.java
0 → 100644
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
service
.
perstatistics
;
import
com.yiring.app.param.perstatistics.PersonnelStatisticsQueryParam
;
import
com.yiring.app.vo.perstatistics.PersonnelStatisticsVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.vo.PageVo
;
import
javax.servlet.http.HttpServletResponse
;
/**
* @author tzl
* @version 1.0
* @description:
* @date 2022/5/15 9:27
*/
public
interface
PersonnelStatisticsService
{
/**
* 分页查询
* @author tzl
* @date 2022/5/15 9:41
* @param personnelStatisticsQueryParam PersonnelStatisticsQueryParam
* @param pageParam PageParam
* @return com.yiring.common.core.Result<com.yiring.common.vo.PageVo<com.yiring.app.vo.perstatistics.PersonnelStatisticsVo>>
*/
Result
<
PageVo
<
PersonnelStatisticsVo
>>
pagePerSta
(
PersonnelStatisticsQueryParam
personnelStatisticsQueryParam
,
PageParam
pageParam
);
/**
* 导出人员统计
* @author tzl
* @date 2022/5/15 9:56
* @param personnelStatisticsQueryParam PersonnelStatisticsQueryParam
* @param response HttpServletResponse
*/
void
export
(
PersonnelStatisticsQueryParam
personnelStatisticsQueryParam
,
HttpServletResponse
response
);
}
app/src/main/java/com/yiring/app/service/perstatistics/impl/PersonnelStatisticsServiceImpl.java
0 → 100644
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
service
.
perstatistics
.
impl
;
import
cn.hutool.core.util.StrUtil
;
import
com.github.liaochong.myexcel.core.DefaultStreamExcelBuilder
;
import
com.yiring.app.domain.perstatistics.PersonnelStatistics
;
import
com.yiring.app.domain.perstatistics.PersonnelStatisticsRepository
;
import
com.yiring.app.excel.perstatistics.PersonnelStatisticsExportExcel
;
import
com.yiring.app.param.perstatistics.PersonnelStatisticsQueryParam
;
import
com.yiring.app.service.perstatistics.PersonnelStatisticsService
;
import
com.yiring.app.vo.perstatistics.PersonnelStatisticsVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.vo.PageVo
;
import
java.io.OutputStream
;
import
java.net.URLEncoder
;
import
java.nio.charset.StandardCharsets
;
import
java.util.ArrayList
;
import
java.util.List
;
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
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
/**
* @author tzl
* @version 1.0
* @description:
* @date 2022/5/15 9:28
*/
@Slf4j
@Transactional
(
rollbackFor
=
RuntimeException
.
class
)
@Service
public
class
PersonnelStatisticsServiceImpl
implements
PersonnelStatisticsService
{
@Resource
PersonnelStatisticsRepository
personnelStatisticsRepository
;
@Override
public
Result
<
PageVo
<
PersonnelStatisticsVo
>>
pagePerSta
(
PersonnelStatisticsQueryParam
personnelStatisticsQueryParam
,
PageParam
pageParam
)
{
//分页
Pageable
pageable
=
PageRequest
.
of
(
pageParam
.
getPageNo
()
-
1
,
pageParam
.
getPageSize
());
Page
<
PersonnelStatistics
>
all
=
personnelStatisticsRepository
.
findAll
(
condition
(
personnelStatisticsQueryParam
),
pageable
);
List
<
PersonnelStatisticsVo
>
data
=
all
.
get
()
.
map
(
personnelStatistics
->
{
PersonnelStatisticsVo
vo
=
new
PersonnelStatisticsVo
();
BeanUtils
.
copyProperties
(
personnelStatistics
,
vo
);
return
vo
;
})
.
collect
(
Collectors
.
toList
());
PageVo
<
PersonnelStatisticsVo
>
resultVo
=
PageVo
.
build
(
data
,
all
.
getTotalElements
());
return
Result
.
ok
(
resultVo
);
}
@Override
public
void
export
(
PersonnelStatisticsQueryParam
personnelStatisticsQueryParam
,
HttpServletResponse
response
)
{
List
<
PersonnelStatistics
>
all
=
personnelStatisticsRepository
.
findAll
(
condition
(
personnelStatisticsQueryParam
));
List
<
PersonnelStatisticsExportExcel
>
visitorExportExcels
=
all
.
stream
()
.
map
(
personnelStatistics
->
{
PersonnelStatisticsExportExcel
personnelStatisticsExportExcel
=
new
PersonnelStatisticsExportExcel
();
BeanUtils
.
copyProperties
(
personnelStatistics
,
personnelStatisticsExportExcel
);
return
personnelStatisticsExportExcel
;
})
.
toList
();
try
(
DefaultStreamExcelBuilder
<
PersonnelStatisticsExportExcel
>
defaultStreamExcelBuilder
=
DefaultStreamExcelBuilder
.
of
(
PersonnelStatisticsExportExcel
.
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
(
"Access-Control-Expose-Headers"
,
"Content-Disposition"
);
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
Specification
<
PersonnelStatistics
>
condition
(
PersonnelStatisticsQueryParam
personnelStatisticsQueryParam
)
{
return
(
root
,
query
,
criteriaBuilder
)
->
{
List
<
Predicate
>
list
=
new
ArrayList
<>();
//查询条件
if
(
StrUtil
.
isNotBlank
(
personnelStatisticsQueryParam
.
getRegion
()))
{
//区域查询
list
.
add
(
criteriaBuilder
.
like
(
root
.
get
(
PersonnelStatistics
.
Fields
.
region
),
"%"
+
personnelStatisticsQueryParam
.
getRegion
()
+
"%"
)
);
}
Order
order
=
criteriaBuilder
.
desc
(
root
.
get
(
PersonnelStatistics
.
Fields
.
updateTime
));
Predicate
[]
predicates
=
new
Predicate
[
list
.
size
()];
query
.
orderBy
(
order
);
query
.
where
(
list
.
toArray
(
predicates
));
return
criteriaBuilder
.
and
(
list
.
toArray
(
predicates
));
};
}
}
app/src/main/java/com/yiring/app/service/post/PostService.java
浏览文件 @
1e28aae6
...
...
@@ -63,10 +63,10 @@ public interface PostService {
/**
* 导出职位信息
* @param p
ostExportParam PostExport
Param
* @param p
aram PostFind
Param
* @param response HttpServletResponse
*/
void
exportPostInfo
(
Post
ExportParam
postExportP
aram
,
HttpServletResponse
response
);
void
exportPostInfo
(
Post
FindParam
p
aram
,
HttpServletResponse
response
);
/**
* 职位检索
...
...
app/src/main/java/com/yiring/app/service/post/impl/PostServiceImpl.java
浏览文件 @
1e28aae6
...
...
@@ -91,26 +91,9 @@ public class PostServiceImpl implements PostService {
@Override
public
Result
<
PageVo
<
PostVo
>>
findPostPage
(
PostFindParam
postFindParam
,
PageParam
pageParam
)
{
Specification
<
Post
>
specification
=
(
root
,
cq
,
cb
)
->
{
List
<
Predicate
>
predicates
=
ListUtil
.
toList
();
if
(
StrUtil
.
isNotEmpty
(
postFindParam
.
getName
()))
{
predicates
.
add
(
cb
.
like
(
root
.
get
(
Post
.
Fields
.
name
),
"%"
+
postFindParam
.
getName
()
+
"%"
));
}
if
(
ObjectUtil
.
isNotEmpty
(
postFindParam
.
getEnable
()))
{
predicates
.
add
(
cb
.
equal
(
root
.
get
(
Post
.
Fields
.
enable
),
postFindParam
.
getEnable
()));
}
Order
order
=
cb
.
desc
(
root
.
get
(
BasicEntity
.
Fields
.
createTime
));
return
cq
.
orderBy
(
order
).
where
(
predicates
.
toArray
(
new
Predicate
[
0
])).
getRestriction
();
};
// 分页
Pageable
pageable
=
PageRequest
.
of
(
pageParam
.
getPageNo
()
-
1
,
pageParam
.
getPageSize
());
Page
<
Post
>
page
=
postRepository
.
findAll
(
specification
,
pageable
);
List
<
PostVo
>
postVos
=
page
.
getContent
().
stream
().
map
(
PostVo:
:
transform
).
collect
(
Collectors
.
toList
());
Page
<
Post
>
page
=
postRepository
.
findAll
(
condition
(
postFindParam
)
,
pageable
);
List
<
PostVo
>
postVos
=
page
.
stream
().
map
(
PostVo:
:
transform
).
collect
(
Collectors
.
toList
());
PageVo
<
PostVo
>
pageVo
=
PageVo
.
build
(
postVos
,
page
.
getTotalElements
());
return
Result
.
ok
(
pageVo
);
}
...
...
@@ -129,24 +112,8 @@ public class PostServiceImpl implements PostService {
}
@Override
public
void
exportPostInfo
(
PostExportParam
postExportParam
,
HttpServletResponse
response
)
{
Specification
<
Post
>
specification
=
(
root
,
cq
,
cb
)
->
{
List
<
Predicate
>
predicates
=
ListUtil
.
toList
();
if
(
StrUtil
.
isNotEmpty
(
postExportParam
.
getName
()))
{
predicates
.
add
(
cb
.
like
(
root
.
get
(
Post
.
Fields
.
name
),
"%"
+
postExportParam
.
getName
()
+
"%"
));
}
if
(
ObjectUtil
.
isNotEmpty
(
postExportParam
.
getEnable
()))
{
predicates
.
add
(
cb
.
equal
(
root
.
get
(
Post
.
Fields
.
enable
),
postExportParam
.
getEnable
()));
}
Order
order
=
cb
.
desc
(
root
.
get
(
BasicEntity
.
Fields
.
createTime
));
return
cq
.
orderBy
(
order
).
where
(
predicates
.
toArray
(
new
Predicate
[
0
])).
getRestriction
();
};
List
<
Post
>
postList
=
postRepository
.
findAll
(
specification
);
public
void
exportPostInfo
(
PostFindParam
param
,
HttpServletResponse
response
)
{
List
<
Post
>
postList
=
postRepository
.
findAll
(
condition
(
param
));
List
<
PostExportExcel
>
postExcels
=
postList
.
stream
()
.
map
(
PostExportExcel:
:
transform
)
...
...
@@ -180,7 +147,7 @@ public class PostServiceImpl implements PostService {
out
.
close
();
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
throw
new
RuntimeException
(
"导出
岗
位信息失败: "
+
e
.
getMessage
());
throw
new
RuntimeException
(
"导出
职
位信息失败: "
+
e
.
getMessage
());
}
}
...
...
@@ -202,4 +169,22 @@ public class PostServiceImpl implements PostService {
PageVo
<
PostIndexVo
>
pageVo
=
PageVo
.
build
(
postIndexVos
,
postIndexVos
.
size
());
return
Result
.
ok
(
pageVo
);
}
public
Specification
<
Post
>
condition
(
PostFindParam
param
)
{
return
(
root
,
cq
,
cb
)
->
{
List
<
Predicate
>
predicates
=
ListUtil
.
toList
();
if
(
StrUtil
.
isNotEmpty
(
param
.
getName
()))
{
predicates
.
add
(
cb
.
like
(
root
.
get
(
Post
.
Fields
.
name
),
"%"
+
param
.
getName
()
+
"%"
));
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getEnable
()))
{
predicates
.
add
(
cb
.
equal
(
root
.
get
(
Post
.
Fields
.
enable
),
param
.
getEnable
()));
}
Order
order
=
cb
.
desc
(
root
.
get
(
BasicEntity
.
Fields
.
createTime
));
return
cq
.
orderBy
(
order
).
where
(
predicates
.
toArray
(
new
Predicate
[
0
])).
getRestriction
();
};
}
}
app/src/main/java/com/yiring/app/service/user/impl/UserAppServiceImpl.java
浏览文件 @
1e28aae6
...
...
@@ -143,7 +143,7 @@ public class UserAppServiceImpl implements UserAppService {
user
.
getLinkId
(),
userBingTagParam
.
getCode
(),
FACTORY_ID
,
ZyUtil
.
manage
Login
()
ZyUtil
.
client
Login
()
);
if
(!
ObjectUtil
.
equals
(
jsonObject
.
get
(
"code"
),
200
))
{
throw
new
RuntimeException
(
StrUtil
.
toString
(
jsonObject
.
get
(
"msg"
)));
...
...
@@ -400,8 +400,7 @@ public class UserAppServiceImpl implements UserAppService {
postOptional
.
ifPresent
(
user:
:
setPost
);
}
user
.
setLinkId
(
Convert
.
toLong
(
id
));
userRepository
.
save
(
user
);
userRepository
.
saveAndFlush
(
user
);
return
Result
.
ok
();
}
...
...
app/src/main/java/com/yiring/app/service/visitor/CarService.java
浏览文件 @
1e28aae6
...
...
@@ -2,10 +2,12 @@
package
com
.
yiring
.
app
.
service
.
visitor
;
import
com.yiring.app.domain.visitor.Car
;
import
com.yiring.app.param.visitor.CarParam
;
import
com.yiring.app.param.visitor.CarQueryParam
;
import
com.yiring.app.vo.visitor.CarVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.param.IndexParam
;
import
com.yiring.common.vo.PageVo
;
import
javax.servlet.http.HttpServletResponse
;
import
org.springframework.data.jpa.domain.Specification
;
...
...
@@ -18,10 +20,10 @@ public interface CarService {
/**
* 添加车辆来访信息
*
* @param car
Car
* @param car
Param CarParam
* @return 车辆来访信息id
*/
Result
<
Long
>
saveCarInfo
(
Car
car
);
Result
<
CarVo
>
saveCarInfo
(
CarParam
carParam
);
/**
* 修改车辆来访信息
...
...
@@ -59,10 +61,10 @@ public interface CarService {
/**
* 查询车辆来访信息详情
*
* @param i
dParam Id
Param
* @param i
ndexParam Index
Param
* @return 车辆来访信息
*/
Result
<
CarVo
>
getCarInfo
(
I
dParam
id
Param
);
Result
<
CarVo
>
getCarInfo
(
I
ndexParam
index
Param
);
/**
* 查询车辆来访信息(分页)
...
...
app/src/main/java/com/yiring/app/service/visitor/InvitationService.java
deleted
100644 → 0
浏览文件 @
e358cfcb
/* (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.InvitationDetailsVo
;
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
* @date 2022/4/24 16:57
*/
public
interface
InvitationService
{
/**
* 发起邀请
* @param invitationParam 新增邀请入参
* @return 是否成功
*/
Result
<
String
>
saveInv
(
InvitationParam
invitationParam
);
/**
* 修改邀请
* @date 2022/4/24 17:50
* @return com.yiring.common.core.Result<java.lang.String>
*/
Result
<
String
>
updateInv
(
InvitationParam
invitationParam
,
IdParam
idParam
);
/**
* 删除邀请
* @date 2022/4/24 17:52
* @return com.yiring.common.core.Result<java.lang.String>
*/
Result
<
String
>
deleteInv
(
IdParam
idParam
);
/**
* 分页
* @date 2022/4/24 17:56
* @return com.yiring.common.core.Result<com.yiring.common.vo.PageVo<java.lang.String>>
*/
Result
<
PageVo
<
InvitationDetailsVo
>>
pageInv
(
InvitationQueryParam
invitationQueryParam
);
/**
* 撤回邀请
* @author tzl
* @date 2022/4/25 11:30
* @param idParam 主键id
* @return com.yiring.common.core.Result<java.lang.String>
*/
Result
<
String
>
recallInv
(
IdParam
idParam
);
/**
* 发送邀请
* @author tzl
* @date 2022/4/25 11:31
* @param idParam 主键id
* @return com.yiring.common.core.Result<java.lang.String>
*/
Result
<
String
>
sendInv
(
IdParam
idParam
);
/**
* 导出邀请信息
* @author tzl
* @date 2022/4/25 11:34
* @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
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
service
.
visitor
;
import
com.yiring.app.param.visitor.VisitorAppQueryParam
;
import
com.yiring.app.param.visitor.VisitorParam
;
import
com.yiring.app.param.visitor.VisitorQueryParam
;
import
com.yiring.app.vo.visitor.VisitorAppVo
;
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.I
d
Param
;
import
com.yiring.common.param.I
ndex
Param
;
import
com.yiring.common.vo.PageVo
;
import
javax.servlet.http.HttpServletResponse
;
...
...
@@ -22,7 +20,7 @@ public interface VisitorService {
* @param visitorParam 新增访客入参
* @return 是否成功
*/
Result
<
String
>
saveVisitor
(
VisitorParam
visitorParam
);
Result
<
VisitorDetailsVo
>
saveVisitor
(
VisitorParam
visitorParam
);
// /**
// * 访客删除
...
...
@@ -37,14 +35,14 @@ public interface VisitorService {
* @param idParam 修改访客的主键id
* @return 是否成功
*/
Result
<
String
>
updateVisitor
(
VisitorParam
visitorParam
,
IdParam
idParam
);
//
Result<String> updateVisitor(VisitorParam visitorParam, IdParam idParam);
/**
* 查询访客详情
* @param i
d
Param 主键id
* @param i
ndex
Param 主键id
* @return 访客信息
*/
Result
<
VisitorDetailsVo
>
selectVisitor
(
I
dParam
id
Param
);
Result
<
VisitorDetailsVo
>
selectVisitor
(
I
ndexParam
index
Param
);
/**
* 分页查询
...
...
@@ -59,28 +57,27 @@ public interface VisitorService {
* @param response HttpServletResponse
*/
void
exportVisitor
(
VisitorQueryParam
visitorQueryParam
,
HttpServletResponse
response
);
// /**
// * 发卡
// * @param labelCard 标签卡号
// * @param idParam 主键id
// * @return 是否成功
// */
// Result<String> cardSend(String labelCard, IdParam idParam);
//
// /**
// * 收卡
// * @param idParam 主键id
// * @return 是否成功
// */
// Result<String> cardRec(IdParam idParam);
/**
* 发卡
* @param labelCard 标签卡号
* @param idParam 主键id
* @return 是否成功
*/
Result
<
String
>
cardSend
(
String
labelCard
,
IdParam
idParam
);
/**
* 收卡
* @param idParam 主键id
* @return 是否成功
*/
Result
<
String
>
cardRec
(
IdParam
idParam
);
/**
* 小程序查看来访记录
* @author tzl
* @date 2022/4/29 15:03
* @param visitorAppQueryParam 入参
* @return com.yiring.common.core.Result<com.yiring.app.vo.visitor.VisitorVo>
*/
Result
<
PageVo
<
VisitorAppVo
>>
selectInfo
(
VisitorAppQueryParam
visitorAppQueryParam
);
// /**
// * 小程序查看来访记录
// * @author tzl
// * @date 2022/4/29 15:03
// * @param visitorAppQueryParam 入参
// * @return com.yiring.common.core.Result<com.yiring.app.vo.visitor.VisitorVo>
// */
// Result<PageVo<VisitorAppVo>> selectInfo(VisitorAppQueryParam visitorAppQueryParam);
}
app/src/main/java/com/yiring/app/service/visitor/impl/CarServiceImpl.java
浏览文件 @
1e28aae6
...
...
@@ -3,16 +3,19 @@ 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.location.LocationTag
;
import
com.yiring.app.domain.location.LocationTagRepository
;
import
com.yiring.app.domain.visitor.Car
;
import
com.yiring.app.domain.visitor.CarRepository
;
import
com.yiring.app.excel.visitor.CarExportExcel
;
import
com.yiring.app.param.visitor.CarParam
;
import
com.yiring.app.param.visitor.CarQueryParam
;
import
com.yiring.app.service.visitor.CarService
;
import
com.yiring.app.vo.visitor.CarVo
;
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.IndexParam
;
import
com.yiring.common.vo.PageVo
;
import
java.io.OutputStream
;
import
java.net.URLEncoder
;
...
...
@@ -47,22 +50,26 @@ public class CarServiceImpl implements CarService {
@Resource
CarRepository
carRepository
;
@Resource
LocationTagRepository
locationTagRepository
;
@Override
public
Result
<
Long
>
saveCarInfo
(
Car
car
)
{
public
Result
<
CarVo
>
saveCarInfo
(
CarParam
carParam
)
{
// 检查车牌号车辆是否已经在园内
if
(
carRepository
.
hasCarInfoByCarNum
(
car
.
getCarNum
())
>
0
)
{
return
Result
.
no
(
Status
.
BAD_REQUEST
,
"
您的车牌号已存在
"
);
if
(
carRepository
.
hasCarInfoByCarNum
(
car
Param
.
getCarNum
())
>
0
)
{
return
Result
.
no
(
Status
.
BAD_REQUEST
,
"
车辆已在园区内
"
);
}
// Car car = Car
// .builder()
// .carNum(carParam.getCarNum())
// .carType(carParam.getCarType())
// .labelCard(carParam.getLabelCard())
// .createTime(LocalDateTime.now())
// // .visitorId(carParam.getVisitorId())
// .build();
Car
carReuslt
=
carRepository
.
saveAndFlush
(
car
);
return
Result
.
ok
(
carReuslt
.
getId
());
Car
car
=
Car
.
builder
().
cardSendTime
(
LocalDateTime
.
now
()).
createTime
(
LocalDateTime
.
now
()).
build
();
BeanUtils
.
copyProperties
(
carParam
,
car
);
LocationTag
byCode
=
locationTagRepository
.
findByCode
(
carParam
.
getLabelCard
());
//添加一条车辆信息
Car
carResult
=
carRepository
.
saveAndFlush
(
car
);
byCode
.
setCar
(
carResult
);
//绑定标签和车辆的关系
locationTagRepository
.
saveAndFlush
(
byCode
);
CarVo
carVo
=
new
CarVo
();
BeanUtils
.
copyProperties
(
carResult
,
carVo
);
return
Result
.
ok
(
carVo
);
}
@Override
...
...
@@ -120,15 +127,13 @@ public class CarServiceImpl implements CarService {
}
@Override
public
Result
<
CarVo
>
getCarInfo
(
I
dParam
id
Param
)
{
Optional
<
Car
>
optional
=
carRepository
.
findById
(
idParam
.
getId
());
if
(
optional
.
isEmpty
()
)
{
public
Result
<
CarVo
>
getCarInfo
(
I
ndexParam
index
Param
)
{
Car
byLabelCard
=
carRepository
.
findByLabelCard
(
indexParam
.
getStr
());
if
(
byLabelCard
==
null
)
{
return
Result
.
no
(
Status
.
NOT_FOUND
);
}
Car
entity
=
optional
.
get
();
CarVo
vo
=
new
CarVo
();
BeanUtils
.
copyProperties
(
entity
,
vo
,
Role
.
Fields
.
permissions
);
BeanUtils
.
copyProperties
(
byLabelCard
,
vo
);
return
Result
.
ok
(
vo
);
}
...
...
app/src/main/java/com/yiring/app/service/visitor/impl/InvitationServiceImpl.java
deleted
100644 → 0
浏览文件 @
e358cfcb
差异被折叠。
点击展开。
app/src/main/java/com/yiring/app/service/visitor/impl/VisitorServiceImpl.java
浏览文件 @
1e28aae6
差异被折叠。
点击展开。
app/src/main/java/com/yiring/app/util/ExportUtils.java
0 → 100644
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
util
;
/**
* 部门信息控制器
*
* @author LJ-2204
* @date 2022/5/16
*/
public
class
ExportUtils
<
T
>
{}
app/src/main/java/com/yiring/app/vo/icon/IconVo.java
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
vo
.
icon
;
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.Serial
;
import
java.io.Serializable
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
/**
* @author tzl
...
...
@@ -10,8 +16,33 @@ import java.io.Serializable;
* @description:
* @date 2022/5/5 15:10
*/
@ApiModel
(
"IconVo"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
IconVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
2334297671118394950L
;
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@ApiModelProperty
(
value
=
"编号"
)
Long
id
;
@ApiModelProperty
(
value
=
"图标名称"
)
String
iconName
;
@ApiModelProperty
(
value
=
"图标类型"
)
String
iconType
;
@ApiModelProperty
(
value
=
"图标分类"
)
String
iconSort
;
@ApiModelProperty
(
value
=
"在线图标"
)
String
iconOnline
;
@ApiModelProperty
(
value
=
"离线图标"
)
String
iconOffline
;
}
app/src/main/java/com/yiring/app/vo/key/KeyAlarmVo.java
浏览文件 @
1e28aae6
...
...
@@ -50,6 +50,9 @@ public class KeyAlarmVo implements Serializable {
@ApiModelProperty
(
value
=
"报警类型"
,
example
=
"按键报警"
)
String
type
;
@ApiModelProperty
(
value
=
"通知方式"
,
example
=
"APP,SMS"
)
String
[]
types
;
@ApiModelProperty
(
value
=
"报警接收人"
,
example
=
"张三、李四"
)
String
receiver
;
...
...
app/src/main/java/com/yiring/app/vo/location/tag/LocationTagVo.java
浏览文件 @
1e28aae6
...
...
@@ -4,6 +4,8 @@ package com.yiring.app.vo.location.tag;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
com.yiring.app.domain.location.LocationTag
;
import
com.yiring.app.vo.user.UserVo
;
import
com.yiring.app.vo.visitor.CarVo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
...
...
@@ -51,6 +53,12 @@ public class LocationTagVo implements Serializable {
@ApiModelProperty
(
value
=
"最近更新时间"
,
example
=
"2022-01-01 00:00:00"
)
LocalDateTime
updateTime
;
@ApiModelProperty
(
value
=
"用户"
,
example
=
"userVo"
)
UserVo
userVo
;
@ApiModelProperty
(
value
=
"车辆"
,
example
=
"carVo"
)
CarVo
carVo
;
public
static
LocationTagVo
transform
(
LocationTag
locationTag
)
{
return
LocationTagVo
.
builder
()
...
...
app/src/main/java/com/yiring/app/vo/perstatistics/PersonnelStatisticsVo.java
0 → 100644
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
vo
.
perstatistics
;
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/5/15 9:15
*/
@ApiModel
(
"PersonnelStatisticsVo"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
PersonnelStatisticsVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
-
5973651085056867803L
;
@ApiModelProperty
(
value
=
"主键id"
,
example
=
"1"
)
Long
id
;
@ApiModelProperty
(
value
=
"区域"
,
example
=
"化工区"
)
String
region
;
@ApiModelProperty
(
value
=
"入场人数"
,
example
=
"10"
)
String
admissionNumber
;
@ApiModelProperty
(
value
=
"出场人数"
,
example
=
"5"
)
String
attendance
;
}
app/src/main/java/com/yiring/app/vo/visitor/CarVo.java
浏览文件 @
1e28aae6
/* (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.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
import
org.hibernate.annotations.Comment
;
/**
* @author tzl
...
...
@@ -35,52 +38,33 @@ public class CarVo implements Serializable {
@ApiModelProperty
(
value
=
"车辆类型"
,
example
=
"1"
)
String
carType
;
/**
* 车辆类型翻译
*/
// @ApiModelProperty(value = "车辆类型(字典翻译)", example = "货车")
// String carTypeName;
// public String getCarTypeName() {
// if (StrUtil.isNotBlank(carType)) {
// return DictUtils.getDictLabel("car_type", carType);
// }
// return null;
// }
@ApiModelProperty
(
value
=
"标签卡"
,
example
=
"DT8875666"
)
String
labelCard
;
// /**
// * 车辆类型翻译
// */
// @ApiModelProperty(value = "标签卡状态", example = "未发卡")
// String labelCardStatusName;
// public String getLabelCardStatusName() {
// if (StrUtil.isNotBlank(carType)) {
// return DictUtils.getDictLabel("car_label_status", labelCardStatus);
// }
// return null;
// }
@Comment
(
"司机名称"
)
@ApiModelProperty
(
value
=
"司机名称"
,
example
=
"张三"
)
String
driverName
;
// @ApiModelProperty(value = "单位id", example = "湖南壹润科技")
// String orgId;
//
// @ApiModelProperty(value = "被访人id", example = "1")
// String intervieweeId;
//
// @ApiModelProperty(value = "来访原因", example = "装货")
// String reason;
//
// @ApiModelProperty(value = "收卡时间", example = "2022-04-11 17:25:33")
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// LocalDateTime cardRecTime;
@Comment
(
"司机电话"
)
@ApiModelProperty
(
value
=
"司机电话"
,
example
=
"17674741309"
)
String
mobile
;
@Comment
(
"所属公司"
)
@ApiModelProperty
(
value
=
"所属公司"
,
example
=
"壹润科技"
)
String
orgId
;
@ApiModelProperty
(
value
=
"被访人电话"
,
example
=
"17674741309"
)
String
intervieweeMobile
;
@Comment
(
"被访人姓名"
)
@ApiModelProperty
(
value
=
"被访人姓名"
,
example
=
"李四"
)
String
intervieweeName
;
// @ApiModelProperty(value = "创建时间", example = "2022-04-11 17:25:33")
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// LocalDateTime createTime;
//
// @ApiModelProperty(value = "发卡时间", example = "2022-04-11 17:25:33")
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// LocalDateTime cardSendTime;
@ApiModelProperty
(
value
=
"来访原因"
,
example
=
"装货"
)
String
reason
;
@ApiModelProperty
(
value
=
"发卡时间"
,
example
=
"2022-04-11 17:25:33"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
LocalDateTime
cardSendTime
;
}
app/src/main/java/com/yiring/app/vo/visitor/VisitorDetailsVo.java
浏览文件 @
1e28aae6
/* (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
com.yiring.app.domain.visitor.Car
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.
util.List
;
import
java.
time.LocalDateTime
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
...
...
@@ -47,103 +47,25 @@ public class VisitorDetailsVo implements Serializable {
@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")
// Long intervieweeId;
@ApiModelProperty
(
value
=
"被访人姓名"
,
example
=
"李四"
)
String
intervieweeName
;
@ApiModelProperty
(
value
=
"被访人电话"
,
example
=
"李四"
)
String
intervieweeMobile
;
@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;
@ApiModelProperty
(
value
=
"车辆反参"
)
Car
car
;
UserVo
userVo
;
@ApiModelProperty
(
value
=
"主访人id"
)
Long
mainVisitorId
;
List
<
VisitorResultVo
>
list
;
@ApiModel
(
"VisitorResultVo"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
static
class
VisitorResultVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
4115779013003587949L
;
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@ApiModelProperty
(
value
=
"id"
,
example
=
"1"
)
Long
id
;
@ApiModelProperty
(
value
=
"到访人姓名"
,
example
=
"张三"
)
String
visitorName
;
@ApiModelProperty
(
value
=
"到访人电话"
,
example
=
"17688888888"
)
String
visitorMobile
;
@ApiModelProperty
(
value
=
"主访人id"
)
Long
mainVisitorId
;
}
@ApiModel
(
"UserVo"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
static
class
UserVo
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
=
"17688888888"
)
String
mobile
;
@ApiModelProperty
(
value
=
"被访人部门"
)
String
deptName
;
}
@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/key/KeyAlarmController.java
浏览文件 @
1e28aae6
...
...
@@ -39,8 +39,14 @@ public class KeyAlarmController {
return
keyAlarmService
.
page
(
param
,
pageParam
);
}
@ApiOperation
(
"条件查询"
)
@GetMapping
(
"find"
)
public
Result
<
PageVo
<
KeyAlarmVo
>>
find
(
KeyAlarmFindParam
param
)
{
return
keyAlarmService
.
find
(
param
);
}
@ApiOperation
(
"导出"
)
@GetMapping
@GetMapping
(
"export"
)
public
void
export
(
KeyAlarmFindParam
param
,
HttpServletResponse
response
)
{
keyAlarmService
.
export
(
param
,
response
);
}
...
...
app/src/main/java/com/yiring/app/web/location/beacon/LocationBeaconController.java
浏览文件 @
1e28aae6
...
...
@@ -59,4 +59,10 @@ public class LocationBeaconController {
)
{
locationBeaconService
.
exportLocationBeacon
(
locationBeaconExportParam
,
response
);
}
@ApiOperation
(
"条件查询"
)
@GetMapping
(
"find"
)
public
Result
<
PageVo
<
LocationBeaconVo
>>
find
(
@Valid
LocationBeaconFindParam
locationBeaconFindParam
)
{
return
locationBeaconService
.
find
(
locationBeaconFindParam
);
}
}
app/src/main/java/com/yiring/app/web/location/tag/LocationTagController.java
浏览文件 @
1e28aae6
...
...
@@ -43,16 +43,16 @@ public class LocationTagController {
@ApiOperation
(
"分页查询"
)
@GetMapping
(
"findLocationTagPage"
)
public
Result
<
PageVo
<
LocationTagVo
>>
findLocationTagPage
(
@Valid
LocationTagFindParam
locationTagFindP
aram
,
@Valid
LocationTagFindParam
p
aram
,
@Valid
PageParam
pageParam
)
{
return
locationTagService
.
findLocationTagPage
(
locationTagFindP
aram
,
pageParam
);
return
locationTagService
.
findLocationTagPage
(
p
aram
,
pageParam
);
}
@ApiOperation
(
"条件查询"
)
@GetMapping
(
"findLocationTag"
)
public
Result
<
PageVo
<
LocationTagVo
>>
findLocationTag
(
@Valid
LocationTagFindParam
locationTagFindP
aram
)
{
return
locationTagService
.
findLocationTag
(
locationTagFindP
aram
);
public
Result
<
PageVo
<
LocationTagVo
>>
findLocationTag
(
@Valid
LocationTagFindParam
p
aram
)
{
return
locationTagService
.
findLocationTag
(
p
aram
);
}
@ApiOperation
(
"销毁定位标签"
)
...
...
@@ -63,11 +63,8 @@ public class LocationTagController {
@ApiOperation
(
"导出定位标签"
)
@GetMapping
(
"exportLocationTagInfo"
)
public
void
exportLocationTagInfo
(
@Valid
LocationTagExportParam
locationTagExportParam
,
HttpServletResponse
response
)
{
locationTagService
.
exportLocationTagInfo
(
locationTagExportParam
,
response
);
public
void
exportLocationTagInfo
(
@Valid
LocationTagFindParam
param
,
HttpServletResponse
response
)
{
locationTagService
.
exportLocationTagInfo
(
param
,
response
);
}
@ApiOperation
(
"导入定位标签"
)
...
...
@@ -76,15 +73,15 @@ public class LocationTagController {
return
locationTagService
.
importLocationTagInfo
(
file
);
}
/* @ApiOperation("修改定位标签")
@PutMapping("modifyLocationTag")
public Result<String> modifyLocationTag(@Valid LocationTagModifyParam locationTagModifyParam) {
return locationTagService.modifyLocationTag(locationTagModifyParam);
}*/
@ApiOperation
(
"标签检索"
)
@GetMapping
(
"indexLocationTag"
)
public
Result
<
PageVo
<
LocationTagIndexVo
>>
indexLocationTag
(
@Valid
IndexParam
indexParam
)
{
return
locationTagService
.
indexLocationTag
(
indexParam
);
}
@ApiOperation
(
"标签详细信息"
)
@GetMapping
(
"info"
)
public
Result
<
LocationTagVo
>
info
(
@Valid
LocationTagFindParam
param
)
{
return
locationTagService
.
info
(
param
);
}
}
app/src/main/java/com/yiring/app/web/perstatistics/PersonnelStatisticsController.java
0 → 100644
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
web
.
perstatistics
;
import
com.yiring.app.param.perstatistics.PersonnelStatisticsQueryParam
;
import
com.yiring.app.service.perstatistics.PersonnelStatisticsService
;
import
com.yiring.app.vo.perstatistics.PersonnelStatisticsVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.PageParam
;
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
* @version 1.0
* @description:
* @date 2022/5/15 9:49
*/
@Slf4j
@Validated
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"人员统计"
,
description
=
"PersonnelStatistics"
)
@RestController
@RequestMapping
(
"/personnelStatistics/"
)
public
class
PersonnelStatisticsController
{
@Resource
PersonnelStatisticsService
personnelStatisticsService
;
@ApiOperation
(
value
=
"分页查询人员统计"
)
@GetMapping
(
"pagePerSta"
)
public
Result
<
PageVo
<
PersonnelStatisticsVo
>>
pagePerSta
(
@Valid
PersonnelStatisticsQueryParam
personnelStatisticsQueryParam
,
@Valid
PageParam
pageParam
)
{
return
personnelStatisticsService
.
pagePerSta
(
personnelStatisticsQueryParam
,
pageParam
);
}
@ApiOperation
(
value
=
"导出"
,
produces
=
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
)
@PostMapping
(
"export"
)
public
void
exportVideo
(
HttpServletResponse
response
,
@Valid
PersonnelStatisticsQueryParam
personnelStatisticsQueryParam
)
{
personnelStatisticsService
.
export
(
personnelStatisticsQueryParam
,
response
);
}
}
app/src/main/java/com/yiring/app/web/post/PostController.java
浏览文件 @
1e28aae6
...
...
@@ -2,7 +2,6 @@
package
com
.
yiring
.
app
.
web
.
post
;
import
com.yiring.app.param.post.PostAddParam
;
import
com.yiring.app.param.post.PostExportParam
;
import
com.yiring.app.param.post.PostFindParam
;
import
com.yiring.app.param.post.PostModifyParam
;
import
com.yiring.app.service.post.PostService
;
...
...
@@ -19,6 +18,7 @@ import io.swagger.annotations.ApiOperation;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.Valid
;
import
org.springframework.http.MediaType
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -68,10 +68,10 @@ public class PostController {
return
postService
.
findPostById
(
idParam
);
}
@ApiOperation
(
value
=
"导出职位信息"
)
@ApiOperation
(
value
=
"导出职位信息"
,
produces
=
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
)
@GetMapping
(
"exportPostInfo"
)
public
void
exportPostInfo
(
@Valid
Post
ExportParam
postExportP
aram
,
HttpServletResponse
response
)
{
postService
.
exportPostInfo
(
p
ostExportP
aram
,
response
);
public
void
exportPostInfo
(
@Valid
Post
FindParam
p
aram
,
HttpServletResponse
response
)
{
postService
.
exportPostInfo
(
param
,
response
);
}
@ApiOperation
(
value
=
"职位检索"
)
...
...
app/src/main/java/com/yiring/app/web/visitor/CarController.java
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
web
.
visitor
;
import
com.yiring.app.param.visitor.CarParam
;
import
com.yiring.app.param.visitor.CarQueryParam
;
import
com.yiring.app.service.visitor.CarService
;
import
com.yiring.app.vo.visitor.CarVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.param.IndexParam
;
import
com.yiring.common.vo.PageVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
...
...
@@ -38,11 +40,11 @@ public class CarController {
@Resource
CarService
carService
;
//
@ApiOperation(value = "新增车辆来访信息")
//
@PostMapping("saveCarInfo")
// public Result<Long
> saveCarInfo(@Valid CarParam carParam) {
//
return carService.saveCarInfo(carParam);
//
}
@ApiOperation
(
value
=
"新增车辆来访信息"
)
@PostMapping
(
"saveCarInfo"
)
public
Result
<
CarVo
>
saveCarInfo
(
@Valid
CarParam
carParam
)
{
return
carService
.
saveCarInfo
(
carParam
);
}
// @ApiOperation(value = "修改车辆来访信息")
// @PostMapping("updateCarInfo")
...
...
@@ -69,11 +71,11 @@ public class CarController {
// return carService.deleteCarInfo(idParam);
// }
//
@ApiOperation(value = "查看车辆来访信息详情")
//
@GetMapping("getCarInfo")
// public Result<CarVo> getCarInfo(@Valid IdParam id
Param) {
// return carService.getCarInfo(id
Param);
//
}
@ApiOperation
(
value
=
"查看车辆来访信息详情"
)
@GetMapping
(
"getCarInfo"
)
public
Result
<
CarVo
>
getCarInfo
(
@Valid
IndexParam
index
Param
)
{
return
carService
.
getCarInfo
(
index
Param
);
}
@ApiOperation
(
value
=
"查看车辆来访信息(分页)"
)
@GetMapping
(
"pageCarInfo"
)
...
...
app/src/main/java/com/yiring/app/web/visitor/InvitationController.java
deleted
100644 → 0
浏览文件 @
e358cfcb
/* (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.InvitationDetailsVo
;
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
* @version 1.0
* @description:
* @date 2022/4/25 11:35
*/
@Slf4j
@Validated
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"邀请"
,
description
=
"Invitation"
)
@RestController
@RequestMapping
(
"/invitation/"
)
public
class
InvitationController
{
@Resource
InvitationService
invitationService
;
@ApiOperation
(
value
=
"新增邀请信息"
)
@PostMapping
(
"saveInv"
)
public
Result
<
String
>
saveInv
(
@Valid
InvitationParam
invitationParam
)
{
return
invitationService
.
saveInv
(
invitationParam
);
}
@ApiOperation
(
value
=
"修改邀请信息"
)
@PostMapping
(
"updateInv"
)
public
Result
<
String
>
updateInv
(
@Valid
InvitationParam
invitationParam
,
@Valid
IdParam
idParam
)
{
return
invitationService
.
updateInv
(
invitationParam
,
idParam
);
}
@ApiOperation
(
value
=
"撤回"
)
@PostMapping
(
"recallInv"
)
public
Result
<
String
>
recallInv
(
@Valid
IdParam
idParam
)
{
return
invitationService
.
recallInv
(
idParam
);
}
@ApiOperation
(
value
=
"发起邀请"
)
@PostMapping
(
"sendInv"
)
public
Result
<
String
>
sendInv
(
@Valid
IdParam
idParam
)
{
return
invitationService
.
sendInv
(
idParam
);
}
@ApiOperation
(
value
=
"删除邀请"
)
@PostMapping
(
"deleteInv"
)
public
Result
<
String
>
deleteInv
(
@Valid
IdParam
idParam
)
{
return
invitationService
.
deleteInv
(
idParam
);
}
@ApiOperation
(
value
=
"查看邀请信息(分页)"
)
@GetMapping
(
"pageInv"
)
public
Result
<
PageVo
<
InvitationDetailsVo
>>
pageInv
(
@Valid
InvitationQueryParam
invitationQueryParam
)
{
return
invitationService
.
pageInv
(
invitationQueryParam
);
}
@ApiOperation
(
value
=
"导出邀请信息"
,
produces
=
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
)
@PostMapping
(
"exportInv"
)
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
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
web
.
visitor
;
import
com.yiring.app.param.visitor.VisitorAppQueryParam
;
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.VisitorAppVo
;
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.I
d
Param
;
import
com.yiring.common.param.I
ndex
Param
;
import
com.yiring.common.vo.PageVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiOperation
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
...
...
@@ -42,39 +39,14 @@ public class VisitorController {
@ApiOperation
(
value
=
"新增访客信息"
)
@PostMapping
(
"saveVisitor"
)
public
Result
<
String
>
saveVisitor
(
@Valid
VisitorParam
visitorParam
)
{
public
Result
<
VisitorDetailsVo
>
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
<
String
>
cardRec
(
@Valid
IdParam
idParam
)
{
return
visitorService
.
cardRec
(
idParam
);
}
@ApiOperation
(
value
=
"发卡"
)
@ApiImplicitParam
(
value
=
"标签卡"
,
example
=
"DW8544568"
,
required
=
true
,
name
=
"labelCard"
)
@PostMapping
(
"cardSend"
)
public
Result
<
String
>
cardSend
(
@Valid
IdParam
idParam
,
String
labelCard
)
{
return
visitorService
.
cardSend
(
labelCard
,
idParam
);
}
// @ApiOperation(value = "删除访客信息")
// @PostMapping("deleteVisitor")
// public Result<String> deleteVisitor(@Valid IdParam idParam) {
// return visitorService.deleteVisitor(idParam);
// }
@ApiOperation
(
value
=
"查看访客信息详情"
)
@GetMapping
(
"selectVisitor"
)
public
Result
<
VisitorDetailsVo
>
selectVisitor
(
@Valid
I
dParam
id
Param
)
{
return
visitorService
.
selectVisitor
(
i
d
Param
);
public
Result
<
VisitorDetailsVo
>
selectVisitor
(
@Valid
I
ndexParam
index
Param
)
{
return
visitorService
.
selectVisitor
(
i
ndex
Param
);
}
@ApiOperation
(
value
=
"查看访客信息(分页)"
)
...
...
@@ -88,10 +60,4 @@ public class VisitorController {
public
void
exportVisitor
(
HttpServletResponse
response
,
@Valid
VisitorQueryParam
visitorQueryParam
)
{
visitorService
.
exportVisitor
(
visitorQueryParam
,
response
);
}
@ApiOperation
(
value
=
"小程序查看来访历史(分页)"
)
@GetMapping
(
"selectInfo"
)
public
Result
<
PageVo
<
VisitorAppVo
>>
selectInfo
(
@Valid
VisitorAppQueryParam
visitorAppQueryParam
)
{
return
visitorService
.
selectInfo
(
visitorAppQueryParam
);
}
}
basic-auth/src/main/java/com/yiring/auth/config/SaTokenConfigure.java
浏览文件 @
1e28aae6
...
...
@@ -36,6 +36,10 @@ public class SaTokenConfigure implements WebMvcConfigurer {
.
notMatch
(
"/hello/**"
)
// 授权相关接口(登录、登出、注册等)
.
notMatch
(
"/auth/**"
)
.
notMatch
(
"/visitor/saveVisitor"
)
.
notMatch
(
"/visitor/selectVisitor"
)
.
notMatch
(
"/Car/saveCarInfo"
)
.
notMatch
(
"/Car/getCarInfo"
)
.
notMatch
(
"/favicon.ico"
,
"/**/*.html"
,
"/**/*.js"
,
"/**/*.css"
)
.
notMatch
(
"/v2/api-docs"
,
"/v3/api-docs"
,
"/swagger-resources/**"
)
.
check
(
r
->
StpUtil
.
checkLogin
());
...
...
basic-auth/src/main/java/com/yiring/auth/excel/user/UserExportExcel.java
0 → 100644
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
auth
.
excel
.
user
;
import
cn.hutool.core.date.LocalDateTimeUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.github.liaochong.myexcel.core.annotation.ExcelColumn
;
import
com.github.liaochong.myexcel.core.annotation.ExcelModel
;
import
com.yiring.auth.domain.role.Role
;
import
com.yiring.auth.domain.user.User
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.util.Set
;
import
lombok.AccessLevel
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.experimental.FieldDefaults
;
/**
* 用户导出
*
* @author LJ-2204
* @date 2022/5/14
*/
@ExcelModel
@Data
@Builder
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
UserExportExcel
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
7198940635708381370L
;
@ApiModelProperty
(
value
=
"姓名"
,
example
=
"张三"
)
@ExcelColumn
(
title
=
"姓名"
)
String
realName
;
@ExcelColumn
(
title
=
"工号"
)
@ApiModelProperty
(
value
=
"工号"
,
example
=
"1234566"
)
String
uuid
;
@ExcelColumn
(
title
=
"部门名称"
)
@ApiModelProperty
(
value
=
"部门名称"
,
example
=
"研发"
)
String
deptName
;
@ExcelColumn
(
title
=
"手机号"
)
@ApiModelProperty
(
value
=
"手机号"
,
example
=
"13012345678"
)
String
mobile
;
@ExcelColumn
(
title
=
"角色"
)
@ApiModelProperty
(
value
=
"角色"
,
example
=
"系统管理员"
)
String
roles
;
@ExcelColumn
(
title
=
"最后登录时间"
)
@ApiModelProperty
(
value
=
"最后登录时间"
,
example
=
"2022-10-24 10:24:00"
)
String
lastLoginTime
;
@ExcelColumn
(
title
=
"状态"
)
@ApiModelProperty
(
value
=
"状态"
,
example
=
"true"
)
Boolean
enabled
;
public
static
UserExportExcel
transform
(
User
user
)
{
UserExportExcel
userExportExcel
=
UserExportExcel
.
builder
()
.
realName
(
user
.
getRealName
())
.
uuid
(
user
.
getUuid
())
.
deptName
(
user
.
getDepartment
().
getName
())
.
mobile
(
user
.
getMobile
())
.
lastLoginTime
(
LocalDateTimeUtil
.
format
(
user
.
getLastLoginTime
(),
"yyyy-MM-dd HH:mm:ss"
))
.
enabled
(
user
.
getEnabled
())
.
build
();
if
(
ObjectUtil
.
isNotEmpty
(
user
.
getRoles
()))
{
Set
<
Role
>
roles
=
user
.
getRoles
();
StringBuilder
stringBuilder
=
new
StringBuilder
();
roles
.
forEach
(
role
->
stringBuilder
.
append
(
role
.
getName
()).
append
(
","
));
String
substring
=
stringBuilder
.
substring
(
0
,
stringBuilder
.
length
()
-
1
);
userExportExcel
.
setRoles
(
substring
);
}
return
userExportExcel
;
}
}
basic-auth/src/main/java/com/yiring/auth/param/user/UserExportParam.java
0 → 100644
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
auth
.
param
.
user
;
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 LJ-2204
* @date 2022/5/14
*/
@ApiModel
(
"UserExportParam"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
UserExportParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
5861302386921496920L
;
@ApiModelProperty
(
value
=
"姓名"
,
example
=
"张三"
)
String
realName
;
@ApiModelProperty
(
value
=
"部门ID"
,
example
=
"100"
)
Long
deptId
;
@ApiModelProperty
(
value
=
"角色ID"
,
example
=
"100"
)
String
roles
;
}
basic-auth/src/main/java/com/yiring/auth/service/user/UserService.java
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
auth
.
service
.
user
;
import
com.yiring.auth.param.user.UserExportParam
;
import
com.yiring.auth.param.user.UserFindParam
;
import
com.yiring.auth.param.user.UserSaveParam
;
import
com.yiring.auth.vo.user.UserVo
;
...
...
@@ -8,6 +9,7 @@ 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
javax.servlet.http.HttpServletResponse
;
/**
* 用户
...
...
@@ -37,4 +39,18 @@ public interface UserService {
* @return Result<String>
*/
Result
<
String
>
reset
(
IdParam
idParam
);
/**
* 修改状态
* @param idParam IdParam
* @return Result<String>
*/
Result
<
String
>
upStatus
(
IdParam
idParam
);
/**
* 导出
* @param param UserExportParam
* @param response HttpServletResponse
*/
void
export
(
UserExportParam
param
,
HttpServletResponse
response
);
}
basic-auth/src/main/java/com/yiring/auth/service/user/impl/UserServiceImpl.java
浏览文件 @
1e28aae6
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
auth
.
service
.
user
.
impl
;
import
cn.dev33.satoken.secure.SaSecureUtil
;
import
cn.hutool.core.collection.ListUtil
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.github.liaochong.myexcel.core.DefaultStreamExcelBuilder
;
import
com.yiring.auth.domain.user.User
;
import
com.yiring.auth.domain.user.UserRepository
;
import
com.yiring.auth.excel.user.UserExportExcel
;
import
com.yiring.auth.param.user.UserExportParam
;
import
com.yiring.auth.param.user.UserFindParam
;
import
com.yiring.auth.param.user.UserSaveParam
;
import
com.yiring.auth.service.user.UserService
;
...
...
@@ -17,14 +21,20 @@ import com.yiring.common.domain.BasicEntity;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.vo.PageVo
;
import
java.io.OutputStream
;
import
java.net.URLEncoder
;
import
java.nio.charset.StandardCharsets
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.concurrent.Executors
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.Order
;
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.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Pageable
;
...
...
@@ -58,8 +68,6 @@ public class UserServiceImpl implements UserService {
Specification
<
User
>
specification
=
(
root
,
cq
,
cb
)
->
{
List
<
Predicate
>
predicates
=
ListUtil
.
toList
();
predicates
.
add
(
cb
.
isNotNull
(
root
.
get
(
User
.
Fields
.
username
)));
if
(
StrUtil
.
isNotEmpty
(
param
.
getRealName
()))
{
predicates
.
add
(
cb
.
like
(
root
.
get
(
User
.
Fields
.
realName
),
"%"
+
param
.
getRealName
()
+
"%"
));
}
...
...
@@ -71,10 +79,12 @@ public class UserServiceImpl implements UserService {
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getRoles
()))
{
CriteriaBuilder
.
In
<
Object
>
in
=
cb
.
in
(
root
.
get
(
User
.
Fields
.
post
).
get
(
BasicEntity
.
Fields
.
id
));
CriteriaBuilder
.
In
<
Long
>
in
=
cb
.
in
(
root
.
join
(
User
.
Fields
.
roles
).
get
(
BasicEntity
.
Fields
.
id
));
String
[]
split
=
param
.
getRoles
().
split
(
","
);
Long
[]
roles
=
Convert
.
toLongArray
(
split
);
for
(
Long
role
:
roles
)
in
.
value
(
role
);
for
(
Long
roleId
:
roles
)
{
in
.
value
(
roleId
);
}
predicates
.
add
(
cb
.
and
(
in
));
}
...
...
@@ -86,7 +96,7 @@ public class UserServiceImpl implements UserService {
// 分页
Pageable
pageable
=
PageRequest
.
of
(
pageParam
.
getPageNo
()
-
1
,
pageParam
.
getPageSize
());
Page
<
User
>
users
=
userRepository
.
findAll
(
specification
,
pageable
);
List
<
UserVo
>
userVos
=
users
.
getContent
().
stream
().
map
(
UserVo:
:
transform
).
collect
(
Collectors
.
toList
());
List
<
UserVo
>
userVos
=
users
.
stream
().
map
(
UserVo:
:
transform
).
collect
(
Collectors
.
toList
());
PageVo
<
UserVo
>
pageVo
=
PageVo
.
build
(
userVos
,
users
.
getTotalElements
());
return
Result
.
ok
(
pageVo
);
}
...
...
@@ -97,11 +107,97 @@ public class UserServiceImpl implements UserService {
if
(
userOptional
.
isPresent
())
{
User
user
=
userOptional
.
get
();
user
.
setPassword
(
"123456"
);
user
.
setPassword
(
SaSecureUtil
.
sha256
(
"123456"
)
);
userRepository
.
save
(
user
);
return
Result
.
ok
();
}
return
Result
.
no
(
Status
.
BAD_REQUEST
);
}
@Override
public
Result
<
String
>
upStatus
(
IdParam
idParam
)
{
Optional
<
User
>
userOptional
=
userRepository
.
findById
(
idParam
.
getId
());
if
(
userOptional
.
isPresent
())
{
User
user
=
userOptional
.
get
();
if
(
ObjectUtil
.
isEmpty
(
user
.
getEnabled
()))
{
user
.
setEnabled
(
true
);
}
else
{
user
.
setEnabled
(!
user
.
getEnabled
());
}
userRepository
.
save
(
user
);
return
Result
.
ok
(
user
.
getEnabled
().
toString
());
}
return
Result
.
no
(
Status
.
BAD_REQUEST
);
}
@Override
public
void
export
(
UserExportParam
param
,
HttpServletResponse
response
)
{
Specification
<
User
>
specification
=
(
root
,
cq
,
cb
)
->
{
List
<
Predicate
>
predicates
=
ListUtil
.
toList
();
if
(
StrUtil
.
isNotEmpty
(
param
.
getRealName
()))
{
predicates
.
add
(
cb
.
like
(
root
.
get
(
User
.
Fields
.
realName
),
"%"
+
param
.
getRealName
()
+
"%"
));
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getDeptId
()))
{
predicates
.
add
(
cb
.
equal
(
root
.
get
(
User
.
Fields
.
department
).
get
(
BasicEntity
.
Fields
.
id
),
param
.
getDeptId
())
);
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getRoles
()))
{
CriteriaBuilder
.
In
<
Long
>
in
=
cb
.
in
(
root
.
join
(
User
.
Fields
.
roles
).
get
(
BasicEntity
.
Fields
.
id
));
String
[]
split
=
param
.
getRoles
().
split
(
","
);
Long
[]
roles
=
Convert
.
toLongArray
(
split
);
for
(
Long
roleId
:
roles
)
{
in
.
value
(
roleId
);
}
predicates
.
add
(
cb
.
and
(
in
));
}
Order
order
=
cb
.
desc
(
root
.
get
(
BasicEntity
.
Fields
.
createTime
));
return
cq
.
orderBy
(
order
).
where
(
predicates
.
toArray
(
new
Predicate
[
0
])).
getRestriction
();
};
List
<
User
>
users
=
userRepository
.
findAll
(
specification
);
List
<
UserExportExcel
>
userExportExcels
=
users
.
stream
()
.
map
(
UserExportExcel:
:
transform
)
.
collect
(
Collectors
.
toList
());
try
(
DefaultStreamExcelBuilder
<
UserExportExcel
>
streamExcelBuilder
=
DefaultStreamExcelBuilder
.
of
(
UserExportExcel
.
class
)
.
threadPool
(
Executors
.
newFixedThreadPool
(
2
))
.
rowHeight
(
14
)
.
titleRowHeight
(
14
)
.
style
(
"cell->vertical-align:center;text-align:center"
,
"title->vertical-align:center;text-align:center;font-weight:bold;font-family:等线"
)
.
start
()
)
{
streamExcelBuilder
.
append
(
userExportExcels
);
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
();
Workbook
workbook
=
streamExcelBuilder
.
fixedTitles
().
build
();
workbook
.
write
(
out
);
workbook
.
close
();
out
.
flush
();
out
.
close
();
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
throw
new
RuntimeException
(
"导出用户信息失败: "
+
e
.
getMessage
());
}
}
}
basic-auth/src/main/java/com/yiring/auth/vo/role/RoleVo.java
浏览文件 @
1e28aae6
...
...
@@ -3,6 +3,7 @@ package com.yiring.auth.vo.role;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
com.yiring.auth.domain.role.Role
;
import
com.yiring.auth.vo.permission.PermissionVo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -42,4 +43,8 @@ public class RoleVo implements Serializable {
@ApiModelProperty
(
"权限"
)
List
<
PermissionVo
>
permissions
;
public
static
RoleVo
transform
(
Role
role
)
{
return
RoleVo
.
builder
().
id
(
role
.
getId
()).
uid
(
role
.
getUid
()).
name
(
role
.
getName
()).
build
();
}
}
basic-auth/src/main/java/com/yiring/auth/vo/user/UserVo.java
浏览文件 @
1e28aae6
...
...
@@ -12,6 +12,7 @@ import java.io.Serial;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
...
...
@@ -73,7 +74,9 @@ public class UserVo implements Serializable {
.
deptId
(
user
.
getDepartment
().
getId
())
.
build
();
if
(
ObjectUtil
.
isNotEmpty
(
user
.
getRoles
()))
{}
if
(
ObjectUtil
.
isNotEmpty
(
user
.
getRoles
()))
{
userVo
.
setRoles
(
user
.
getRoles
().
stream
().
map
(
RoleVo:
:
transform
).
collect
(
Collectors
.
toSet
()));
}
return
userVo
;
}
...
...
basic-auth/src/main/java/com/yiring/auth/web/auth/AuthController.java
浏览文件 @
1e28aae6
...
...
@@ -104,9 +104,9 @@ public class AuthController {
}
// 检查用户是否已被删除
if
(!
Boolean
.
FALSE
.
equals
(
user
.
getDeleted
()))
{
return
Result
.
no
(
Status
.
FORBIDDEN
,
"用户被禁用, 请联系管理员"
);
}
//
if (!Boolean.FALSE.equals(user.getDeleted())) {
//
return Result.no(Status.FORBIDDEN, "用户被禁用, 请联系管理员");
//
}
// 检查用户是否被允许登录
if
(!
Boolean
.
TRUE
.
equals
(
user
.
getEnabled
()))
{
...
...
basic-auth/src/main/java/com/yiring/auth/web/user/UserController.java
浏览文件 @
1e28aae6
...
...
@@ -8,6 +8,7 @@ import com.yiring.auth.domain.role.RoleRepository;
import
com.yiring.auth.domain.user.User
;
import
com.yiring.auth.domain.user.UserRepository
;
import
com.yiring.auth.param.IdsParam
;
import
com.yiring.auth.param.user.UserExportParam
;
import
com.yiring.auth.param.user.UserFindParam
;
import
com.yiring.auth.param.user.UserSaveParam
;
import
com.yiring.auth.service.user.UserService
;
...
...
@@ -29,13 +30,12 @@ import java.util.Optional;
import
java.util.Set
;
import
java.util.stream.Collectors
;
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
;
import
org.springframework.web.bind.annotation.*
;
/**
* 系统用户控制器
...
...
@@ -154,4 +154,16 @@ public class UserController {
public
Result
<
String
>
reset
(
@Valid
IdParam
idParam
)
{
return
userService
.
reset
(
idParam
);
}
@ApiOperation
(
"变更状态"
)
@PutMapping
(
"upStatus"
)
public
Result
<
String
>
upStatus
(
@Valid
IdParam
idParam
)
{
return
userService
.
upStatus
(
idParam
);
}
@ApiOperation
(
value
=
"导出"
,
produces
=
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
)
@GetMapping
(
"export"
)
public
void
export
(
@Valid
UserExportParam
param
,
HttpServletResponse
response
)
{
userService
.
export
(
param
,
response
);
}
}
basic-common/core/src/main/java/com/yiring/common/constant/RegEx.java
浏览文件 @
1e28aae6
...
...
@@ -20,6 +20,9 @@ public class RegEx {
public
static
final
String
MOBILE
=
"^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(16[5,6])|(17[0-8])|(18[0-9])|(19[1、5、8、9]))\\d{8}$"
;
//身份证验证
public
static
final
String
CARDNO
=
"^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$"
;
/**
* 报警规则的时间格式
*/
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论