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
500b1226
Commit
500b1226
authored
Aug 21, 2024
by
tianbo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:大屏应急接口迁移至统计服务
parent
dd322395
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
171 additions
and
1 deletion
+171
-1
AlertStatisticsMapper.java
...t/module/statistics/api/mapper/AlertStatisticsMapper.java
+3
-0
AlertStatisticsMapper.xml
...s-api/src/main/resources/mapper/AlertStatisticsMapper.xml
+40
-0
EmergencyBizController.java
...dule/statistcs/biz/controller/EmergencyBizController.java
+40
-0
EmergencyBizServiceImpl.java
...e/statistcs/biz/service/impl/EmergencyBizServiceImpl.java
+88
-1
No files found.
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/java/com/yeejoin/amos/boot/module/statistics/api/mapper/AlertStatisticsMapper.java
View file @
500b1226
...
@@ -8,6 +8,7 @@ import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
...
@@ -8,6 +8,7 @@ import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto
;
import
com.yeejoin.amos.boot.module.common.api.entity.AlertStatistics
;
import
com.yeejoin.amos.boot.module.common.api.entity.AlertStatistics
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.AlertCalledQueryDto
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.AlertCalledQueryDto
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.AlertPaperInfoDto
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.Elevator
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.Elevator
;
import
org.apache.ibatis.annotations.MapKey
;
import
org.apache.ibatis.annotations.MapKey
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
...
@@ -60,4 +61,6 @@ public interface AlertStatisticsMapper extends BaseMapper<AlertStatistics> {
...
@@ -60,4 +61,6 @@ public interface AlertStatisticsMapper extends BaseMapper<AlertStatistics> {
Page
<
AlertCalledQueryDto
>
getAlertCalledRecords
(
IPage
<
AlertCalledQueryDto
>
page
,
@Param
(
"dto"
)
AlertCalledQueryDto
dto
,
@Param
(
"orgCode"
)
String
orgCode
);
Page
<
AlertCalledQueryDto
>
getAlertCalledRecords
(
IPage
<
AlertCalledQueryDto
>
page
,
@Param
(
"dto"
)
AlertCalledQueryDto
dto
,
@Param
(
"orgCode"
)
String
orgCode
);
List
<
AlertPaperInfoDto
>
getAlertPaperInfoList
(
@Param
(
"regionCodes"
)
List
<
String
>
regionCodes
,
@Param
(
"isHistory"
)
Boolean
isHistory
);
}
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/resources/mapper/AlertStatisticsMapper.xml
View file @
500b1226
...
@@ -408,4 +408,44 @@
...
@@ -408,4 +408,44 @@
</if>
</if>
ORDER BY a.call_time desc
ORDER BY a.call_time desc
</select>
</select>
<select
id=
"getAlertPaperInfoList"
resultType=
"com.yeejoin.amos.boot.module.ymt.api.dto.AlertPaperInfoDto"
>
SELECT
a.sequence_nbr AS alertId,
a.region_code AS regionCode,
ibjoi.CODE96333 AS rescueCode,
a.alarm_type_code AS alarmTypeCode,
a.alarm_type AS alarmType,
CONCAT(ibjui.PROVINCE_NAME ,ibjui.CITY_NAME ,ibjui.COUNTY_NAME) AS area,
a.address AS address,
a.call_time AS callTime,
ifnull ( ibjui."LONGITUDE_LATITUDE"::json->> 'latitude', null ) AS latitude,
ifnull ( ibjui."LONGITUDE_LATITUDE"::json->> 'longitude', null ) AS longitude,
a.alert_stage AS alertStatus,
ibjui.RECORD AS elevatorId,
ibjoi.SUPERVISORY_CODE AS elevatorCode
FROM tz_alert_called a
LEFT JOIN idx_biz_jg_other_info ibjoi ON ibjoi.RECORD = a.equipment_id
LEFT JOIN idx_biz_jg_use_info ibjui ON ibjui.RECORD = ibjoi.RECORD
WHERE a.is_delete = 0
<choose>
<when
test=
"isHistory == true"
>
AND a.alert_status = 1
AND
DATE_SUB(CURDATE(), INTERVAL 7 DAY)
<![CDATA[ <= ]]>
a.call_time
</when>
<otherwise>
AND a.alert_status = 0
</otherwise>
</choose>
<if
test=
"regionCodes != null"
>
AND
<foreach
collection=
"regionCodes"
index=
"index"
item=
"item"
open=
"("
separator=
" OR "
close=
")"
>
a.region_code LIKE CONCAT('%', #{item}, '%')
</foreach>
</if>
order by a.call_time desc
</select>
</mapper>
</mapper>
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/java/com/yeejoin/amos/boot/module/statistcs/biz/controller/EmergencyBizController.java
View file @
500b1226
...
@@ -3,6 +3,8 @@ package com.yeejoin.amos.boot.module.statistcs.biz.controller;
...
@@ -3,6 +3,8 @@ package com.yeejoin.amos.boot.module.statistcs.biz.controller;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.statistcs.biz.service.impl.EmergencyBizServiceImpl
;
import
com.yeejoin.amos.boot.module.statistcs.biz.service.impl.EmergencyBizServiceImpl
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.AlertCalledQueryDto
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.AlertCalledQueryDto
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.AlertPaperInfoDto
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.VoiceRecordFileDto
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -11,6 +13,8 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
...
@@ -11,6 +13,8 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.util.List
;
@RestController
@RestController
@RequestMapping
(
value
=
"/dp/biz/emergency"
)
@RequestMapping
(
value
=
"/dp/biz/emergency"
)
@Api
(
tags
=
"大屏-应急-业务API"
)
@Api
(
tags
=
"大屏-应急-业务API"
)
...
@@ -93,4 +97,40 @@ public class EmergencyBizController {
...
@@ -93,4 +97,40 @@ public class EmergencyBizController {
page
.
setSize
(
pageSize
);
page
.
setSize
(
pageSize
);
return
ResponseHelper
.
buildResponse
(
emergencyBizService
.
getAlertCalledRecords
(
page
,
alertCalledQueryDto
,
cityCode
));
return
ResponseHelper
.
buildResponse
(
emergencyBizService
.
getAlertCalledRecords
(
page
,
alertCalledQueryDto
,
cityCode
));
}
}
/**
* 根据警情id 查找通话记录信息
*
* @return VoiceRecordFileDto
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据id获取通话记录信息"
,
notes
=
"根据id获取通话记录信息"
)
@GetMapping
(
value
=
"/voiceRecordFile/{sequenceNbr}"
)
public
ResponseModel
<
VoiceRecordFileDto
>
getRecordById
(
@PathVariable
Long
sequenceNbr
)
{
VoiceRecordFileDto
record
=
emergencyBizService
.
getRecordById
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
record
);
}
/**
* 根据id查询
*
* @param id 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/alertCalled/{id}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据id查询单个警情接警填报记录"
,
notes
=
"根据id查询单个警情接警填报记录"
)
public
ResponseModel
<
Object
>
selectOne
(
@PathVariable
Long
id
)
{
return
ResponseHelper
.
buildResponse
(
emergencyBizService
.
selectAlertCalledById
(
id
));
}
/**
* 根据regionCode 获取区域内实时警情
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/getActualAlert"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据regionCode 获取区域内实时警情"
,
notes
=
"根据regionCode 获取区域内实时警情"
)
public
ResponseModel
<
List
<
AlertPaperInfoDto
>>
getActualAlert
(
@RequestParam
(
name
=
"regionCodes"
,
required
=
false
)
List
<
String
>
regionCodes
)
{
return
ResponseHelper
.
buildResponse
(
emergencyBizService
.
getAlertPaperInfoList
(
emergencyBizService
.
authRegionCodeList
(
regionCodes
),
false
));
}
}
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/java/com/yeejoin/amos/boot/module/statistcs/biz/service/impl/EmergencyBizServiceImpl.java
View file @
500b1226
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl
;
import
com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl
;
import
com.yeejoin.amos.boot.biz.common.utils.DateUtils
;
import
com.yeejoin.amos.boot.biz.common.utils.DateUtils
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisKey
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.AlertStatisticsMapper
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.AlertStatisticsMapper
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.CommonBaseMapper
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.CommonBaseMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.*
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.*
;
...
@@ -12,6 +15,11 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.*;
...
@@ -12,6 +15,11 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import
com.yeejoin.amos.boot.module.ymt.api.enums.DispatchPaperEnums
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.DispatchPaperEnums
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.TzsCommonParam
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.TzsCommonParam
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.*
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.*
;
import
com.yeejoin.amos.feign.privilege.Privilege
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
com.yeejoin.amos.feign.privilege.model.CompanyModel
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -59,13 +67,16 @@ public class EmergencyBizServiceImpl {
...
@@ -59,13 +67,16 @@ public class EmergencyBizServiceImpl {
@Value
(
"classpath:/json/repairFollow.json"
)
@Value
(
"classpath:/json/repairFollow.json"
)
private
Resource
repairFollowJson
;
private
Resource
repairFollowJson
;
@Value
(
"${redis.cache.failure.time:10800}"
)
private
long
time
;
@Autowired
@Autowired
public
EmergencyBizServiceImpl
(
AlertStatisticsMapper
alertStatisticsMapper
,
public
EmergencyBizServiceImpl
(
AlertStatisticsMapper
alertStatisticsMapper
,
AlertCalledMapper
alertCalledMapper
,
AlertCalledMapper
alertCalledMapper
,
RepairConsultMapper
repairConsultMapper
,
RepairConsultMapper
repairConsultMapper
,
AlertFormValueMapper
alertFormValueMapper
,
AlertFormValueMapper
alertFormValueMapper
,
VoiceRecordFileMapper
voiceRecordFileMapper
,
VoiceRecordFileMapper
voiceRecordFileMapper
,
RescueProcessMapper
rescueProcessMapper
,
DataDictionaryServiceImpl
dataDictionaryService
,
CommonBaseMapper
commonMapper
,
RescueStationMapper
rescueStationMapper
,
DispatchTaskMapper
dispatchTaskMapper
,
DispatchPaperMapper
dispatchPaperMapper
,
ElevatorMapper
elevatorMapper
)
{
RescueProcessMapper
rescueProcessMapper
,
DataDictionaryServiceImpl
dataDictionaryService
,
CommonBaseMapper
commonMapper
,
RescueStationMapper
rescueStationMapper
,
DispatchTaskMapper
dispatchTaskMapper
,
DispatchPaperMapper
dispatchPaperMapper
,
ElevatorMapper
elevatorMapper
,
RedisUtils
redisUtils
)
{
this
.
alertStatisticsMapper
=
alertStatisticsMapper
;
this
.
alertStatisticsMapper
=
alertStatisticsMapper
;
this
.
alertCalledMapper
=
alertCalledMapper
;
this
.
alertCalledMapper
=
alertCalledMapper
;
this
.
repairConsultMapper
=
repairConsultMapper
;
this
.
repairConsultMapper
=
repairConsultMapper
;
...
@@ -78,6 +89,7 @@ public class EmergencyBizServiceImpl {
...
@@ -78,6 +89,7 @@ public class EmergencyBizServiceImpl {
this
.
dispatchTaskMapper
=
dispatchTaskMapper
;
this
.
dispatchTaskMapper
=
dispatchTaskMapper
;
this
.
dispatchPaperMapper
=
dispatchPaperMapper
;
this
.
dispatchPaperMapper
=
dispatchPaperMapper
;
this
.
elevatorMapper
=
elevatorMapper
;
this
.
elevatorMapper
=
elevatorMapper
;
this
.
redisUtils
=
redisUtils
;
}
}
private
final
AlertStatisticsMapper
alertStatisticsMapper
;
private
final
AlertStatisticsMapper
alertStatisticsMapper
;
...
@@ -92,6 +104,7 @@ public class EmergencyBizServiceImpl {
...
@@ -92,6 +104,7 @@ public class EmergencyBizServiceImpl {
private
final
DispatchTaskMapper
dispatchTaskMapper
;
private
final
DispatchTaskMapper
dispatchTaskMapper
;
private
final
DispatchPaperMapper
dispatchPaperMapper
;
private
final
DispatchPaperMapper
dispatchPaperMapper
;
private
final
ElevatorMapper
elevatorMapper
;
private
final
ElevatorMapper
elevatorMapper
;
private
final
RedisUtils
redisUtils
;
private
static
final
Map
<
String
,
String
>
regionCodeOrgCodeMap
=
new
ConcurrentHashMap
<>();
private
static
final
Map
<
String
,
String
>
regionCodeOrgCodeMap
=
new
ConcurrentHashMap
<>();
public
Object
getDetail
(
Long
id
)
{
public
Object
getDetail
(
Long
id
)
{
...
@@ -675,4 +688,78 @@ public class EmergencyBizServiceImpl {
...
@@ -675,4 +688,78 @@ public class EmergencyBizServiceImpl {
// 警情动态表单数据
// 警情动态表单数据
return
dispatchPaperMapper
.
selectOne
(
queryWrapper
);
return
dispatchPaperMapper
.
selectOne
(
queryWrapper
);
}
}
public
VoiceRecordFileDto
getRecordById
(
Long
sequenceNbr
)
{
return
voiceRecordFileMapper
.
getRecordById
(
sequenceNbr
);
}
public
Object
selectAlertCalledById
(
Long
id
)
{
if
(
redisUtils
.
hasKey
(
RedisKey
.
TZS_ALERTCALLED_ID
+
id
))
{
return
redisUtils
.
get
(
RedisKey
.
TZS_ALERTCALLED_ID
+
id
);
}
AlertCalledFormDto
alertCalledFormVo
=
getAlertCalledFormDto
(
id
);
redisUtils
.
set
(
RedisKey
.
TZS_ALERTCALLED_ID
+
id
,
JSON
.
toJSON
(
alertCalledFormVo
),
time
);
return
alertCalledFormVo
;
}
public
List
<
AlertPaperInfoDto
>
getAlertPaperInfoList
(
List
<
String
>
regionCodes
,
Boolean
isHistory
)
{
List
<
AlertPaperInfoDto
>
temp
=
alertStatisticsMapper
.
getAlertPaperInfoList
(
regionCodes
,
isHistory
);
temp
.
forEach
(
t
->
{
DispatchPaper
paper
=
dispatchPaperMapper
.
selectOne
(
new
LambdaQueryWrapper
<
DispatchPaper
>().
eq
(
DispatchPaper:
:
getIsDelete
,
false
).
eq
(
DispatchPaper:
:
getAlertId
,
t
.
getAlertId
()));
if
(
paper
!=
null
)
{
t
.
setFinishTime
(
paper
.
getFeedbackFinishTime
());
}
});
return
temp
;
}
public
List
<
String
>
authRegionCodeList
(
List
<
String
>
regionCodes
)
{
// 警情id 警情地址 警情状态 警情类型 警情发生时间
List
<
String
>
useRegionCode
=
this
.
getUserRegionCode
();
if
(
regionCodes
==
null
)
{
regionCodes
=
useRegionCode
;
}
else
{
// 判断传入regionCodes 是否越权
List
<
String
>
tempList
=
new
ArrayList
<>();
Iterator
<
String
>
regionIt
=
regionCodes
.
iterator
();
while
(
regionIt
.
hasNext
())
{
String
tempCode
=
regionIt
.
next
();
String
districtCode
=
tempCode
.
substring
(
4
,
6
);
String
provinceCode
=
tempCode
.
substring
(
2
,
6
);
if
(
"0000"
.
equals
(
provinceCode
))
{
// 为省则默认使用用户现有权限查询数据
regionCodes
=
useRegionCode
;
}
else
{
if
(
"00"
.
equals
(
districtCode
))
{
// 为市
if
(!
useRegionCode
.
contains
(
tempCode
))
{
// 不包含该市权限 需要移除市搜索条件 添加 该市下区搜索条件
for
(
String
tempUsercode
:
useRegionCode
)
{
if
(
tempUsercode
.
contains
(
tempCode
.
substring
(
0
,
4
)))
{
tempList
.
add
(
tempUsercode
);
}
}
regionIt
.
remove
();
}
}
else
{
// 为区 不会出现越权情况
}
}
}
regionCodes
.
addAll
(
tempList
);
}
return
regionCodes
;
}
public
List
<
String
>
getUserRegionCode
()
{
List
<
String
>
regionList
=
new
ArrayList
<>();
AgencyUserModel
me
=
Privilege
.
agencyUserClient
.
getme
().
getResult
();
CompanyModel
userCompany
=
me
.
getCompanys
().
get
(
0
);
String
regions
=
userCompany
.
getRegionSeq
();
if
(
regions
!=
null
)
{
String
[]
regionsId
=
regions
.
split
(
","
);
for
(
String
regionId:
regionsId
)
{
RegionModel
region
=
Systemctl
.
regionClient
.
getRegion
(
Long
.
valueOf
(
regionId
)).
getResult
();
regionList
.
add
(
region
.
getRegionCode
()
+
""
);
}
}
return
regionList
;
}
}
}
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