Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-api-boot
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-api-boot
Commits
75866cb0
提交
75866cb0
authored
5月 14, 2022
作者:
17607474349
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'merge_dev' into dev_lijing
上级
0ae0781d
8edc9c05
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
118 个修改的文件
包含
1427 行增加
和
300 行删除
+1427
-300
build.gradle
app/build.gradle
+1
-1
AlarmType.java
app/src/main/java/com/yiring/app/domain/alarm/AlarmType.java
+23
-0
Broadcast.java
.../main/java/com/yiring/app/domain/broadcast/Broadcast.java
+2
-4
District.java
...rc/main/java/com/yiring/app/domain/district/District.java
+1
-1
DistrictRepository.java
...va/com/yiring/app/domain/district/DistrictRepository.java
+9
-0
LocationAlarmRule.java
...ava/com/yiring/app/domain/location/LocationAlarmRule.java
+3
-3
LocationBeacon.java
...n/java/com/yiring/app/domain/location/LocationBeacon.java
+1
-0
LocationFence.java
...in/java/com/yiring/app/domain/location/LocationFence.java
+8
-2
LocationFenceAlarm.java
...va/com/yiring/app/domain/location/LocationFenceAlarm.java
+92
-0
LocationFenceAlarmRepository.java
...ing/app/domain/location/LocationFenceAlarmRepository.java
+17
-0
LocationFenceRepository.java
...m/yiring/app/domain/location/LocationFenceRepository.java
+9
-0
LocationFenceRuleRepository.java
...ring/app/domain/location/LocationFenceRuleRepository.java
+1
-1
LocationLog.java
...main/java/com/yiring/app/domain/location/LocationLog.java
+9
-0
LocationTag.java
...main/java/com/yiring/app/domain/location/LocationTag.java
+5
-16
LocationTagRepository.java
...com/yiring/app/domain/location/LocationTagRepository.java
+29
-2
LocationTurnover.java
...java/com/yiring/app/domain/location/LocationTurnover.java
+76
-0
LocationTurnoverRepository.java
...iring/app/domain/location/LocationTurnoverRepository.java
+17
-0
AccidentSpot.java
...in/java/com/yiring/app/domain/rehearsal/AccidentSpot.java
+1
-1
EvacuationZone.java
.../java/com/yiring/app/domain/rehearsal/EvacuationZone.java
+1
-1
RehearsalPlanLog.java
...ava/com/yiring/app/domain/rehearsal/RehearsalPlanLog.java
+63
-0
RehearsalPlanLogRepository.java
...ring/app/domain/rehearsal/RehearsalPlanLogRepository.java
+23
-0
RehearsalPlanRepository.java
.../yiring/app/domain/rehearsal/RehearsalPlanRepository.java
+16
-0
Video.java
app/src/main/java/com/yiring/app/domain/video/Video.java
+1
-0
LocationAlarmRuleExcel.java
...com/yiring/app/excel/location/LocationAlarmRuleExcel.java
+17
-13
RehearsalPlanExcel.java
...va/com/yiring/app/excel/rehearsal/RehearsalPlanExcel.java
+73
-0
MockPositionMessageJob.java
.../main/java/com/yiring/app/job/MockPositionMessageJob.java
+53
-16
AlarmConditionParam.java
.../java/com/yiring/app/param/alarm/AlarmConditionParam.java
+2
-1
AlarmTypeAddParam.java
...in/java/com/yiring/app/param/alarm/AlarmTypeAddParam.java
+2
-1
AlarmTypeModifyParam.java
...java/com/yiring/app/param/alarm/AlarmTypeModifyParam.java
+2
-2
HistoryRouteConditionParam.java
...pp/param/analysis/history/HistoryRouteConditionParam.java
+2
-1
DistrictAddParam.java
.../java/com/yiring/app/param/district/DistrictAddParam.java
+1
-1
DistrictModifyParam.java
...va/com/yiring/app/param/district/DistrictModifyParam.java
+1
-1
LocationFenceAddParam.java
...iring/app/param/location/fence/LocationFenceAddParam.java
+2
-1
LocationFenceConditionParam.java
...app/param/location/fence/LocationFenceConditionParam.java
+2
-1
LocationFenceModifyParam.java
...ng/app/param/location/fence/LocationFenceModifyParam.java
+2
-2
AlarmRuleBatchAddParam.java
...iring/app/param/location/rule/AlarmRuleBatchAddParam.java
+29
-0
AlarmRuleBatchModifyParam.java
...ng/app/param/location/rule/AlarmRuleBatchModifyParam.java
+29
-0
LocationAlarmRuleAddParam.java
...ng/app/param/location/rule/LocationAlarmRuleAddParam.java
+17
-7
LocationAlarmRuleModifyParam.java
...app/param/location/rule/LocationAlarmRuleModifyParam.java
+14
-5
LocationFenceRuleAddParam.java
...ng/app/param/location/rule/LocationFenceRuleAddParam.java
+2
-1
LocationFenceRuleModifyParam.java
...app/param/location/rule/LocationFenceRuleModifyParam.java
+2
-1
RuleParam.java
...in/java/com/yiring/app/param/location/rule/RuleParam.java
+2
-1
AccidentSpotModifyParam.java
...m/yiring/app/param/rehearsal/AccidentSpotModifyParam.java
+0
-2
EvacuationZoneModifyParam.java
...yiring/app/param/rehearsal/EvacuationZoneModifyParam.java
+0
-2
RehearsalPlanAddParam.java
...com/yiring/app/param/rehearsal/RehearsalPlanAddParam.java
+78
-0
RehearsalPlanConditionParam.java
...ring/app/param/rehearsal/RehearsalPlanConditionParam.java
+43
-0
RehearsalPlanModifyParam.java
.../yiring/app/param/rehearsal/RehearsalPlanModifyParam.java
+72
-0
RehearsalPlanPlaybackParam.java
...iring/app/param/rehearsal/RehearsalPlanPlaybackParam.java
+36
-0
MockZyRabbitConfig.java
...java/com/yiring/app/rabbit/config/MockZyRabbitConfig.java
+21
-11
RabbitConfig.java
.../main/java/com/yiring/app/rabbit/config/RabbitConfig.java
+0
-17
ZyConfigProperties.java
...java/com/yiring/app/rabbit/config/ZyConfigProperties.java
+1
-0
ZyRabbitConfig.java
...ain/java/com/yiring/app/rabbit/config/ZyRabbitConfig.java
+30
-34
PositionMessageHandler.java
...om/yiring/app/rabbit/receiver/PositionMessageHandler.java
+15
-28
AlarmService.java
.../main/java/com/yiring/app/service/alarm/AlarmService.java
+1
-1
AlarmServiceImpl.java
...a/com/yiring/app/service/alarm/impl/AlarmServiceImpl.java
+4
-5
DistrictServiceImpl.java
...yiring/app/service/district/impl/DistrictServiceImpl.java
+1
-1
LocationFenceServiceImpl.java
...service/location/fence/impl/LocationFenceServiceImpl.java
+1
-1
LocationAlarmRuleService.java
...g/app/service/location/rule/LocationAlarmRuleService.java
+18
-2
LocationAlarmRuleServiceImpl.java
...vice/location/rule/impl/LocationAlarmRuleServiceImpl.java
+41
-7
PositionMessageService.java
...om/yiring/app/service/message/PositionMessageService.java
+1
-1
PositionMessageServiceImpl.java
.../app/service/message/impl/PositionMessageServiceImpl.java
+0
-0
RehearsalPlanService.java
...om/yiring/app/service/rehearsal/RehearsalPlanService.java
+92
-0
AccidentSpotServiceImpl.java
...g/app/service/rehearsal/impl/AccidentSpotServiceImpl.java
+1
-1
RehearsalPlanServiceImpl.java
.../app/service/rehearsal/impl/RehearsalPlanServiceImpl.java
+0
-0
GeoUtils.java
app/src/main/java/com/yiring/app/util/GeoUtils.java
+22
-7
LonLatUtil.java
app/src/main/java/com/yiring/app/util/zy/LonLatUtil.java
+3
-2
CodeNameVo.java
app/src/main/java/com/yiring/app/vo/CodeNameVo.java
+3
-0
IdNameVo.java
app/src/main/java/com/yiring/app/vo/IdNameVo.java
+3
-0
AlarmTypeVo.java
app/src/main/java/com/yiring/app/vo/alarm/AlarmTypeVo.java
+1
-1
DistrictVo.java
app/src/main/java/com/yiring/app/vo/district/DistrictVo.java
+1
-1
LocationAlarmRuleVo.java
.../com/yiring/app/vo/location/rule/LocationAlarmRuleVo.java
+10
-0
LocationFenceRuleVo.java
.../com/yiring/app/vo/location/rule/LocationFenceRuleVo.java
+2
-1
RuleVo.java
...src/main/java/com/yiring/app/vo/location/rule/RuleVo.java
+2
-1
AccidentSpotVo.java
...main/java/com/yiring/app/vo/rehearsal/AccidentSpotVo.java
+3
-0
EvacuationZoneVo.java
...in/java/com/yiring/app/vo/rehearsal/EvacuationZoneVo.java
+3
-0
RehearsalPlanRealTimeVo.java
.../com/yiring/app/vo/rehearsal/RehearsalPlanRealTimeVo.java
+40
-0
RehearsalPlanVo.java
...ain/java/com/yiring/app/vo/rehearsal/RehearsalPlanVo.java
+96
-0
UserLocationVo.java
...main/java/com/yiring/app/vo/rehearsal/UserLocationVo.java
+40
-0
ExampleController.java
app/src/main/java/com/yiring/app/web/ExampleController.java
+6
-3
AlarmTypeController.java
...in/java/com/yiring/app/web/alarm/AlarmTypeController.java
+5
-9
HistoryRouteController.java
...ring/app/web/analysis/history/HistoryRouteController.java
+3
-1
AppletUserController.java
...java/com/yiring/app/web/appUser/AppletUserController.java
+3
-3
BroadcastAudioController.java
...om/yiring/app/web/broadcast/BroadcastAudioController.java
+2
-3
BroadcastController.java
...ava/com/yiring/app/web/broadcast/BroadcastController.java
+3
-3
DepartmentController.java
...in/java/com/yiring/app/web/dept/DepartmentController.java
+2
-3
DictController.java
...src/main/java/com/yiring/app/web/dict/DictController.java
+3
-3
DictTypeController.java
...main/java/com/yiring/app/web/dict/DictTypeController.java
+2
-3
DistrictController.java
.../java/com/yiring/app/web/district/DistrictController.java
+3
-3
IconController.java
...src/main/java/com/yiring/app/web/icon/IconController.java
+3
-3
KeyAlarmController.java
.../main/java/com/yiring/app/web/key/KeyAlarmController.java
+2
-3
KeyAlarmLogController.java
...in/java/com/yiring/app/web/key/KeyAlarmLogController.java
+2
-3
KeyAlarmRuleController.java
...n/java/com/yiring/app/web/key/KeyAlarmRuleController.java
+2
-3
LocationBeaconController.java
...ing/app/web/location/beacon/LocationBeaconController.java
+2
-3
LocationFenceController.java
...iring/app/web/location/fence/LocationFenceController.java
+5
-5
LocationAlarmRuleController.java
...ng/app/web/location/rule/LocationAlarmRuleController.java
+19
-16
LocationFenceRuleController.java
...ng/app/web/location/rule/LocationFenceRuleController.java
+3
-3
LocationTagController.java
...om/yiring/app/web/location/tag/LocationTagController.java
+2
-3
LocationTagTypeController.java
...iring/app/web/location/tag/LocationTagTypeController.java
+2
-3
MapController.java
app/src/main/java/com/yiring/app/web/map/MapController.java
+4
-5
PostController.java
...src/main/java/com/yiring/app/web/post/PostController.java
+2
-3
AccidentSpotController.java
.../com/yiring/app/web/rehearsal/AccidentSpotController.java
+0
-0
EvacuationZoneController.java
...om/yiring/app/web/rehearsal/EvacuationZoneController.java
+0
-0
RehearsalPlanController.java
...com/yiring/app/web/rehearsal/RehearsalPlanController.java
+0
-0
UserAppController.java
.../main/java/com/yiring/app/web/user/UserAppController.java
+0
-0
VideoController.java
...c/main/java/com/yiring/app/web/video/VideoController.java
+0
-0
CarController.java
...c/main/java/com/yiring/app/web/visitor/CarController.java
+0
-0
InvitationController.java
...java/com/yiring/app/web/visitor/InvitationController.java
+0
-0
VisitorController.java
...in/java/com/yiring/app/web/visitor/VisitorController.java
+0
-0
application-dev.yml
app/src/main/resources/application-dev.yml
+0
-0
build.gradle
basic-auth/build.gradle
+0
-0
AuthController.java
...rc/main/java/com/yiring/auth/web/auth/AuthController.java
+0
-0
PermissionController.java
.../com/yiring/auth/web/permission/PermissionController.java
+0
-0
RoleController.java
...rc/main/java/com/yiring/auth/web/role/RoleController.java
+0
-0
UserController.java
...rc/main/java/com/yiring/auth/web/user/UserController.java
+0
-0
build.gradle
basic-common/minio/build.gradle
+0
-0
MinioController.java
.../src/main/java/com/yiring/common/web/MinioController.java
+0
-0
TimesAspect.java
...l/src/main/java/com/yiring/common/aspect/TimesAspect.java
+0
-0
XxlJobAspect.java
.../src/main/java/com/yiring/common/aspect/XxlJobAspect.java
+0
-0
没有找到文件。
app/build.gradle
浏览文件 @
75866cb0
...
...
@@ -36,7 +36,7 @@ dependencies {
// Optional: Doc
implementation
project
(
":basic-common:doc"
)
implementation
"
io.swagger:swagger-annotations:${swaggerAnnotations
Version}"
implementation
"
com.github.xiaoymin:knife4j-spring-boot-starter:${knife4j
Version}"
// Optional: Auth
implementation
project
(
":basic-auth"
)
...
...
app/src/main/java/com/yiring/app/domain/alarm/AlarmType.java
浏览文件 @
75866cb0
...
...
@@ -4,6 +4,7 @@ package com.yiring.app.domain.alarm;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
java.util.Objects
;
import
javax.persistence.*
;
import
lombok.*
;
import
lombok.experimental.FieldNameConstants
;
...
...
@@ -68,4 +69,26 @@ public class AlarmType implements Serializable {
@Comment
(
value
=
"是否删除"
)
@Column
(
nullable
=
false
)
private
Boolean
deleted
;
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
AlarmType
alarmType
=
(
AlarmType
)
o
;
return
(
Objects
.
equals
(
id
,
alarmType
.
id
)
&&
Objects
.
equals
(
name
,
alarmType
.
name
)
&&
Objects
.
equals
(
fenceType
,
alarmType
.
fenceType
)
&&
Objects
.
equals
(
relevanceParam
,
alarmType
.
relevanceParam
)
&&
Objects
.
equals
(
comment
,
alarmType
.
comment
)
&&
Objects
.
equals
(
createTime
,
alarmType
.
createTime
)
&&
Objects
.
equals
(
lastUpdateTime
,
alarmType
.
lastUpdateTime
)
&&
Objects
.
equals
(
deleted
,
alarmType
.
deleted
)
);
}
@Override
public
int
hashCode
()
{
return
Objects
.
hash
(
id
,
name
,
fenceType
,
relevanceParam
,
comment
,
createTime
,
lastUpdateTime
,
deleted
);
}
}
app/src/main/java/com/yiring/app/domain/broadcast/Broadcast.java
浏览文件 @
75866cb0
...
...
@@ -4,10 +4,7 @@ package com.yiring.app.domain.broadcast;
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
;
...
...
@@ -52,6 +49,7 @@ public class Broadcast implements Serializable {
String
broadcastName
;
@Comment
(
"坐标点信息"
)
@Column
(
columnDefinition
=
"geometry(Point,4326)"
)
Point
point
;
@Comment
(
"播报设备地址"
)
...
...
app/src/main/java/com/yiring/app/domain/district/District.java
浏览文件 @
75866cb0
...
...
@@ -59,7 +59,7 @@ public class District implements Serializable {
@Comment
(
"区域信息"
)
@Type
(
type
=
"jts_geometry"
)
@Column
(
columnDefinition
=
"geometry"
)
@Column
(
columnDefinition
=
"geometry
(Geometry,4326)
"
)
private
Geometry
geometry
;
@Comment
(
"创建时间"
)
...
...
app/src/main/java/com/yiring/app/domain/district/DistrictRepository.java
浏览文件 @
75866cb0
...
...
@@ -3,6 +3,7 @@ package com.yiring.app.domain.district;
import
java.io.Serializable
;
import
java.util.List
;
import
org.locationtech.jts.geom.Geometry
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.jpa.repository.Query
;
...
...
@@ -36,4 +37,12 @@ public interface DistrictRepository extends JpaRepository<District, Serializable
*/
@Query
(
"SELECT d FROM District d WHERE d.name like %?1%"
)
List
<
District
>
findLikeName
(
String
name
);
/**
* 查询空间信息在区域内的区域信息
* @param geometry 空间信息
* @return 区域信息
*/
@Query
(
value
=
"select d.* from bs_district d where st_contains(d.geometry, :geometry)"
,
nativeQuery
=
true
)
List
<
District
>
findByGeometryContains
(
Geometry
geometry
);
}
app/src/main/java/com/yiring/app/domain/location/LocationAlarmRule.java
浏览文件 @
75866cb0
...
...
@@ -55,9 +55,9 @@ public class LocationAlarmRule extends BasicEntity implements Serializable {
private
String
informManner
;
@Comment
(
"报警类型"
)
@ManyTo
One
@
JoinColumn
(
name
=
"alarm_type_id"
)
private
AlarmType
alarmType
;
@ManyTo
Many
@
ToString
.
Exclude
private
Set
<
AlarmType
>
alarmTypes
;
@Comment
(
value
=
"是否删除"
)
@Column
(
nullable
=
false
)
...
...
app/src/main/java/com/yiring/app/domain/location/LocationBeacon.java
浏览文件 @
75866cb0
...
...
@@ -80,6 +80,7 @@ public class LocationBeacon extends BasicEntity implements Serializable {
Double
distance
;
@Comment
(
"坐标点信息"
)
@Column
(
columnDefinition
=
"geometry(Point,4326)"
)
Point
point
;
@FieldMapping
...
...
app/src/main/java/com/yiring/app/domain/location/LocationFence.java
浏览文件 @
75866cb0
...
...
@@ -51,7 +51,7 @@ public class LocationFence extends BasicEntity implements Serializable {
private
String
mapName
;
@Comment
(
"摄像头"
)
@ManyToOne
@ManyToOne
(
fetch
=
FetchType
.
LAZY
)
@JoinColumn
(
name
=
"video_id"
)
private
Video
video
;
...
...
@@ -60,7 +60,7 @@ public class LocationFence extends BasicEntity implements Serializable {
@Comment
(
"空间信息"
)
@Type
(
type
=
"jts_geometry"
)
@Column
(
columnDefinition
=
"geometry"
)
@Column
(
columnDefinition
=
"geometry
(Geometry,4326)
"
)
private
Geometry
geometry
;
@Comment
(
"滞留时间(秒)"
)
...
...
@@ -87,6 +87,12 @@ public class LocationFence extends BasicEntity implements Serializable {
@OneToMany
(
mappedBy
=
"fence"
)
@ToString
.
Exclude
private
Set
<
LocationFenceRule
>
rules
=
new
HashSet
<>(
0
);
@ToString
.
Exclude
@Comment
(
"围栏中的标签集合"
)
@Builder
.
Default
@ManyToMany
(
fetch
=
FetchType
.
LAZY
)
Set
<
LocationTag
>
tags
=
new
HashSet
<>(
0
);
/*@SuppressWarnings({ "unused" })
public enum Mode {
NORMAL("常规区域"),
...
...
app/src/main/java/com/yiring/app/domain/location/LocationFenceAlarm.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
domain
.
location
;
import
com.yiring.app.domain.alarm.AlarmType
;
import
com.yiring.auth.domain.user.User
;
import
com.yiring.common.domain.BasicEntity
;
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.locationtech.jts.geom.Point
;
/**
* 围栏报警记录
*
* @author Jim
* @version 0.1
* 2022/5/12 21:33
*/
@Getter
@Setter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldNameConstants
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
@Entity
@Table
(
name
=
"BS_LOCATION_FENCE_ALARM"
)
@Comment
(
"围栏报警记录"
)
public
class
LocationFenceAlarm
extends
BasicEntity
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
2984248537199016912L
;
@Comment
(
"围栏"
)
@ManyToOne
(
fetch
=
FetchType
.
LAZY
)
LocationFence
fence
;
@Comment
(
"触警位置"
)
@Column
(
columnDefinition
=
"geometry(Point,4326)"
)
Point
point
;
@Comment
(
"地图编号"
)
Long
areaId
;
@Comment
(
"触警人员"
)
@ManyToOne
(
fetch
=
FetchType
.
LAZY
)
User
user
;
@Comment
(
"触警标签"
)
@ManyToOne
(
fetch
=
FetchType
.
LAZY
)
LocationTag
tag
;
@Comment
(
"报警开始时间"
)
LocalDateTime
startTime
;
@Comment
(
"报警结束时间"
)
LocalDateTime
endTime
;
@Comment
(
"报警类型"
)
@ManyToOne
(
fetch
=
FetchType
.
LAZY
)
AlarmType
type
;
@Comment
(
"状态"
)
@Enumerated
(
EnumType
.
STRING
)
Status
status
;
// 推送记录集合(含接收状态)
// TODO
@SuppressWarnings
({
"unused"
})
public
enum
Status
{
ING
(
"进行中"
),
OVER
(
"结束"
);
final
String
text
;
Status
(
String
text
)
{
this
.
text
=
text
;
}
public
String
text
()
{
return
this
.
text
;
}
}
}
app/src/main/java/com/yiring/app/domain/location/LocationFenceAlarmRepository.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
domain
.
location
;
import
java.io.Serializable
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.stereotype.Repository
;
/**
* @author Jim
* @version 0.1
* 2022/5/12 21:34
*/
@Repository
public
interface
LocationFenceAlarmRepository
extends
JpaRepository
<
LocationFenceAlarm
,
Serializable
>,
JpaSpecificationExecutor
<
LocationFenceAlarm
>
{}
app/src/main/java/com/yiring/app/domain/location/LocationFenceRepository.java
浏览文件 @
75866cb0
...
...
@@ -3,6 +3,7 @@ package com.yiring.app.domain.location;
import
java.io.Serializable
;
import
java.util.List
;
import
org.locationtech.jts.geom.Geometry
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.jpa.repository.Query
;
...
...
@@ -37,4 +38,12 @@ public interface LocationFenceRepository
*/
@Query
(
"SELECT f FROM LocationFence f WHERE name like %?1% AND deleted = false"
)
List
<
LocationFence
>
findLikeName
(
String
name
);
/**
* 查询空间信息在围栏内的围栏信息
* @param geometry 空间信息
* @return 围栏信息
*/
@Query
(
value
=
"select f.* from bs_location_fence f where st_contains(f.geometry, :geometry)"
,
nativeQuery
=
true
)
List
<
LocationFence
>
findByGeometryContains
(
Geometry
geometry
);
}
app/src/main/java/com/yiring/app/domain/location/LocationFenceRuleRepository.java
浏览文件 @
75866cb0
...
...
@@ -9,7 +9,7 @@ import org.springframework.stereotype.Repository;
/**
* @author tml
* @version 1.0
*
@date
2022/4/29 11:40
* 2022/4/29 11:40
*/
@Repository
public
interface
LocationFenceRuleRepository
...
...
app/src/main/java/com/yiring/app/domain/location/LocationLog.java
浏览文件 @
75866cb0
...
...
@@ -71,6 +71,7 @@ public class LocationLog implements Serializable {
User
.
Status
status
;
@Comment
(
"坐标点信息"
)
@Column
(
columnDefinition
=
"geometry(Point,4326)"
)
Point
point
;
@Comment
(
"信标集合"
)
...
...
@@ -83,6 +84,11 @@ public class LocationLog implements Serializable {
@Column
(
columnDefinition
=
"jsonb"
)
JSONArray
fences
;
@Comment
(
"区域集合"
)
@Type
(
type
=
"jsonb"
)
@Column
(
columnDefinition
=
"jsonb"
)
JSONArray
districts
;
@Comment
(
"静止/运动"
)
Boolean
silent
;
...
...
@@ -92,6 +98,9 @@ public class LocationLog implements Serializable {
@Comment
(
"电量单位"
)
String
voltUnit
;
@Comment
(
"是否在厂区外"
)
Boolean
out
;
@Comment
(
"原始数据"
)
@Type
(
type
=
"jsonb"
)
@Column
(
columnDefinition
=
"jsonb"
)
...
...
app/src/main/java/com/yiring/app/domain/location/LocationTag.java
浏览文件 @
75866cb0
...
...
@@ -6,13 +6,11 @@ import com.yiring.common.annotation.FieldMapping;
import
com.yiring.common.domain.BasicEntity
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.util.Objects
;
import
javax.persistence.*
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
import
lombok.experimental.FieldNameConstants
;
import
lombok.experimental.SuperBuilder
;
import
org.hibernate.Hibernate
;
import
org.hibernate.annotations.Comment
;
import
org.locationtech.jts.geom.Point
;
...
...
@@ -102,9 +100,13 @@ public class LocationTag extends BasicEntity implements Serializable {
@Comment
(
"类型(1:内部/2:访客)"
)
Integer
category
;
@Comment
(
"最后定位坐标"
)
@Comment
(
"最新定位坐标"
)
@Column
(
columnDefinition
=
"geometry(Point,4326)"
)
Point
point
;
@Comment
(
"是否在厂外"
)
Boolean
out
;
@SuppressWarnings
({
"unused"
})
public
enum
Type
{
BTT01
(
"蓝牙人员定位卡"
),
...
...
@@ -120,17 +122,4 @@ public class LocationTag extends BasicEntity implements Serializable {
return
this
.
text
;
}
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
Hibernate
.
getClass
(
this
)
!=
Hibernate
.
getClass
(
o
))
return
false
;
LocationTag
that
=
(
LocationTag
)
o
;
return
getId
()
!=
null
&&
Objects
.
equals
(
getId
(),
that
.
getId
());
}
@Override
public
int
hashCode
()
{
return
getClass
().
hashCode
();
}
}
app/src/main/java/com/yiring/app/domain/location/LocationTagRepository.java
浏览文件 @
75866cb0
...
...
@@ -2,16 +2,43 @@
package
com
.
yiring
.
app
.
domain
.
location
;
import
java.io.Serializable
;
import
java.util.List
;
import
org.locationtech.jts.geom.Geometry
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.stereotype.Repository
;
/**
* 定位标签JPA
* @author LJ-2204
*
@date
2022/4/14
* 2022/4/14
*/
@Repository
public
interface
LocationTagRepository
extends
JpaRepository
<
LocationTag
,
Serializable
>,
JpaSpecificationExecutor
<
LocationTag
>
{}
extends
JpaRepository
<
LocationTag
,
Serializable
>,
JpaSpecificationExecutor
<
LocationTag
>
{
/**
* 查询在指定区域内的所有标签
* @param geometry 指定区域
* @return 标签
*/
@Query
(
value
=
"SELECT * FROM BS_LOCATION_TAG bl WHERE ST_Contains(?1, bl.point)"
,
nativeQuery
=
true
)
List
<
LocationTag
>
findInArea
(
Geometry
geometry
);
/**
* 查询在指定区域内的所有标签数量
* @param geometry 指定区域
* @return 标签数量
*/
@Query
(
value
=
"SELECT count(*) FROM BS_LOCATION_TAG bl WHERE ST_Contains(?1, bl.point)"
,
nativeQuery
=
true
)
int
findInAreaNum
(
Geometry
geometry
);
/**
* 根据多个员工id查询定位标签
* @param userIds 员工id集
* @return 定位标签
*/
@Query
(
value
=
"SELECT * FROM BS_LOCATION_TAG WHERE user_id IN (?1)"
,
nativeQuery
=
true
)
List
<
LocationTag
>
findByUserIds
(
List
<
Long
>
userIds
);
}
app/src/main/java/com/yiring/app/domain/location/LocationTurnover.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
domain
.
location
;
import
com.vladmihalcea.hibernate.type.json.JsonBinaryType
;
import
com.yiring.common.domain.BasicEntity
;
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.TypeDef
;
/**
* 定位进出记录
*
* @author Jim
* @version 0.1
* 2022/5/12 17:54
*/
@Getter
@Setter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldNameConstants
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
@Entity
@TypeDef
(
name
=
"jsonb"
,
typeClass
=
JsonBinaryType
.
class
)
@Table
(
name
=
"BS_LOCATION_TURNOVER"
,
indexes
=
{
@Index
(
columnList
=
"type"
),
@Index
(
columnList
=
"sourceId"
)
})
@Comment
(
"定位进出记录"
)
public
class
LocationTurnover
extends
BasicEntity
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
887764448464587364L
;
@Comment
(
"进出区域/围栏表主键"
)
Long
sourceId
;
@Comment
(
"类型"
)
@Enumerated
(
EnumType
.
STRING
)
Type
type
;
@Comment
(
"定位标签"
)
@ManyToOne
(
fetch
=
FetchType
.
LAZY
)
LocationTag
tag
;
@Comment
(
"定位时间"
)
LocalDateTime
time
;
@Comment
(
"进入"
)
Boolean
enter
;
@Comment
(
"是否为最新状态"
)
Boolean
isLatest
;
@SuppressWarnings
({
"unused"
})
public
enum
Type
{
FENCE
(
"围栏"
),
DISTRICT
(
"区域"
);
final
String
text
;
Type
(
String
text
)
{
this
.
text
=
text
;
}
public
String
text
()
{
return
this
.
text
;
}
}
}
app/src/main/java/com/yiring/app/domain/location/LocationTurnoverRepository.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
domain
.
location
;
import
java.io.Serializable
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.stereotype.Repository
;
/**
* @author Jim
* @version 0.1
* 2022/5/12 18:13
*/
@Repository
public
interface
LocationTurnoverRepository
extends
JpaRepository
<
LocationTurnover
,
Serializable
>,
JpaSpecificationExecutor
<
LocationTurnover
>
{}
app/src/main/java/com/yiring/app/domain/rehearsal/AccidentSpot.java
浏览文件 @
75866cb0
...
...
@@ -48,7 +48,7 @@ public class AccidentSpot extends BasicEntity implements Serializable {
@Comment
(
"空间信息"
)
@Type
(
type
=
"jts_geometry"
)
@Column
(
columnDefinition
=
"geometry"
)
@Column
(
columnDefinition
=
"geometry
(Geometry,4326)
"
)
private
Geometry
geometry
;
@Comment
(
"摄像头"
)
...
...
app/src/main/java/com/yiring/app/domain/rehearsal/EvacuationZone.java
浏览文件 @
75866cb0
...
...
@@ -48,7 +48,7 @@ public class EvacuationZone extends BasicEntity implements Serializable {
@Comment
(
"空间信息"
)
@Type
(
type
=
"jts_geometry"
)
@Column
(
columnDefinition
=
"geometry"
)
@Column
(
columnDefinition
=
"geometry
(Geometry,4326)
"
)
private
Geometry
geometry
;
@Comment
(
"摄像头"
)
...
...
app/src/main/java/com/yiring/app/domain/rehearsal/RehearsalPlanLog.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
domain
.
rehearsal
;
import
com.yiring.common.domain.BasicEntity
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
javax.persistence.*
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.experimental.FieldNameConstants
;
import
lombok.experimental.SuperBuilder
;
import
org.hibernate.annotations.Comment
;
import
org.hibernate.annotations.Type
;
import
org.locationtech.jts.geom.Geometry
;
/**
* @author tml
* @version 1.0
* @date 2022/5/10 10:56
*/
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
(
toBuilder
=
true
)
@FieldNameConstants
@Entity
//@Where(clause = "deleted = false")
@Table
(
name
=
"BS_REHEARSAL_PLAN_LOG"
)
@Comment
(
"演练计划实施数据"
)
public
class
RehearsalPlanLog
extends
BasicEntity
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
-
6920108507160621905L
;
@Comment
(
"演练计划"
)
@OneToOne
@JoinColumn
(
name
=
"rehearsal_plan_id"
)
private
RehearsalPlan
rehearsalPlan
;
@Comment
(
"开始时间"
)
private
LocalDateTime
beginTime
;
@Comment
(
"结束时间"
)
private
LocalDateTime
endTime
;
@Comment
(
"开始时事故点人数"
)
private
Integer
accidentPeopleNum
;
@Comment
(
"事故点内员工id集"
)
private
String
userIds
;
@Comment
(
"结束时撤离区人数"
)
private
Integer
evacuationPeopleNum
;
@Comment
(
"事故点影响范围的空间信息"
)
@Type
(
type
=
"jts_geometry"
)
@Column
(
columnDefinition
=
"geometry"
)
private
Geometry
geometry
;
}
app/src/main/java/com/yiring/app/domain/rehearsal/RehearsalPlanLogRepository.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
domain
.
rehearsal
;
import
java.io.Serializable
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.stereotype.Repository
;
/**
* @author tml
* @version 1.0
* @date 2022/5/11 17:04
*/
@Repository
public
interface
RehearsalPlanLogRepository
extends
JpaRepository
<
RehearsalPlanLog
,
Serializable
>,
JpaSpecificationExecutor
<
RehearsalPlanLog
>
{
/**
* 根据演练计划查询演练计划实施数据
* @param rehearsalPlan 演练计划
* @return 演练计划实施数据
*/
RehearsalPlanLog
findByRehearsalPlan
(
RehearsalPlan
rehearsalPlan
);
}
app/src/main/java/com/yiring/app/domain/rehearsal/RehearsalPlanRepository.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
domain
.
rehearsal
;
import
java.io.Serializable
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.stereotype.Repository
;
/**
* @author tml
* @version 1.0
* @date 2022/5/10 10:49
*/
@Repository
public
interface
RehearsalPlanRepository
extends
JpaRepository
<
RehearsalPlan
,
Serializable
>,
JpaSpecificationExecutor
<
RehearsalPlan
>
{}
app/src/main/java/com/yiring/app/domain/video/Video.java
浏览文件 @
75866cb0
...
...
@@ -44,6 +44,7 @@ public class Video implements Serializable {
Long
id
;
@Comment
(
"坐标点信息"
)
@Column
(
columnDefinition
=
"geometry(Point,4326)"
)
Point
point
;
@Comment
(
"标识"
)
...
...
app/src/main/java/com/yiring/app/excel/location/LocationAlarmRuleExcel.java
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
excel
.
location
;
import
com.alibaba.fastjson.JSON
;
import
com.github.liaochong.myexcel.core.annotation.ExcelColumn
;
import
com.github.liaochong.myexcel.core.annotation.ExcelModel
;
import
com.yiring.app.vo.location.rule.LocationAlarmRuleVo
;
import
com.yiring.app.constant.alarm.InformMannerEnum
;
import
com.yiring.app.domain.location.LocationAlarmRule
;
import
com.yiring.auth.domain.user.User
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.util.List
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
...
...
@@ -29,7 +33,7 @@ public class LocationAlarmRuleExcel implements Serializable {
@ExcelColumn
(
title
=
"地图名称"
)
private
String
mapName
;
@ExcelColumn
(
title
=
"电子围栏名称"
)
@ExcelColumn
(
title
=
"电子围栏名称"
,
width
=
15
)
private
String
fenceName
;
@ExcelColumn
(
title
=
"接收人"
,
width
=
20
)
...
...
@@ -38,25 +42,25 @@ public class LocationAlarmRuleExcel implements Serializable {
@ExcelColumn
(
title
=
"通知方式"
,
width
=
18
)
private
String
informManner
;
public
static
LocationAlarmRuleExcel
transform
(
LocationAlarmRule
Vo
locationAlarmRuleVo
)
{
StringBuilder
users
=
new
StringBuilder
();
public
static
LocationAlarmRuleExcel
transform
(
LocationAlarmRule
locationAlarmRule
)
{
StringBuilder
users
Builder
=
new
StringBuilder
();
StringBuilder
informManner
=
new
StringBuilder
();
for
(
int
i
=
0
;
i
<
locationAlarmRuleVo
.
getUsers
().
size
();
i
++)
{
if
(
i
!=
0
)
{
users
.
append
(
", "
);
}
users
.
append
(
locationAlarmRuleVo
.
getUsers
().
get
(
i
).
getRealName
());
List
<
Integer
>
informMannerList
=
JSON
.
parseArray
(
locationAlarmRule
.
getInformManner
(),
Integer
.
class
);
for
(
User
user
:
locationAlarmRule
.
getUsers
())
{
usersBuilder
.
append
(
", "
);
usersBuilder
.
append
(
user
.
getRealName
());
}
for
(
int
i
=
0
;
i
<
locationAlarmRuleVo
.
getInformManner
().
size
();
i
++)
{
String
users
=
usersBuilder
.
substring
(
2
);
for
(
int
i
=
0
;
i
<
informMannerList
.
size
();
i
++)
{
if
(
i
!=
0
)
{
informManner
.
append
(
", "
);
}
informManner
.
append
(
locationAlarmRuleVo
.
getInformManner
().
get
(
i
).
getName
(
));
informManner
.
append
(
InformMannerEnum
.
getByCode
(
informMannerList
.
get
(
i
)
));
}
return
LocationAlarmRuleExcel
.
builder
()
.
mapName
(
locationAlarmRule
Vo
.
getMapName
())
.
fenceName
(
locationAlarmRule
Vo
.
getFence
Name
())
.
mapName
(
locationAlarmRule
.
getMapName
())
.
fenceName
(
locationAlarmRule
.
getLocationFence
().
get
Name
())
.
users
(
users
.
toString
())
.
informManner
(
informManner
.
toString
())
.
build
();
...
...
app/src/main/java/com/yiring/app/excel/rehearsal/RehearsalPlanExcel.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
excel
.
rehearsal
;
import
com.github.liaochong.myexcel.core.annotation.ExcelColumn
;
import
com.github.liaochong.myexcel.core.annotation.ExcelModel
;
import
com.yiring.app.constant.rehearsal.RehearsalPlanStatusEnum
;
import
com.yiring.app.constant.rehearsal.RiskLevelEnum
;
import
com.yiring.app.domain.rehearsal.RehearsalPlan
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author tml
* @version 1.0
* @date 2022/5/10 13:48
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ExcelModel
public
class
RehearsalPlanExcel
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
-
2976618459214077036L
;
@ExcelColumn
(
title
=
"演练主题"
)
private
String
topical
;
@ExcelColumn
(
title
=
"事故点"
)
private
String
accidentSpotName
;
@ExcelColumn
(
title
=
"周边范围(m)"
)
private
Integer
scope
;
@ExcelColumn
(
title
=
"撤离点"
)
private
String
evacuationZoneName
;
@ExcelColumn
(
title
=
"风险程度"
)
private
String
riskLevelName
;
@ExcelColumn
(
title
=
"事故信息"
)
private
String
accidentMsg
;
@ExcelColumn
(
title
=
"演练时间"
)
private
LocalDateTime
rehearsalTime
;
@ExcelColumn
(
title
=
"推送信息"
)
private
String
pushMsg
;
@ExcelColumn
(
title
=
"状态"
)
private
String
statusName
;
public
static
RehearsalPlanExcel
transform
(
RehearsalPlan
rehearsalPlan
)
{
return
RehearsalPlanExcel
.
builder
()
.
topical
(
rehearsalPlan
.
getTopical
())
.
accidentSpotName
(
rehearsalPlan
.
getAccidentSpot
().
getName
())
.
scope
(
rehearsalPlan
.
getScope
())
.
evacuationZoneName
(
rehearsalPlan
.
getEvacuationZone
().
getName
())
.
riskLevelName
(
RiskLevelEnum
.
getByCode
(
rehearsalPlan
.
getRiskLevel
()))
.
accidentMsg
(
rehearsalPlan
.
getAccidentMsg
())
.
rehearsalTime
(
rehearsalPlan
.
getRehearsalTime
())
.
pushMsg
(
rehearsalPlan
.
getPushMsg
())
.
statusName
(
RehearsalPlanStatusEnum
.
getByCode
(
rehearsalPlan
.
getStatus
()))
.
build
();
}
}
app/src/main/java/com/yiring/app/job/Mock
Zy
MessageJob.java
→
app/src/main/java/com/yiring/app/job/Mock
Position
MessageJob.java
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
job
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xxl.job.core.context.XxlJobHelper
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
com.yiring.app.domain.location.LocationLog
;
import
com.yiring.app.domain.location.LocationLogRepository
;
import
com.yiring.app.rabbit.config.Zy
RabbitConfig
;
import
com.yiring.app.rabbit.config.Zy
ConfigProperties
;
import
com.yiring.app.util.GeoUtils
;
import
com.yiring.common.constant.DateFormatter
;
import
java.time.LocalDateTime
;
...
...
@@ -29,7 +31,7 @@ import org.springframework.stereotype.Component;
@SuppressWarnings
(
"unused"
)
@Slf4j
@Component
public
class
Mock
Zy
MessageJob
{
public
class
Mock
Position
MessageJob
{
@Resource
RabbitTemplate
rabbitTemplate
;
...
...
@@ -37,19 +39,36 @@ public class MockZyMessageJob {
@Resource
LocationLogRepository
locationLogRepository
;
@XxlJob
(
"MockZyMessageHandler"
)
public
void
mockMessageHandler
()
{
log
.
info
(
"MockZyMessageHandler: {}"
,
LocalDateTime
.
now
().
format
(
DateFormatter
.
DATE_TIME
));
@Resource
ZyConfigProperties
.
ZyConfigRabbitmq
rabbitmq
;
@XxlJob
(
"MockPositionHandler"
)
public
void
MockPositionHandler
()
{
JSONObject
extra
=
toJSON
(
XxlJobHelper
.
getJobParam
());
log
.
info
(
"[Mock] Position: {}, {}"
,
mockPositionMessage
(
extra
),
extra
);
}
@XxlJob
(
"MockLowPowerHandler"
)
public
void
MockLowPowerHandler
()
{
JSONObject
extra
=
toJSON
(
XxlJobHelper
.
getJobParam
());
log
.
info
(
"[Mock] LowPower: {}, {}"
,
mockLowPowerMessage
(
extra
),
extra
);
}
@XxlJob
(
"MockDeviceStatusHandler"
)
public
void
MockDeviceStatusHandler
()
{
JSONObject
extra
=
toJSON
(
XxlJobHelper
.
getJobParam
());
log
.
info
(
"[Mock] DeviceStatus: {}, {}"
,
mockDeviceStatusMessage
(
extra
),
extra
);
}
log
.
info
(
"[Mock] Position: {}"
,
mockPositionMessage
());
log
.
info
(
"[Mock] LowPower: {}"
,
mockLowPowerMessage
());
log
.
info
(
"[Mock] DeviceStatus: {}"
,
mockDeviceStatusMessage
());
log
.
info
(
"[Mock] KeyWarning: {}
"
,
mockKeyWarningMessage
()
);
@XxlJob
(
"MockKeyWarningHandler"
)
public
void
MockKeyWarningHandler
()
{
JSONObject
extra
=
toJSON
(
XxlJobHelper
.
getJobParam
());
log
.
info
(
"[Mock] KeyWarning: {}
, {}"
,
mockKeyWarningMessage
(
extra
),
extra
);
}
@XxlJob
(
"QueryMessageHandler"
)
public
void
queryMessageHandler
()
{
log
.
info
(
"Query
Zy
MessageHandler: {}"
,
LocalDateTime
.
now
().
format
(
DateFormatter
.
DATE_TIME
));
log
.
info
(
"QueryMessageHandler: {}"
,
LocalDateTime
.
now
().
format
(
DateFormatter
.
DATE_TIME
));
try
{
Specification
<
LocationLog
>
spec
=
(
root
,
query
,
cb
)
->
{
...
...
@@ -59,17 +78,31 @@ public class MockZyMessageJob {
};
List
<
LocationLog
>
logs
=
locationLogRepository
.
findAll
(
spec
);
log
.
info
(
"
QueryZyMessageHandler
: {}"
,
logs
.
size
());
log
.
info
(
"
log size
: {}"
,
logs
.
size
());
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
}
public
JSONObject
send
(
JSONObject
body
)
{
rabbitTemplate
.
convertAndSend
(
ZyRabbitConfig
.
MESSAGE_QUEUES_NAME
,
body
.
toJSONString
());
if
(
rabbitmq
.
isMock
())
{
rabbitTemplate
.
convertAndSend
(
rabbitmq
.
getQueueName
(),
body
.
toJSONString
());
}
return
body
;
}
public
JSONObject
toJSON
(
String
params
)
{
JSONObject
extra
=
new
JSONObject
();
try
{
extra
=
JSON
.
parseObject
(
params
);
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
return
extra
==
null
?
new
JSONObject
()
:
extra
;
}
private
String
mockTag
()
{
return
"BTT33333331"
;
}
...
...
@@ -78,7 +111,7 @@ public class MockZyMessageJob {
return
10019L
;
}
private
JSONObject
mockPositionMessage
()
{
private
JSONObject
mockPositionMessage
(
JSONObject
extra
)
{
// 随机生成一个坐标点
Point
point
=
GeoUtils
.
randomPoint
(
GeoUtils
.
defaultBounds
(),
0
);
...
...
@@ -95,6 +128,7 @@ public class MockZyMessageJob {
params
.
put
(
"volt"
,
3650
);
params
.
put
(
"voltUnit"
,
"mV"
);
params
.
put
(
"floor"
,
1
);
params
.
putAll
(
extra
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"method"
,
"position"
);
...
...
@@ -102,11 +136,12 @@ public class MockZyMessageJob {
return
send
(
body
);
}
private
JSONObject
mockLowPowerMessage
()
{
private
JSONObject
mockLowPowerMessage
(
JSONObject
extra
)
{
JSONObject
params
=
new
JSONObject
();
params
.
put
(
"tagId"
,
mockTag
());
params
.
put
(
"volt"
,
3650
);
params
.
put
(
"voltUnit"
,
"mV"
);
params
.
putAll
(
extra
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"method"
,
"lowPower"
);
...
...
@@ -114,7 +149,7 @@ public class MockZyMessageJob {
return
send
(
body
);
}
private
JSONObject
mockDeviceStatusMessage
()
{
private
JSONObject
mockDeviceStatusMessage
(
JSONObject
extra
)
{
JSONObject
params
=
new
JSONObject
();
params
.
put
(
"deviceId"
,
mockTag
());
params
.
put
(
"areaId"
,
mockAreaId
());
...
...
@@ -122,6 +157,7 @@ public class MockZyMessageJob {
params
.
put
(
"volt"
,
3650
);
params
.
put
(
"field_21"
,
"mV"
);
params
.
put
(
"updateTime"
,
System
.
currentTimeMillis
());
params
.
putAll
(
extra
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"method"
,
"deviceStatus"
);
...
...
@@ -129,7 +165,7 @@ public class MockZyMessageJob {
return
send
(
body
);
}
private
JSONObject
mockKeyWarningMessage
()
{
private
JSONObject
mockKeyWarningMessage
(
JSONObject
extra
)
{
JSONObject
params
=
new
JSONObject
();
params
.
put
(
"tagId"
,
mockTag
());
params
.
put
(
"entityId"
,
"4376"
);
...
...
@@ -139,6 +175,7 @@ public class MockZyMessageJob {
params
.
put
(
"y"
,
100
);
params
.
put
(
"z"
,
0
);
params
.
put
(
"floor"
,
1
);
params
.
putAll
(
extra
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"method"
,
"keyWarning"
);
...
...
app/src/main/java/com/yiring/app/param/alarm/AlarmConditionParam.java
浏览文件 @
75866cb0
...
...
@@ -14,11 +14,12 @@ import lombok.NoArgsConstructor;
import
org.hibernate.validator.constraints.Range
;
/**
* 报警类型的条件param
* @author tml
* @version 1.0
* @date 2022/4/27 14:28
*/
@ApiModel
(
"AlarmConditionParam
(报警类型的条件param)
"
)
@ApiModel
(
"AlarmConditionParam"
)
@Data
@AllArgsConstructor
@NoArgsConstructor
...
...
app/src/main/java/com/yiring/app/param/alarm/AlarmTypeAddParam.java
浏览文件 @
75866cb0
...
...
@@ -18,11 +18,12 @@ import org.hibernate.validator.constraints.Length;
import
org.hibernate.validator.constraints.Range
;
/**
* 报警类型的添加param
* @author tml
* @version 1.0
* @date 2022/4/27 11:28
*/
@ApiModel
(
"AlarmTypeAddParam
(报警类型的添加param)
"
)
@ApiModel
(
"AlarmTypeAddParam"
)
@Data
@Builder
@NoArgsConstructor
...
...
app/src/main/java/com/yiring/app/param/alarm/AlarmTypeModifyParam.java
浏览文件 @
75866cb0
...
...
@@ -15,11 +15,12 @@ import lombok.NoArgsConstructor;
import
org.hibernate.validator.constraints.Length
;
/**
* 报警类型修改param
* @author tml
* @version 1.0
* @date 2022/4/27 11:28
*/
@ApiModel
(
"AlarmTypeModifyParam
(报警类型修改param)
"
)
@ApiModel
(
"AlarmTypeModifyParam"
)
@Data
@Builder
@NoArgsConstructor
...
...
@@ -58,7 +59,6 @@ public class AlarmTypeModifyParam implements Serializable {
.
fenceType
(
fenceType
)
.
relevanceParam
(
relevanceParam
)
.
comment
(
comment
)
.
deleted
(
false
)
.
build
();
}
}
app/src/main/java/com/yiring/app/param/analysis/history/HistoryRouteConditionParam.java
浏览文件 @
75866cb0
...
...
@@ -14,11 +14,12 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
/**
* 历史轨迹的条件param
* @author tml
* @version 1.0
* @date 2022/5/6 10:53
*/
@ApiModel
(
"HistoryRoute
(历史轨迹的条件param)
"
)
@ApiModel
(
"HistoryRoute"
)
@Data
@AllArgsConstructor
@NoArgsConstructor
...
...
app/src/main/java/com/yiring/app/param/district/DistrictAddParam.java
浏览文件 @
75866cb0
...
...
@@ -18,7 +18,7 @@ import org.locationtech.jts.geom.Geometry;
* @version 1.0
* @date 2022/4/26 10:40
*/
@ApiModel
(
"DistrictAddParam
(添加区域param)
"
)
@ApiModel
(
"DistrictAddParam"
)
@Data
@Builder
@NoArgsConstructor
...
...
app/src/main/java/com/yiring/app/param/district/DistrictModifyParam.java
浏览文件 @
75866cb0
...
...
@@ -20,7 +20,7 @@ import org.locationtech.jts.geom.Geometry;
* @version 1.0
* @date 2022/4/26 10:40
*/
@ApiModel
(
"DistrictAddParam
(添加区域param)
"
)
@ApiModel
(
"DistrictAddParam"
)
@Data
@Builder
@NoArgsConstructor
...
...
app/src/main/java/com/yiring/app/param/location/fence/LocationFenceAddParam.java
浏览文件 @
75866cb0
...
...
@@ -17,11 +17,12 @@ import org.hibernate.validator.constraints.Range;
import
org.locationtech.jts.geom.Geometry
;
/**
* 添加围栏信息的param
* @author tml
* @version 1.0
* @date 2022/4/28 10:52
*/
@ApiModel
(
"LocationFenceAddParam
(添加围栏信息的param)
"
)
@ApiModel
(
"LocationFenceAddParam"
)
@Data
@AllArgsConstructor
@NoArgsConstructor
...
...
app/src/main/java/com/yiring/app/param/location/fence/LocationFenceConditionParam.java
浏览文件 @
75866cb0
...
...
@@ -11,11 +11,12 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
/**
* 查询围栏信息的条件param
* @author tml
* @version 1.0
* @date 2022/4/28 13:35
*/
@ApiModel
(
"LocationFenceConditionParam
(查询围栏信息的条件param)
"
)
@ApiModel
(
"LocationFenceConditionParam"
)
@Data
@AllArgsConstructor
@NoArgsConstructor
...
...
app/src/main/java/com/yiring/app/param/location/fence/LocationFenceModifyParam.java
浏览文件 @
75866cb0
...
...
@@ -16,11 +16,12 @@ import org.hibernate.validator.constraints.Range;
import
org.locationtech.jts.geom.Geometry
;
/**
* 修改围栏信息的param
* @author tml
* @version 1.0
* @date 2022/4/28 10:52
*/
@ApiModel
(
"LocationFenceModifyParam
(修改围栏信息的param)
"
)
@ApiModel
(
"LocationFenceModifyParam"
)
@Data
@AllArgsConstructor
@NoArgsConstructor
...
...
@@ -70,7 +71,6 @@ public class LocationFenceModifyParam {
.
geometry
(
geometry
)
.
residenceTime
(
residenceTime
)
.
threshold
(
threshold
)
.
enable
(
false
)
.
build
();
}
}
app/src/main/java/com/yiring/app/param/location/rule/AlarmRuleBatchAddParam.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
param
.
location
.
rule
;
import
io.swagger.annotations.ApiModel
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.util.Set
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author tml
* @version 1.0
* @date 2022/5/11 14:17
*/
@ApiModel
(
"批量添加配置报警类别的报警规则"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
AlarmRuleBatchAddParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
7123885270967732491L
;
private
Set
<
LocationAlarmRuleAddParam
>
params
;
}
app/src/main/java/com/yiring/app/param/location/rule/AlarmRuleBatchModifyParam.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
param
.
location
.
rule
;
import
io.swagger.annotations.ApiModel
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.util.Set
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author tml
* @version 1.0
* @date 2022/5/12 9:46
*/
@ApiModel
(
"批量修改配置报警类别的报警规则"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
AlarmRuleBatchModifyParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
-
9160183461478867656L
;
private
Set
<
LocationAlarmRuleModifyParam
>
params
;
}
app/src/main/java/com/yiring/app/param/location/rule/LocationAlarmRuleAddParam.java
浏览文件 @
75866cb0
...
...
@@ -14,6 +14,7 @@ import java.io.Serial;
import
java.io.Serializable
;
import
java.util.HashSet
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
lombok.AllArgsConstructor
;
...
...
@@ -36,6 +37,12 @@ public class LocationAlarmRuleAddParam implements Serializable {
@Serial
private
static
final
long
serialVersionUID
=
388296602724939033L
;
/**
* 这个字段给前端标识用,后端无意义
*/
@ApiModelProperty
(
value
=
"标识ID,无意义"
)
private
Integer
tabId
;
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@ApiModelProperty
(
value
=
"地图id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"地图id不能为空"
)
...
...
@@ -49,16 +56,16 @@ public class LocationAlarmRuleAddParam implements Serializable {
@NotNull
(
message
=
"电子围栏id不能为空"
)
private
Long
fenceId
;
@ApiModelProperty
(
value
=
"报警类型id"
,
example
=
"1"
,
required
=
true
)
@Not
Null
(
message
=
"报警类型id不能为空"
)
private
Long
alarmId
;
@ApiModelProperty
(
value
=
"报警类型id"
,
required
=
true
)
@Not
Empty
(
message
=
"报警类型id不能为空"
)
private
Set
<
Long
>
alarmIds
;
@ApiModelProperty
(
value
=
"接收人集合(id)"
,
required
=
true
)
@Not
Null
(
message
=
"接收人id不能为空"
)
@Not
Empty
(
message
=
"接收人id不能为空"
)
private
Set
<
Long
>
users
;
@ApiModelProperty
(
value
=
"通知方式集合"
,
required
=
true
)
@Not
Null
(
message
=
"通知方式不能为空"
)
@Not
Empty
(
message
=
"通知方式不能为空"
)
private
Set
<
Integer
>
informManner
;
public
LocationAlarmRule
transform
()
{
...
...
@@ -67,7 +74,10 @@ public class LocationAlarmRuleAddParam implements Serializable {
for
(
Long
item
:
this
.
users
)
{
set
.
add
(
User
.
builder
().
id
(
item
).
build
());
}
AlarmType
alarmType
=
AlarmType
.
builder
().
id
(
alarmId
).
build
();
Set
<
AlarmType
>
alarmTypes
=
alarmIds
.
stream
()
.
map
(
e
->
AlarmType
.
builder
().
id
(
e
).
build
())
.
collect
(
Collectors
.
toSet
());
String
json
=
JSON
.
toJSONString
(
informManner
);
return
LocationAlarmRule
.
builder
()
...
...
@@ -75,7 +85,7 @@ public class LocationAlarmRuleAddParam implements Serializable {
.
mapName
(
mapName
)
.
locationFence
(
locationFence
)
.
users
(
set
)
.
alarmType
(
alarmType
)
.
alarmType
s
(
alarmTypes
)
.
informManner
(
json
)
.
deleted
(
false
)
.
build
();
...
...
app/src/main/java/com/yiring/app/param/location/rule/LocationAlarmRuleModifyParam.java
浏览文件 @
75866cb0
...
...
@@ -12,6 +12,7 @@ import java.io.Serial;
import
java.io.Serializable
;
import
java.util.HashSet
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
lombok.AllArgsConstructor
;
...
...
@@ -34,6 +35,12 @@ public class LocationAlarmRuleModifyParam implements Serializable {
@Serial
private
static
final
long
serialVersionUID
=
388296602724939033L
;
/**
* 这个字段给前端标识用,后端无意义
*/
@ApiModelProperty
(
value
=
"标识ID,无意义"
)
private
Integer
tabId
;
@ApiModelProperty
(
value
=
"id"
,
example
=
"1"
,
required
=
true
)
@NotEmpty
(
message
=
"规则id不能为空"
)
private
Long
id
;
...
...
@@ -44,9 +51,9 @@ public class LocationAlarmRuleModifyParam implements Serializable {
@ApiModelProperty
(
value
=
"地图名称"
,
example
=
"一层"
,
required
=
true
)
private
String
mapName
;
@ApiModelProperty
(
value
=
"报警类型id"
,
example
=
"1"
,
required
=
true
)
@ApiModelProperty
(
value
=
"报警类型id"
,
required
=
true
)
@NotNull
(
message
=
"报警类型id不能为空"
)
private
Long
alarmId
;
private
Set
<
Long
>
alarmIds
;
@ApiModelProperty
(
value
=
"电子围栏id"
,
example
=
"1"
,
required
=
true
)
private
Long
fenceId
;
...
...
@@ -63,7 +70,10 @@ public class LocationAlarmRuleModifyParam implements Serializable {
for
(
Long
item
:
this
.
users
)
{
set
.
add
(
User
.
builder
().
id
(
item
).
build
());
}
AlarmType
alarmType
=
AlarmType
.
builder
().
id
(
alarmId
).
build
();
Set
<
AlarmType
>
alarmTypes
=
alarmIds
.
stream
()
.
map
(
e
->
AlarmType
.
builder
().
id
(
e
).
build
())
.
collect
(
Collectors
.
toSet
());
String
json
=
JSON
.
toJSONString
(
informManner
);
return
LocationAlarmRule
.
builder
()
...
...
@@ -72,9 +82,8 @@ public class LocationAlarmRuleModifyParam implements Serializable {
.
mapName
(
mapName
)
.
locationFence
(
locationFence
)
.
users
(
set
)
.
alarmType
(
alarmType
)
.
alarmType
s
(
alarmTypes
)
.
informManner
(
json
)
.
deleted
(
false
)
.
build
();
}
}
app/src/main/java/com/yiring/app/param/location/rule/LocationFenceRuleAddParam.java
浏览文件 @
75866cb0
...
...
@@ -18,11 +18,12 @@ import lombok.NoArgsConstructor;
import
org.hibernate.validator.constraints.Range
;
/**
* 添加配置报警类别的报警规则,根据不同类型传入不同参数
* @author tml
* @version 1.0
* @date 2022/4/28 16:16
*/
@ApiModel
(
"
添加配置报警类别的报警规则,根据不同类型传入不同参数
"
)
@ApiModel
(
"
LocationFenceRuleAddParam
"
)
@Data
@Builder
@NoArgsConstructor
...
...
app/src/main/java/com/yiring/app/param/location/rule/LocationFenceRuleModifyParam.java
浏览文件 @
75866cb0
...
...
@@ -10,12 +10,13 @@ import javax.validation.constraints.NotNull;
import
lombok.*
;
/**
* 修改配置报警类别的报警规则,根据不同类型传入不同参数
* @author tml
* @version 1.0
* @date 2022/4/28 16:16
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
"
修改配置报警类别的报警规则,根据不同类型传入不同参数
"
)
@ApiModel
(
"
LocationFenceRuleModifyParam
"
)
@Data
@NoArgsConstructor
@AllArgsConstructor
...
...
app/src/main/java/com/yiring/app/param/location/rule/RuleParam.java
浏览文件 @
75866cb0
...
...
@@ -12,11 +12,12 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
/**
* 报警规则,根据不同类型传入不同参数
* @author tml
* @version 1.0
* @date 2022/4/29 14:12
*/
@ApiModel
(
"
报警规则,根据不同类型传入不同参数
"
)
@ApiModel
(
"
RuleParam
"
)
@Data
@Builder
@NoArgsConstructor
...
...
app/src/main/java/com/yiring/app/param/rehearsal/AccidentSpotModifyParam.java
浏览文件 @
75866cb0
...
...
@@ -66,8 +66,6 @@ public class AccidentSpotModifyParam implements Serializable {
.
video
(
video
)
.
timeoutDuration
(
timeoutDuration
)
.
threshold
(
threshold
)
.
enable
(
false
)
.
deleted
(
false
)
.
build
();
}
}
app/src/main/java/com/yiring/app/param/rehearsal/EvacuationZoneModifyParam.java
浏览文件 @
75866cb0
...
...
@@ -64,8 +64,6 @@ public class EvacuationZoneModifyParam implements Serializable {
.
video
(
video
)
.
timeoutDuration
(
timeoutDuration
)
.
threshold
(
threshold
)
.
enable
(
false
)
.
deleted
(
false
)
.
build
();
}
}
app/src/main/java/com/yiring/app/param/rehearsal/RehearsalPlanAddParam.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
param
.
rehearsal
;
import
com.yiring.app.constant.rehearsal.RehearsalPlanStatusEnum
;
import
com.yiring.app.domain.rehearsal.AccidentSpot
;
import
com.yiring.app.domain.rehearsal.EvacuationZone
;
import
com.yiring.app.domain.rehearsal.RehearsalPlan
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author tml
* @version 1.0
* @date 2022/5/10 11:29
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel
(
"演练计划新增param"
)
public
class
RehearsalPlanAddParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
6574628197950618904L
;
@ApiModelProperty
(
value
=
"演练主题"
,
example
=
"红色演练"
,
required
=
true
)
@NotEmpty
(
message
=
"演练主题不能为空"
)
private
String
topical
;
@ApiModelProperty
(
value
=
"事故点id"
,
example
=
"1522844636060585984"
,
required
=
true
)
@NotNull
(
message
=
"事故点id不能为空"
)
private
Long
accidentSpotId
;
@ApiModelProperty
(
value
=
"周边范围(事故点周围多少米)"
,
example
=
"50"
,
required
=
true
)
@NotNull
(
message
=
"周边范围不能为空"
)
private
Integer
scope
;
@ApiModelProperty
(
value
=
"撤离区id"
,
example
=
"1523562795864428544"
,
required
=
true
)
@NotNull
(
message
=
"撤离区id不能为空"
)
private
Long
evacuationZoneId
;
@ApiModelProperty
(
value
=
"风险程度"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"撤离区id不能为空"
)
private
Integer
riskLevel
;
@ApiModelProperty
(
value
=
"事故信息"
,
example
=
"气体泄露"
,
required
=
true
)
@NotEmpty
(
message
=
"事故信息不能为空"
)
private
String
accidentMsg
;
@ApiModelProperty
(
value
=
"推送信息"
,
example
=
"气体泄露,请尽快逃离"
,
required
=
true
)
@NotEmpty
(
message
=
"推送信息不能为空"
)
private
String
pushMsg
;
public
RehearsalPlan
transform
()
{
AccidentSpot
accidentSpot
=
AccidentSpot
.
builder
().
id
(
accidentSpotId
).
build
();
EvacuationZone
evacuationZone
=
EvacuationZone
.
builder
().
id
(
evacuationZoneId
).
build
();
return
RehearsalPlan
.
builder
()
.
topical
(
topical
)
.
accidentSpot
(
accidentSpot
)
.
scope
(
scope
)
.
evacuationZone
(
evacuationZone
)
.
riskLevel
(
riskLevel
)
.
accidentMsg
(
accidentMsg
)
.
pushMsg
(
pushMsg
)
.
status
(
RehearsalPlanStatusEnum
.
UN_START
.
getCode
())
.
deleted
(
false
)
.
build
();
}
}
app/src/main/java/com/yiring/app/param/rehearsal/RehearsalPlanConditionParam.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
param
.
rehearsal
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author tml
* @version 1.0
* @date 2022/5/10 11:29
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel
(
"演练计划查询条件param"
)
public
class
RehearsalPlanConditionParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
6574628197950618904L
;
@ApiModelProperty
(
value
=
"风险程度"
,
example
=
"1"
)
private
Integer
riskLevel
;
@ApiModelProperty
(
value
=
"状态"
,
example
=
"1"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"开始时间"
,
example
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
beginTime
;
@ApiModelProperty
(
value
=
"结束时间"
,
example
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
endTime
;
}
app/src/main/java/com/yiring/app/param/rehearsal/RehearsalPlanModifyParam.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
param
.
rehearsal
;
import
com.yiring.app.domain.rehearsal.AccidentSpot
;
import
com.yiring.app.domain.rehearsal.EvacuationZone
;
import
com.yiring.app.domain.rehearsal.RehearsalPlan
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
javax.validation.constraints.NotNull
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author tml
* @version 1.0
* @date 2022/5/10 11:29
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel
(
"演练计划修改param"
)
public
class
RehearsalPlanModifyParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
6574628197950618904L
;
@ApiModelProperty
(
value
=
"id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"id不能为空"
)
private
Long
id
;
@ApiModelProperty
(
value
=
"演练主题"
,
example
=
"红色演练"
)
private
String
topical
;
@ApiModelProperty
(
value
=
"事故点id"
,
example
=
"1522844636060585984"
)
private
Long
accidentSpotId
;
@ApiModelProperty
(
value
=
"周边范围(事故点周围多少米)"
,
example
=
"50"
)
private
Integer
scope
;
@ApiModelProperty
(
value
=
"撤离区id"
,
example
=
"1523562795864428544"
)
private
Long
evacuationZoneId
;
@ApiModelProperty
(
value
=
"风险程度"
,
example
=
"1"
)
private
Integer
riskLevel
;
@ApiModelProperty
(
value
=
"事故信息"
,
example
=
"气体泄露"
)
private
String
accidentMsg
;
@ApiModelProperty
(
value
=
"推送信息"
,
example
=
"气体泄露,请尽快逃离"
)
private
String
pushMsg
;
public
RehearsalPlan
transform
()
{
AccidentSpot
accidentSpot
=
AccidentSpot
.
builder
().
id
(
accidentSpotId
).
build
();
EvacuationZone
evacuationZone
=
EvacuationZone
.
builder
().
id
(
evacuationZoneId
).
build
();
return
RehearsalPlan
.
builder
()
.
id
(
id
)
.
topical
(
topical
)
.
accidentSpot
(
accidentSpot
)
.
scope
(
scope
)
.
evacuationZone
(
evacuationZone
)
.
riskLevel
(
riskLevel
)
.
accidentMsg
(
accidentMsg
)
.
pushMsg
(
pushMsg
)
.
build
();
}
}
app/src/main/java/com/yiring/app/param/rehearsal/RehearsalPlanPlaybackParam.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
param
.
rehearsal
;
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.NotNull
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author tml
* @version 1.0
* @date 2022/5/12 11:56
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel
(
"演练计划查看回放param"
)
public
class
RehearsalPlanPlaybackParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
5765142306154131375L
;
@ApiModelProperty
(
value
=
"演练计划id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"演练计划id不能为空"
)
private
Long
id
;
@ApiModelProperty
(
value
=
"看回放的开始时间(不传则默认演练开始的时间)"
)
private
LocalDateTime
beginTime
;
}
app/src/main/java/com/yiring/app/rabbit/config/MockZyRabbitConfig.java
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
rabbit
.
config
;
import
org.springframework.amqp.core.Binding
;
import
org.springframework.amqp.core.BindingBuilder
;
import
org.springframework.amqp.core.Queue
;
import
org.springframework.amqp.core.TopicExchange
;
import
com.yiring.app.rabbit.receiver.PositionMessageHandler
;
import
javax.annotation.Resource
;
import
org.springframework.amqp.core.*
;
import
org.springframework.amqp.rabbit.connection.ConnectionFactory
;
import
org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
...
...
@@ -16,8 +18,12 @@ import org.springframework.context.annotation.Configuration;
* 2019/8/21 15:44
*/
@Configuration
@ConditionalOnProperty
(
prefix
=
"zy-config.rabbitmq"
,
value
=
"mock"
,
havingValue
=
"true"
)
public
class
MockZyRabbitConfig
{
@Resource
ZyConfigProperties
.
ZyConfigRabbitmq
rabbitmq
;
/**
* 消息交换机
*/
...
...
@@ -33,16 +39,20 @@ public class MockZyRabbitConfig {
return
new
TopicExchange
(
ZY_TOPIC_EXCHANGE
,
true
,
false
);
}
@Bean
(
ZyRabbitConfig
.
MESSAGE_QUEUES_NAME
)
public
Queue
mockMessageQueue
()
{
return
new
Queue
(
ZyRabbitConfig
.
MESSAGE_QUEUES_NAME
,
true
,
false
,
false
);
}
@Bean
Binding
bindingExchangeMock
(
@Qualifier
(
ZyRabbitConfig
.
MESSAGE_QUEUES
_NAME
)
Queue
queue
,
@Qualifier
(
ZyRabbitConfig
.
QUEUE_BEAN
_NAME
)
Queue
queue
,
@Qualifier
(
ZY_TOPIC_EXCHANGE
)
TopicExchange
exchange
)
{
return
BindingBuilder
.
bind
(
queue
).
to
(
exchange
).
with
(
ZyRabbitConfig
.
MESSAGE_QUEUES_NAME
);
return
BindingBuilder
.
bind
(
queue
).
to
(
exchange
).
with
(
rabbitmq
.
getQueueName
());
}
@Bean
(
ZyRabbitConfig
.
LISTENER_CONTAINER_NAME
)
public
SimpleMessageListenerContainer
simpleMessageListenerContainer
(
PositionMessageHandler
handler
,
@Qualifier
(
ZyRabbitConfig
.
QUEUE_BEAN_NAME
)
Queue
queue
,
@Qualifier
(
RabbitConfig
.
CONNECTION_FACTORY_NAME
)
ConnectionFactory
connectionFactory
)
{
return
ZyRabbitConfig
.
buildPositionMessageListenerContainer
(
handler
,
queue
,
connectionFactory
);
}
}
app/src/main/java/com/yiring/app/rabbit/config/RabbitConfig.java
浏览文件 @
75866cb0
...
...
@@ -2,15 +2,11 @@
package
com
.
yiring
.
app
.
rabbit
.
config
;
import
javax.annotation.Resource
;
import
org.springframework.amqp.core.AcknowledgeMode
;
import
org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory
;
import
org.springframework.amqp.rabbit.connection.CachingConnectionFactory
;
import
org.springframework.amqp.rabbit.connection.ConnectionFactory
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.boot.autoconfigure.amqp.RabbitProperties
;
import
org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Primary
;
...
...
@@ -43,19 +39,6 @@ public class RabbitConfig {
@Bean
@Primary
public
RabbitListenerContainerFactory
<?>
rabbitListenerContainerFactory
(
SimpleRabbitListenerContainerFactoryConfigurer
configurer
,
@Qualifier
(
CONNECTION_FACTORY_NAME
)
ConnectionFactory
connectionFactory
)
{
SimpleRabbitListenerContainerFactory
factory
=
new
SimpleRabbitListenerContainerFactory
();
// 手动确认消息模式
factory
.
setAcknowledgeMode
(
AcknowledgeMode
.
MANUAL
);
configurer
.
configure
(
factory
,
connectionFactory
);
return
factory
;
}
@Bean
@Primary
public
RabbitTemplate
rabbitTemplate
(
@Qualifier
(
CONNECTION_FACTORY_NAME
)
ConnectionFactory
connectionFactory
)
{
return
new
RabbitTemplate
(
connectionFactory
);
}
...
...
app/src/main/java/com/yiring/app/rabbit/config/ZyConfigProperties.java
浏览文件 @
75866cb0
...
...
@@ -36,6 +36,7 @@ public class ZyConfigProperties {
@ConfigurationProperties
(
prefix
=
"zy-config.rabbitmq"
)
public
static
class
ZyConfigRabbitmq
{
boolean
mock
;
boolean
enabled
;
String
host
;
int
port
;
...
...
app/src/main/java/com/yiring/app/rabbit/config/ZyRabbitConfig.java
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
rabbit
.
config
;
import
com.yiring.app.rabbit.receiver.PositionMessageHandler
;
import
javax.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.AcknowledgeMode
;
import
org.springframework.amqp.
rabbit.config.SimpleRabbitListenerContainerFactory
;
import
org.springframework.amqp.
core.Queue
;
import
org.springframework.amqp.rabbit.connection.ConnectionFactory
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory
;
import
org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.context.ConfigurableApplicationContext
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
...
...
@@ -31,19 +29,9 @@ public class ZyRabbitConfig {
@Resource
ZyConfigProperties
.
ZyConfigRabbitmq
rabbitmq
;
@Resource
ConfigurableApplicationContext
context
;
public
static
final
String
CONNECTION_FACTORY_NAME
=
"zyRabbitConnectionFactory"
;
public
static
final
String
LISTENER_FACTORY_NAME
=
"zyRabbitListenerFactory"
;
public
static
final
String
TEMPLATE_NAME
=
"zyRabbitTemplate"
;
/**
* 消息队列名称(必须要与配置文件中的 queue-name 完全一致)
* 规则: tenant_msg_${open.client-secret}_${open.client-id}
* 参见文档: 定位平台接口规范V3.0.1 - 通用版.pdf #6
*/
public
static
final
String
MESSAGE_QUEUES_NAME
=
"tenant_msg_12A14FDC_sc21080400"
;
public
static
final
String
LISTENER_CONTAINER_NAME
=
"zyPositionMessageListenerContainer"
;
public
static
final
String
QUEUE_BEAN_NAME
=
"messageHandlerQueue"
;
@Bean
(
CONNECTION_FACTORY_NAME
)
public
ConnectionFactory
zyConnectionFactory
()
{
...
...
@@ -56,27 +44,35 @@ public class ZyRabbitConfig {
);
}
@Bean
(
LISTENER_FACTORY_NAME
)
public
RabbitListenerContainerFactory
<?>
rabbitListenerContainerFactory
(
SimpleRabbitListenerContainerFactoryConfigurer
configurer
,
@Bean
(
LISTENER_CONTAINER_NAME
)
@ConditionalOnProperty
(
prefix
=
"zy-config.rabbitmq"
,
value
=
"mock"
,
havingValue
=
"false"
)
public
SimpleMessageListenerContainer
simpleMessageListenerContainer
(
PositionMessageHandler
handler
,
@Qualifier
(
QUEUE_BEAN_NAME
)
Queue
queue
,
@Qualifier
(
CONNECTION_FACTORY_NAME
)
ConnectionFactory
connectionFactory
)
{
// 检查队列名称是否与配置文件一致,避免监听错误
if
(!
MESSAGE_QUEUES_NAME
.
equals
(
rabbitmq
.
getQueueName
()))
{
log
.
error
(
"队列名称不一致,请检查配置文件"
);
context
.
close
();
return
null
;
}
return
buildPositionMessageListenerContainer
(
handler
,
queue
,
connectionFactory
);
}
SimpleRabbitListenerContainerFactory
factory
=
new
SimpleRabbitListenerContainerFactory
();
// 手动确认消息模式
factory
.
setAcknowledgeMode
(
AcknowledgeMode
.
MANUAL
);
configurer
.
configure
(
factory
,
connectionFactory
);
return
factory
;
@Bean
(
QUEUE_BEAN_NAME
)
public
Queue
messageHandlerQueue
()
{
return
new
Queue
(
rabbitmq
.
getQueueName
(),
true
,
false
,
false
);
}
@Bean
(
TEMPLATE_NAME
)
public
RabbitTemplate
rabbitTemplate
(
@Qualifier
(
CONNECTION_FACTORY_NAME
)
ConnectionFactory
connectionFactory
)
{
return
new
RabbitTemplate
(
connectionFactory
);
public
static
SimpleMessageListenerContainer
buildPositionMessageListenerContainer
(
PositionMessageHandler
handler
,
Queue
queue
,
ConnectionFactory
connectionFactory
)
{
SimpleMessageListenerContainer
container
=
new
SimpleMessageListenerContainer
();
container
.
setConnectionFactory
(
connectionFactory
);
container
.
setAcknowledgeMode
(
AcknowledgeMode
.
MANUAL
);
container
.
setBatchSize
(
10
);
container
.
setConcurrentConsumers
(
1
);
container
.
setMaxConcurrentConsumers
(
1
);
container
.
setExposeListenerChannel
(
true
);
container
.
setMessageListener
(
handler
);
container
.
addQueues
(
queue
);
return
container
;
}
}
app/src/main/java/com/yiring/app/rabbit/receiver/
ZyRabbitReceiv
er.java
→
app/src/main/java/com/yiring/app/rabbit/receiver/
PositionMessageHandl
er.java
浏览文件 @
75866cb0
...
...
@@ -2,31 +2,29 @@
package
com
.
yiring
.
app
.
rabbit
.
receiver
;
import
com.rabbitmq.client.Channel
;
import
com.yiring.app.
rabbit.config.ZyRabbitConfig
;
import
com.yiring.
app.service.message.ZyMessageService
;
import
com.yiring.app.
service.message.PositionMessageService
;
import
com.yiring.
common.annotation.Times
;
import
java.io.IOException
;
import
java.nio.charset.StandardCharsets
;
import
javax.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.rabbit.annotation.RabbitHandler
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.amqp.rabbit.listener.api.ChannelAwareMessageListener
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
/**
* 真源
RabbitMQ 消息监听(消息消费者)
* 真源
消息监听处理器
*
* @author Jim
* @version 0.1
* 2022/
4/13 17:13
* 2022/
5/11 16:35
*/
@Slf4j
@Component
@Configuration
@ConditionalOnProperty
(
prefix
=
"zy-config.rabbitmq"
,
value
=
"enabled"
,
havingValue
=
"true"
)
public
class
ZyRabbitReceiver
{
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
class
PositionMessageHandler
implements
ChannelAwareMessageListener
{
// TODO
// 1. 新增消息订阅定时任务,检查是否正常订阅了真源定位系统的消息
...
...
@@ -34,26 +32,15 @@ public class ZyRabbitReceiver {
// 3. 订阅 position(定位数据)、lowPower(低电量报警)、deviceStatus(设备状态)、keyWarning(按键报警)
@Resource
ZyMessageService
zy
MessageService
;
PositionMessageService
position
MessageService
;
/**
* 订阅真源定位系统 RabbitMQ 推送过来的消息(主动订阅的一些消息类别)
* 参见: 定位平台接口规范V3.0.1 - 通用版.pdf #6
* @param msg 消息内容
* @param channel 消息通道
* @param message 消息主体
* @throws IOException 消息确认异常
*/
@RabbitHandler
// @RabbitListener(
// queues = ZyRabbitConfig.MESSAGE_QUEUES_NAME,
// containerFactory = ZyRabbitConfig.LISTENER_FACTORY_NAME
// )
@RabbitListener
(
queues
=
ZyRabbitConfig
.
MESSAGE_QUEUES_NAME
,
containerFactory
=
"rabbitListenerContainerFactory"
)
public
void
listen
(
String
msg
,
Channel
channel
,
Message
message
)
throws
IOException
{
@Times
(
"Position System Message Handler"
)
@Override
public
void
onMessage
(
Message
message
,
Channel
channel
)
throws
IOException
{
// 消费消息
zyMessageService
.
consume
(
msg
);
positionMessageService
.
consume
(
new
String
(
message
.
getBody
(),
StandardCharsets
.
UTF_8
)
);
// 手动确认消息已收到
assert
channel
!=
null
;
channel
.
basicAck
(
message
.
getMessageProperties
().
getDeliveryTag
(),
false
);
}
}
app/src/main/java/com/yiring/app/service/alarm/AlarmService.java
浏览文件 @
75866cb0
...
...
@@ -58,5 +58,5 @@ public interface AlarmService {
* @param conditionParam 条件
* @param response response
*/
void
exportAlarmType
(
AlarmConditionParam
conditionParam
,
HttpServletResponse
response
,
PageParam
pageParam
);
void
exportAlarmType
(
AlarmConditionParam
conditionParam
,
HttpServletResponse
response
);
}
app/src/main/java/com/yiring/app/service/alarm/impl/AlarmServiceImpl.java
浏览文件 @
75866cb0
...
...
@@ -79,7 +79,7 @@ public class AlarmServiceImpl implements AlarmService {
}
alarmType
=
optional
.
get
();
}
JpaUtil
.
copyNotNullProperties
(
param
,
alarmType
);
JpaUtil
.
copyNotNullProperties
(
param
.
transform
()
,
alarmType
);
return
Result
.
ok
();
}
...
...
@@ -114,11 +114,10 @@ public class AlarmServiceImpl implements AlarmService {
}
@Override
public
void
exportAlarmType
(
AlarmConditionParam
conditionParam
,
HttpServletResponse
response
,
PageParam
pageParam
)
{
Pageable
pageable
=
PageParam
.
toPageable
(
pageParam
);
public
void
exportAlarmType
(
AlarmConditionParam
conditionParam
,
HttpServletResponse
response
)
{
Specification
<
AlarmType
>
specification
=
getSpecification
(
conditionParam
);
Page
<
AlarmType
>
page
=
alarmTypeRepository
.
findAll
(
specification
,
pageable
);
List
<
AlarmTypeExcel
>
list
=
page
.
get
().
map
(
AlarmTypeExcel:
:
transform
).
collect
(
Collectors
.
toList
());
List
<
AlarmType
>
page
=
alarmTypeRepository
.
findAll
(
specification
);
List
<
AlarmTypeExcel
>
list
=
page
.
stream
().
map
(
AlarmTypeExcel:
:
transform
).
collect
(
Collectors
.
toList
());
try
(
DefaultStreamExcelBuilder
<
AlarmTypeExcel
>
streamExcelBuilder
=
DefaultStreamExcelBuilder
.
of
(
AlarmTypeExcel
.
class
)
...
...
app/src/main/java/com/yiring/app/service/district/impl/DistrictServiceImpl.java
浏览文件 @
75866cb0
...
...
@@ -68,7 +68,7 @@ public class DistrictServiceImpl implements DistrictService {
district
=
optional
.
get
();
}
//只修改要修改的值
JpaUtil
.
copyNotNullProperties
(
param
,
district
);
JpaUtil
.
copyNotNullProperties
(
param
.
transform
()
,
district
);
return
Result
.
ok
();
}
...
...
app/src/main/java/com/yiring/app/service/location/fence/impl/LocationFenceServiceImpl.java
浏览文件 @
75866cb0
...
...
@@ -82,7 +82,7 @@ public class LocationFenceServiceImpl implements LocationFenceService {
}
locationFence
=
optional
.
get
();
}
JpaUtil
.
copyNotNullProperties
(
param
,
locationFence
);
JpaUtil
.
copyNotNullProperties
(
param
.
transform
()
,
locationFence
);
return
Result
.
ok
();
}
...
...
app/src/main/java/com/yiring/app/service/location/rule/LocationAlarmRuleService.java
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
service
.
location
.
rule
;
import
com.yiring.app.param.location.rule.AlarmRuleBatchModifyParam
;
import
com.yiring.app.param.location.rule.LocationAlarmRuleAddParam
;
import
com.yiring.app.param.location.rule.LocationAlarmRuleModifyParam
;
import
com.yiring.app.param.location.rule.LocationAlarmRuleParam
;
...
...
@@ -10,7 +11,9 @@ import com.yiring.common.core.Result;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.vo.PageVo
;
import
java.util.Set
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.Valid
;
/**
* @author tml
...
...
@@ -26,6 +29,13 @@ public interface LocationAlarmRuleService {
Result
<
String
>
addRule
(
LocationAlarmRuleAddParam
param
);
/**
* 批量添加
* @param params 规则信息
* @return 是否成功
*/
Result
<
String
>
batchAdd
(
@Valid
Set
<
LocationAlarmRuleAddParam
>
params
);
/**
* 修改一条规则
* @param param 规则信息
* @return 是否成功
...
...
@@ -33,6 +43,13 @@ public interface LocationAlarmRuleService {
Result
<
String
>
modifyRule
(
LocationAlarmRuleModifyParam
param
);
/**
* 批量修改规则
* @param params 规则信息
* @return 是否成功
*/
Result
<
String
>
batchModify
(
AlarmRuleBatchModifyParam
params
);
/**
* 删除一条规则
* @param idParam 规则id
* @return 是否成功
...
...
@@ -58,9 +75,8 @@ public interface LocationAlarmRuleService {
* 导出电子围栏规则
* @param param 条件
* @param response response
* @param pageParam 分页参数
*/
void
exportAlarmRule
(
LocationAlarmRuleParam
param
,
HttpServletResponse
response
,
PageParam
pageParam
);
void
exportAlarmRule
(
LocationAlarmRuleParam
param
,
HttpServletResponse
response
);
/**
* 根据电子围栏名称模糊查询围栏id和名称
...
...
app/src/main/java/com/yiring/app/service/location/rule/impl/LocationAlarmRuleServiceImpl.java
浏览文件 @
75866cb0
...
...
@@ -9,6 +9,7 @@ import com.yiring.app.domain.location.LocationAlarmRuleRepository;
import
com.yiring.app.domain.location.LocationFence
;
import
com.yiring.app.domain.location.LocationFenceRepository
;
import
com.yiring.app.excel.location.LocationAlarmRuleExcel
;
import
com.yiring.app.param.location.rule.AlarmRuleBatchModifyParam
;
import
com.yiring.app.param.location.rule.LocationAlarmRuleAddParam
;
import
com.yiring.app.param.location.rule.LocationAlarmRuleModifyParam
;
import
com.yiring.app.param.location.rule.LocationAlarmRuleParam
;
...
...
@@ -69,6 +70,16 @@ public class LocationAlarmRuleServiceImpl implements LocationAlarmRuleService {
}
@Override
public
Result
<
String
>
batchAdd
(
Set
<
LocationAlarmRuleAddParam
>
params
)
{
List
<
LocationAlarmRule
>
list
=
params
.
stream
()
.
map
(
LocationAlarmRuleAddParam:
:
transform
)
.
collect
(
Collectors
.
toList
());
List
<
LocationAlarmRule
>
flush
=
locationAlarmRuleRepository
.
saveAllAndFlush
(
list
);
return
Result
.
ok
(
"已成功添加"
+
flush
.
size
()
+
"条规则"
);
}
@Override
public
Result
<
String
>
modifyRule
(
LocationAlarmRuleModifyParam
param
)
{
LocationAlarmRule
locationAlarmRule
=
param
.
transform
();
Optional
<
LocationAlarmRule
>
optional
=
locationAlarmRuleRepository
.
findById
(
param
.
getId
());
...
...
@@ -80,6 +91,17 @@ public class LocationAlarmRuleServiceImpl implements LocationAlarmRuleService {
}
@Override
public
Result
<
String
>
batchModify
(
AlarmRuleBatchModifyParam
params
)
{
for
(
LocationAlarmRuleModifyParam
item
:
params
.
getParams
())
{
Result
<
String
>
result
=
modifyRule
(
item
);
if
(
Status
.
OK
.
value
()
!=
result
.
getStatus
())
{
return
result
;
}
}
return
Result
.
ok
();
}
@Override
public
Result
<
String
>
removeRule
(
IdParam
idParam
)
{
Optional
<
LocationAlarmRule
>
optional
=
locationAlarmRuleRepository
.
findById
(
idParam
.
getId
());
if
(
optional
.
isEmpty
())
{
...
...
@@ -144,14 +166,26 @@ public class LocationAlarmRuleServiceImpl implements LocationAlarmRuleService {
}
@Override
public
void
exportAlarmRule
(
LocationAlarmRuleParam
param
,
HttpServletResponse
response
,
PageParam
pageParam
)
{
Result
<
PageVo
<
LocationAlarmRuleVo
>>
result
=
findByCondition
(
param
,
pageParam
);
if
(
Status
.
OK
.
value
()
!=
result
.
getStatus
())
{
return
;
public
void
exportAlarmRule
(
LocationAlarmRuleParam
param
,
HttpServletResponse
response
)
{
Specification
<
LocationAlarmRule
>
specification
=
getSpecification
(
param
);
Set
<
Integer
>
informManner
=
param
.
getInformManner
();
List
<
LocationAlarmRule
>
list
=
locationAlarmRuleRepository
.
findAll
(
specification
);
if
(!
CollectionUtils
.
isEmpty
(
informManner
))
{
list
=
list
.
stream
()
.
filter
(
e
->
{
for
(
Integer
item
:
informManner
)
{
boolean
contains
=
e
.
getInformManner
().
contains
(
item
.
toString
());
if
(!
contains
)
{
return
false
;
}
}
return
true
;
})
.
collect
(
Collectors
.
toList
());
}
List
<
LocationAlarmRuleExcel
>
excelList
=
result
.
getBody
()
.
getData
()
List
<
LocationAlarmRuleExcel
>
excelList
=
list
.
stream
()
.
map
(
LocationAlarmRuleExcel:
:
transform
)
.
collect
(
Collectors
.
toList
());
...
...
app/src/main/java/com/yiring/app/service/message/
Zy
MessageService.java
→
app/src/main/java/com/yiring/app/service/message/
Position
MessageService.java
浏览文件 @
75866cb0
...
...
@@ -8,7 +8,7 @@ package com.yiring.app.service.message;
* @version 0.1
* 2022/5/9 10:16
*/
public
interface
Zy
MessageService
{
public
interface
Position
MessageService
{
/**
* 消费消息
* @param message 消息内容
...
...
app/src/main/java/com/yiring/app/service/message/impl/
Zy
MessageServiceImpl.java
→
app/src/main/java/com/yiring/app/service/message/impl/
Position
MessageServiceImpl.java
浏览文件 @
75866cb0
差异被折叠。
点击展开。
app/src/main/java/com/yiring/app/service/rehearsal/RehearsalPlanService.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
service
.
rehearsal
;
import
com.yiring.app.param.rehearsal.RehearsalPlanAddParam
;
import
com.yiring.app.param.rehearsal.RehearsalPlanConditionParam
;
import
com.yiring.app.param.rehearsal.RehearsalPlanModifyParam
;
import
com.yiring.app.param.rehearsal.RehearsalPlanPlaybackParam
;
import
com.yiring.app.vo.rehearsal.RehearsalPlanRealTimeVo
;
import
com.yiring.app.vo.rehearsal.RehearsalPlanVo
;
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
;
/**
* @author tml
* @version 1.0
* @date 2022/5/10 14:18
*/
public
interface
RehearsalPlanService
{
/**
* 添加一条演练计划
* @param param 演练计划信息
* @return 是否成功
*/
Result
<
String
>
addOne
(
RehearsalPlanAddParam
param
);
/**
* 修改一条演练计划
* @param param 演练计划信息
* @return 是否成功
*/
Result
<
String
>
modifyOne
(
RehearsalPlanModifyParam
param
);
/**
* 删除一条演练计划
* @param idParam 演练计划id
* @return 是否成功
*/
Result
<
String
>
removeOne
(
IdParam
idParam
);
/**
* 查询一条演练计划信息
* @param idParam 演练计划id
* @return 演练计划信息
*/
Result
<
RehearsalPlanVo
>
findOne
(
IdParam
idParam
);
/**
* 查询演练计划列表
* @param conditionParam 条件参数
* @param pageParam 分页参数
* @return 演练计划列表
*/
Result
<
PageVo
<
RehearsalPlanVo
>>
findList
(
RehearsalPlanConditionParam
conditionParam
,
PageParam
pageParam
);
/**
* 导出演练计划
* @param conditionParam 条件参数
* @param response response
*/
void
export
(
RehearsalPlanConditionParam
conditionParam
,
HttpServletResponse
response
);
/**
* 启动一个演练计划
* @param idParam 演练计划id
* @return 是否成功
*/
Result
<
String
>
start
(
IdParam
idParam
);
/**
* 停止一个演练计划
* @param idParam 演练计划id
* @return 是否成功
*/
Result
<
String
>
stop
(
IdParam
idParam
);
/**
* 查看演练(实时)
* @param idParam 演练计划id
* @return 实时信息
*/
Result
<
RehearsalPlanRealTimeVo
>
findRealTime
(
IdParam
idParam
);
/**
* 查看回放
* @param param 演练计划id和时间
* @return 回放信息
*/
Result
<
PageVo
<
RehearsalPlanRealTimeVo
>>
findPlayback
(
RehearsalPlanPlaybackParam
param
);
}
app/src/main/java/com/yiring/app/service/rehearsal/impl/AccidentSpotServiceImpl.java
浏览文件 @
75866cb0
...
...
@@ -75,7 +75,7 @@ public class AccidentSpotServiceImpl implements AccidentSpotService {
}
accidentSpot
=
optional
.
get
();
}
JpaUtil
.
copyNotNullProperties
(
param
,
accidentSpot
);
JpaUtil
.
copyNotNullProperties
(
param
.
transform
()
,
accidentSpot
);
return
Result
.
ok
();
}
...
...
app/src/main/java/com/yiring/app/service/rehearsal/impl/RehearsalPlanServiceImpl.java
0 → 100644
浏览文件 @
75866cb0
差异被折叠。
点击展开。
app/src/main/java/com/yiring/app/util/GeoUtils.java
浏览文件 @
75866cb0
...
...
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import
com.yiring.app.util.zy.LonLatUtil
;
import
lombok.experimental.UtilityClass
;
import
org.locationtech.jts.geom.Coordinate
;
import
org.locationtech.jts.geom.Geometry
;
import
org.locationtech.jts.geom.GeometryFactory
;
import
org.locationtech.jts.geom.Point
;
...
...
@@ -22,6 +23,8 @@ public class GeoUtils {
public
final
GeometryFactory
factory
=
new
GeometryFactory
();
public
final
int
DEFAULT_SRID
=
4326
;
/**
* 创建点
*
...
...
@@ -30,7 +33,7 @@ public class GeoUtils {
* @return 点
*/
public
Point
createPoint
(
double
lon
,
double
lat
)
{
return
factory
.
createPoint
(
new
Coordinate
(
lon
,
lat
)
);
return
createPoint
(
lon
,
lat
,
0
);
}
/**
...
...
@@ -41,7 +44,9 @@ public class GeoUtils {
* @return 点
*/
public
Point
createPoint
(
double
lon
,
double
lat
,
double
alt
)
{
return
factory
.
createPoint
(
new
Coordinate
(
lon
,
lat
,
alt
));
Point
point
=
factory
.
createPoint
(
new
Coordinate
(
lon
,
lat
,
alt
));
point
.
setSRID
(
DEFAULT_SRID
);
return
point
;
}
/**
...
...
@@ -70,13 +75,12 @@ public class GeoUtils {
y
);
// 构建
经纬度坐标信息
Coordinate
coordinate
=
new
Coordinate
(
// 构建
一个坐标点
return
createPoint
(
result
.
getDoubleValue
(
"lon"
),
result
.
getDoubleValue
(
"lat"
),
r
oo
t
.
getDoubleValue
(
"altitude"
)
+
z
r
esul
t
.
getDoubleValue
(
"altitude"
)
+
z
);
return
factory
.
createPoint
(
coordinate
);
}
/**
...
...
@@ -110,6 +114,17 @@ public class GeoUtils {
public
Point
randomPoint
(
double
minX
,
double
minY
,
double
maxX
,
double
maxY
,
double
z
)
{
double
x
=
minX
+
(
maxX
-
minX
)
*
Math
.
random
();
double
y
=
minY
+
(
maxY
-
minY
)
*
Math
.
random
();
return
factory
.
createPoint
(
new
Coordinate
(
x
,
y
,
z
));
return
createPoint
(
x
,
y
,
z
);
}
/**
* 将一个空间信息向外扩张
* @param geometry 空间信息
* @param length 扩张长度(米)
* @return 扩张后的空间信息
*/
public
static
Geometry
expandGeometry
(
Geometry
geometry
,
Integer
length
)
{
double
degree
=
length
/
(
2
*
Math
.
PI
*
6371004
)
*
360
;
return
geometry
.
buffer
(
degree
);
}
}
app/src/main/java/com/yiring/app/util/zy/LonLatUtil.java
浏览文件 @
75866cb0
...
...
@@ -4,6 +4,7 @@ package com.yiring.app.util.zy;
import
com.alibaba.fastjson.JSONObject
;
/**
* 从真源拿到的引擎计算经纬度的工具类
* @author Jim
* @version 0.1
* 2022/5/9 16:41
...
...
@@ -16,8 +17,8 @@ public class LonLatUtil {
public
static
JSONObject
getRoot
()
{
JSONObject
root
=
new
JSONObject
();
root
.
put
(
"lon"
,
0
D
);
root
.
put
(
"lat"
,
0
D
);
root
.
put
(
"lon"
,
112.85893346021206
);
root
.
put
(
"lat"
,
30.473384230484854
);
root
.
put
(
"x"
,
0
D
);
root
.
put
(
"y"
,
0
D
);
root
.
put
(
"altitude"
,
0
D
);
...
...
app/src/main/java/com/yiring/app/vo/CodeNameVo.java
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
vo
;
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
;
...
...
@@ -27,6 +29,7 @@ public class CodeNameVo implements Serializable {
private
static
final
long
serialVersionUID
=
-
7565315836652536620L
;
@ApiModelProperty
(
value
=
"code"
,
example
=
"1"
,
required
=
true
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Integer
code
;
@ApiModelProperty
(
value
=
"name"
,
example
=
"名称"
,
required
=
true
)
...
...
app/src/main/java/com/yiring/app/vo/IdNameVo.java
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
vo
;
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
;
...
...
@@ -25,6 +27,7 @@ public class IdNameVo implements Serializable {
@Serial
private
static
final
long
serialVersionUID
=
-
8990274383112436122L
;
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@ApiModelProperty
(
value
=
"id"
,
example
=
"1"
,
required
=
true
)
private
Long
id
;
...
...
app/src/main/java/com/yiring/app/vo/alarm/AlarmTypeVo.java
浏览文件 @
75866cb0
...
...
@@ -20,7 +20,7 @@ import lombok.NoArgsConstructor;
* @version 1.0
* @date 2022/4/27 11:55
*/
@ApiModel
(
"
AlarmTypeVo(报警信息)
"
)
@ApiModel
(
"
报警信息
"
)
@Data
@Builder
@NoArgsConstructor
...
...
app/src/main/java/com/yiring/app/vo/district/DistrictVo.java
浏览文件 @
75866cb0
...
...
@@ -19,7 +19,7 @@ import lombok.NoArgsConstructor;
* @version 1.0
* @date 2022/4/27 9:10
*/
@ApiModel
(
"DistrictVo
(区域信息)
"
)
@ApiModel
(
"DistrictVo"
)
@Data
@Builder
@NoArgsConstructor
...
...
app/src/main/java/com/yiring/app/vo/location/rule/LocationAlarmRuleVo.java
浏览文件 @
75866cb0
...
...
@@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import
com.yiring.app.constant.alarm.InformMannerEnum
;
import
com.yiring.app.domain.location.LocationAlarmRule
;
import
com.yiring.app.vo.CodeNameVo
;
import
com.yiring.app.vo.IdNameVo
;
import
com.yiring.app.vo.user.UserVo
;
import
com.yiring.auth.domain.user.User
;
import
io.swagger.annotations.ApiModel
;
...
...
@@ -61,6 +62,9 @@ public class LocationAlarmRuleVo implements Serializable {
@ApiModelProperty
(
value
=
"通知方式集合"
,
required
=
true
)
private
List
<
CodeNameVo
>
informManner
;
@ApiModelProperty
(
value
=
"报警类型id"
,
required
=
true
)
private
List
<
IdNameVo
>
alarmTypeIds
;
public
static
LocationAlarmRuleVo
transform
(
LocationAlarmRule
locationAlarmRule
)
{
Set
<
User
>
users
=
locationAlarmRule
.
getUsers
();
List
<
UserVo
>
userVos
=
users
.
stream
().
map
(
UserVo:
:
transformDept
).
collect
(
Collectors
.
toList
());
...
...
@@ -70,6 +74,11 @@ public class LocationAlarmRuleVo implements Serializable {
for
(
Integer
item
:
list
)
{
codeNameVos
.
add
(
new
CodeNameVo
(
item
,
InformMannerEnum
.
getByCode
(
item
)));
}
List
<
IdNameVo
>
alarmTypeList
=
locationAlarmRule
.
getAlarmTypes
()
.
stream
()
.
map
(
e
->
new
IdNameVo
(
e
.
getId
(),
e
.
getName
()))
.
collect
(
Collectors
.
toList
());
return
LocationAlarmRuleVo
.
builder
()
.
id
(
locationAlarmRule
.
getId
())
...
...
@@ -79,6 +88,7 @@ public class LocationAlarmRuleVo implements Serializable {
.
fenceName
(
locationAlarmRule
.
getLocationFence
().
getName
())
.
users
(
userVos
)
.
informManner
(
codeNameVos
)
.
alarmTypeIds
(
alarmTypeList
)
.
build
();
}
}
app/src/main/java/com/yiring/app/vo/location/rule/LocationFenceRuleVo.java
浏览文件 @
75866cb0
...
...
@@ -19,11 +19,12 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
/**
* 修改配置报警类别的报警规则,根据不同类型传入不同参数
* @author tml
* @version 1.0
* @date 2022/4/28 16:16
*/
@ApiModel
(
"
修改配置报警类别的报警规则,根据不同类型传入不同参数
"
)
@ApiModel
(
"
LocationFenceRuleVo
"
)
@Data
@Builder
@NoArgsConstructor
...
...
app/src/main/java/com/yiring/app/vo/location/rule/RuleVo.java
浏览文件 @
75866cb0
...
...
@@ -14,11 +14,12 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
/**
* 报警规则,根据不同类型传入不同参数
* @author tml
* @version 1.0
* @date 2022/4/29 14:12
*/
@ApiModel
(
"
报警规则,根据不同类型传入不同参数
"
)
@ApiModel
(
"
RuleVo
"
)
@Data
@Builder
@NoArgsConstructor
...
...
app/src/main/java/com/yiring/app/vo/rehearsal/AccidentSpotVo.java
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
vo
.
rehearsal
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
com.yiring.app.domain.rehearsal.AccidentSpot
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -27,6 +29,7 @@ public class AccidentSpotVo implements Serializable {
@Serial
private
static
final
long
serialVersionUID
=
-
7696351020089245510L
;
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@ApiModelProperty
(
value
=
"事故点id"
,
example
=
"1"
)
private
Long
id
;
...
...
app/src/main/java/com/yiring/app/vo/rehearsal/EvacuationZoneVo.java
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
vo
.
rehearsal
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
com.yiring.app.domain.rehearsal.EvacuationZone
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -27,6 +29,7 @@ public class EvacuationZoneVo implements Serializable {
@Serial
private
static
final
long
serialVersionUID
=
919152196104921261L
;
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@ApiModelProperty
(
value
=
"撤离区id"
,
example
=
"1"
)
private
Long
id
;
...
...
app/src/main/java/com/yiring/app/vo/rehearsal/RehearsalPlanRealTimeVo.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
vo
.
rehearsal
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author tml
* @version 1.0
* @date 2022/5/12 11:40
*/
@ApiModel
(
"演练计划实时数据VO"
)
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
RehearsalPlanRealTimeVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
2540857588207414303L
;
@ApiModelProperty
(
value
=
"该数据的时间"
)
private
LocalDateTime
time
;
@ApiModelProperty
(
value
=
"演练开始时在危险区域的人数"
)
private
Integer
beginPeopleNum
;
@ApiModelProperty
(
value
=
"已在撤离区的人数"
,
example
=
"20"
)
private
Integer
evacuationPeopleNum
;
private
List
<
UserLocationVo
>
userLocation
;
}
app/src/main/java/com/yiring/app/vo/rehearsal/RehearsalPlanVo.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
vo
.
rehearsal
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
com.yiring.app.constant.rehearsal.RehearsalPlanStatusEnum
;
import
com.yiring.app.constant.rehearsal.RiskLevelEnum
;
import
com.yiring.app.domain.rehearsal.RehearsalPlan
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author tml
* @version 1.0
* @date 2022/5/10 13:48
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel
(
"演练计划VO"
)
public
class
RehearsalPlanVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
6580835031371232948L
;
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@ApiModelProperty
(
value
=
"id"
,
example
=
"1"
,
required
=
true
)
private
Long
id
;
@ApiModelProperty
(
value
=
"演练主题"
,
example
=
"红色演练"
)
private
String
topical
;
@ApiModelProperty
(
value
=
"事故点id"
,
example
=
"1522844636060585984"
)
private
Long
accidentSpotId
;
@ApiModelProperty
(
value
=
"事故点名称"
,
example
=
"事故点1"
)
private
String
accidentSpotName
;
@ApiModelProperty
(
value
=
"周边范围(事故点周围多少米)"
,
example
=
"50"
)
private
Integer
scope
;
@ApiModelProperty
(
value
=
"撤离区id"
,
example
=
"1523562795864428544"
)
private
Long
evacuationZoneId
;
@ApiModelProperty
(
value
=
"撤离点名称"
,
example
=
"撤离点1"
)
private
String
evacuationZoneName
;
@ApiModelProperty
(
value
=
"风险程度code"
,
example
=
"1"
)
private
Integer
riskLevel
;
@ApiModelProperty
(
value
=
"风险等级名称"
,
example
=
"红色风险"
)
private
String
riskLevelName
;
@ApiModelProperty
(
value
=
"事故信息"
,
example
=
"气体泄露"
)
private
String
accidentMsg
;
@ApiModelProperty
(
value
=
"演练时间"
,
example
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
rehearsalTime
;
@ApiModelProperty
(
value
=
"推送信息"
,
example
=
"气体泄露,请尽快逃离"
)
private
String
pushMsg
;
@ApiModelProperty
(
value
=
"演练计划的状态code"
,
example
=
"1"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"演练计划的状态名称"
,
example
=
"未开始"
)
private
String
statusName
;
public
static
RehearsalPlanVo
transform
(
RehearsalPlan
rehearsalPlan
)
{
return
RehearsalPlanVo
.
builder
()
.
id
(
rehearsalPlan
.
getId
())
.
topical
(
rehearsalPlan
.
getTopical
())
.
accidentSpotId
(
rehearsalPlan
.
getAccidentSpot
().
getId
())
.
accidentSpotName
(
rehearsalPlan
.
getAccidentSpot
().
getName
())
.
scope
(
rehearsalPlan
.
getScope
())
.
evacuationZoneId
(
rehearsalPlan
.
getEvacuationZone
().
getId
())
.
evacuationZoneName
(
rehearsalPlan
.
getEvacuationZone
().
getName
())
.
riskLevel
(
rehearsalPlan
.
getRiskLevel
())
.
riskLevelName
(
RiskLevelEnum
.
getByCode
(
rehearsalPlan
.
getRiskLevel
()))
.
accidentMsg
(
rehearsalPlan
.
getAccidentMsg
())
.
rehearsalTime
(
rehearsalPlan
.
getRehearsalTime
())
.
pushMsg
(
rehearsalPlan
.
getPushMsg
())
.
status
(
rehearsalPlan
.
getStatus
())
.
statusName
(
RehearsalPlanStatusEnum
.
getByCode
(
rehearsalPlan
.
getStatus
()))
.
build
();
}
}
app/src/main/java/com/yiring/app/vo/rehearsal/UserLocationVo.java
0 → 100644
浏览文件 @
75866cb0
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
vo
.
rehearsal
;
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.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.locationtech.jts.geom.Point
;
/**
* @author tml
* @version 1.0
* @date 2022/5/12 11:48
*/
@ApiModel
(
"员工位置信息VO"
)
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
UserLocationVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
7996875376293325311L
;
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@ApiModelProperty
(
value
=
"员工id"
,
example
=
"1"
)
private
Long
userId
;
@ApiModelProperty
(
value
=
"员工姓名"
,
example
=
"1"
)
private
String
realmName
;
@ApiModelProperty
(
value
=
"员工坐标"
)
private
Point
point
;
}
app/src/main/java/com/yiring/app/web/
Hello
Controller.java
→
app/src/main/java/com/yiring/app/web/
Example
Controller.java
浏览文件 @
75866cb0
/* (C) 2021 YiRing, Inc. */
package
com
.
yiring
.
app
.
web
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.yiring.app.constant.Code
;
import
com.yiring.app.exception.CodeException
;
import
com.yiring.app.util.zy.ZyUtil
;
...
...
@@ -23,10 +24,12 @@ import org.springframework.web.bind.annotation.RestController;
@Slf4j
@Validated
@Api
(
tags
=
"Hello"
)
@RequestMapping
(
"/hello/"
)
@SuppressWarnings
({
"deprecation"
})
@ApiSupport
(
order
=
0
)
@Api
(
tags
=
"示例"
,
description
=
"Example"
)
@RequestMapping
(
"/example/"
)
@RestController
public
class
Hello
Controller
{
public
class
Example
Controller
{
String
text
=
"😎 Hello World"
;
...
...
app/src/main/java/com/yiring/app/web/alarm/AlarmTypeController.java
浏览文件 @
75866cb0
...
...
@@ -20,7 +20,6 @@ import java.util.Objects;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.Valid
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.http.MediaType
;
import
org.springframework.validation.annotation.Validated
;
...
...
@@ -35,9 +34,10 @@ import org.springframework.web.bind.annotation.RestController;
* @version 1.0
* @date 2022/4/27 14:18
*/
@Slf4j
@Validated
@Api
(
tags
=
"AlarmType(报警类型)"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"报警类型"
,
description
=
"AlarmType"
)
@RestController
@RequestMapping
(
"/alarm/type"
)
public
class
AlarmTypeController
{
...
...
@@ -98,11 +98,7 @@ public class AlarmTypeController {
@ApiOperation
(
value
=
"报警类型导出"
,
produces
=
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
)
@PostMapping
(
"/exportAlarmType"
)
public
void
exportAlarmType
(
@Valid
AlarmConditionParam
conditionParam
,
HttpServletResponse
response
,
@Valid
PageParam
pageParam
)
{
alarmService
.
exportAlarmType
(
conditionParam
,
response
,
pageParam
);
public
void
exportAlarmType
(
@Valid
AlarmConditionParam
conditionParam
,
HttpServletResponse
response
)
{
alarmService
.
exportAlarmType
(
conditionParam
,
response
);
}
}
app/src/main/java/com/yiring/app/web/analysis/history/HistoryRouteController.java
浏览文件 @
75866cb0
...
...
@@ -22,8 +22,10 @@ import org.springframework.web.bind.annotation.RestController;
* @version 1.0
* @date 2022/5/6 10:36
*/
@Api
(
tags
=
"HistoryRoute(历史轨迹)"
)
@Validated
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"历史轨迹"
,
description
=
"HistoryRoute"
)
@RestController
@RequestMapping
(
"/history/route"
)
public
class
HistoryRouteController
{
...
...
app/src/main/java/com/yiring/app/web/appUser/AppletUserController.java
浏览文件 @
75866cb0
...
...
@@ -9,7 +9,6 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
javax.annotation.Resource
;
import
javax.validation.Valid
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
@@ -22,9 +21,10 @@ import org.springframework.web.bind.annotation.RestController;
* @description:
* @date 2022/4/28 13:48
*/
@Slf4j
@Validated
@Api
(
tags
=
"小程序用户"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"小程序用户"
,
description
=
"AppletUser"
)
@RestController
@RequestMapping
(
"/appUser/"
)
public
class
AppletUserController
{
...
...
app/src/main/java/com/yiring/app/web/broadcast/BroadcastAudioController.java
浏览文件 @
75866cb0
...
...
@@ -18,7 +18,6 @@ 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.*
;
...
...
@@ -30,9 +29,9 @@ import org.springframework.web.bind.annotation.*;
* @date 2022/5/7
*/
@Slf4j
@Api
(
tags
=
"播报音频"
)
@Validated
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"播报音频"
,
description
=
"BroadcastAudio"
)
@RestController
@RequestMapping
(
"/broadcast/audio"
)
public
class
BroadcastAudioController
{
...
...
app/src/main/java/com/yiring/app/web/broadcast/BroadcastController.java
浏览文件 @
75866cb0
...
...
@@ -17,7 +17,6 @@ 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.locationtech.jts.geom.Point
;
import
org.springframework.http.MediaType
;
import
org.springframework.validation.annotation.Validated
;
...
...
@@ -33,9 +32,10 @@ import org.springframework.web.multipart.MultipartFile;
* @description:
* @date 2022/5/6 10:15
*/
@Slf4j
@Validated
@Api
(
tags
=
"Broadcast(播报设备管理)"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"播报设备管理"
,
description
=
"Broadcast"
)
@RestController
@RequestMapping
(
"/broadcast/"
)
public
class
BroadcastController
{
...
...
app/src/main/java/com/yiring/app/web/dept/DepartmentController.java
浏览文件 @
75866cb0
...
...
@@ -17,7 +17,6 @@ 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.*
;
...
...
@@ -29,9 +28,9 @@ import org.springframework.web.multipart.MultipartFile;
* @date 2022/4/19
*/
@Slf4j
@Validated
@Api
(
tags
=
"部门信息"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"部门信息"
,
description
=
"Department"
)
@RestController
@RequestMapping
(
"/dept/"
)
public
class
DepartmentController
{
...
...
app/src/main/java/com/yiring/app/web/dict/DictController.java
浏览文件 @
75866cb0
...
...
@@ -15,7 +15,6 @@ import io.swagger.annotations.ApiOperation;
import
java.util.ArrayList
;
import
javax.annotation.Resource
;
import
javax.validation.Valid
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
@@ -28,9 +27,10 @@ import org.springframework.web.bind.annotation.RestController;
* @author tzl
* 2022/4/13 17:10
*/
@Slf4j
@Validated
@Api
(
tags
=
"Dict"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"数据字典"
,
description
=
"Dict"
)
@RestController
@RequestMapping
(
"/Dict/"
)
public
class
DictController
{
...
...
app/src/main/java/com/yiring/app/web/dict/DictTypeController.java
浏览文件 @
75866cb0
...
...
@@ -2,7 +2,6 @@
package
com
.
yiring
.
app
.
web
.
dict
;
import
io.swagger.annotations.Api
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -14,9 +13,9 @@ import org.springframework.web.bind.annotation.RestController;
* 2022/4/14 15:14
*/
@Slf4j
@Validated
@Api
(
tags
=
"DictType"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"数据字典类型"
,
description
=
"DictType"
)
@RestController
@RequestMapping
(
"/DictType/"
)
public
class
DictTypeController
{
...
...
app/src/main/java/com/yiring/app/web/district/DistrictController.java
浏览文件 @
75866cb0
...
...
@@ -13,7 +13,6 @@ import io.swagger.annotations.ApiImplicitParam;
import
io.swagger.annotations.ApiOperation
;
import
javax.annotation.Resource
;
import
javax.validation.Valid
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -23,9 +22,10 @@ import org.springframework.web.bind.annotation.*;
* @version 1.0
* @date 2022/4/26 10:15
*/
@Slf4j
@Validated
@Api
(
tags
=
"District(区域管理)"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"区域管理"
,
description
=
"District"
)
@RestController
@RequestMapping
(
"/district/"
)
public
class
DistrictController
{
...
...
app/src/main/java/com/yiring/app/web/icon/IconController.java
浏览文件 @
75866cb0
...
...
@@ -12,7 +12,6 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
javax.annotation.Resource
;
import
javax.validation.Valid
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
@@ -25,9 +24,10 @@ import org.springframework.web.bind.annotation.RestController;
* @description:
* @date 2022/5/5 15:18
*/
@Slf4j
@Validated
@Api
(
tags
=
"Icon(图标管理)"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"图标管理"
,
description
=
"Icon"
)
@RestController
@RequestMapping
(
"/icon/"
)
public
class
IconController
{
...
...
app/src/main/java/com/yiring/app/web/key/KeyAlarmController.java
浏览文件 @
75866cb0
...
...
@@ -11,7 +11,6 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -24,9 +23,9 @@ import org.springframework.web.bind.annotation.RestController;
* @date 2022/5/10
*/
@Slf4j
@Validated
@Api
(
tags
=
"按键报警"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"按键报警"
,
description
=
"KeyAlarm"
)
@RestController
@RequestMapping
(
"/key/alarm"
)
public
class
KeyAlarmController
{
...
...
app/src/main/java/com/yiring/app/web/key/KeyAlarmLogController.java
浏览文件 @
75866cb0
...
...
@@ -10,7 +10,6 @@ import com.yiring.common.vo.PageVo;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
javax.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -23,9 +22,9 @@ import org.springframework.web.bind.annotation.RestController;
* @date 2022/5/13
*/
@Slf4j
@Validated
@Api
(
tags
=
"按键报警推送"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"按键报警推送"
,
description
=
"KeyAlarmLog"
)
@RestController
@RequestMapping
(
"/key/alarm/log"
)
public
class
KeyAlarmLogController
{
...
...
app/src/main/java/com/yiring/app/web/key/KeyAlarmRuleController.java
浏览文件 @
75866cb0
...
...
@@ -15,7 +15,6 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -26,9 +25,9 @@ import org.springframework.web.bind.annotation.*;
* @date 2022/5/6
*/
@Slf4j
@Validated
@Api
(
tags
=
"按键报警规则"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"按键报警规则"
,
description
=
"KeyAlarmRule"
)
@RestController
@RequestMapping
(
"/key/alarm/rules"
)
public
class
KeyAlarmRuleController
{
...
...
app/src/main/java/com/yiring/app/web/location/beacon/LocationBeaconController.java
浏览文件 @
75866cb0
...
...
@@ -13,7 +13,6 @@ 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.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
@@ -27,9 +26,9 @@ import org.springframework.web.bind.annotation.RestController;
* @date 2022/4/27
*/
@Slf4j
@Validated
@Api
(
tags
=
"定位信标"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"定位信标"
,
description
=
"LocationBeacon"
)
@RestController
@RequestMapping
(
"/location/beacon/"
)
public
class
LocationBeaconController
{
...
...
app/src/main/java/com/yiring/app/web/location/fence/LocationFenceController.java
浏览文件 @
75866cb0
...
...
@@ -19,7 +19,6 @@ import io.swagger.annotations.ApiOperation;
import
java.util.Objects
;
import
javax.annotation.Resource
;
import
javax.validation.Valid
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
@@ -32,11 +31,12 @@ import org.springframework.web.bind.annotation.RestController;
* @version 1.0
* @date 2022/4/28 11:50
*/
@RestController
@Api
(
tags
=
"Fence(围栏信息)"
)
@Validated
@Slf4j
@RequestMapping
(
"location/fence"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"围栏信息"
,
description
=
"LocationFence"
)
@RestController
@RequestMapping
(
"/location/fence"
)
public
class
LocationFenceController
{
@Resource
...
...
app/src/main/java/com/yiring/app/web/location/rule/LocationAlarmRuleController.java
浏览文件 @
75866cb0
...
...
@@ -3,9 +3,7 @@ package com.yiring.app.web.location.rule;
import
com.yiring.app.constant.alarm.InformMannerEnum
;
import
com.yiring.app.domain.alarm.AlarmType
;
import
com.yiring.app.param.location.rule.LocationAlarmRuleAddParam
;
import
com.yiring.app.param.location.rule.LocationAlarmRuleModifyParam
;
import
com.yiring.app.param.location.rule.LocationAlarmRuleParam
;
import
com.yiring.app.param.location.rule.*
;
import
com.yiring.app.service.location.rule.LocationAlarmRuleService
;
import
com.yiring.app.vo.CodeNameVo
;
import
com.yiring.app.vo.IdNameVo
;
...
...
@@ -22,23 +20,20 @@ import java.util.Objects;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.Valid
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.data.domain.Sort
;
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.*
;
/**
* @author tml
* @version 1.0
* @date 2022/5/5 14:19
*/
@Slf4j
@Validated
@Api
(
tags
=
"AlarmRule(电子围栏报警规则,配置报警给谁)"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"电子围栏报警规则,配置报警给谁"
,
description
=
"AlarmRule"
)
@RestController
@RequestMapping
(
"/alarm/rule"
)
public
class
LocationAlarmRuleController
{
...
...
@@ -52,12 +47,24 @@ public class LocationAlarmRuleController {
return
locationAlarmRuleService
.
addRule
(
param
);
}
@ApiOperation
(
value
=
"批量添加电子围栏报警规则"
)
@PostMapping
(
"/batchAdd"
)
public
Result
<
String
>
batchAdd
(
@Valid
@RequestBody
AlarmRuleBatchAddParam
params
)
{
return
locationAlarmRuleService
.
batchAdd
(
params
.
getParams
());
}
@ApiOperation
(
value
=
"修改一条电子围栏报警规则"
)
@PostMapping
(
"/modifyRule"
)
public
Result
<
String
>
modifyRule
(
@Valid
LocationAlarmRuleModifyParam
param
)
{
return
locationAlarmRuleService
.
modifyRule
(
param
);
}
@ApiOperation
(
value
=
"批量修改电子围栏报警规则"
)
@PostMapping
(
"/batchModify"
)
public
Result
<
String
>
batchModify
(
@Valid
@RequestBody
AlarmRuleBatchModifyParam
params
)
{
return
locationAlarmRuleService
.
batchModify
(
params
);
}
@ApiOperation
(
value
=
"删除一条电子围栏报警规则"
)
@PostMapping
(
"/removeRule"
)
public
Result
<
String
>
removeRule
(
@Valid
IdParam
idParam
)
{
...
...
@@ -93,12 +100,8 @@ public class LocationAlarmRuleController {
@ApiOperation
(
value
=
"导出电子围栏报警规则"
,
produces
=
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
)
@PostMapping
(
"/exportAlarmRule"
)
public
void
exportAlarmRule
(
@Valid
LocationAlarmRuleParam
param
,
HttpServletResponse
response
,
@Valid
PageParam
pageParam
)
{
locationAlarmRuleService
.
exportAlarmRule
(
param
,
response
,
pageParam
);
public
void
exportAlarmRule
(
@Valid
LocationAlarmRuleParam
param
,
HttpServletResponse
response
)
{
locationAlarmRuleService
.
exportAlarmRule
(
param
,
response
);
}
@ApiOperation
(
"围栏信息下拉框"
)
...
...
app/src/main/java/com/yiring/app/web/location/rule/LocationFenceRuleController.java
浏览文件 @
75866cb0
...
...
@@ -13,7 +13,6 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
javax.annotation.Resource
;
import
javax.validation.Valid
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
...
...
@@ -25,9 +24,10 @@ import org.springframework.web.bind.annotation.RestController;
* @version 1.0
* @date 2022/4/29 9:05
*/
@Slf4j
@Validated
@Api
(
tags
=
"FenceRule(电子围栏报警规则,什么情况下会报警)"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"电子围栏报警规则,什么情况下会报警"
,
description
=
"FenceRule"
)
@RestController
@RequestMapping
(
"/location/rule"
)
public
class
LocationFenceRuleController
{
...
...
app/src/main/java/com/yiring/app/web/location/tag/LocationTagController.java
浏览文件 @
75866cb0
...
...
@@ -14,7 +14,6 @@ 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.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
@@ -25,9 +24,9 @@ import org.springframework.web.multipart.MultipartFile;
* @date 2022/4/13
*/
@Slf4j
@Validated
@Api
(
tags
=
"定位标签"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"定位标签"
,
description
=
"LocationTag"
)
@RestController
@RequestMapping
(
"/location/tag/"
)
public
class
LocationTagController
{
...
...
app/src/main/java/com/yiring/app/web/location/tag/LocationTagTypeController.java
浏览文件 @
75866cb0
...
...
@@ -12,7 +12,6 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
javax.annotation.Resource
;
import
javax.validation.Valid
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
...
...
@@ -26,9 +25,9 @@ import org.springframework.web.bind.annotation.RestController;
* @date 2022/4/27
*/
@Slf4j
@Validated
@Api
(
tags
=
"标签分配"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"标签分配"
,
description
=
"LocationTagType"
)
@RestController
@RequestMapping
(
"/location/tag/type"
)
public
class
LocationTagTypeController
{
...
...
app/src/main/java/com/yiring/app/web/map/MapController.java
浏览文件 @
75866cb0
...
...
@@ -12,10 +12,8 @@ import com.yiring.common.core.Status;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
java.io.Serializable
;
import
java.util.List
;
import
javax.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -28,9 +26,10 @@ import org.springframework.web.bind.annotation.RestController;
* @version 1.0
* @date 2022/4/24 13:48
*/
@Slf4j
@Validated
@Api
(
tags
=
"Map(地图)"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"地图"
,
description
=
"Map"
)
@RestController
@RequestMapping
(
"/map/"
)
public
class
MapController
{
...
...
@@ -40,7 +39,7 @@ public class MapController {
@GetMapping
(
"/mapSelect"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
value
=
"orgId"
,
required
=
true
,
name
=
"orgId"
)
})
public
Result
<
Serializable
>
fail
(
String
orgId
)
{
public
Result
<
MapVo
>
select
(
String
orgId
)
{
String
login
=
ZyUtil
.
openLogin
();
JSONObject
jsonObject
=
mapClient
.
selectMap
(
orgId
,
"bearer "
+
login
);
// if (ObjectUtil.isNotNull(jsonObject.getJSONArray("data"))) {
...
...
app/src/main/java/com/yiring/app/web/post/PostController.java
浏览文件 @
75866cb0
...
...
@@ -19,7 +19,6 @@ 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.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -29,9 +28,9 @@ import org.springframework.web.bind.annotation.*;
* @date 2022/4/12
*/
@Slf4j
@Validated
@Api
(
tags
=
"职位信息"
)
@SuppressWarnings
({
"deprecation"
})
@Api
(
tags
=
"职位信息"
,
description
=
"Post"
)
@RestController
@RequestMapping
(
"/post/"
)
public
class
PostController
{
...
...
app/src/main/java/com/yiring/app/web/rehearsal/AccidentSpotController.java
浏览文件 @
75866cb0
差异被折叠。
点击展开。
app/src/main/java/com/yiring/app/web/rehearsal/EvacuationZoneController.java
浏览文件 @
75866cb0
差异被折叠。
点击展开。
app/src/main/java/com/yiring/app/web/rehearsal/RehearsalPlanController.java
0 → 100644
浏览文件 @
75866cb0
差异被折叠。
点击展开。
app/src/main/java/com/yiring/app/web/user/UserAppController.java
浏览文件 @
75866cb0
差异被折叠。
点击展开。
app/src/main/java/com/yiring/app/web/video/VideoController.java
浏览文件 @
75866cb0
差异被折叠。
点击展开。
app/src/main/java/com/yiring/app/web/visitor/CarController.java
浏览文件 @
75866cb0
差异被折叠。
点击展开。
app/src/main/java/com/yiring/app/web/visitor/InvitationController.java
浏览文件 @
75866cb0
差异被折叠。
点击展开。
app/src/main/java/com/yiring/app/web/visitor/VisitorController.java
浏览文件 @
75866cb0
差异被折叠。
点击展开。
app/src/main/resources/application-dev.yml
浏览文件 @
75866cb0
差异被折叠。
点击展开。
basic-auth/build.gradle
浏览文件 @
75866cb0
差异被折叠。
点击展开。
basic-auth/src/main/java/com/yiring/auth/web/auth/AuthController.java
浏览文件 @
75866cb0
差异被折叠。
点击展开。
basic-auth/src/main/java/com/yiring/auth/web/permission/PermissionController.java
浏览文件 @
75866cb0
差异被折叠。
点击展开。
basic-auth/src/main/java/com/yiring/auth/web/role/RoleController.java
浏览文件 @
75866cb0
差异被折叠。
点击展开。
basic-auth/src/main/java/com/yiring/auth/web/user/UserController.java
浏览文件 @
75866cb0
差异被折叠。
点击展开。
basic-common/minio/build.gradle
浏览文件 @
75866cb0
差异被折叠。
点击展开。
basic-common/minio/src/main/java/com/yiring/common/web/MinioController.java
浏览文件 @
75866cb0
差异被折叠。
点击展开。
basic-common/util/src/main/java/com/yiring/common/aspect/TimesAspect.java
浏览文件 @
75866cb0
差异被折叠。
点击展开。
basic-common/util/src/main/java/com/yiring/common/aspect/XxlJobAspect.java
0 → 100644
浏览文件 @
75866cb0
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论