Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-api-boot
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-api-boot
Commits
12f455ab
提交
12f455ab
authored
5月 14, 2022
作者:
17607474349
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat:
1、添加按键报警数据查询、导出 2、添加按键报警信息推送 3、添加推送信息数据查询
上级
6ceb4aca
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
42 个修改的文件
包含
1070 行增加
和
121 行删除
+1070
-121
build.gradle
app/build.gradle
+2
-0
KeyAlarm.java
app/src/main/java/com/yiring/app/domain/key/KeyAlarm.java
+26
-5
KeyAlarmLog.java
app/src/main/java/com/yiring/app/domain/key/KeyAlarmLog.java
+58
-0
KeyAlarmLogRepository.java
...java/com/yiring/app/domain/key/KeyAlarmLogRepository.java
+2
-2
KeyAlarmRule.java
...src/main/java/com/yiring/app/domain/key/KeyAlarmRule.java
+3
-8
KeyAlarmRuleRepository.java
...ava/com/yiring/app/domain/key/KeyAlarmRuleRepository.java
+17
-0
LocationAlarmRule.java
...ava/com/yiring/app/domain/location/LocationAlarmRule.java
+1
-1
KeyAlarmExportExcel.java
...in/java/com/yiring/app/excel/key/KeyAlarmExportExcel.java
+65
-0
KeyAlarmRuleExportExcel.java
...ava/com/yiring/app/excel/key/KeyAlarmRuleExportExcel.java
+7
-7
UserImportExcel.java
.../main/java/com/yiring/app/excel/user/UserImportExcel.java
+2
-5
MockZyMessageJob.java
app/src/main/java/com/yiring/app/job/MockZyMessageJob.java
+1
-1
KeyAlarmAddParam.java
.../main/java/com/yiring/app/param/key/KeyAlarmAddParam.java
+63
-0
KeyAlarmLogFindParam.java
...n/java/com/yiring/app/param/key/KeyAlarmLogFindParam.java
+38
-0
KeyAlarmRuleAddParam.java
...n/java/com/yiring/app/param/key/KeyAlarmRuleAddParam.java
+2
-2
KeyAlarmRuleExportParam.java
...ava/com/yiring/app/param/key/KeyAlarmRuleExportParam.java
+2
-2
KeyAlarmRuleModifyParam.java
...ava/com/yiring/app/param/key/KeyAlarmRuleModifyParam.java
+2
-2
KeyAlarmRulePageParam.java
.../java/com/yiring/app/param/key/KeyAlarmRulePageParam.java
+2
-2
LocationBeaconAddParam.java
...ing/app/param/location/beacon/LocationBeaconAddParam.java
+8
-3
BroadcastAudioService.java
...m/yiring/app/service/broadcast/BroadcastAudioService.java
+9
-0
BroadcastAudioServiceImpl.java
...app/service/broadcast/impl/BroadcastAudioServiceImpl.java
+48
-2
DepartmentServiceImpl.java
...m/yiring/app/service/dept/impl/DepartmentServiceImpl.java
+14
-11
KeyAlarmLogService.java
...n/java/com/yiring/app/service/key/KeyAlarmLogService.java
+24
-0
KeyAlarmRuleService.java
.../java/com/yiring/app/service/key/KeyAlarmRuleService.java
+15
-15
KeyAlarmService.java
...main/java/com/yiring/app/service/key/KeyAlarmService.java
+8
-0
KeyAlarmLogServiceImpl.java
...m/yiring/app/service/key/impl/KeyAlarmLogServiceImpl.java
+78
-0
KeyAlarmRuleServiceImpl.java
.../yiring/app/service/key/impl/KeyAlarmRuleServiceImpl.java
+0
-0
KeyAlarmServiceImpl.java
.../com/yiring/app/service/key/impl/KeyAlarmServiceImpl.java
+105
-7
ZyMessageServiceImpl.java
...yiring/app/service/message/impl/ZyMessageServiceImpl.java
+69
-0
UserAppServiceImpl.java
.../com/yiring/app/service/user/impl/UserAppServiceImpl.java
+2
-11
ZipUtils.java
app/src/main/java/com/yiring/app/util/ZipUtils.java
+211
-0
KeyAlarmLogVo.java
app/src/main/java/com/yiring/app/vo/key/KeyAlarmLogVo.java
+68
-0
KeyAlarmRuleVo.java
app/src/main/java/com/yiring/app/vo/key/KeyAlarmRuleVo.java
+10
-10
BroadcastAudioController.java
...om/yiring/app/web/broadcast/BroadcastAudioController.java
+7
-2
DepartmentController.java
...in/java/com/yiring/app/web/dept/DepartmentController.java
+2
-1
KeyAlarmController.java
.../main/java/com/yiring/app/web/key/KeyAlarmController.java
+7
-0
KeyAlarmLogController.java
...in/java/com/yiring/app/web/key/KeyAlarmLogController.java
+41
-0
KeyAlarmRuleController.java
...n/java/com/yiring/app/web/key/KeyAlarmRuleController.java
+17
-17
UserAppController.java
.../main/java/com/yiring/app/web/user/UserAppController.java
+2
-1
UserService.java
...c/main/java/com/yiring/auth/service/user/UserService.java
+8
-0
UserServiceImpl.java
...va/com/yiring/auth/service/user/impl/UserServiceImpl.java
+17
-0
UserController.java
...rc/main/java/com/yiring/auth/web/user/UserController.java
+6
-0
MinioController.java
.../src/main/java/com/yiring/common/web/MinioController.java
+1
-4
没有找到文件。
app/build.gradle
浏览文件 @
12f455ab
...
...
@@ -78,4 +78,6 @@ dependencies {
// xxl-job
implementation
"com.xuxueli:xxl-job-core:${xxlJobVersion}"
// minio
implementation
"io.minio:minio:${minioVersion}"
}
app/src/main/java/com/yiring/app/domain/key/KeyAlarm.java
浏览文件 @
12f455ab
...
...
@@ -6,14 +6,15 @@ import com.yiring.auth.domain.user.User;
import
com.yiring.common.domain.BasicEntity
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java
x.persistence.Entity
;
import
java
x.persistence.JoinColumn
;
import
java
x.persistence.ManyToOne
;
import
javax.persistence.
Table
;
import
java
.math.BigDecimal
;
import
java
.util.HashSet
;
import
java
.util.Set
;
import
javax.persistence.
*
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
import
lombok.experimental.FieldNameConstants
;
import
org.hibernate.annotations.Comment
;
import
org.locationtech.jts.geom.Point
;
/**
*
...
...
@@ -32,7 +33,7 @@ import org.hibernate.annotations.Comment;
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
@Entity
@Table
(
name
=
"BS_KEY_ALARM"
)
@Comment
(
"按键报警
规则
"
)
@Comment
(
"按键报警"
)
public
class
KeyAlarm
extends
BasicEntity
implements
Serializable
{
@Serial
...
...
@@ -47,6 +48,26 @@ public class KeyAlarm extends BasicEntity implements Serializable {
@Comment
(
"负责人"
)
User
leader
;
@Comment
(
"标签编号"
)
String
code
;
@Comment
(
"x"
)
BigDecimal
x
;
@Comment
(
"y"
)
BigDecimal
y
;
@Comment
(
"z"
)
BigDecimal
z
;
@Comment
(
"坐标点信息"
)
Point
point
;
@Comment
(
"报警状态"
)
Boolean
enable
;
@Builder
.
Default
@OneToMany
(
mappedBy
=
"keyAlarm"
)
@Comment
(
"推送消息记录"
)
Set
<
KeyAlarmLog
>
rules
=
new
HashSet
<>(
0
);
}
app/src/main/java/com/yiring/app/domain/key/KeyAlarmLog.java
0 → 100644
浏览文件 @
12f455ab
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
domain
.
key
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.yiring.auth.domain.user.User
;
import
com.yiring.common.domain.BasicEntity
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
javax.persistence.Entity
;
import
javax.persistence.JoinColumn
;
import
javax.persistence.ManyToOne
;
import
javax.persistence.Table
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
import
lombok.experimental.FieldNameConstants
;
import
org.hibernate.annotations.Comment
;
/**
* 报警规则推送记录
*
* @author LJ-2204
* @date 2022/5/12
*/
@Getter
@Setter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldNameConstants
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
@Entity
@Table
(
name
=
"BS_KEY_ALARM_LOG"
)
@Comment
(
"报警规则推送记录"
)
public
class
KeyAlarmLog
extends
BasicEntity
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
5837910859908195485L
;
@ManyToOne
@JoinColumn
(
name
=
"alarm_id"
)
@JsonIgnore
@Comment
(
"按键报警"
)
KeyAlarm
keyAlarm
;
@Comment
(
"通知方式"
)
String
types
;
@Comment
(
"接收状态"
)
Boolean
status
;
@ManyToOne
@JoinColumn
(
name
=
"leader_id"
)
@JsonIgnore
@Comment
(
"负责人"
)
User
user
;
}
app/src/main/java/com/yiring/app/domain/key/KeyAlarm
Rules
Repository.java
→
app/src/main/java/com/yiring/app/domain/key/KeyAlarm
Log
Repository.java
浏览文件 @
12f455ab
...
...
@@ -13,5 +13,5 @@ import org.springframework.stereotype.Repository;
*/
@Repository
public
interface
KeyAlarm
Rules
Repository
extends
JpaRepository
<
KeyAlarm
Rules
,
Serializable
>,
JpaSpecificationExecutor
<
KeyAlarmRules
>
{}
public
interface
KeyAlarm
Log
Repository
extends
JpaRepository
<
KeyAlarm
Log
,
Serializable
>,
JpaSpecificationExecutor
<
KeyAlarmLog
>
{}
app/src/main/java/com/yiring/app/domain/key/KeyAlarmRule
s
.java
→
app/src/main/java/com/yiring/app/domain/key/KeyAlarmRule.java
浏览文件 @
12f455ab
...
...
@@ -33,13 +33,13 @@ import org.hibernate.annotations.Comment;
@Entity
@Table
(
name
=
"BS_KEY_ALARM_RULES"
)
@Comment
(
"按键报警规则"
)
public
class
KeyAlarmRule
s
extends
BasicEntity
implements
Serializable
{
public
class
KeyAlarmRule
extends
BasicEntity
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
-
302167871277966250L
;
@Comment
(
"所属部门"
)
@
Many
ToOne
@
One
ToOne
@JsonIgnore
@JoinColumn
(
name
=
"department_id"
)
Department
department
;
...
...
@@ -47,12 +47,7 @@ public class KeyAlarmRules extends BasicEntity implements Serializable {
@JsonIgnore
@Builder
.
Default
@Comment
(
"用户集合"
)
@ManyToMany
(
fetch
=
FetchType
.
EAGER
)
@JoinTable
(
name
=
"BS_KEY_ALARM_RULES_USERS"
,
joinColumns
=
{
@JoinColumn
(
name
=
"key_id"
)
},
inverseJoinColumns
=
{
@JoinColumn
(
name
=
"user_id"
)
}
)
@OneToMany
Set
<
User
>
users
=
new
HashSet
<>(
0
);
@Comment
(
"推送类型"
)
...
...
app/src/main/java/com/yiring/app/domain/key/KeyAlarmRuleRepository.java
0 → 100644
浏览文件 @
12f455ab
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
domain
.
key
;
import
java.io.Serializable
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.stereotype.Repository
;
/**
*
* @author LJ-2204
* @date 2022/5/6
*/
@Repository
public
interface
KeyAlarmRuleRepository
extends
JpaRepository
<
KeyAlarmRule
,
Serializable
>,
JpaSpecificationExecutor
<
KeyAlarmRule
>
{}
app/src/main/java/com/yiring/app/domain/location/LocationAlarmRule.java
浏览文件 @
12f455ab
...
...
@@ -47,7 +47,7 @@ public class LocationAlarmRule extends BasicEntity implements Serializable {
private
LocationFence
locationFence
;
@Comment
(
"接收人集合"
)
@
Many
ToMany
@
One
ToMany
@ToString
.
Exclude
private
Set
<
User
>
users
;
...
...
app/src/main/java/com/yiring/app/excel/key/KeyAlarmExportExcel.java
0 → 100644
浏览文件 @
12f455ab
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
excel
.
key
;
import
com.github.liaochong.myexcel.core.annotation.ExcelColumn
;
import
com.github.liaochong.myexcel.core.annotation.ExcelModel
;
import
com.yiring.app.domain.key.KeyAlarm
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
lombok.AccessLevel
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.experimental.FieldDefaults
;
/**
* 部门信息控制器
*
* @author LJ-2204
* @date 2022/5/11
*/
@ExcelModel
@Data
@Builder
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
KeyAlarmExportExcel
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
-
3703974403333845088L
;
@ExcelColumn
(
title
=
"地图位置"
)
Long
areaId
;
@ExcelColumn
(
title
=
"报警人员"
)
String
realName
;
@ExcelColumn
(
title
=
"工号"
)
String
uuid
;
@ExcelColumn
(
title
=
"报警时间"
)
LocalDateTime
createTime
;
@ExcelColumn
(
title
=
"结束时间"
)
LocalDateTime
endTime
;
@ExcelColumn
(
title
=
"报警类型"
)
String
type
;
@ExcelColumn
(
title
=
"报警接收人"
)
String
receiver
;
@ExcelColumn
(
title
=
"报警状态"
)
Boolean
enable
;
public
static
KeyAlarmExportExcel
transform
(
KeyAlarm
keyAlarm
)
{
return
KeyAlarmExportExcel
.
builder
()
.
areaId
(
keyAlarm
.
getAreaId
())
.
createTime
(
keyAlarm
.
getCreateTime
())
.
endTime
(
keyAlarm
.
getUpdateTime
())
.
type
(
"按键报警"
)
.
enable
(
keyAlarm
.
getEnable
())
.
build
();
}
}
app/src/main/java/com/yiring/app/excel/key/KeyAlarmRule
s
ExportExcel.java
→
app/src/main/java/com/yiring/app/excel/key/KeyAlarmRuleExportExcel.java
浏览文件 @
12f455ab
...
...
@@ -3,7 +3,7 @@ package com.yiring.app.excel.key;
import
com.github.liaochong.myexcel.core.annotation.ExcelColumn
;
import
com.github.liaochong.myexcel.core.annotation.ExcelModel
;
import
com.yiring.app.domain.key.KeyAlarmRule
s
;
import
com.yiring.app.domain.key.KeyAlarmRule
;
import
com.yiring.auth.domain.user.User
;
import
java.io.Serial
;
import
java.io.Serializable
;
...
...
@@ -21,7 +21,7 @@ import lombok.experimental.FieldDefaults;
@Data
@Builder
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
KeyAlarmRule
s
ExportExcel
implements
Serializable
{
public
class
KeyAlarmRuleExportExcel
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
-
800228727313291675L
;
...
...
@@ -35,8 +35,8 @@ public class KeyAlarmRulesExportExcel implements Serializable {
@ExcelColumn
(
title
=
"通知类型"
)
String
types
;
public
static
KeyAlarmRule
sExportExcel
transform
(
KeyAlarmRules
keyAlarmRules
)
{
Set
<
User
>
users
=
keyAlarmRule
s
.
getUsers
();
public
static
KeyAlarmRule
ExportExcel
transform
(
KeyAlarmRule
keyAlarmRule
)
{
Set
<
User
>
users
=
keyAlarmRule
.
getUsers
();
StringBuilder
userNames
=
new
StringBuilder
();
for
(
User
user
:
users
)
{
userNames
.
append
(
user
.
getRealName
());
...
...
@@ -44,11 +44,11 @@ public class KeyAlarmRulesExportExcel implements Serializable {
}
String
substring
=
userNames
.
substring
(
0
,
userNames
.
length
()
-
1
);
return
KeyAlarmRule
s
ExportExcel
return
KeyAlarmRuleExportExcel
.
builder
()
.
deptName
(
keyAlarmRule
s
.
getDepartment
().
getName
())
.
deptName
(
keyAlarmRule
.
getDepartment
().
getName
())
.
userNames
(
substring
)
.
types
(
keyAlarmRule
s
.
getTypes
())
.
types
(
keyAlarmRule
.
getTypes
())
.
build
();
}
}
app/src/main/java/com/yiring/app/excel/user/UserImportExcel.java
浏览文件 @
12f455ab
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
excel
.
user
;
import
cn.hutool.core.util.StrUtil
;
import
com.github.liaochong.myexcel.core.annotation.ExcelColumn
;
import
com.yiring.auth.domain.user.User
;
import
java.io.Serial
;
...
...
@@ -49,10 +50,6 @@ public class UserImportExcel implements Serializable {
@ExcelColumn
(
title
=
"职位名称"
)
String
postName
;
// 标签号
@ExcelColumn
(
title
=
"标签编号"
)
String
code
;
// 性别
@ExcelColumn
(
title
=
"性别"
)
Boolean
gender
;
...
...
@@ -66,7 +63,7 @@ public class UserImportExcel implements Serializable {
.
builder
()
.
realName
(
userImportExcel
.
getRealName
())
.
uuid
(
userImportExcel
.
getUuid
())
.
type
(
User
.
Type
.
valueOf
(
userImportExcel
.
getType
())
)
.
type
(
StrUtil
.
equals
(
userImportExcel
.
getType
(),
"员工"
)
?
User
.
Type
.
EMPLOYEES
:
User
.
Type
.
GUEST
)
.
mobile
(
userImportExcel
.
getMobile
())
.
gender
(
userImportExcel
.
getGender
())
.
isSpecial
(
userImportExcel
.
getIsSpecial
())
...
...
app/src/main/java/com/yiring/app/job/MockZyMessageJob.java
浏览文件 @
12f455ab
...
...
@@ -132,7 +132,7 @@ public class MockZyMessageJob {
private
JSONObject
mockKeyWarningMessage
()
{
JSONObject
params
=
new
JSONObject
();
params
.
put
(
"tagId"
,
mockTag
());
params
.
put
(
"entityId"
,
"
1522770547178475520
"
);
params
.
put
(
"entityId"
,
"
4376
"
);
params
.
put
(
"areaId"
,
mockAreaId
());
params
.
put
(
"raiseTime"
,
System
.
currentTimeMillis
());
params
.
put
(
"x"
,
100
);
...
...
app/src/main/java/com/yiring/app/param/key/KeyAlarmAddParam.java
0 → 100644
浏览文件 @
12f455ab
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
param
.
key
;
import
com.yiring.app.domain.key.KeyAlarm
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
/**
* 按键报警
*
* @author LJ-2204
* @date 2022/5/12
*/
@ApiModel
(
"KeyAlarmAddParam"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
KeyAlarmAddParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
6914927126284215967L
;
@ApiModelProperty
(
value
=
"标签编号"
,
example
=
"BTT88888888"
)
String
tagId
;
@ApiModelProperty
(
value
=
"报警人ID"
,
example
=
"14433"
)
Long
entityId
;
@ApiModelProperty
(
value
=
"地图总图"
,
example
=
"1"
)
Long
areaId
;
@ApiModelProperty
(
value
=
"推送时间"
,
example
=
""
)
LocalDateTime
raiseTime
;
@ApiModelProperty
(
value
=
"x"
,
example
=
"1"
)
BigDecimal
x
;
@ApiModelProperty
(
value
=
"y"
,
example
=
"1"
)
BigDecimal
y
;
@ApiModelProperty
(
value
=
"z"
,
example
=
"1"
)
BigDecimal
z
;
public
static
KeyAlarm
transform
(
KeyAlarmAddParam
param
)
{
return
KeyAlarm
.
builder
()
.
areaId
(
param
.
areaId
)
.
code
(
param
.
getTagId
())
.
x
(
param
.
getX
())
.
y
(
param
.
getY
())
.
z
(
param
.
getZ
())
.
build
();
}
}
app/src/main/java/com/yiring/app/param/key/KeyAlarmLogFindParam.java
0 → 100644
浏览文件 @
12f455ab
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
param
.
key
;
import
com.yiring.app.push.domain.PushMessage
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
/**
* 按键报警推送
*
* @author LJ-2204
* @date 2022/5/13
*/
@ApiModel
(
"KeyAlarmLogFindParam"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
KeyAlarmLogFindParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
-
7238582681776938388L
;
@ApiModelProperty
(
value
=
"通知方式"
,
example
=
"SMS/APP"
)
PushMessage
.
Type
type
;
@ApiModelProperty
(
value
=
"联系号码"
,
example
=
"18888888888"
)
String
mobile
;
@ApiModelProperty
(
value
=
"接收状态"
,
example
=
"T/F"
)
Boolean
status
;
}
app/src/main/java/com/yiring/app/param/key/KeyAlarmRule
s
AddParam.java
→
app/src/main/java/com/yiring/app/param/key/KeyAlarmRuleAddParam.java
浏览文件 @
12f455ab
...
...
@@ -17,13 +17,13 @@ import lombok.experimental.FieldDefaults;
* @date 2022/5/6
*/
@ApiModel
(
"KeyAlarmRule
s
AddParam"
)
@ApiModel
(
"KeyAlarmRuleAddParam"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
KeyAlarmRule
s
AddParam
implements
Serializable
{
public
class
KeyAlarmRuleAddParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
758462772473378637L
;
...
...
app/src/main/java/com/yiring/app/param/key/KeyAlarmRule
s
ExportParam.java
→
app/src/main/java/com/yiring/app/param/key/KeyAlarmRuleExportParam.java
浏览文件 @
12f455ab
...
...
@@ -15,13 +15,13 @@ import lombok.experimental.FieldDefaults;
* @date 2022/5/6
*/
@ApiModel
(
"KeyAlarmRule
s
ExportParam"
)
@ApiModel
(
"KeyAlarmRuleExportParam"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
KeyAlarmRule
s
ExportParam
implements
Serializable
{
public
class
KeyAlarmRuleExportParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
-
2940487513251067057L
;
...
...
app/src/main/java/com/yiring/app/param/key/KeyAlarmRule
s
ModifyParam.java
→
app/src/main/java/com/yiring/app/param/key/KeyAlarmRuleModifyParam.java
浏览文件 @
12f455ab
...
...
@@ -16,13 +16,13 @@ import lombok.experimental.FieldDefaults;
* @date 2022/5/6
*/
@ApiModel
(
"KeyAlarmRule
s
AddParam"
)
@ApiModel
(
"KeyAlarmRuleAddParam"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
KeyAlarmRule
s
ModifyParam
implements
Serializable
{
public
class
KeyAlarmRuleModifyParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
3526756145220971363L
;
...
...
app/src/main/java/com/yiring/app/param/key/KeyAlarmRule
s
PageParam.java
→
app/src/main/java/com/yiring/app/param/key/KeyAlarmRulePageParam.java
浏览文件 @
12f455ab
...
...
@@ -15,13 +15,13 @@ import lombok.experimental.FieldDefaults;
* @date 2022/5/7
*/
@ApiModel
(
"KeyAlarmRule
s
PageParam"
)
@ApiModel
(
"KeyAlarmRulePageParam"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
KeyAlarmRule
s
PageParam
implements
Serializable
{
public
class
KeyAlarmRulePageParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
2876239519436815639L
;
...
...
app/src/main/java/com/yiring/app/param/location/beacon/LocationBeaconAddParam.java
浏览文件 @
12f455ab
...
...
@@ -2,6 +2,7 @@
package
com
.
yiring
.
app
.
param
.
location
.
beacon
;
import
com.yiring.app.domain.location.LocationBeacon
;
import
com.yiring.app.util.GeoUtils
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
...
...
@@ -65,9 +66,13 @@ public class LocationBeaconAddParam implements Serializable {
.
x
(
locationBeaconAddParam
.
getX
())
.
y
(
locationBeaconAddParam
.
getY
())
.
z
(
locationBeaconAddParam
.
getZ
())
// .point(GeoUtils.xyzToPoint(
// locationBeaconAddParam.getPointX().doubleValue(),locationBeaconAddParam.getPointY().doubleValue(),locationBeaconAddParam.getPointZ().doubleValue()
// ))
.
point
(
GeoUtils
.
xyzToPoint
(
locationBeaconAddParam
.
getX
().
doubleValue
(),
locationBeaconAddParam
.
getY
().
doubleValue
(),
locationBeaconAddParam
.
getZ
().
doubleValue
()
)
)
.
time
(
locationBeaconAddParam
.
getTime
())
.
volt
(
locationBeaconAddParam
.
getVolt
())
.
voltUnit
(
locationBeaconAddParam
.
getVoltUnit
())
...
...
app/src/main/java/com/yiring/app/service/broadcast/BroadcastAudioService.java
浏览文件 @
12f455ab
...
...
@@ -6,11 +6,13 @@ import com.yiring.app.param.broadcast.BroadcastAudioFindParam;
import
com.yiring.app.param.broadcast.BroadcastAudioModifyParam
;
import
com.yiring.app.vo.broadcast.BroadcastAudioIndexVo
;
import
com.yiring.app.vo.broadcast.BroadcastAudioVo
;
import
com.yiring.auth.param.IdsParam
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.param.IndexParam
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.vo.PageVo
;
import
javax.servlet.http.HttpServletResponse
;
/**
* 播报语音
...
...
@@ -55,4 +57,11 @@ public interface BroadcastAudioService {
* @return Result<PageVo<BroadcastAudioIndexVo>>
*/
Result
<
PageVo
<
BroadcastAudioIndexVo
>>
index
(
IndexParam
indexParam
);
/**
* 批量下载
* @param idsParam IdsParam
* @param response HttpServletResponse
*/
void
download
(
IdsParam
idsParam
,
HttpServletResponse
response
);
}
app/src/main/java/com/yiring/app/service/broadcast/impl/BroadcastAudioServiceImpl.java
浏览文件 @
12f455ab
...
...
@@ -2,6 +2,8 @@
package
com
.
yiring
.
app
.
service
.
broadcast
.
impl
;
import
cn.hutool.core.collection.ListUtil
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.yiring.app.domain.broadcast.BroadcastAudio
;
import
com.yiring.app.domain.broadcast.BroadcastAudioRepository
;
...
...
@@ -9,8 +11,11 @@ import com.yiring.app.param.broadcast.BroadcastAudioAddParam;
import
com.yiring.app.param.broadcast.BroadcastAudioFindParam
;
import
com.yiring.app.param.broadcast.BroadcastAudioModifyParam
;
import
com.yiring.app.service.broadcast.BroadcastAudioService
;
import
com.yiring.app.util.ZipUtils
;
import
com.yiring.app.vo.broadcast.BroadcastAudioIndexVo
;
import
com.yiring.app.vo.broadcast.BroadcastAudioVo
;
import
com.yiring.auth.param.IdsParam
;
import
com.yiring.common.core.Minio
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.core.Status
;
import
com.yiring.common.domain.BasicEntity
;
...
...
@@ -18,12 +23,17 @@ import com.yiring.common.param.IdParam;
import
com.yiring.common.param.IndexParam
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.vo.PageVo
;
import
java.util.List
;
import
java.util.Optional
;
import
io.minio.GetObjectResponse
;
import
java.io.File
;
import
java.io.IOException
;
import
java.net.URLEncoder
;
import
java.nio.charset.StandardCharsets
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
import
javax.persistence.criteria.Order
;
import
javax.persistence.criteria.Predicate
;
import
javax.servlet.http.HttpServletResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
...
...
@@ -47,6 +57,9 @@ public class BroadcastAudioServiceImpl implements BroadcastAudioService {
@Resource
BroadcastAudioRepository
broadcastAudioRepository
;
@Resource
Minio
minio
;
@Override
public
Result
<
String
>
save
(
BroadcastAudioAddParam
param
)
{
broadcastAudioRepository
.
save
(
BroadcastAudioAddParam
.
transform
(
param
));
...
...
@@ -122,4 +135,37 @@ public class BroadcastAudioServiceImpl implements BroadcastAudioService {
return
Result
.
ok
(
pageVo
);
}
@Override
public
void
download
(
IdsParam
idsParam
,
HttpServletResponse
response
)
{
String
[]
split
=
idsParam
.
getIds
().
split
(
","
);
Long
[]
ids
=
Convert
.
toLongArray
(
split
);
List
<
BroadcastAudio
>
broadcastAudios
=
broadcastAudioRepository
.
findAllById
(
Arrays
.
asList
(
ids
));
HashMap
<
String
,
File
>
map
=
new
HashMap
<>();
broadcastAudios
.
forEach
(
broadcastAudio
->
{
String
uri
=
broadcastAudio
.
getUri
();
int
i
=
uri
.
lastIndexOf
(
"upload/"
);
uri
=
uri
.
substring
(
i
);
try
{
GetObjectResponse
getObjectResponse
=
minio
.
getObject
(
uri
);
File
file
=
FileUtil
.
writeFromStream
(
getObjectResponse
,
FileUtil
.
createTempFile
());
int
j
=
uri
.
lastIndexOf
(
"."
);
uri
=
uri
.
substring
(
j
);
map
.
put
(
broadcastAudio
.
getName
()
+
uri
,
file
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
});
String
fileName
=
URLEncoder
.
encode
(
"音频文件.zip"
,
StandardCharsets
.
UTF_8
);
response
.
setContentType
(
"application/octet-stream"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
fileName
);
try
{
ZipUtils
.
packet
(
map
,
response
.
getOutputStream
());
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
app/src/main/java/com/yiring/app/service/dept/impl/DepartmentServiceImpl.java
浏览文件 @
12f455ab
...
...
@@ -76,11 +76,11 @@ public class DepartmentServiceImpl implements DepartmentService {
@Override
public
Result
<
String
>
addDepartment
(
DepartmentAddParam
departmentAddParam
)
{
// 查询用户相关信息
Optional
<
User
>
userOptional
=
userRepository
.
findOne
(
Example
.
of
(
User
.
builder
().
id
(
departmentAddParam
.
getLeaderId
()).
build
())
);
Department
department
=
DepartmentAddParam
.
transform
(
departmentAddParam
);
userOptional
.
ifPresent
(
department:
:
setLeader
);
if
(
ObjectUtil
.
isNotEmpty
(
departmentAddParam
.
getLeaderId
()))
{
Optional
<
User
>
userOptional
=
userRepository
.
findById
(
departmentAddParam
.
getLeaderId
());
userOptional
.
ifPresent
(
department:
:
setLeader
);
}
// 查询zy上级部门id
Optional
<
Department
>
departmentOptional
=
departmentRepository
.
findOne
(
...
...
@@ -157,13 +157,16 @@ public class DepartmentServiceImpl implements DepartmentService {
@Override
public
void
exportDepartment
(
DepartmentExportParam
departmentExportParam
,
HttpServletResponse
response
)
{
List
<
Department
>
departments
=
departmentRepository
.
findAll
(
Example
.
of
(
Department
.
builder
().
enable
(
departmentExportParam
.
getEnable
()).
build
())
);
List
<
DepartmentExportExcel
>
departmentExportExcels
=
departments
.
stream
()
.
map
(
DepartmentExportExcel:
:
transform
)
.
collect
(
Collectors
.
toList
());
HashMap
<
String
,
Department
>
hashMap
=
getStringDepartmentHashMap
();
List
<
DepartmentExportExcel
>
departmentExportExcels
=
ListUtil
.
toList
();
hashMap
.
forEach
((
k
,
v
)
->
{
DepartmentExportExcel
departmentExportExcel
=
DepartmentExportExcel
.
transform
(
v
);
if
(
v
.
getEnable
()
==
departmentExportParam
.
getEnable
())
{
departmentExportExcel
.
setName
(
k
);
departmentExportExcels
.
add
(
departmentExportExcel
);
}
});
try
(
DefaultStreamExcelBuilder
<
DepartmentExportExcel
>
streamExcelBuilder
=
DefaultStreamExcelBuilder
.
of
(
DepartmentExportExcel
.
class
)
...
...
app/src/main/java/com/yiring/app/service/key/KeyAlarmLogService.java
0 → 100644
浏览文件 @
12f455ab
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
service
.
key
;
import
com.yiring.app.param.key.KeyAlarmLogFindParam
;
import
com.yiring.app.vo.key.KeyAlarmLogVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.vo.PageVo
;
/**
* 按键报警推送
*
* @author LJ-2204
* @date 2022/5/13
*/
public
interface
KeyAlarmLogService
{
/**
* 表格查询
* @param param KeyAlarmLogFindParam
* @param pageParam PageParam
* @return Result<PageVo<KeyAlarmLogVo>>
*/
Result
<
PageVo
<
KeyAlarmLogVo
>>
page
(
KeyAlarmLogFindParam
param
,
PageParam
pageParam
);
}
app/src/main/java/com/yiring/app/service/key/KeyAlarmRule
s
Service.java
→
app/src/main/java/com/yiring/app/service/key/KeyAlarmRuleService.java
浏览文件 @
12f455ab
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
service
.
key
;
import
com.yiring.app.param.key.KeyAlarmRule
s
AddParam
;
import
com.yiring.app.param.key.KeyAlarmRule
s
ExportParam
;
import
com.yiring.app.param.key.KeyAlarmRule
s
ModifyParam
;
import
com.yiring.app.param.key.KeyAlarmRule
s
PageParam
;
import
com.yiring.app.vo.key.KeyAlarmRule
s
Vo
;
import
com.yiring.app.param.key.KeyAlarmRuleAddParam
;
import
com.yiring.app.param.key.KeyAlarmRuleExportParam
;
import
com.yiring.app.param.key.KeyAlarmRuleModifyParam
;
import
com.yiring.app.param.key.KeyAlarmRulePageParam
;
import
com.yiring.app.vo.key.KeyAlarmRuleVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.param.PageParam
;
...
...
@@ -18,13 +18,13 @@ import javax.servlet.http.HttpServletResponse;
* @author LJ-2204
* @date 2022/5/6
*/
public
interface
KeyAlarmRule
s
Service
{
public
interface
KeyAlarmRuleService
{
/**
* 添加报警类型
* @param keyAlarmRule
sAddParam KeyAlarmRules
AddParam
* @param keyAlarmRule
AddParam KeyAlarmRule
AddParam
* @return Result<String>
*/
Result
<
String
>
add
(
KeyAlarmRule
sAddParam
keyAlarmRules
AddParam
);
Result
<
String
>
add
(
KeyAlarmRule
AddParam
keyAlarmRule
AddParam
);
/**
* 删除报警规则
...
...
@@ -35,23 +35,23 @@ public interface KeyAlarmRulesService {
/**
* 修改报警规则
* @param keyAlarmRule
sModifyParam KeyAlarmRules
ModifyParam
* @param keyAlarmRule
ModifyParam KeyAlarmRule
ModifyParam
* @return Result<String>
*/
Result
<
String
>
modify
(
KeyAlarmRule
sModifyParam
keyAlarmRules
ModifyParam
);
Result
<
String
>
modify
(
KeyAlarmRule
ModifyParam
keyAlarmRule
ModifyParam
);
/**
* 导出
* @param keyAlarmRule
sExportParam KeyAlarmRules
ExportParam
* @param keyAlarmRule
ExportParam KeyAlarmRule
ExportParam
* @param response HttpServletResponse
*/
void
export
(
KeyAlarmRule
sExportParam
keyAlarmRules
ExportParam
,
HttpServletResponse
response
);
void
export
(
KeyAlarmRule
ExportParam
keyAlarmRule
ExportParam
,
HttpServletResponse
response
);
/**
* 分页
* @param keyAlarmRule
sPageParam KeyAlarmRules
PageParam
* @param keyAlarmRule
PageParam KeyAlarmRule
PageParam
* @param pageParam PageParam
* @return Result<PageVo<KeyAlarmRule
s
Vo>>
* @return Result<PageVo<KeyAlarmRuleVo>>
*/
Result
<
PageVo
<
KeyAlarmRule
sVo
>>
page
(
KeyAlarmRulesPageParam
keyAlarmRules
PageParam
,
PageParam
pageParam
);
Result
<
PageVo
<
KeyAlarmRule
Vo
>>
page
(
KeyAlarmRulePageParam
keyAlarmRule
PageParam
,
PageParam
pageParam
);
}
app/src/main/java/com/yiring/app/service/key/KeyAlarmService.java
浏览文件 @
12f455ab
...
...
@@ -6,6 +6,7 @@ import com.yiring.app.vo.key.KeyAlarmVo;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.vo.PageVo
;
import
javax.servlet.http.HttpServletResponse
;
/**
* 部门信息控制器
...
...
@@ -21,4 +22,11 @@ public interface KeyAlarmService {
* @return Result<PageVo<KeyAlarmVo>>
*/
Result
<
PageVo
<
KeyAlarmVo
>>
page
(
KeyAlarmFindParam
param
,
PageParam
pageParam
);
/**
* 导出
* @param param KeyAlarmFindParam
* @param response HttpServletResponse
*/
void
export
(
KeyAlarmFindParam
param
,
HttpServletResponse
response
);
}
app/src/main/java/com/yiring/app/service/key/impl/KeyAlarmLogServiceImpl.java
0 → 100644
浏览文件 @
12f455ab
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
service
.
key
.
impl
;
import
cn.hutool.core.collection.ListUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.yiring.app.domain.key.KeyAlarmLog
;
import
com.yiring.app.domain.key.KeyAlarmLogRepository
;
import
com.yiring.app.param.key.KeyAlarmLogFindParam
;
import
com.yiring.app.service.key.KeyAlarmLogService
;
import
com.yiring.app.vo.key.KeyAlarmLogVo
;
import
com.yiring.auth.domain.user.User
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.domain.BasicEntity
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.vo.PageVo
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
import
javax.persistence.criteria.Order
;
import
javax.persistence.criteria.Predicate
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
/**
* 按键报警推送
*
* @author LJ-2204
* @date 2022/5/13
*/
@Transactional
(
rollbackFor
=
RuntimeException
.
class
)
@Service
@Slf4j
public
class
KeyAlarmLogServiceImpl
implements
KeyAlarmLogService
{
@Resource
KeyAlarmLogRepository
keyAlarmLogRepository
;
@Override
public
Result
<
PageVo
<
KeyAlarmLogVo
>>
page
(
KeyAlarmLogFindParam
param
,
PageParam
pageParam
)
{
Specification
<
KeyAlarmLog
>
specification
=
(
root
,
cq
,
cb
)
->
{
List
<
Predicate
>
predicates
=
ListUtil
.
toList
();
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getMobile
()))
{
predicates
.
add
(
cb
.
like
(
root
.
get
(
KeyAlarmLog
.
Fields
.
user
).
get
(
User
.
Fields
.
mobile
),
"%"
+
param
.
getMobile
()
+
"%"
)
);
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getStatus
()))
{
predicates
.
add
(
cb
.
equal
(
root
.
get
(
KeyAlarmLog
.
Fields
.
status
),
param
.
getStatus
()));
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getType
()))
{
predicates
.
add
(
cb
.
equal
(
root
.
get
(
KeyAlarmLog
.
Fields
.
types
),
param
.
getType
()));
}
Order
order
=
cb
.
desc
(
root
.
get
(
BasicEntity
.
Fields
.
createTime
));
return
cq
.
orderBy
(
order
).
where
(
predicates
.
toArray
(
new
Predicate
[
0
])).
getRestriction
();
};
Pageable
pageable
=
PageRequest
.
of
(
pageParam
.
getPageNo
()
-
1
,
pageParam
.
getPageSize
());
Page
<
KeyAlarmLog
>
keyAlarmLogs
=
keyAlarmLogRepository
.
findAll
(
specification
,
pageable
);
List
<
KeyAlarmLogVo
>
keyAlarmLogVos
=
keyAlarmLogs
.
getContent
()
.
stream
()
.
map
(
KeyAlarmLogVo:
:
transform
)
.
collect
(
Collectors
.
toList
());
PageVo
<
KeyAlarmLogVo
>
pageVo
=
PageVo
.
build
(
keyAlarmLogVos
,
keyAlarmLogs
.
getTotalElements
());
return
Result
.
ok
(
pageVo
);
}
}
app/src/main/java/com/yiring/app/service/key/impl/KeyAlarmRule
s
ServiceImpl.java
→
app/src/main/java/com/yiring/app/service/key/impl/KeyAlarmRuleServiceImpl.java
浏览文件 @
12f455ab
差异被折叠。
点击展开。
app/src/main/java/com/yiring/app/service/key/impl/KeyAlarmServiceImpl.java
浏览文件 @
12f455ab
...
...
@@ -4,10 +4,12 @@ package com.yiring.app.service.key.impl;
import
cn.hutool.core.collection.ListUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.github.liaochong.myexcel.core.DefaultStreamExcelBuilder
;
import
com.yiring.app.domain.key.KeyAlarm
;
import
com.yiring.app.domain.key.KeyAlarmRepository
;
import
com.yiring.app.domain.key.KeyAlarmRules
;
import
com.yiring.app.domain.key.KeyAlarmRulesRepository
;
import
com.yiring.app.domain.key.KeyAlarmRule
;
import
com.yiring.app.domain.key.KeyAlarmRuleRepository
;
import
com.yiring.app.excel.key.KeyAlarmExportExcel
;
import
com.yiring.app.param.key.KeyAlarmFindParam
;
import
com.yiring.app.service.key.KeyAlarmService
;
import
com.yiring.app.vo.key.KeyAlarmVo
;
...
...
@@ -17,14 +19,20 @@ import com.yiring.common.core.Result;
import
com.yiring.common.domain.BasicEntity
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.vo.PageVo
;
import
java.io.OutputStream
;
import
java.net.URLEncoder
;
import
java.nio.charset.StandardCharsets
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.Set
;
import
java.util.concurrent.Executors
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
import
javax.persistence.criteria.Order
;
import
javax.persistence.criteria.Predicate
;
import
javax.servlet.http.HttpServletResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Pageable
;
...
...
@@ -48,7 +56,7 @@ public class KeyAlarmServiceImpl implements KeyAlarmService {
KeyAlarmRepository
keyAlarmRepository
;
@Resource
KeyAlarmRule
sRepository
keyAlarmRules
Repository
;
KeyAlarmRule
Repository
keyAlarmRule
Repository
;
@Override
public
Result
<
PageVo
<
KeyAlarmVo
>>
page
(
KeyAlarmFindParam
param
,
PageParam
pageParam
)
{
...
...
@@ -101,13 +109,13 @@ public class KeyAlarmServiceImpl implements KeyAlarmService {
.
build
();
keyAlarmVo
.
setUser
(
userVo
);
}
Optional
<
KeyAlarmRule
s
>
keyAlarmRulesOptional
=
keyAlarmRules
Repository
.
findById
(
Optional
<
KeyAlarmRule
>
keyAlarmRuleOptional
=
keyAlarmRule
Repository
.
findById
(
leader
.
getDepartment
().
getId
()
);
if
(
keyAlarmRule
s
Optional
.
isPresent
())
{
KeyAlarmRule
s
keyAlarmRules
=
keyAlarmRules
Optional
.
get
();
Set
<
User
>
users
=
keyAlarmRule
s
.
getUsers
();
if
(
keyAlarmRuleOptional
.
isPresent
())
{
KeyAlarmRule
keyAlarmRule
=
keyAlarmRule
Optional
.
get
();
Set
<
User
>
users
=
keyAlarmRule
.
getUsers
();
List
<
String
>
names
=
users
.
stream
().
map
(
User:
:
getRealName
).
collect
(
Collectors
.
toList
());
keyAlarmVo
.
setReceiver
(
StrUtil
.
join
(
","
,
names
));
}
...
...
@@ -119,4 +127,94 @@ public class KeyAlarmServiceImpl implements KeyAlarmService {
return
Result
.
ok
(
pageVo
);
}
@Override
public
void
export
(
KeyAlarmFindParam
param
,
HttpServletResponse
response
)
{
Specification
<
KeyAlarm
>
specification
=
(
root
,
cq
,
cb
)
->
{
List
<
Predicate
>
predicates
=
ListUtil
.
toList
();
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getAreaId
()))
{
predicates
.
add
(
cb
.
equal
(
root
.
get
(
KeyAlarm
.
Fields
.
areaId
),
param
.
getAreaId
()));
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getName
()))
{
predicates
.
add
(
cb
.
like
(
root
.
get
(
KeyAlarm
.
Fields
.
leader
).
get
(
User
.
Fields
.
realName
),
"%"
+
param
.
getName
()
+
"%"
)
);
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getEnable
()))
{
predicates
.
add
(
cb
.
equal
(
root
.
get
(
KeyAlarm
.
Fields
.
enable
),
param
.
getEnable
()));
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getCreateTime
()))
{
predicates
.
add
(
cb
.
lessThan
(
root
.
get
(
BasicEntity
.
Fields
.
createTime
),
param
.
getCreateTime
()));
}
if
(
ObjectUtil
.
isNotEmpty
(
param
.
getEndTime
()))
{
predicates
.
add
(
cb
.
greaterThan
(
root
.
get
(
BasicEntity
.
Fields
.
updateTime
),
param
.
getEndTime
()));
}
Order
order
=
cb
.
desc
(
root
.
get
(
BasicEntity
.
Fields
.
createTime
));
return
cq
.
orderBy
(
order
).
where
(
predicates
.
toArray
(
new
Predicate
[
0
])).
getRestriction
();
};
List
<
KeyAlarm
>
keyAlarms
=
keyAlarmRepository
.
findAll
(
specification
);
List
<
KeyAlarmExportExcel
>
keyAlarmExportExcels
=
keyAlarms
.
stream
()
.
map
(
keyAlarm
->
{
KeyAlarmExportExcel
keyAlarmExportExcel
=
KeyAlarmExportExcel
.
transform
(
keyAlarm
);
User
leader
=
keyAlarm
.
getLeader
();
if
(
ObjectUtil
.
isNotEmpty
(
leader
))
{
keyAlarmExportExcel
.
setRealName
(
leader
.
getRealName
());
keyAlarmExportExcel
.
setUuid
(
leader
.
getUuid
());
}
Optional
<
KeyAlarmRule
>
keyAlarmRuleOptional
=
keyAlarmRuleRepository
.
findById
(
leader
.
getDepartment
().
getId
()
);
if
(
keyAlarmRuleOptional
.
isPresent
())
{
KeyAlarmRule
keyAlarmRule
=
keyAlarmRuleOptional
.
get
();
Set
<
User
>
users
=
keyAlarmRule
.
getUsers
();
List
<
String
>
names
=
users
.
stream
().
map
(
User:
:
getRealName
).
collect
(
Collectors
.
toList
());
keyAlarmExportExcel
.
setReceiver
(
StrUtil
.
join
(
","
,
names
));
}
return
keyAlarmExportExcel
;
})
.
collect
(
Collectors
.
toList
());
try
(
DefaultStreamExcelBuilder
<
KeyAlarmExportExcel
>
streamExcelBuilder
=
DefaultStreamExcelBuilder
.
of
(
KeyAlarmExportExcel
.
class
)
.
threadPool
(
Executors
.
newFixedThreadPool
(
2
))
.
rowHeight
(
14
)
.
titleRowHeight
(
14
)
.
style
(
"cell->vertical-align:center;text-align:center"
,
"title->vertical-align:center;text-align:center;font-weight:bold;font-family:等线"
)
.
start
()
)
{
streamExcelBuilder
.
append
(
keyAlarmExportExcels
);
String
fileName
=
URLEncoder
.
encode
(
"按键报警信息.xlsx"
,
StandardCharsets
.
UTF_8
);
response
.
setContentType
(
"application/octet-stream"
);
response
.
setHeader
(
"Access-Control-Expose-Headers"
,
"Content-Disposition"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
fileName
);
OutputStream
out
=
response
.
getOutputStream
();
Workbook
workbook
=
streamExcelBuilder
.
fixedTitles
().
build
();
workbook
.
write
(
out
);
workbook
.
close
();
out
.
flush
();
out
.
close
();
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
throw
new
RuntimeException
(
"导出按键报警信息失败: "
+
e
.
getMessage
());
}
}
}
app/src/main/java/com/yiring/app/service/message/impl/ZyMessageServiceImpl.java
浏览文件 @
12f455ab
...
...
@@ -4,17 +4,22 @@ package com.yiring.app.service.message.impl;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yiring.app.domain.key.*
;
import
com.yiring.app.domain.location.*
;
import
com.yiring.app.domain.log.ZyRealtimeLog
;
import
com.yiring.app.domain.log.ZyRealtimeLogRepository
;
import
com.yiring.app.param.key.KeyAlarmAddParam
;
import
com.yiring.app.service.message.ZyMessageService
;
import
com.yiring.app.util.GeoUtils
;
import
com.yiring.auth.domain.dept.Department
;
import
com.yiring.auth.domain.user.User
;
import
com.yiring.auth.domain.user.UserRepository
;
import
com.yiring.common.annotation.Times
;
import
java.time.Instant
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.util.Arrays
;
import
java.util.HashSet
;
import
java.util.Optional
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
...
...
@@ -51,6 +56,18 @@ public class ZyMessageServiceImpl implements ZyMessageService {
@Resource
ZyRealtimeLogRepository
zyRealtimeLogRepository
;
@Resource
KeyAlarmRepository
keyAlarmRepository
;
@Resource
KeyAlarmLogRepository
keyAlarmLogRepository
;
@Resource
KeyAlarmRuleRepository
keyAlarmRuleRepository
;
@Resource
UserRepository
userRepository
;
@Times
@Override
public
void
consume
(
String
message
)
{
...
...
@@ -196,5 +213,57 @@ public class ZyMessageServiceImpl implements ZyMessageService {
public
void
processKeyWarningMessage
(
JSONObject
data
)
{
// TODO
log
.
info
(
"KeyWarning Message: {}"
,
data
);
KeyAlarmAddParam
keyAlarmAddParam
=
data
.
toJavaObject
(
KeyAlarmAddParam
.
class
);
KeyAlarm
keyAlarm
=
KeyAlarmAddParam
.
transform
(
keyAlarmAddParam
);
keyAlarm
.
setPoint
(
GeoUtils
.
xyzToPoint
(
keyAlarm
.
getX
().
doubleValue
(),
keyAlarm
.
getY
().
doubleValue
(),
keyAlarm
.
getZ
().
doubleValue
()
)
);
Optional
<
User
>
userRepositoryOne
=
userRepository
.
findOne
(
Example
.
of
(
User
.
builder
().
linkId
(
keyAlarmAddParam
.
getEntityId
()).
build
())
);
if
(
userRepositoryOne
.
isEmpty
())
{
// throw new RuntimeException("没找到该用户");
log
.
error
(
"没找到该用户"
);
return
;
}
User
user
=
userRepositoryOne
.
get
();
keyAlarm
.
setLeader
(
user
);
keyAlarm
.
setEnable
(
true
);
Optional
<
KeyAlarmRule
>
keyAlarmRuleOptional
=
keyAlarmRuleRepository
.
findOne
(
Example
.
of
(
KeyAlarmRule
.
builder
().
department
(
Department
.
builder
().
id
(
user
.
getDepartment
().
getId
()).
build
()).
build
()
)
);
if
(
keyAlarmRuleOptional
.
isEmpty
())
{
// throw new RuntimeException("该部门未设置报警规则");
log
.
error
(
"该部门未设置报警规则"
);
return
;
}
final
KeyAlarm
finalKeyAlarm
=
keyAlarmRepository
.
save
(
keyAlarm
);
KeyAlarmRule
keyAlarmRule
=
keyAlarmRuleOptional
.
get
();
Set
<
User
>
users
=
keyAlarmRule
.
getUsers
();
HashSet
<
KeyAlarmLog
>
keyAlarmLogs
=
new
HashSet
<>();
users
.
forEach
(
leader
->
{
String
[]
split
=
keyAlarmRule
.
getTypes
().
split
(
","
);
for
(
String
type
:
split
)
{
keyAlarmLogs
.
add
(
KeyAlarmLog
.
builder
().
status
(
false
).
user
(
leader
).
types
(
type
).
keyAlarm
(
finalKeyAlarm
).
build
()
);
}
});
keyAlarmLogRepository
.
saveAll
(
keyAlarmLogs
);
}
}
app/src/main/java/com/yiring/app/service/user/impl/UserAppServiceImpl.java
浏览文件 @
12f455ab
...
...
@@ -435,12 +435,6 @@ public class UserAppServiceImpl implements UserAppService {
.
filter
(
userImportExcel
->
userRepository
.
count
(
Example
.
of
(
User
.
builder
().
uuid
(
userImportExcel
.
getUuid
()).
build
()))
==
0
)
.
filter
(
userImportExcel
->
locationTagRepository
.
count
(
Example
.
of
(
LocationTag
.
builder
().
code
(
userImportExcel
.
getCode
()).
used
(
true
).
build
())
)
==
0
)
.
collect
(
Collectors
.
toList
());
userImportExcels
.
forEach
(
userImportExcel
->
{
...
...
@@ -476,14 +470,11 @@ public class UserAppServiceImpl implements UserAppService {
Object
id
=
JSONUtil
.
parseObj
(
records
.
get
(
0
)).
get
(
"id"
);
Post
post
=
postMap
.
get
(
userImportExcel
.
getPostName
()).
get
(
0
);
user
.
setLinkId
(
Convert
.
toLong
(
id
));
user
.
setDepartment
(
department
);
user
.
setPost
(
post
);
User
saveUser
=
userRepository
.
save
(
user
);
if
(
StrUtil
.
isNotEmpty
(
userImportExcel
.
getCode
()))
{
LocationTag
locationTag
=
LocationTag
.
builder
().
code
(
userImportExcel
.
getCode
()).
user
(
saveUser
).
build
();
locationTagRepository
.
save
(
locationTag
);
}
userRepository
.
save
(
user
);
});
return
Result
.
ok
();
...
...
app/src/main/java/com/yiring/app/util/ZipUtils.java
0 → 100644
浏览文件 @
12f455ab
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
util
;
import
java.io.*
;
import
java.nio.file.*
;
import
java.nio.file.attribute.BasicFileAttributes
;
import
java.util.LinkedList
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.zip.ZipEntry
;
import
java.util.zip.ZipFile
;
import
java.util.zip.ZipInputStream
;
import
java.util.zip.ZipOutputStream
;
public
class
ZipUtils
{
/**
* 解压文件
* @param file 压缩文件
* @param targetDir 解压文件输出的目录
* @throws IOException IOException
*/
public
static
void
unPacket
(
Path
file
,
Path
targetDir
)
throws
IOException
{
if
(!
Files
.
exists
(
targetDir
))
{
Files
.
createDirectories
(
targetDir
);
}
// 创建zip对象
try
(
ZipFile
zipFile
=
new
ZipFile
(
file
.
toFile
()))
{
// 读取zip流
try
(
ZipInputStream
zipInputStream
=
new
ZipInputStream
(
Files
.
newInputStream
(
file
)))
{
ZipEntry
zipEntry
;
// 遍历每一个zip项
while
((
zipEntry
=
zipInputStream
.
getNextEntry
())
!=
null
)
{
// 获取zip项目名称
String
entryName
=
zipEntry
.
getName
();
// 构建绝对路径
Path
entryFile
=
targetDir
.
resolve
(
entryName
);
if
(
zipEntry
.
isDirectory
())
{
// 文件夹
if
(!
Files
.
isDirectory
(
entryFile
))
{
Files
.
createDirectories
(
entryFile
);
}
}
else
{
// 文件
// 读取zip项数据流
try
(
InputStream
zipEntryInputStream
=
zipFile
.
getInputStream
(
zipEntry
))
{
try
(
OutputStream
fileOutputStream
=
Files
.
newOutputStream
(
entryFile
,
StandardOpenOption
.
CREATE_NEW
)
)
{
byte
[]
buffer
=
new
byte
[
4096
];
int
length
;
while
((
length
=
zipEntryInputStream
.
read
(
buffer
))
!=
-
1
)
{
fileOutputStream
.
write
(
buffer
,
0
,
length
);
}
fileOutputStream
.
flush
();
}
}
}
}
}
}
}
/**
* 压缩指定的文件
* @param files Path[]
* @param zipFile Path
* @throws IOException IOException
*/
public
static
void
packet
(
Path
[]
files
,
Path
zipFile
)
throws
IOException
{
OutputStream
outputStream
=
Files
.
newOutputStream
(
zipFile
,
StandardOpenOption
.
CREATE_NEW
);
try
(
outputStream
;
ZipOutputStream
zipOutputStream
=
new
ZipOutputStream
(
outputStream
))
{
for
(
Path
file
:
files
)
{
if
(
Files
.
isDirectory
(
file
))
{
continue
;
}
try
(
InputStream
inputStream
=
Files
.
newInputStream
(
file
))
{
// 创建一个压缩项,指定名称
ZipEntry
zipEntry
=
new
ZipEntry
(
file
.
getFileName
().
toString
());
// 添加到压缩流
zipOutputStream
.
putNextEntry
(
zipEntry
);
// 写入数据
int
len
;
byte
[]
buffer
=
new
byte
[
1024
*
10
];
while
((
len
=
inputStream
.
read
(
buffer
))
>
0
)
{
zipOutputStream
.
write
(
buffer
,
0
,
len
);
}
zipOutputStream
.
flush
();
}
}
// 完成所有压缩项的添加
zipOutputStream
.
closeEntry
();
}
}
/**
* 压缩指定的文件
* @param files Map<String, File>
* @param outputStream OutputStream
*/
public
static
void
packet
(
Map
<
String
,
File
>
files
,
OutputStream
outputStream
)
{
try
(
outputStream
;
ZipOutputStream
zipOutputStream
=
new
ZipOutputStream
(
outputStream
))
{
for
(
Map
.
Entry
<
String
,
File
>
file
:
files
.
entrySet
())
{
String
fileName
=
file
.
getKey
();
File
fileValue
=
file
.
getValue
();
try
(
InputStream
inputStream
=
new
BufferedInputStream
(
new
FileInputStream
(
fileValue
)))
{
// 创建一个压缩项,指定名称
ZipEntry
zipEntry
=
new
ZipEntry
(
fileName
);
// 添加到压缩流
zipOutputStream
.
putNextEntry
(
zipEntry
);
// 写入数据
int
len
;
byte
[]
buffer
=
new
byte
[
1024
*
10
];
while
((
len
=
inputStream
.
read
(
buffer
))
>
0
)
{
zipOutputStream
.
write
(
buffer
,
0
,
len
);
}
zipOutputStream
.
flush
();
}
}
// 完成所有压缩项的添加
zipOutputStream
.
closeEntry
();
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
}
/**
* 压缩指定的目录
* @param folder Path
* @param zipFile Path
* @throws IOException IOException
*/
public
static
void
packet
(
Path
folder
,
Path
zipFile
)
throws
IOException
{
if
(!
Files
.
isDirectory
(
folder
))
{
throw
new
IllegalArgumentException
(
folder
+
" 不是合法的文件夹"
);
}
OutputStream
outputStream
=
Files
.
newOutputStream
(
zipFile
,
StandardOpenOption
.
CREATE_NEW
);
LinkedList
<
String
>
path
=
new
LinkedList
<>();
try
(
outputStream
;
ZipOutputStream
zipOutputStream
=
new
ZipOutputStream
(
outputStream
))
{
Files
.
walkFileTree
(
folder
,
new
FileVisitor
<>()
{
@Override
public
FileVisitResult
preVisitDirectory
(
Path
dir
,
BasicFileAttributes
attrs
)
{
if
(!
dir
.
equals
(
folder
))
{
// 开始遍历目录
String
folder
=
dir
.
getFileName
().
toString
();
path
.
addLast
(
folder
);
// 写入目录
ZipEntry
zipEntry
=
new
ZipEntry
(
path
.
stream
().
collect
(
Collectors
.
joining
(
"/"
,
""
,
"/"
)));
try
{
zipOutputStream
.
putNextEntry
(
zipEntry
);
zipOutputStream
.
flush
();
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
return
FileVisitResult
.
CONTINUE
;
}
@Override
public
FileVisitResult
visitFile
(
Path
file
,
BasicFileAttributes
attrs
)
{
// 开始遍历文件
try
(
InputStream
inputStream
=
Files
.
newInputStream
(
file
))
{
// 创建一个压缩项,指定名称
String
fileName
=
path
.
size
()
>
0
?
path
.
stream
().
collect
(
Collectors
.
joining
(
"/"
,
""
,
""
))
+
"/"
+
file
.
getFileName
().
toString
()
:
file
.
getFileName
().
toString
();
ZipEntry
zipEntry
=
new
ZipEntry
(
fileName
);
// 添加到压缩流
zipOutputStream
.
putNextEntry
(
zipEntry
);
// 写入数据
int
len
;
byte
[]
buffer
=
new
byte
[
1024
*
10
];
while
((
len
=
inputStream
.
read
(
buffer
))
>
0
)
{
zipOutputStream
.
write
(
buffer
,
0
,
len
);
}
zipOutputStream
.
flush
();
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
return
FileVisitResult
.
CONTINUE
;
}
@Override
public
FileVisitResult
visitFileFailed
(
Path
file
,
IOException
exc
)
{
return
FileVisitResult
.
CONTINUE
;
}
@Override
public
FileVisitResult
postVisitDirectory
(
Path
dir
,
IOException
exc
)
{
// 结束遍历目录
if
(!
path
.
isEmpty
())
{
path
.
removeLast
();
}
return
FileVisitResult
.
CONTINUE
;
}
}
);
zipOutputStream
.
closeEntry
();
}
}
}
app/src/main/java/com/yiring/app/vo/key/KeyAlarmLogVo.java
0 → 100644
浏览文件 @
12f455ab
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
vo
.
key
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
com.yiring.app.domain.key.KeyAlarmLog
;
import
com.yiring.app.vo.user.UserVo
;
import
com.yiring.auth.domain.user.User
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
/**
* 按键报警推送
*
* @author LJ-2204
* @date 2022/5/13
*/
@ApiModel
(
"KeyAlarmLogVo"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
KeyAlarmLogVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
9135155632502530938L
;
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@ApiModelProperty
(
value
=
"主键"
,
example
=
"111"
)
Long
id
;
@ApiModelProperty
(
value
=
"用户"
,
example
=
"111"
)
UserVo
userVo
;
@ApiModelProperty
(
value
=
"通知方式"
,
example
=
"SMS/APP"
)
String
type
;
@ApiModelProperty
(
value
=
"接收状态"
,
example
=
"T/F"
)
Boolean
status
;
@ApiModelProperty
(
value
=
"接收时间"
,
example
=
"2011-11-11 22:22:22"
)
LocalDateTime
updateTime
;
public
static
KeyAlarmLogVo
transform
(
KeyAlarmLog
keyAlarmLog
)
{
KeyAlarmLogVo
keyAlarmLogVo
=
KeyAlarmLogVo
.
builder
()
.
id
(
keyAlarmLog
.
getId
())
.
type
(
keyAlarmLog
.
getTypes
())
.
status
(
keyAlarmLog
.
getStatus
())
.
updateTime
(
keyAlarmLog
.
getUpdateTime
())
.
build
();
if
(
ObjectUtil
.
isNotEmpty
(
keyAlarmLog
.
getUser
()))
{
User
user
=
keyAlarmLog
.
getUser
();
keyAlarmLogVo
.
setUserVo
(
UserVo
.
builder
().
id
(
user
.
getId
()).
realName
(
user
.
getRealName
()).
mobile
(
user
.
getMobile
()).
build
()
);
}
return
keyAlarmLogVo
;
}
}
app/src/main/java/com/yiring/app/vo/key/KeyAlarmRule
s
Vo.java
→
app/src/main/java/com/yiring/app/vo/key/KeyAlarmRuleVo.java
浏览文件 @
12f455ab
...
...
@@ -3,7 +3,7 @@ package com.yiring.app.vo.key;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
com.yiring.app.domain.key.KeyAlarmRule
s
;
import
com.yiring.app.domain.key.KeyAlarmRule
;
import
com.yiring.app.vo.user.UserInfoVo
;
import
com.yiring.auth.domain.user.User
;
import
io.swagger.annotations.ApiModel
;
...
...
@@ -23,13 +23,13 @@ import lombok.experimental.FieldDefaults;
* @date 2022/5/7
*/
@ApiModel
(
"KeyAlarmRule
s
Vo"
)
@ApiModel
(
"KeyAlarmRuleVo"
)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
KeyAlarmRule
s
Vo
implements
Serializable
{
public
class
KeyAlarmRuleVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
5083435104462641333L
;
...
...
@@ -51,17 +51,17 @@ public class KeyAlarmRulesVo implements Serializable {
@ApiModelProperty
(
value
=
"推送类型"
,
example
=
"111"
)
String
[]
types
;
public
static
KeyAlarmRule
sVo
transform
(
KeyAlarmRules
keyAlarmRules
)
{
Set
<
User
>
users
=
keyAlarmRule
s
.
getUsers
();
public
static
KeyAlarmRule
Vo
transform
(
KeyAlarmRule
keyAlarmRule
)
{
Set
<
User
>
users
=
keyAlarmRule
.
getUsers
();
List
<
UserInfoVo
>
userInfoVos
=
users
.
stream
().
map
(
UserInfoVo:
:
transform
).
collect
(
Collectors
.
toList
());
return
KeyAlarmRule
s
Vo
return
KeyAlarmRuleVo
.
builder
()
.
id
(
keyAlarmRule
s
.
getId
())
.
deptId
(
keyAlarmRule
s
.
getDepartment
().
getId
())
.
deptName
(
keyAlarmRule
s
.
getDepartment
().
getName
())
.
id
(
keyAlarmRule
.
getId
())
.
deptId
(
keyAlarmRule
.
getDepartment
().
getId
())
.
deptName
(
keyAlarmRule
.
getDepartment
().
getName
())
.
users
(
userInfoVos
)
.
types
(
keyAlarmRule
s
.
getTypes
().
split
(
","
))
.
types
(
keyAlarmRule
.
getTypes
().
split
(
","
))
.
build
();
}
}
app/src/main/java/com/yiring/app/web/broadcast/BroadcastAudioController.java
浏览文件 @
12f455ab
...
...
@@ -7,6 +7,7 @@ import com.yiring.app.param.broadcast.BroadcastAudioModifyParam;
import
com.yiring.app.service.broadcast.BroadcastAudioService
;
import
com.yiring.app.vo.broadcast.BroadcastAudioIndexVo
;
import
com.yiring.app.vo.broadcast.BroadcastAudioVo
;
import
com.yiring.auth.param.IdsParam
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.param.IndexParam
;
...
...
@@ -15,8 +16,10 @@ import com.yiring.common.vo.PageVo;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.Valid
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.http.MediaType
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -67,7 +70,9 @@ public class BroadcastAudioController {
return
broadcastAudioService
.
index
(
indexParam
);
}
@ApiOperation
(
"批量下载"
)
@ApiOperation
(
value
=
"批量下载"
,
produces
=
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
)
@GetMapping
(
"download"
)
public
void
download
()
{}
public
void
download
(
@Valid
IdsParam
idsParam
,
HttpServletResponse
response
)
{
broadcastAudioService
.
download
(
idsParam
,
response
);
}
}
app/src/main/java/com/yiring/app/web/dept/DepartmentController.java
浏览文件 @
12f455ab
...
...
@@ -18,6 +18,7 @@ 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.*
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
@@ -56,7 +57,7 @@ public class DepartmentController {
return
departmentService
.
findDepartmentInfo
(
idParam
);
}
@ApiOperation
(
"部门导出"
)
@ApiOperation
(
value
=
"部门导出"
,
produces
=
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
)
@GetMapping
(
"exportDepartment"
)
public
void
exportDepartment
(
@Valid
DepartmentExportParam
departmentExportParam
,
HttpServletResponse
response
)
{
departmentService
.
exportDepartment
(
departmentExportParam
,
response
);
...
...
app/src/main/java/com/yiring/app/web/key/KeyAlarmController.java
浏览文件 @
12f455ab
...
...
@@ -10,6 +10,7 @@ import com.yiring.common.vo.PageVo;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
...
@@ -38,4 +39,10 @@ public class KeyAlarmController {
public
Result
<
PageVo
<
KeyAlarmVo
>>
page
(
KeyAlarmFindParam
param
,
PageParam
pageParam
)
{
return
keyAlarmService
.
page
(
param
,
pageParam
);
}
@ApiOperation
(
"导出"
)
@GetMapping
public
void
export
(
KeyAlarmFindParam
param
,
HttpServletResponse
response
)
{
keyAlarmService
.
export
(
param
,
response
);
}
}
app/src/main/java/com/yiring/app/web/key/KeyAlarmLogController.java
0 → 100644
浏览文件 @
12f455ab
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
web
.
key
;
import
com.yiring.app.param.key.KeyAlarmLogFindParam
;
import
com.yiring.app.service.key.KeyAlarmLogService
;
import
com.yiring.app.vo.key.KeyAlarmLogVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.vo.PageVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
javax.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 按键报警推送信息
*
* @author LJ-2204
* @date 2022/5/13
*/
@Slf4j
@Validated
@Api
(
tags
=
"按键报警推送"
)
@RestController
@RequestMapping
(
"/key/alarm/log"
)
public
class
KeyAlarmLogController
{
@Resource
KeyAlarmLogService
keyAlarmLogService
;
@ApiOperation
(
"表格查询"
)
@GetMapping
(
"page"
)
public
Result
<
PageVo
<
KeyAlarmLogVo
>>
page
(
KeyAlarmLogFindParam
param
,
PageParam
pageParam
)
{
return
keyAlarmLogService
.
page
(
param
,
pageParam
);
}
}
app/src/main/java/com/yiring/app/web/key/KeyAlarmRule
s
Controller.java
→
app/src/main/java/com/yiring/app/web/key/KeyAlarmRuleController.java
浏览文件 @
12f455ab
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
app
.
web
.
key
;
import
com.yiring.app.param.key.KeyAlarmRule
s
AddParam
;
import
com.yiring.app.param.key.KeyAlarmRule
s
ExportParam
;
import
com.yiring.app.param.key.KeyAlarmRule
s
ModifyParam
;
import
com.yiring.app.param.key.KeyAlarmRule
s
PageParam
;
import
com.yiring.app.service.key.KeyAlarmRule
s
Service
;
import
com.yiring.app.vo.key.KeyAlarmRule
s
Vo
;
import
com.yiring.app.param.key.KeyAlarmRuleAddParam
;
import
com.yiring.app.param.key.KeyAlarmRuleExportParam
;
import
com.yiring.app.param.key.KeyAlarmRuleModifyParam
;
import
com.yiring.app.param.key.KeyAlarmRulePageParam
;
import
com.yiring.app.service.key.KeyAlarmRuleService
;
import
com.yiring.app.vo.key.KeyAlarmRuleVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.param.PageParam
;
...
...
@@ -31,38 +31,38 @@ import org.springframework.web.bind.annotation.*;
@Api
(
tags
=
"按键报警规则"
)
@RestController
@RequestMapping
(
"/key/alarm/rules"
)
public
class
KeyAlarmRule
s
Controller
{
public
class
KeyAlarmRuleController
{
@Resource
KeyAlarmRule
sService
keyAlarmRules
Service
;
KeyAlarmRule
Service
keyAlarmRule
Service
;
@ApiOperation
(
"新增报警规则"
)
@PostMapping
(
"add"
)
public
Result
<
String
>
add
(
KeyAlarmRule
sAddParam
keyAlarmRules
AddParam
)
{
return
keyAlarmRule
sService
.
add
(
keyAlarmRules
AddParam
);
public
Result
<
String
>
add
(
KeyAlarmRule
AddParam
keyAlarmRule
AddParam
)
{
return
keyAlarmRule
Service
.
add
(
keyAlarmRule
AddParam
);
}
@ApiOperation
(
"删除报警规则"
)
@DeleteMapping
(
"delete"
)
public
Result
<
String
>
delete
(
IdParam
idParam
)
{
return
keyAlarmRule
s
Service
.
delete
(
idParam
);
return
keyAlarmRuleService
.
delete
(
idParam
);
}
@ApiOperation
(
"更新报警规则"
)
@PutMapping
(
"modify"
)
public
Result
<
String
>
modify
(
KeyAlarmRule
sModifyParam
keyAlarmRules
ModifyParam
)
{
return
keyAlarmRule
sService
.
modify
(
keyAlarmRules
ModifyParam
);
public
Result
<
String
>
modify
(
KeyAlarmRule
ModifyParam
keyAlarmRule
ModifyParam
)
{
return
keyAlarmRule
Service
.
modify
(
keyAlarmRule
ModifyParam
);
}
@ApiOperation
(
"导出"
)
@GetMapping
(
"export"
)
public
void
export
(
KeyAlarmRule
sExportParam
keyAlarmRules
ExportParam
,
HttpServletResponse
response
)
{
keyAlarmRule
sService
.
export
(
keyAlarmRules
ExportParam
,
response
);
public
void
export
(
KeyAlarmRule
ExportParam
keyAlarmRule
ExportParam
,
HttpServletResponse
response
)
{
keyAlarmRule
Service
.
export
(
keyAlarmRule
ExportParam
,
response
);
}
@ApiOperation
(
"表格查询"
)
@GetMapping
(
"page"
)
public
Result
<
PageVo
<
KeyAlarmRule
sVo
>>
page
(
KeyAlarmRulesPageParam
keyAlarmRules
PageParam
,
PageParam
pageParam
)
{
return
keyAlarmRule
sService
.
page
(
keyAlarmRules
PageParam
,
pageParam
);
public
Result
<
PageVo
<
KeyAlarmRule
Vo
>>
page
(
KeyAlarmRulePageParam
keyAlarmRule
PageParam
,
PageParam
pageParam
)
{
return
keyAlarmRule
Service
.
page
(
keyAlarmRule
PageParam
,
pageParam
);
}
}
app/src/main/java/com/yiring/app/web/user/UserAppController.java
浏览文件 @
12f455ab
...
...
@@ -17,6 +17,7 @@ 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.*
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
@@ -69,7 +70,7 @@ public class UserAppController {
return
userService
.
deleteUser
(
idsParam
);
}
@ApiOperation
(
"用户导出"
)
@ApiOperation
(
value
=
"用户导出"
,
produces
=
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
)
@GetMapping
(
"exportUser"
)
public
void
exportUser
(
@Valid
UserFindParam
userFindParam
,
HttpServletResponse
response
)
{
userService
.
exportUser
(
userFindParam
,
response
);
...
...
basic-auth/src/main/java/com/yiring/auth/service/user/UserService.java
浏览文件 @
12f455ab
...
...
@@ -5,6 +5,7 @@ import com.yiring.auth.param.user.UserFindParam;
import
com.yiring.auth.param.user.UserSaveParam
;
import
com.yiring.auth.vo.user.UserVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.vo.PageVo
;
...
...
@@ -29,4 +30,11 @@ public interface UserService {
* @return Result<PageVo<UserVo>>
*/
Result
<
PageVo
<
UserVo
>>
page
(
UserFindParam
param
,
PageParam
pageParam
);
/**
* 重置密码
* @param idParam IdParam
* @return Result<String>
*/
Result
<
String
>
reset
(
IdParam
idParam
);
}
basic-auth/src/main/java/com/yiring/auth/service/user/impl/UserServiceImpl.java
浏览文件 @
12f455ab
...
...
@@ -12,10 +12,13 @@ import com.yiring.auth.param.user.UserSaveParam;
import
com.yiring.auth.service.user.UserService
;
import
com.yiring.auth.vo.user.UserVo
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.core.Status
;
import
com.yiring.common.domain.BasicEntity
;
import
com.yiring.common.param.IdParam
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.vo.PageVo
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
import
javax.persistence.criteria.CriteriaBuilder
;
...
...
@@ -87,4 +90,18 @@ public class UserServiceImpl implements UserService {
PageVo
<
UserVo
>
pageVo
=
PageVo
.
build
(
userVos
,
users
.
getTotalElements
());
return
Result
.
ok
(
pageVo
);
}
@Override
public
Result
<
String
>
reset
(
IdParam
idParam
)
{
Optional
<
User
>
userOptional
=
userRepository
.
findById
(
idParam
.
getId
());
if
(
userOptional
.
isPresent
())
{
User
user
=
userOptional
.
get
();
user
.
setPassword
(
"123456"
);
userRepository
.
save
(
user
);
return
Result
.
ok
();
}
return
Result
.
no
(
Status
.
BAD_REQUEST
);
}
}
basic-auth/src/main/java/com/yiring/auth/web/user/UserController.java
浏览文件 @
12f455ab
...
...
@@ -145,4 +145,10 @@ public class UserController {
public
Result
<
String
>
add
(
@Valid
UserSaveParam
param
)
{
return
userService
.
add
(
param
);
}
@ApiOperation
(
"重置密码"
)
@PostMapping
(
"reset"
)
public
Result
<
String
>
reset
(
@Valid
IdParam
idParam
)
{
return
userService
.
reset
(
idParam
);
}
}
basic-common/minio/src/main/java/com/yiring/common/web/MinioController.java
浏览文件 @
12f455ab
...
...
@@ -15,10 +15,7 @@ import java.time.format.DateTimeFormatter;
import
javax.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestPart
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
/**
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论