Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
002e6efd
Commit
002e6efd
authored
Dec 06, 2021
by
helinlin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
车库门、警铃、广播的 联动
parent
ff71058c
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
828 additions
and
60 deletions
+828
-60
ControllerDto.java
...m/yeejoin/amos/boot/module/jcs/api/dto/ControllerDto.java
+18
-4
ControllerLogDto.java
...eejoin/amos/boot/module/jcs/api/dto/ControllerLogDto.java
+50
-0
Controller.java
...m/yeejoin/amos/boot/module/jcs/api/entity/Controller.java
+5
-2
ControllerLog.java
...eejoin/amos/boot/module/jcs/api/entity/ControllerLog.java
+55
-0
ControllerGroupEnum.java
...n/amos/boot/module/jcs/api/enums/ControllerGroupEnum.java
+30
-0
ControllerTypeEnum.java
...in/amos/boot/module/jcs/api/enums/ControllerTypeEnum.java
+7
-10
ControllerLogMapper.java
.../amos/boot/module/jcs/api/mapper/ControllerLogMapper.java
+19
-0
ControllerMapper.java
...oin/amos/boot/module/jcs/api/mapper/ControllerMapper.java
+5
-1
IControllerEquipService.java
.../boot/module/jcs/api/service/IControllerEquipService.java
+9
-0
IControllerLogService.java
...os/boot/module/jcs/api/service/IControllerLogService.java
+12
-0
IControllerService.java
.../amos/boot/module/jcs/api/service/IControllerService.java
+11
-0
ControllerLogMapper.xml
...jcs-api/src/main/resources/mapper/ControllerLogMapper.xml
+20
-0
ControllerMapper.xml
...le-jcs-api/src/main/resources/mapper/ControllerMapper.xml
+14
-0
RealTimeSpeechTranscriberListener.java
...cs/biz/audioToText/RealTimeSpeechTranscriberListener.java
+0
-6
ControllerController.java
.../boot/module/jcs/biz/controller/ControllerController.java
+85
-0
ControllerEquipController.java
.../module/jcs/biz/controller/ControllerEquipController.java
+44
-0
ControllerLogController.java
...ot/module/jcs/biz/controller/ControllerLogController.java
+135
-0
PowerTransferController.java
...ot/module/jcs/biz/controller/PowerTransferController.java
+0
-2
ControllerEquipServiceImpl.java
...dule/jcs/biz/service/impl/ControllerEquipServiceImpl.java
+44
-3
ControllerLogServiceImpl.java
...module/jcs/biz/service/impl/ControllerLogServiceImpl.java
+50
-0
ControllerServiceImpl.java
...ot/module/jcs/biz/service/impl/ControllerServiceImpl.java
+193
-4
PowerTransferServiceImpl.java
...module/jcs/biz/service/impl/PowerTransferServiceImpl.java
+21
-27
AppNslClient.java
...h/src/main/java/com/yeejoin/amos/speech/AppNslClient.java
+1
-1
No files found.
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/dto/ControllerDto.java
View file @
002e6efd
...
@@ -3,13 +3,13 @@ package com.yeejoin.amos.boot.module.jcs.api.dto;
...
@@ -3,13 +3,13 @@ package com.yeejoin.amos.boot.module.jcs.api.dto;
import
com.alibaba.excel.annotation.ExcelIgnore
;
import
com.alibaba.excel.annotation.ExcelIgnore
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.ControllerTypeEnum
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
/**
/**
*
* <pre>
* <pre>
* 联动控制器
* 联动控制器
* </pre>
* </pre>
...
@@ -24,8 +24,6 @@ public class ControllerDto extends BaseDto {
...
@@ -24,8 +24,6 @@ public class ControllerDto extends BaseDto {
@ExcelIgnore
@ExcelIgnore
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
/**
/**
* 控制站
* 控制站
*/
*/
...
@@ -51,10 +49,26 @@ public class ControllerDto extends BaseDto {
...
@@ -51,10 +49,26 @@ public class ControllerDto extends BaseDto {
*/
*/
@ApiModelProperty
(
value
=
"控制器类别"
)
@ApiModelProperty
(
value
=
"控制器类别"
)
private
String
type
;
private
String
type
;
/**
* 控制器类别枚举
*/
@ApiModelProperty
(
value
=
"控制器类别"
)
private
ControllerTypeEnum
typeEnum
;
/**
* 控制器类别名称
*/
@ApiModelProperty
(
value
=
"控制器类别名称"
)
private
String
typeDescription
;
/**
/**
* 状态
* 状态
*/
*/
@ApiModelProperty
(
value
=
"状态"
)
@ApiModelProperty
(
value
=
"状态"
)
private
String
state
;
private
String
state
;
/**
* 关联的消防队伍ID
*/
@ApiModelProperty
(
value
=
"关联的消防队伍ID"
)
private
String
fireTeamSeq
;
}
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/dto/ControllerLogDto.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.Date
;
/**
* @author system_generator
* @date 2021-12-03
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"ControllerLogDto"
)
public
class
ControllerLogDto
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"控制站ID"
)
private
Long
controllerSeq
;
@ApiModelProperty
(
value
=
"控制站名称"
)
private
Long
controllerName
;
@ApiModelProperty
(
value
=
"装备ID"
)
private
Long
equipSeq
;
@ApiModelProperty
(
value
=
"装备名称"
)
private
Long
equipName
;
@ApiModelProperty
(
value
=
"变更后状态"
)
private
String
state
;
@ApiModelProperty
(
value
=
"变更后状态描述"
)
private
Long
stateDescription
;
@ApiModelProperty
(
value
=
"变更人ID"
)
private
String
executeUserSeq
;
@ApiModelProperty
(
value
=
"变更人姓名"
)
private
String
executeUserName
;
@ApiModelProperty
(
value
=
"变更时间"
)
private
Date
executeDate
;
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/entity/Controller.java
View file @
002e6efd
...
@@ -8,7 +8,6 @@ import lombok.EqualsAndHashCode;
...
@@ -8,7 +8,6 @@ import lombok.EqualsAndHashCode;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
/**
/**
*
* <pre>
* <pre>
* 联动控制器
* 联动控制器
* </pre>
* </pre>
...
@@ -56,5 +55,9 @@ public class Controller extends BaseEntity {
...
@@ -56,5 +55,9 @@ public class Controller extends BaseEntity {
*/
*/
@TableField
(
"c_state"
)
@TableField
(
"c_state"
)
private
String
state
;
private
String
state
;
/**
* 关联的消防队伍ID
*/
@TableField
(
value
=
"fire_team_seq"
)
private
String
fireTeamSeq
;
}
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/entity/ControllerLog.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
/**
* @author system_generator
* @date 2021-12-03
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"jc_controller_log"
)
public
class
ControllerLog
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 控制站ID
*/
@TableField
(
"controller_seq"
)
private
Long
controllerSeq
;
/**
* 装备ID
*/
@TableField
(
"equip_seq"
)
private
Long
equipSeq
;
/**
* 变更后状态
*/
@TableField
(
"state"
)
private
String
state
;
/**
* 变更人ID
*/
@TableField
(
"execute_user_seq"
)
private
Long
executeUserSeq
;
/**
* 变更时间
*/
@TableField
(
"execute_date"
)
private
Date
executeDate
;
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/enums/ControllerGroupEnum.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* <pre>
* 联动控制器大队枚举
* </pre>
*
* @author gwb
* @version $Id: ControllerTypeEnum.java, v 0.1 2021年8月20日 上午10:21:44 gwb Exp $
*/
@AllArgsConstructor
@Getter
public
enum
ControllerGroupEnum
{
ONE
(
"一大队"
,
1
,
1
),
TWO
(
"二大队"
,
3
,
2
),
THREE
(
"三大队"
,
2
,
3
);
private
final
String
name
;
private
final
int
type
;
private
final
int
order
;
public
static
ControllerGroupEnum
getEnum
(
int
type
)
{
for
(
ControllerGroupEnum
status
:
ControllerGroupEnum
.
values
())
{
if
(
status
.
getType
()
==
type
)
{
return
status
;
}
}
return
null
;
}
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/enums/ControllerTypeEnum.java
View file @
002e6efd
...
@@ -4,7 +4,6 @@ import lombok.AllArgsConstructor;
...
@@ -4,7 +4,6 @@ import lombok.AllArgsConstructor;
import
lombok.Getter
;
import
lombok.Getter
;
/**
/**
*
* <pre>
* <pre>
* 联动控制器类型枚举
* 联动控制器类型枚举
* </pre>
* </pre>
...
@@ -16,12 +15,13 @@ import lombok.Getter;
...
@@ -16,12 +15,13 @@ import lombok.Getter;
@AllArgsConstructor
@AllArgsConstructor
public
enum
ControllerTypeEnum
{
public
enum
ControllerTypeEnum
{
BELL
(
"1"
,
"警铃"
),
BELL
(
"1"
,
"警铃"
,
1
),
BROADCAST
(
"2"
,
"广播"
),
BROADCAST
(
"2"
,
"广播"
,
2
),
DOOR
(
"3"
,
"车库门"
);
DOOR
(
"3"
,
"车库门"
,
3
);
private
String
code
;
private
String
code
;
private
String
name
;
private
String
name
;
private
int
sort
;
public
String
getCode
()
{
public
String
getCode
()
{
...
@@ -40,12 +40,9 @@ public enum ControllerTypeEnum {
...
@@ -40,12 +40,9 @@ public enum ControllerTypeEnum {
this
.
name
=
name
;
this
.
name
=
name
;
}
}
public
static
ControllerTypeEnum
getEnum
(
String
code
)
public
static
ControllerTypeEnum
getEnum
(
String
code
)
{
{
for
(
ControllerTypeEnum
status
:
ControllerTypeEnum
.
values
())
{
for
(
ControllerTypeEnum
status
:
ControllerTypeEnum
.
values
())
if
(
status
.
getCode
().
equals
(
code
))
{
{
if
(
status
.
getCode
().
equals
(
code
))
{
return
status
;
return
status
;
}
}
}
}
...
...
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/mapper/ControllerLogMapper.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.ControllerLog
;
import
java.util.List
;
import
java.util.Map
;
/**
* Mapper 接口
*
* @author system_generator
* @date 2021-12-03
*/
public
interface
ControllerLogMapper
extends
BaseMapper
<
ControllerLog
>
{
List
<
Map
<
String
,
Object
>>
selectToday
();
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/mapper/ControllerMapper.java
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
mapper
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ControllerDto
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.Controller
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.Controller
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
/**
*
* <pre>
* <pre>
* 联动控制器 Mapper 接口
* 联动控制器 Mapper 接口
* </pre>
* </pre>
...
@@ -14,4 +17,5 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.Controller;
...
@@ -14,4 +17,5 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.Controller;
*/
*/
public
interface
ControllerMapper
extends
BaseMapper
<
Controller
>
{
public
interface
ControllerMapper
extends
BaseMapper
<
Controller
>
{
public
List
<
ControllerDto
>
getCurrentStationController
(
@Param
(
"sequenceNbr"
)
Long
sequenceNbr
);
}
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/service/IControllerEquipService.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
service
;
/**
* 接口类
*
* @author system_generator
* @date 2021-12-03
*/
public
interface
IControllerEquipService
{
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/service/IControllerLogService.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
service
;
/**
* 接口类
*
* @author system_generator
* @date 2021-12-03
*/
public
interface
IControllerLogService
{
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/service/IControllerService.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
service
;
/**
* 接口类
*
* @author system_generator
* @date 2021-12-03
*/
public
interface
IControllerService
{
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/resources/mapper/ControllerLogMapper.xml
0 → 100644
View file @
002e6efd
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerLogMapper"
>
<select
id=
"selectToday"
resultType=
"java.util.HashMap"
>
SELECT
a.sequence_nbr as sequenceNbr,
a.state,
DATE_FORMAT(a.execute_date, '%Y-%m-%d %H:%i:%s') as executeDate,
b.station,
b.type
FROM
jc_controller_log a
LEFT JOIN jc_controller b ON a.controller_seq = b.sequence_nbr
WHERE
TO_DAYS( a.execute_date ) = TO_DAYS( NOW( ) )
ORDER BY a.execute_date DESC
</select>
</mapper>
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/resources/mapper/ControllerMapper.xml
0 → 100644
View file @
002e6efd
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerMapper"
>
<select
id=
"getCurrentStationController"
resultType=
"com.yeejoin.amos.boot.module.jcs.api.dto.ControllerDto"
>
SELECT
*
FROM
jc_controller
WHERE
station = ( SELECT station FROM jc_controller WHERE sequence_nbr = #{sequenceNbr} )
</select>
</mapper>
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/audioToText/RealTimeSpeechTranscriberListener.java
View file @
002e6efd
...
@@ -66,9 +66,6 @@ public class RealTimeSpeechTranscriberListener extends SpeechTranscriberListener
...
@@ -66,9 +66,6 @@ public class RealTimeSpeechTranscriberListener extends SpeechTranscriberListener
@Override
@Override
public
void
onTranscriberStart
(
SpeechTranscriberResponse
response
)
{
public
void
onTranscriberStart
(
SpeechTranscriberResponse
response
)
{
logger
.
warn
(
"服务端准备好了进行识别"
);
logger
.
warn
(
"服务端准备好了进行识别"
);
logger
.
warn
(
"task_id: "
+
response
.
getTaskId
()
+
", name: "
+
response
.
getName
()
+
", status: "
+
response
.
getStatus
());
}
}
/**
/**
...
@@ -77,9 +74,6 @@ public class RealTimeSpeechTranscriberListener extends SpeechTranscriberListener
...
@@ -77,9 +74,6 @@ public class RealTimeSpeechTranscriberListener extends SpeechTranscriberListener
@Override
@Override
public
void
onSentenceBegin
(
SpeechTranscriberResponse
response
)
{
public
void
onSentenceBegin
(
SpeechTranscriberResponse
response
)
{
logger
.
warn
(
"服务端检测到了一句话的开始"
);
logger
.
warn
(
"服务端检测到了一句话的开始"
);
logger
.
warn
(
"task_id: "
+
response
.
getTaskId
()
+
", name: "
+
response
.
getName
()
+
", status: "
+
response
.
getStatus
());
}
}
/**
/**
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/controller/ControllerController.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
controller
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ControllerDto
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.Controller
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.ControllerLog
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.ControllerGroupEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.ControllerTypeEnum
;
import
com.yeejoin.amos.boot.module.jcs.biz.service.impl.ControllerEquipServiceImpl
;
import
com.yeejoin.amos.boot.module.jcs.biz.service.impl.ControllerLogServiceImpl
;
import
com.yeejoin.amos.boot.module.jcs.biz.service.impl.ControllerServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.eclipse.paho.client.mqttv3.MqttException
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.typroject.tyboot.component.emq.EmqKeeper
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.util.*
;
/**
* 联动控制器
*
* @author system_generator
* @date 2021-12-03
*/
@RestController
@Api
(
tags
=
"Api"
)
@RequestMapping
(
value
=
"/controller"
)
public
class
ControllerController
extends
BaseController
{
@Autowired
ControllerServiceImpl
controllerServiceImpl
;
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"更新联动控制器状态"
,
notes
=
"更新联动控制器状态"
)
@PostMapping
(
value
=
"/updateControllerState"
)
public
ResponseModel
<
Object
>
updateControllerState
(
@RequestBody
Controller
[]
controllers
)
{
return
ResponseHelper
.
buildResponse
(
controllerServiceImpl
.
changeControllerState
(
controllers
));
}
/**
* 列表全部数据查询
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"列表全部数据查询"
,
notes
=
"列表全部数据查询"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
Object
>
selectForList
()
{
List
<
Controller
>
controllerList
=
controllerServiceImpl
.
list
();
List
<
Map
<
String
,
Object
>>
controllerStations
=
new
ArrayList
<>();
//分类联动控制站点
HashSet
<
Integer
>
controllerStation
=
new
HashSet
<>();
controllerList
.
forEach
(
controller
->
controllerStation
.
add
(
Integer
.
valueOf
(
controller
.
getStation
())));
controllerStation
.
forEach
(
station
->
{
ArrayList
<
ControllerDto
>
controllerDtos
=
new
ArrayList
<>();
controllerList
.
forEach
(
controller
->
{
if
(
station
.
equals
(
Integer
.
valueOf
(
controller
.
getStation
())))
{
ControllerDto
controllerDto
=
new
ControllerDto
();
ControllerTypeEnum
anEnum
=
ControllerTypeEnum
.
getEnum
(
controller
.
getType
());
BeanUtils
.
copyProperties
(
controller
,
controllerDto
);
controllerDto
.
setTypeEnum
(
anEnum
);
controllerDto
.
setTypeDescription
(
anEnum
.
getName
());
controllerDtos
.
add
(
controllerDto
);
}
});
//类型排序
controllerDtos
.
sort
(
Comparator
.
comparingInt
(
o
->
o
.
getTypeEnum
().
getSort
()));
HashMap
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"groupEnum"
,
ControllerGroupEnum
.
getEnum
(
station
));
result
.
put
(
"groupName"
,
Objects
.
requireNonNull
(
ControllerGroupEnum
.
getEnum
(
station
)).
getName
());
result
.
put
(
"controllers"
,
controllerDtos
);
controllerStations
.
add
(
result
);
});
//大队排序
controllerStations
.
sort
(
Comparator
.
comparingInt
(
o
->
((
ControllerGroupEnum
)
o
.
get
(
"groupEnum"
)).
getOrder
()));
return
ResponseHelper
.
buildResponse
(
controllerStations
);
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/controller/ControllerEquipController.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
controller
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ControllerEquipDto
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.ControllerEquip
;
import
com.yeejoin.amos.boot.module.jcs.biz.service.impl.ControllerEquipServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.util.List
;
/**
* 控制器设备
*
* @author system_generator
* @date 2021-12-03
*/
@RestController
@Api
(
tags
=
"Api"
)
@RequestMapping
(
value
=
"/controller-equip"
)
public
class
ControllerEquipController
extends
BaseController
{
@Autowired
ControllerEquipServiceImpl
controllerEquipServiceImpl
;
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"列表全部数据查询"
,
notes
=
"列表全部数据查询"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
List
<
ControllerEquip
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
controllerEquipServiceImpl
.
list
());
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/controller/ControllerLogController.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
controller
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ControllerLogDto
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.ControllerGroupEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.ControllerTypeEnum
;
import
com.yeejoin.amos.boot.module.jcs.biz.service.impl.ControllerLogServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
import
java.util.Map
;
/**
* 联动控制日志记录
*
* @author system_generator
* @date 2021-12-03
*/
@RestController
@Api
(
tags
=
"Api"
)
@RequestMapping
(
value
=
"/controller-log"
)
public
class
ControllerLogController
extends
BaseController
{
@Autowired
ControllerLogServiceImpl
controllerLogServiceImpl
;
/**
* 新增
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/save"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增"
,
notes
=
"新增"
)
public
ResponseModel
<
ControllerLogDto
>
save
(
@RequestBody
ControllerLogDto
model
)
{
model
=
controllerLogServiceImpl
.
createWithModel
(
model
);
return
ResponseHelper
.
buildResponse
(
model
);
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PutMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"根据sequenceNbr更新"
,
notes
=
"根据sequenceNbr更新"
)
public
ResponseModel
<
ControllerLogDto
>
updateBySequenceNbrControllerLog
(
@RequestBody
ControllerLogDto
model
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
model
.
setSequenceNbr
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
controllerLogServiceImpl
.
updateWithModel
(
model
));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@DeleteMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"DELETE"
,
value
=
"根据sequenceNbr删除"
,
notes
=
"根据sequenceNbr删除"
)
public
ResponseModel
<
Boolean
>
deleteBySequenceNbr
(
HttpServletRequest
request
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
controllerLogServiceImpl
.
removeById
(
sequenceNbr
));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询单个"
,
notes
=
"根据sequenceNbr查询单个"
)
public
ResponseModel
<
ControllerLogDto
>
selectOne
(
@PathVariable
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
controllerLogServiceImpl
.
queryBySeq
(
sequenceNbr
));
}
/**
* 获取今天的记录
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取今天的记录"
,
notes
=
"获取今天的记录"
)
@GetMapping
(
value
=
"/selectToday"
)
public
ResponseModel
<
List
<
Map
<
String
,
Object
>>>
selectToday
()
{
List
<
Map
<
String
,
Object
>>
controllerLogDtos
=
controllerLogServiceImpl
.
selectToday
();
controllerLogDtos
.
forEach
(
item
->
{
item
.
put
(
"station"
,
ControllerGroupEnum
.
getEnum
(
Integer
.
parseInt
(
item
.
get
(
"station"
).
toString
())).
getName
());
item
.
put
(
"type"
,
ControllerTypeEnum
.
getEnum
(
item
.
get
(
"type"
).
toString
()).
getName
());
});
return
ResponseHelper
.
buildResponse
(
controllerLogDtos
);
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/page"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"分页查询"
,
notes
=
"分页查询"
)
public
ResponseModel
<
Page
<
ControllerLogDto
>>
queryForPage
(
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
)
{
Page
<
ControllerLogDto
>
page
=
new
Page
<
ControllerLogDto
>();
page
.
setCurrent
(
current
);
page
.
setSize
(
size
);
return
ResponseHelper
.
buildResponse
(
controllerLogServiceImpl
.
queryForControllerLogPage
(
page
));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"列表全部数据查询"
,
notes
=
"列表全部数据查询"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
List
<
ControllerLogDto
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
controllerLogServiceImpl
.
queryForControllerLogList
());
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/controller/PowerTransferController.java
View file @
002e6efd
...
@@ -177,10 +177,8 @@ public class PowerTransferController extends BaseController {
...
@@ -177,10 +177,8 @@ public class PowerTransferController extends BaseController {
AgencyUserModel
userInfo
=
getUserInfo
();
AgencyUserModel
userInfo
=
getUserInfo
();
powerTransferDto
.
setTaskSenderId
(
Long
.
parseLong
(
userInfo
.
getUserId
()));
powerTransferDto
.
setTaskSenderId
(
Long
.
parseLong
(
userInfo
.
getUserId
()));
powerTransferDto
.
setTaskSenderName
(
userInfo
.
getRealName
());
powerTransferDto
.
setTaskSenderName
(
userInfo
.
getRealName
());
String
companyName
=
getSelectedOrgInfo
().
getCompany
().
getCompanyName
();
String
companyName
=
getSelectedOrgInfo
().
getCompany
().
getCompanyName
();
powerTransferDto
.
setCompanyName
(
companyName
);
powerTransferDto
.
setCompanyName
(
companyName
);
boolean
save
=
powerTransferService
.
createPowerTransfer
(
powerTransferDto
);
boolean
save
=
powerTransferService
.
createPowerTransfer
(
powerTransferDto
);
return
ResponseHelper
.
buildResponse
(
save
);
return
ResponseHelper
.
buildResponse
(
save
);
}
}
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/service/impl/ControllerEquipServiceImpl.java
View file @
002e6efd
...
@@ -3,6 +3,12 @@ package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
...
@@ -3,6 +3,12 @@ package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import
java.util.List
;
import
java.util.List
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yeejoin.amos.boot.module.common.api.feign.JcsControlServerClient
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.Controller
;
import
com.yeejoin.amos.boot.module.jcs.api.service.IControllerEquipService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
...
@@ -11,7 +17,6 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.ControllerEquip;
...
@@ -11,7 +17,6 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.ControllerEquip;
import
com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerEquipMapper
;
import
com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerEquipMapper
;
/**
/**
*
* <pre>
* <pre>
* 控制器设备 服务实现类
* 控制器设备 服务实现类
* </pre>
* </pre>
...
@@ -20,10 +25,46 @@ import com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerEquipMapper;
...
@@ -20,10 +25,46 @@ import com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerEquipMapper;
* @version $Id: ControllerEquipServiceImpl.java, v 0.1 2021年8月20日 上午10:16:33 gwb Exp $
* @version $Id: ControllerEquipServiceImpl.java, v 0.1 2021年8月20日 上午10:16:33 gwb Exp $
*/
*/
@Service
@Service
public
class
ControllerEquipServiceImpl
extends
BaseService
<
ControllerEquipDto
,
ControllerEquip
,
ControllerEquipMapper
>
public
class
ControllerEquipServiceImpl
extends
BaseService
<
ControllerEquipDto
,
ControllerEquip
,
ControllerEquipMapper
>
implements
IControllerEquipService
{
{
@Autowired
JcsControlServerClient
jcsControlServerClient
;
public
List
<
ControllerEquipDto
>
queryAllForList
()
{
public
List
<
ControllerEquipDto
>
queryAllForList
()
{
return
this
.
queryForList
(
""
,
false
);
return
this
.
queryForList
(
""
,
false
);
}
}
/**
* 改变警铃状态 0关闭,1开启
*/
@Async
public
void
changeBell
(
Controller
controller
,
String
type
)
{
if
(
controller
==
null
)
return
;
List
<
ControllerEquip
>
list
=
getControllerEquips
(
controller
);
list
.
forEach
(
controllerEquip
->
jcsControlServerClient
.
sendBellAction
(
controllerEquip
.
getNum
(),
type
));
}
/**
* 改变广播状态 0关闭,1开启
*/
@Async
public
void
changeBroadcast
(
Controller
controller
,
String
type
)
{
if
(
controller
==
null
)
return
;
List
<
ControllerEquip
>
list
=
getControllerEquips
(
controller
);
list
.
forEach
(
controllerEquip
->
jcsControlServerClient
.
sendFileAction
(
controllerEquip
.
getNum
(),
""
));
}
/**
* 改变车库门状态 0关闭,1开启
*/
@Async
public
void
changeDoor
(
Controller
controller
,
String
type
)
{
if
(
controller
==
null
)
return
;
List
<
ControllerEquip
>
list
=
getControllerEquips
(
controller
);
list
.
forEach
(
controllerEquip
->
jcsControlServerClient
.
writeStateAction
(
controller
.
getIp
(),
controller
.
getPort
(),
Integer
.
parseInt
(
controllerEquip
.
getNum
()),
type
));
}
private
List
<
ControllerEquip
>
getControllerEquips
(
Controller
controller
)
{
LambdaQueryWrapper
<
ControllerEquip
>
wrapper
=
new
LambdaQueryWrapper
<
ControllerEquip
>().
eq
(
ControllerEquip:
:
getControllerSeq
,
controller
.
getSequenceNbr
());
return
list
(
wrapper
);
}
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/service/impl/ControllerLogServiceImpl.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
service
.
impl
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.Controller
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.ControllerLog
;
import
com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerLogMapper
;
import
com.yeejoin.amos.boot.module.jcs.api.service.IControllerLogService
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ControllerLogDto
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* 服务实现类
*
* @author system_generator
* @date 2021-12-03
*/
@Service
public
class
ControllerLogServiceImpl
extends
BaseService
<
ControllerLogDto
,
ControllerLog
,
ControllerLogMapper
>
implements
IControllerLogService
{
@Autowired
ControllerLogMapper
controllerLogMapper
;
/**
* 获取今天的记录
*/
public
List
<
Map
<
String
,
Object
>>
selectToday
()
{
return
controllerLogMapper
.
selectToday
();
}
/**
* 分页查询
*/
public
Page
<
ControllerLogDto
>
queryForControllerLogPage
(
Page
<
ControllerLogDto
>
page
)
{
return
this
.
queryForPage
(
page
,
null
,
false
);
}
/**
* 列表查询 示例
*/
public
List
<
ControllerLogDto
>
queryForControllerLogList
()
{
return
this
.
queryForList
(
""
,
false
);
}
}
\ No newline at end of file
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/service/impl/ControllerServiceImpl.java
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
service
.
impl
;
import
java.util.
List
;
import
java.util.
*
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.ControllerLog
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.ControllerTypeEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.service.IControllerService
;
import
org.eclipse.paho.client.mqttv3.MqttException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.component.emq.EmqKeeper
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ControllerDto
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ControllerDto
;
...
@@ -11,7 +17,6 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.Controller;
...
@@ -11,7 +17,6 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.Controller;
import
com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerMapper
;
import
com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerMapper
;
/**
/**
*
* <pre>
* <pre>
* 联动控制器 服务实现类
* 联动控制器 服务实现类
* </pre>
* </pre>
...
@@ -20,8 +25,26 @@ import com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerMapper;
...
@@ -20,8 +25,26 @@ import com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerMapper;
* @version $Id: ControllerServiceImpl.java, v 0.1 2021年8月20日 上午10:15:49 gwb Exp $
* @version $Id: ControllerServiceImpl.java, v 0.1 2021年8月20日 上午10:15:49 gwb Exp $
*/
*/
@Service
@Service
public
class
ControllerServiceImpl
extends
BaseService
<
ControllerDto
,
Controller
,
ControllerMapper
>
public
class
ControllerServiceImpl
extends
BaseService
<
ControllerDto
,
Controller
,
ControllerMapper
>
implements
IControllerService
{
{
/**
* 将延迟的任务存放在Hashtable中,以便在多个请求中控制任务的取消分享等操作
*/
private
final
Map
<
Long
,
TimerTask
>
tasks
=
new
Hashtable
<>();
private
final
Timer
timer
=
new
Timer
();
public
static
final
String
CONTROLLER_STATE_CHANGED_TOPIC
=
"controllerStateChanged"
;
@Autowired
ControllerMapper
controllerMapper
;
@Autowired
ControllerEquipServiceImpl
controllerEquipServiceImpl
;
@Autowired
ControllerLogServiceImpl
controllerLogServiceImpl
;
@Autowired
private
EmqKeeper
emqKeeper
;
public
List
<
ControllerDto
>
queryAllForList
()
{
public
List
<
ControllerDto
>
queryAllForList
()
{
return
this
.
queryForList
(
""
,
false
);
return
this
.
queryForList
(
""
,
false
);
...
@@ -30,4 +53,170 @@ public class ControllerServiceImpl extends BaseService<ControllerDto, Controller
...
@@ -30,4 +53,170 @@ public class ControllerServiceImpl extends BaseService<ControllerDto, Controller
public
List
<
ControllerDto
>
queryForList
(
String
station
,
String
type
)
{
public
List
<
ControllerDto
>
queryForList
(
String
station
,
String
type
)
{
return
this
.
queryForList
(
""
,
false
,
station
,
type
);
return
this
.
queryForList
(
""
,
false
,
station
,
type
);
}
}
public
List
<
ControllerDto
>
getCurrentStationController
(
Long
sequenceNbr
)
{
return
controllerMapper
.
getCurrentStationController
(
sequenceNbr
);
}
/**
* 更新station联动控制器状态
* 3.1.3 警铃、广播、车库门 联动规则:
* 当 点击【全部启动】、【某大队全部启动】时:
* 1> 首先:消防警铃第一时间 响铃持续15s 后自动关闭。
* 2> 然后:警铃 响铃结束后,广播系统开启。广播 启动预制的 广播音频, 播放。
* 3> 车库门和警铃第一时间自动开启。
* 4> 系统 需要打印出 “警铃、广播、车库门 ” 启动指令和 停止指令的 日志。
* 当同时 点击【启动警铃】、【启动广播】时
* 1> 首先:消防警铃第一时间 响铃持续15s 后自动关闭。
* 2> 然后:警铃 响铃结束后,广播系统开启。广播 启动预制的 广播音频, 播放。
*/
public
boolean
changeControllerState
(
Controller
[]
controllers
)
{
boolean
isBatch
=
controllers
.
length
>
1
;
if
(
isBatch
)
{
//全部操作
//分组
HashSet
<
String
>
groupTypes
=
new
HashSet
<>();
for
(
Controller
controller
:
controllers
)
{
groupTypes
.
add
(
controller
.
getStation
());
}
//按分组进行归类
List
<
Map
<
String
,
Controller
>>
groups
=
new
ArrayList
<>();
groupTypes
.
forEach
(
groupType
->
{
Map
<
String
,
Controller
>
group
=
new
HashMap
<>();
for
(
Controller
controller
:
controllers
)
{
if
(
groupType
.
equals
(
controller
.
getStation
()))
group
.
put
(
controller
.
getType
(),
controller
);
}
groups
.
add
(
group
);
});
//开始处理
startJob
(
groups
);
}
else
{
//单个操作
for
(
Controller
controller
:
controllers
)
{
//保存日志
saveLog
(
controller
);
String
type
=
controller
.
getType
();
// 打开警铃,并开始计时15秒,若15秒内启动广播,则播放完警铃后再播放广播
if
(
"0"
.
equals
(
controller
.
getState
()))
{
//关闭操作
if
(
ControllerTypeEnum
.
BELL
.
getCode
().
equals
(
type
))
{
//取消该警铃的任务
TimerTask
stopBellTaskHistory
=
tasks
.
get
(
controller
.
getSequenceNbr
());
if
(
stopBellTaskHistory
!=
null
)
{
stopBellTaskHistory
.
cancel
();
tasks
.
remove
(
controller
.
getSequenceNbr
());
}
controllerEquipServiceImpl
.
changeBell
(
controller
,
"0"
);
//关闭警铃
}
else
if
(
ControllerTypeEnum
.
BROADCAST
.
getCode
().
equals
(
type
))
{
//取消该广播的任务
TimerTask
startBroadcastTaskHistory
=
tasks
.
get
(
controller
.
getSequenceNbr
());
if
(
startBroadcastTaskHistory
!=
null
)
{
startBroadcastTaskHistory
.
cancel
();
tasks
.
remove
(
controller
.
getSequenceNbr
());
}
controllerEquipServiceImpl
.
changeBroadcast
(
controller
,
"0"
);
//关闭广播
}
else
if
(
ControllerTypeEnum
.
DOOR
.
getCode
().
equals
(
type
))
{
//车库门不能关闭
}
}
else
{
//启动操作
if
(
ControllerTypeEnum
.
BELL
.
getCode
().
equals
(
type
))
{
//启动警铃
controllerEquipServiceImpl
.
changeBell
(
controller
,
"1"
);
//启动警铃
//开始计时15秒,15秒后关闭警铃
TimerTask
timerTask
=
new
TimerTask
()
{
@Override
public
void
run
()
{
tasks
.
remove
(
controller
.
getSequenceNbr
());
controllerEquipServiceImpl
.
changeBell
(
controller
,
"0"
);
//关闭警铃
}
};
tasks
.
put
(
controller
.
getSequenceNbr
(),
timerTask
);
timer
.
schedule
(
timerTask
,
15000
);
}
else
if
(
ControllerTypeEnum
.
BROADCAST
.
getCode
().
equals
(
type
))
{
//启动广播
controllerEquipServiceImpl
.
changeBroadcast
(
controller
,
"1"
);
//开启广播
}
else
if
(
ControllerTypeEnum
.
DOOR
.
getCode
().
equals
(
type
))
{
//启动车库门
controllerEquipServiceImpl
.
changeDoor
(
controller
,
"1"
);
//开启车库门
}
}
}
}
return
true
;
}
/**
* 全部操作:启动警铃,启动车库门,15秒后关闭警铃,启动广播
*/
public
void
startJob
(
List
<
Map
<
String
,
Controller
>>
groups
)
{
groups
.
forEach
(
group
->
{
Controller
bellController
=
group
.
get
(
ControllerTypeEnum
.
BELL
.
getCode
());
Controller
broadcastController
=
group
.
get
(
ControllerTypeEnum
.
BROADCAST
.
getCode
());
Controller
doorController
=
group
.
get
(
ControllerTypeEnum
.
DOOR
.
getCode
());
//保存操作日志
saveLog
(
bellController
);
saveLog
(
broadcastController
);
saveLog
(
doorController
);
if
(
"0"
.
equals
(
bellController
.
getState
()))
{
//全部关闭(车库们不能关闭)
//先查看是否有未执行的历史任务,如果有则取消任务
TimerTask
stopBellTaskHistory
=
tasks
.
get
(
bellController
.
getSequenceNbr
());
if
(
stopBellTaskHistory
!=
null
)
{
stopBellTaskHistory
.
cancel
();
tasks
.
remove
(
bellController
.
getSequenceNbr
());
}
if
(
broadcastController
!=
null
)
{
TimerTask
startBroadcastTaskHistory
=
tasks
.
get
(
broadcastController
.
getSequenceNbr
());
if
(
startBroadcastTaskHistory
!=
null
)
{
startBroadcastTaskHistory
.
cancel
();
tasks
.
remove
(
broadcastController
.
getSequenceNbr
());
}
}
controllerEquipServiceImpl
.
changeBell
(
bellController
,
"0"
);
//关闭警铃
controllerEquipServiceImpl
.
changeBroadcast
(
broadcastController
,
"0"
);
//关闭广播
}
else
{
//全部打开
//立即启动警铃,打开车库门
controllerEquipServiceImpl
.
changeBell
(
bellController
,
"1"
);
//开启警铃
controllerEquipServiceImpl
.
changeDoor
(
doorController
,
"1"
);
//开启车库门
//15秒后关闭警铃,启动广播
TimerTask
stopBellTask
=
new
TimerTask
()
{
@Override
public
void
run
()
{
tasks
.
remove
(
bellController
.
getSequenceNbr
());
controllerEquipServiceImpl
.
changeBell
(
bellController
,
"0"
);
//关闭警铃
}
};
TimerTask
startBroadcastTask
=
new
TimerTask
()
{
@Override
public
void
run
()
{
tasks
.
remove
(
broadcastController
.
getSequenceNbr
());
controllerEquipServiceImpl
.
changeBell
(
broadcastController
,
"1"
);
//开启广播
}
};
//先查看是否有未执行的历史任务,如果有则取消任务
TimerTask
stopBellTaskHistory
=
tasks
.
get
(
bellController
.
getSequenceNbr
());
if
(
stopBellTaskHistory
!=
null
)
stopBellTaskHistory
.
cancel
();
TimerTask
startBroadcastTaskHistory
=
tasks
.
get
(
broadcastController
.
getSequenceNbr
());
if
(
startBroadcastTaskHistory
!=
null
)
startBroadcastTaskHistory
.
cancel
();
//保存新的任务至map中,同时开始调度新任务
tasks
.
put
(
bellController
.
getSequenceNbr
(),
stopBellTask
);
tasks
.
put
(
broadcastController
.
getSequenceNbr
(),
startBroadcastTask
);
timer
.
schedule
(
stopBellTask
,
15000
);
timer
.
schedule
(
startBroadcastTask
,
16000
);
}
});
}
/**
* 保存操作日志
*/
private
void
saveLog
(
Controller
controller
)
{
if
(
controller
==
null
)
return
;
boolean
update
=
updateById
(
controller
);
if
(
update
)
{
ControllerLog
controllerLog
=
new
ControllerLog
();
controllerLog
.
setControllerSeq
(
controller
.
getSequenceNbr
());
controllerLog
.
setState
(
controller
.
getState
());
controllerLog
.
setExecuteDate
(
new
Date
());
controllerLogServiceImpl
.
save
(
controllerLog
);
}
// 分发状态变更通知
try
{
emqKeeper
.
getMqttClient
().
publish
(
CONTROLLER_STATE_CHANGED_TOPIC
,
""
.
getBytes
(),
2
,
true
);
}
catch
(
MqttException
e
)
{
e
.
printStackTrace
();
}
}
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/service/impl/PowerTransferServiceImpl.java
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
service
.
impl
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.*
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.eclipse.paho.client.mqttv3.MqttException
;
import
org.eclipse.paho.client.mqttv3.MqttException
;
...
@@ -47,12 +44,6 @@ import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferDto;
...
@@ -47,12 +44,6 @@ import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferDto;
import
com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferResourceDto
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferResourceDto
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferSimpleDto
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferSimpleDto
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ResourceStatisticsDto
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ResourceStatisticsDto
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.AlertCalled
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompany
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompanyResources
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.Template
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.AlertFeedbackStatusEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.AlertFeedbackStatusEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.DutyInfoEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.DutyInfoEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.FireBrigadeTypeEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.FireBrigadeTypeEnum
;
...
@@ -116,6 +107,9 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
...
@@ -116,6 +107,9 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
@Autowired
@Autowired
RuleAlertCalledService
ruleAlertCalledService
;
RuleAlertCalledService
ruleAlertCalledService
;
@Autowired
ControllerServiceImpl
controllerServiceImpl
;
@Override
@Override
public
PowerTransferSimpleDto
getPowerTransferList
(
Long
alertCalledId
)
{
public
PowerTransferSimpleDto
getPowerTransferList
(
Long
alertCalledId
)
{
List
<
PowerTransferCompanyResourcesDto
>
powerTransferList
=
this
.
baseMapper
.
getPowerTransferList
(
alertCalledId
);
List
<
PowerTransferCompanyResourcesDto
>
powerTransferList
=
this
.
baseMapper
.
getPowerTransferList
(
alertCalledId
);
...
@@ -401,21 +395,17 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
...
@@ -401,21 +395,17 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
Map
<
String
,
String
>
definitions
,
String
content
,
AlertCalledObjsDto
alertCalledObjsDto
)
{
Map
<
String
,
String
>
definitions
,
String
content
,
AlertCalledObjsDto
alertCalledObjsDto
)
{
List
<
PowerTransferCompanyDto
>
powerTransferCompanyDotList
=
powerTransferDto
.
getPowerTransferCompanyDotList
();
List
<
PowerTransferCompanyDto
>
powerTransferCompanyDotList
=
powerTransferDto
.
getPowerTransferCompanyDotList
();
PowerTransferCompany
powerTransferCompany
;
PowerTransferCompany
powerTransferCompany
;
List
<
Object
>
carStatusInfoDtoList
=
Lists
.
newArrayList
();
List
<
Object
>
carStatusInfoDtoList
=
Lists
.
newArrayList
();
AlertCalled
alertCalled
=
alertCalledObjsDto
.
getAlertCalled
();
AlertCalled
alertCalled
=
alertCalledObjsDto
.
getAlertCalled
();
// 初始化警情 信息
// 初始化警情 信息
/**
/**
* 构建警情报送规则对象
* 构建警情报送规则对象
*/
*/
AlertCalledRo
alertCalledRo
=
new
AlertCalledRo
();
AlertCalledRo
alertCalledRo
=
new
AlertCalledRo
();
String
replaceContent
=
""
;
String
replaceContent
=
""
;
if
(
null
!=
alertCalled
)
{
if
(
null
!=
alertCalled
)
{
replaceContent
=
RuleAlertCalledService
.
init
(
alertCalledRo
,
alertCalledObjsDto
);
replaceContent
=
RuleAlertCalledService
.
init
(
alertCalledRo
,
alertCalledObjsDto
);
}
}
definitions
.
put
(
"rescueGrid"
,
alertCalled
.
getAddress
());
definitions
.
put
(
"rescueGrid"
,
alertCalled
.
getAddress
());
definitions
.
put
(
"type"
,
alertCalled
.
getAlertType
());
definitions
.
put
(
"type"
,
alertCalled
.
getAlertType
());
definitions
.
put
(
"contactUser"
,
alertCalled
.
getContactUser
());
definitions
.
put
(
"contactUser"
,
alertCalled
.
getContactUser
());
...
@@ -424,8 +414,6 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
...
@@ -424,8 +414,6 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
definitions
.
put
(
"replaceContent"
,
replaceContent
);
definitions
.
put
(
"replaceContent"
,
replaceContent
);
definitions
.
put
(
"callTime"
,
definitions
.
put
(
"callTime"
,
DateUtils
.
convertDateToString
(
alertCalled
.
getCallTime
(),
DateUtils
.
DATE_TIME_PATTERN
));
DateUtils
.
convertDateToString
(
alertCalled
.
getCallTime
(),
DateUtils
.
DATE_TIME_PATTERN
));
for
(
PowerTransferCompanyDto
powerTransferCompanyDto
:
powerTransferCompanyDotList
)
{
for
(
PowerTransferCompanyDto
powerTransferCompanyDto
:
powerTransferCompanyDotList
)
{
powerTransferCompany
=
new
PowerTransferCompany
();
powerTransferCompany
=
new
PowerTransferCompany
();
BeanUtils
.
copyProperties
(
powerTransferCompanyDto
,
powerTransferCompany
);
BeanUtils
.
copyProperties
(
powerTransferCompanyDto
,
powerTransferCompany
);
...
@@ -449,16 +437,13 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
...
@@ -449,16 +437,13 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
String
information
=
powerTransferCompanyResourcesDto
.
getType
().
concat
(
"车牌号"
)
String
information
=
powerTransferCompanyResourcesDto
.
getType
().
concat
(
"车牌号"
)
.
concat
(
powerTransferCompanyResourcesDto
.
getResourcesNum
());
.
concat
(
powerTransferCompanyResourcesDto
.
getResourcesNum
());
taskInformation
.
append
(
information
).
append
(
"丶"
);
taskInformation
.
append
(
information
).
append
(
"丶"
);
CarStatusInfoDto
carStatusInfoDto
=
new
CarStatusInfoDto
();
CarStatusInfoDto
carStatusInfoDto
=
new
CarStatusInfoDto
();
carStatusInfoDto
.
setSequenceNbr
(
powerTransferCompanyResourcesDto
.
getResourcesId
());
carStatusInfoDto
.
setSequenceNbr
(
powerTransferCompanyResourcesDto
.
getResourcesId
());
carStatusInfoDto
.
setStatus
(
FireCarStatusEnum
.
出动
.
getCode
());
carStatusInfoDto
.
setStatus
(
FireCarStatusEnum
.
出动
.
getCode
());
carStatusInfoDtoList
.
add
(
carStatusInfoDto
);
carStatusInfoDtoList
.
add
(
carStatusInfoDto
);
}
}
definitions
.
put
(
"departmentName"
,
powerTransferCompanyDto
.
getCompanyName
());
definitions
.
put
(
"departmentName"
,
powerTransferCompanyDto
.
getCompanyName
());
definitions
.
put
(
"content"
,
taskInformation
.
toString
());
definitions
.
put
(
"content"
,
taskInformation
.
toString
());
powerTransferCompany
.
setTaskInformation
(
getTaskInformation
(
content
,
definitions
));
powerTransferCompany
.
setTaskInformation
(
getTaskInformation
(
content
,
definitions
));
powerTransferCompanyService
.
save
(
powerTransferCompany
);
powerTransferCompanyService
.
save
(
powerTransferCompany
);
powerTransferCompanyDto
.
setSequenceNbr
(
powerTransferCompany
.
getSequenceNbr
());
powerTransferCompanyDto
.
setSequenceNbr
(
powerTransferCompany
.
getSequenceNbr
());
...
@@ -467,16 +452,25 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
...
@@ -467,16 +452,25 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
powerTransferCompanyResourcesDtoList
,
powerTransferCompanySequenceNbr
);
powerTransferCompanyResourcesDtoList
,
powerTransferCompanySequenceNbr
);
powerTransferCompanyResourcesService
.
saveBatch
(
powerTransferCompanyResourcesList
);
powerTransferCompanyResourcesService
.
saveBatch
(
powerTransferCompanyResourcesList
);
List
<
PowerTransferCompanyResourcesDto
>
resourcesDtoList
=
new
ArrayList
<>();
List
<
PowerTransferCompanyResourcesDto
>
resourcesDtoList
=
new
ArrayList
<>();
powerTransferCompanyResourcesList
.
stream
().
forEach
(
e
->
{
powerTransferCompanyResourcesList
.
stream
().
forEach
(
e
->
{
PowerTransferCompanyResourcesDto
dto
=
new
PowerTransferCompanyResourcesDto
();
PowerTransferCompanyResourcesDto
dto
=
new
PowerTransferCompanyResourcesDto
();
Bean
.
toPo
(
e
,
dto
);
Bean
.
toPo
(
e
,
dto
);
resourcesDtoList
.
add
(
dto
);
resourcesDtoList
.
add
(
dto
);
});
});
powerTransferCompanyDto
.
setPowerTransferCompanyResourcesDtoList
(
resourcesDtoList
);
powerTransferCompanyDto
.
setPowerTransferCompanyResourcesDtoList
(
resourcesDtoList
);
// 更新车辆状态
// 更新车辆状态
equipFeignService
.
updateCarStatus
(
carStatusInfoDtoList
);
equipFeignService
.
updateCarStatus
(
carStatusInfoDtoList
);
// 警情力量调派时,点击【任务派发】后,如果被调派的 力量包含消防车,那么该消防车所在的 大队的警铃、广播自动 启动,消防车所在的车库门自动开启
try
{
List
<
Controller
>
controllers
=
controllerServiceImpl
.
list
(
new
LambdaQueryWrapper
<
Controller
>().
eq
(
Controller:
:
getFireTeamSeq
,
powerTransferCompanyDto
.
getCompanyId
()));
if
(
controllers
.
size
()
>
0
)
{
controllerServiceImpl
.
changeControllerState
(
controllers
.
toArray
(
new
Controller
[
0
]));
}
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
());
log
.
error
(
"车库门、警铃、广播的 联动 功能出现异常"
);
}
}
}
}
}
}
}
...
...
amos-boot-utils/amos-boot-utils-speech/src/main/java/com/yeejoin/amos/speech/AppNslClient.java
View file @
002e6efd
...
@@ -71,7 +71,7 @@ class AppNslClientToken {
...
@@ -71,7 +71,7 @@ class AppNslClientToken {
/**
/**
* 获取访问Token,包含token和过期时间(2021-11-30测试Token过期时间为18天)
* 获取访问Token,包含token和过期时间(2021-11-30测试Token过期时间为18天)
*
集成项目中,token放到缓存中,
避免多次获取可能导致已进行的任务token失效
* 避免多次获取可能导致已进行的任务token失效
*
*
* @return token 访问token
* @return token 访问token
*/
*/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment