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
b13041f8
Commit
b13041f8
authored
Oct 23, 2025
by
李成龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改:接入骏景视频平台视频数据。
parent
284cee44
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
702 additions
and
49 deletions
+702
-49
DateUtils.java
...ava/com/yeejoin/amos/boot/biz/common/utils/DateUtils.java
+22
-6
BaseEnterpriseVideoDto.java
...os/boot/module/common/api/dto/BaseEnterpriseVideoDto.java
+2
-2
BaseEnterpriseVideoNodeDto.java
...oot/module/common/api/dto/BaseEnterpriseVideoNodeDto.java
+91
-0
BaseEnterpriseVideo.java
...os/boot/module/common/api/entity/BaseEnterpriseVideo.java
+1
-1
BaseEnterpriseVideoNode.java
...oot/module/common/api/entity/BaseEnterpriseVideoNode.java
+96
-0
BaseEnterpriseVideoNodeMapper.java
...dule/common/api/mapper/BaseEnterpriseVideoNodeMapper.java
+15
-0
IBaseEnterpriseVideoNodeService.java
...e/common/api/service/IBaseEnterpriseVideoNodeService.java
+12
-0
DateUtils.java
.../yeejoin/amos/boot/module/common/api/utils/DateUtils.java
+10
-0
BaseEnterpriseVideoNodeMapper.xml
...c/main/resources/mapper/BaseEnterpriseVideoNodeMapper.xml
+5
-0
BaseEnterpriseVideoNodeServiceImpl.java
.../biz/service/impl/BaseEnterpriseVideoNodeServiceImpl.java
+25
-0
BaseEnterpriseVideoServiceImpl.java
...mmon/biz/service/impl/BaseEnterpriseVideoServiceImpl.java
+211
-14
AlertStatisticsMapper.xml
...s-api/src/main/resources/mapper/AlertStatisticsMapper.xml
+1
-1
VideoController.java
...boot/module/statistcs/biz/controller/VideoController.java
+7
-0
VideoServiceImpl.java
...t/module/statistcs/biz/service/impl/VideoServiceImpl.java
+185
-23
region.json
...module-statistics-biz/src/main/resources/json/region.json
+13
-0
TzBaseEnterpriseInfo.java
...amos/boot/module/ymt/api/entity/TzBaseEnterpriseInfo.java
+5
-0
TzBaseEnterpriseInfoServiceImpl.java
...ymt/biz/service/impl/TzBaseEnterpriseInfoServiceImpl.java
+1
-2
No files found.
amos-boot-biz-common/src/main/java/com/yeejoin/amos/boot/biz/common/utils/DateUtils.java
View file @
b13041f8
...
@@ -6,6 +6,7 @@ import java.text.ParseException;
...
@@ -6,6 +6,7 @@ import java.text.ParseException;
import
java.text.ParsePosition
;
import
java.text.ParsePosition
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.OffsetDateTime
;
import
java.util.*
;
import
java.util.*
;
/**
/**
...
@@ -660,10 +661,25 @@ public class DateUtils {
...
@@ -660,10 +661,25 @@ public class DateUtils {
return
now
;
return
now
;
}
}
public
static
Date
getDateByStr
(
String
dateStr
)
{
//String dateStr = "2025-08-20T10:41:02.584+08:00";
OffsetDateTime
offsetDateTime
=
OffsetDateTime
.
parse
(
dateStr
);
// 转换为Date对象
Date
date
=
Date
.
from
(
offsetDateTime
.
toInstant
());
return
date
;
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
System
.
out
.
println
(
DateUtils
.
convertDateToString
(
new
Date
(),
DateUtils
.
CHN_DATE_PATTERN
));
String
dateStr
=
"2025-08-20T10:41:02.584+08:00"
;
// 解析为OffsetDateTime(包含时区信息)
OffsetDateTime
offsetDateTime
=
OffsetDateTime
.
parse
(
dateStr
);
// 转换为Date对象
Date
date
=
Date
.
from
(
offsetDateTime
.
toInstant
());
System
.
out
.
println
(
date
);
// 输出对应的Date对象
// System.out.println(DateUtils.convertDateToString(new Date(), DateUtils.CHN_DATE_PATTERN));
/*System.out.println(dateTimeToDate(new Date()));
/*System.out.println(dateTimeToDate(new Date()));
System.out.println(dateParse("2017-02-04 14:58:20", null));
System.out.println(dateParse("2017-02-04 14:58:20", null));
...
@@ -690,10 +706,10 @@ public class DateUtils {
...
@@ -690,10 +706,10 @@ public class DateUtils {
// System.out.println(secondsToTimeStr(3600));
// System.out.println(secondsToTimeStr(3600));
// System.out.println(getTimeString(dateParse("2023-09-07 16:15:15", DATE_TIME_PATTERN), dateParse("2023-09-06 " +
// System.out.println(getTimeString(dateParse("2023-09-07 16:15:15", DATE_TIME_PATTERN), dateParse("2023-09-06 " +
// "16:15:15", DATE_TIME_PATTERN)));
// "16:15:15", DATE_TIME_PATTERN)));
long
diff
=
dateParse
(
"2022-09-07 16:16:16"
,
DATE_TIME_PATTERN
).
getTime
()
-
dateParse
(
"2023-09-06 10:15:15"
,
//
long diff = dateParse("2022-09-07 16:16:16", DATE_TIME_PATTERN).getTime() - dateParse("2023-09-06 10:15:15",
DATE_TIME_PATTERN
).
getTime
();
//
DATE_TIME_PATTERN).getTime();
System
.
out
.
println
(
diff
/
1000
);
//
System.out.println(diff/1000);
System
.
out
.
println
(
secondsToTimeStr
((
int
)
diff
/
1000
));
//
System.out.println(secondsToTimeStr((int) diff/1000));
}
}
/**
/**
...
...
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/dto/BaseEnterpriseVideoDto.java
View file @
b13041f8
...
@@ -8,14 +8,14 @@ import lombok.EqualsAndHashCode;
...
@@ -8,14 +8,14 @@ import lombok.EqualsAndHashCode;
import
java.util.Date
;
import
java.util.Date
;
/**
/**
* 单位下摄像头表
* 单位下摄像头
配置
表
*
*
* @author system_generator
* @author system_generator
* @date 2024-10-09
* @date 2024-10-09
*/
*/
@Data
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"BaseEnterpriseVideoDto"
,
description
=
"单位下摄像头表"
)
@ApiModel
(
value
=
"BaseEnterpriseVideoDto"
,
description
=
"单位下摄像头
配置
表"
)
public
class
BaseEnterpriseVideoDto
extends
BaseDto
{
public
class
BaseEnterpriseVideoDto
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
...
...
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/dto/BaseEnterpriseVideoNodeDto.java
0 → 100644
View file @
b13041f8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
api
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
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 2024-10-09
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"BaseEnterpriseVideoNodeDto"
,
description
=
"单位下摄像头表"
)
public
class
BaseEnterpriseVideoNodeDto
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 使用单位名称
*/
@ApiModelProperty
(
value
=
"使用单位名称"
)
private
String
useUnitName
;
/**
* 使用单位统一信用代码
*/
@ApiModelProperty
(
value
=
"使用单位统一信用代码"
)
private
String
useUnitCode
;
/**
* 区域名称
*/
@ApiModelProperty
(
value
=
"区域名称"
)
private
String
regionName
;
/**
* 区域代码
*/
@ApiModelProperty
(
value
=
"区域代码"
)
private
String
regionCode
;
/**
* 视频名称
*/
@ApiModelProperty
(
value
=
"视频名称"
)
private
String
videoName
;
/**
* 设备使用登记代码
*/
@ApiModelProperty
(
value
=
"设备使用登记代码"
)
private
String
devUseCode
;
/**
* 是否删除
*/
@ApiModelProperty
(
value
=
"是否删除"
)
private
Boolean
isDelete
;
/**
* 组织代码
*/
@ApiModelProperty
(
value
=
"组织代码"
)
private
String
orgCode
;
/**
* 视频ID
*/
@ApiModelProperty
(
value
=
"视频ID"
)
private
String
cameraIndexCode
;
/**
* 更新时间
*/
@ApiModelProperty
(
value
=
"更新时间"
)
private
Date
updatesTime
;
@ApiModelProperty
(
value
=
"标识什么设种类使用的摄像头"
)
private
String
equListCode
;
/**
* 视频配置表主键
*/
@ApiModelProperty
(
value
=
"视频配置表主键"
)
private
Long
videoSeq
;
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/entity/BaseEnterpriseVideo.java
View file @
b13041f8
...
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
...
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
/**
/**
* 单位下摄像头表
* 单位下摄像头
配置
表
*
*
* @author system_generator
* @author system_generator
* @date 2024-10-09
* @date 2024-10-09
...
...
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/entity/BaseEnterpriseVideoNode.java
0 → 100644
View file @
b13041f8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
api
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseRelationEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
/**
* 单位下摄像头表
*
* @author system_generator
* @date 2024-10-09
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"tz_base_enterprise_video_node"
)
public
class
BaseEnterpriseVideoNode
extends
BaseRelationEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 使用单位名称
*/
@TableField
(
"use_unit_name"
)
private
String
useUnitName
;
/**
* 使用单位统一信用代码
*/
@TableField
(
"use_unit_code"
)
private
String
useUnitCode
;
/**
* 区域名称
*/
@TableField
(
"region_name"
)
private
String
regionName
;
/**
* 区域代码
*/
@TableField
(
"region_code"
)
private
String
regionCode
;
/**
* 视频名称
*/
@TableField
(
"video_name"
)
private
String
videoName
;
/**
* 设备使用登记代码
*/
@TableField
(
"dev_use_code"
)
private
String
devUseCode
;
/**
* 是否删除
*/
@TableField
(
"is_delete"
)
private
Boolean
isDelete
;
/**
* 组织代码
*/
@TableField
(
"org_code"
)
private
String
orgCode
;
/**
* 视频ID
*/
@TableField
(
"camera_index_code"
)
private
String
cameraIndexCode
;
/**
* 更新时间
*/
@TableField
(
"updates_time"
)
private
Date
updatesTime
;
/**
* 标识什么设种类使用的摄像头
*/
@TableField
(
"equ_list_code"
)
private
String
equListCode
;
/**
* 视频配置表主键
*/
@TableField
(
value
=
"video_seq"
)
private
Long
videoSeq
;
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/mapper/BaseEnterpriseVideoNodeMapper.java
0 → 100644
View file @
b13041f8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.common.api.entity.BaseEnterpriseVideo
;
import
com.yeejoin.amos.boot.module.common.api.entity.BaseEnterpriseVideoNode
;
/**
* 单位下摄像头表 Mapper 接口
*
* @author system_generator
* @date 2024-10-09
*/
public
interface
BaseEnterpriseVideoNodeMapper
extends
BaseMapper
<
BaseEnterpriseVideoNode
>
{
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/service/IBaseEnterpriseVideoNodeService.java
0 → 100644
View file @
b13041f8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
api
.
service
;
/**
* 单位下摄像头表接口类
*
* @author system_generator
* @date 2024-10-09
*/
public
interface
IBaseEnterpriseVideoNodeService
{
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/utils/DateUtils.java
View file @
b13041f8
...
@@ -6,6 +6,8 @@ import java.text.ParseException;
...
@@ -6,6 +6,8 @@ import java.text.ParseException;
import
java.text.ParsePosition
;
import
java.text.ParsePosition
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.ZonedDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.*
;
/**
/**
* @description: 时间工具类
* @description: 时间工具类
...
@@ -285,6 +287,14 @@ public class DateUtils {
...
@@ -285,6 +287,14 @@ public class DateUtils {
return
null
;
return
null
;
}
}
public
static
Date
dateParseWithZonedDateTime
(
String
dateTimeString
)
throws
ParseException
{
// 1. 解析原始字符串为ZonedDateTime(含时区信息)
ZonedDateTime
zonedDateTime
=
ZonedDateTime
.
parse
(
dateTimeString
);
// 2. 定义目标格式:yyyy-MM-dd HH:mm:ss
DateTimeFormatter
targetFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
);
String
formattedDateTime
=
zonedDateTime
.
format
(
targetFormatter
);
return
dateParseWithPattern
(
formattedDateTime
);
}
/**
/**
* 将日期时间格式成只有日期的字符串(可以直接使用dateFormat,Pattern为Null进行格式化)
* 将日期时间格式成只有日期的字符串(可以直接使用dateFormat,Pattern为Null进行格式化)
*
*
...
...
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/resources/mapper/BaseEnterpriseVideoNodeMapper.xml
0 → 100644
View file @
b13041f8
<?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.common.api.mapper.BaseEnterpriseVideoNodeMapper"
>
</mapper>
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/service/impl/BaseEnterpriseVideoNodeServiceImpl.java
0 → 100644
View file @
b13041f8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
biz
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.yeejoin.amos.boot.module.common.api.dto.BaseEnterpriseVideoNodeDto
;
import
com.yeejoin.amos.boot.module.common.api.entity.BaseEnterpriseVideoNode
;
import
com.yeejoin.amos.boot.module.common.api.mapper.BaseEnterpriseVideoNodeMapper
;
import
com.yeejoin.amos.boot.module.common.api.service.IBaseEnterpriseVideoNodeService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
/**
* 单位下摄像头表服务实现类
*
* @author system_generator
* @date 2024-10-09
*/
@Service
@Slf4j
public
class
BaseEnterpriseVideoNodeServiceImpl
extends
BaseService
<
BaseEnterpriseVideoNodeDto
,
BaseEnterpriseVideoNode
,
BaseEnterpriseVideoNodeMapper
>
implements
IBaseEnterpriseVideoNodeService
{
public
Boolean
saveOrUpdates
(
BaseEnterpriseVideoNode
enterpriseVideoNode
,
String
cameraIndexCode
){
return
this
.
saveOrUpdate
(
enterpriseVideoNode
,
new
QueryWrapper
<
BaseEnterpriseVideoNode
>().
lambda
().
eq
(
BaseEnterpriseVideoNode:
:
getCameraIndexCode
,
cameraIndexCode
));
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/service/impl/BaseEnterpriseVideoServiceImpl.java
View file @
b13041f8
...
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
...
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
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.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.hikvision.artemis.sdk.ArtemisHttpUtil
;
import
com.hikvision.artemis.sdk.ArtemisHttpUtil
;
import
com.hikvision.artemis.sdk.config.ArtemisConfig
;
import
com.hikvision.artemis.sdk.config.ArtemisConfig
;
...
@@ -13,12 +14,15 @@ import com.yeejoin.amos.boot.biz.common.dto.CommonVideoDto;
...
@@ -13,12 +14,15 @@ import com.yeejoin.amos.boot.biz.common.dto.CommonVideoDto;
import
com.yeejoin.amos.boot.biz.common.enums.CommonVideoEnum
;
import
com.yeejoin.amos.boot.biz.common.enums.CommonVideoEnum
;
import
com.yeejoin.amos.boot.module.common.api.dto.BaseEnterpriseVideoDto
;
import
com.yeejoin.amos.boot.module.common.api.dto.BaseEnterpriseVideoDto
;
import
com.yeejoin.amos.boot.module.common.api.entity.BaseEnterpriseVideo
;
import
com.yeejoin.amos.boot.module.common.api.entity.BaseEnterpriseVideo
;
import
com.yeejoin.amos.boot.module.common.api.entity.BaseEnterpriseVideoNode
;
import
com.yeejoin.amos.boot.module.common.api.enums.VideoIntegrationPlatformEnum
;
import
com.yeejoin.amos.boot.module.common.api.enums.VideoIntegrationPlatformEnum
;
import
com.yeejoin.amos.boot.module.common.api.mapper.BaseEnterpriseVideoMapper
;
import
com.yeejoin.amos.boot.module.common.api.mapper.BaseEnterpriseVideoMapper
;
import
com.yeejoin.amos.boot.module.common.api.service.IBaseEnterpriseVideoService
;
import
com.yeejoin.amos.boot.module.common.api.service.IBaseEnterpriseVideoService
;
import
com.yeejoin.amos.boot.module.common.api.utils.DateUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.http.conn.ConnectTimeoutException
;
import
org.apache.http.conn.ConnectTimeoutException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -27,6 +31,7 @@ import org.typroject.tyboot.core.rdbms.service.BaseService;
...
@@ -27,6 +31,7 @@ import org.typroject.tyboot.core.rdbms.service.BaseService;
import
java.net.URI
;
import
java.net.URI
;
import
java.net.URISyntaxException
;
import
java.net.URISyntaxException
;
import
java.text.ParseException
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -46,13 +51,14 @@ public class BaseEnterpriseVideoServiceImpl extends BaseService<BaseEnterpriseVi
...
@@ -46,13 +51,14 @@ public class BaseEnterpriseVideoServiceImpl extends BaseService<BaseEnterpriseVi
private
String
defaultVideoUrl
;
private
String
defaultVideoUrl
;
private
String
rootIndexCode
=
"root00000000"
;
private
String
rootIndexCode
=
"root00000000"
;
@Autowired
private
BaseEnterpriseVideoNodeServiceImpl
baseEnterpriseVideoNodeService
;
public
List
<
CommonVideoDto
>
getUnitVideoUrl
(
String
useUnitCode
,
String
regionCode
)
{
public
List
<
CommonVideoDto
>
getUnitVideoUrl
(
String
useUnitCode
,
String
regionCode
)
{
List
<
CommonVideoDto
>
result
=
new
ArrayList
<>();
List
<
CommonVideoDto
>
result
=
new
ArrayList
<>();
LambdaQueryWrapper
<
BaseEnterpriseVideo
>
wrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
BaseEnterpriseVideo
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
BaseEnterpriseVideo:
:
getUseUnitCode
,
useUnitCode
);
//
wrapper.eq(BaseEnterpriseVideo::getUseUnitCode, useUnitCode);
wrapper
.
eq
(
BaseEnterpriseVideo:
:
getIsEnabled
,
true
);
wrapper
.
eq
(
BaseEnterpriseVideo:
:
getIsEnabled
,
true
);
wrapper
.
like
(
StringUtils
.
isNotEmpty
(
regionCode
),
BaseEnterpriseVideo:
:
getRegionCode
,
regionCode
);
//
wrapper.like(StringUtils.isNotEmpty(regionCode), BaseEnterpriseVideo::getRegionCode, regionCode);
List
<
BaseEnterpriseVideo
>
videos
=
this
.
getBaseMapper
().
selectList
(
wrapper
);
List
<
BaseEnterpriseVideo
>
videos
=
this
.
getBaseMapper
().
selectList
(
wrapper
);
if
(
ValidationUtil
.
isEmpty
(
videos
))
{
if
(
ValidationUtil
.
isEmpty
(
videos
))
{
return
result
;
return
result
;
...
@@ -64,19 +70,26 @@ public class BaseEnterpriseVideoServiceImpl extends BaseService<BaseEnterpriseVi
...
@@ -64,19 +70,26 @@ public class BaseEnterpriseVideoServiceImpl extends BaseService<BaseEnterpriseVi
getYsVideoUrl
(
value
,
result
);
getYsVideoUrl
(
value
,
result
);
}
}
if
(
VideoIntegrationPlatformEnum
.
ISECURECENTER
.
getCode
().
equals
(
key
))
{
if
(
VideoIntegrationPlatformEnum
.
ISECURECENTER
.
getCode
().
equals
(
key
))
{
getISecureCenterVideoUrl
(
value
,
result
);
value
.
stream
().
forEach
(
baseEnterpriseVideo
->
{
LambdaQueryWrapper
<
BaseEnterpriseVideoNode
>
wrappers
=
new
LambdaQueryWrapper
<>();
wrappers
.
eq
(
BaseEnterpriseVideoNode:
:
getVideoSeq
,
baseEnterpriseVideo
.
getSequenceNbr
());
wrappers
.
eq
(
BaseEnterpriseVideoNode:
:
getUseUnitCode
,
useUnitCode
);
wrappers
.
like
(
StringUtils
.
isNotEmpty
(
regionCode
),
BaseEnterpriseVideoNode:
:
getRegionCode
,
regionCode
);
List
<
BaseEnterpriseVideoNode
>
videoNodes
=
baseEnterpriseVideoNodeService
.
list
(
wrappers
);
getISecureCenterVideoUrl
(
videoNodes
,
baseEnterpriseVideo
,
result
);
});
}
}
});
});
return
result
;
return
result
;
}
}
private
void
getISecureCenterVideoUrl
(
List
<
BaseEnterpriseVideo
>
videos
,
List
<
CommonVideoDto
>
videoUrlResult
)
{
private
void
getISecureCenterVideoUrl
(
List
<
BaseEnterpriseVideo
Node
>
videoNodes
,
BaseEnterpriseVideo
baseEnterpriseVideo
,
List
<
CommonVideoDto
>
videoUrlResult
)
{
List
<
CommonVideoDto
>
videoList
=
getISecureCenterCameras
(
videos
);
List
<
CommonVideoDto
>
videoList
=
getISecureCenterCameras
(
video
Node
s
);
if
(
ValidationUtil
.
isEmpty
(
videoList
))
{
if
(
ValidationUtil
.
isEmpty
(
videoList
))
{
return
;
return
;
}
}
BaseEnterpriseVideo
baseEnterpriseVideo
=
videos
.
get
(
0
);
//
BaseEnterpriseVideo baseEnterpriseVideo = videos.get(0);
videoList
.
forEach
(
video
->
{
videoList
.
forEach
(
video
->
{
List
<
CommonVideoDto
>
commonVideoDtos
=
new
ArrayList
<>();
List
<
CommonVideoDto
>
commonVideoDtos
=
new
ArrayList
<>();
try
{
try
{
...
@@ -246,18 +259,29 @@ public class BaseEnterpriseVideoServiceImpl extends BaseService<BaseEnterpriseVi
...
@@ -246,18 +259,29 @@ public class BaseEnterpriseVideoServiceImpl extends BaseService<BaseEnterpriseVi
commonVideoDtos
.
forEach
(
channelNo
->
this
.
setDefaultChannelData
(
result
,
channelNo
));
commonVideoDtos
.
forEach
(
channelNo
->
this
.
setDefaultChannelData
(
result
,
channelNo
));
}
}
public
List
<
CommonVideoDto
>
getISecureCenterCameras
(
List
<
BaseEnterpriseVideo
>
videoEquipList
)
{
public
List
<
CommonVideoDto
>
getISecureCenterCameras
(
List
<
BaseEnterpriseVideoNode
>
videoNodesList
)
{
List
<
BaseEnterpriseVideo
>
iSecureCenterVideoList
=
videoEquipList
.
stream
().
filter
(
v
->
VideoIntegrationPlatformEnum
.
ISECURECENTER
.
getCode
().
equals
(
v
.
getPlatform
())).
collect
(
Collectors
.
toList
());
// List<BaseEnterpriseVideo> iSecureCenterVideoList = videoEquipList.stream().filter(v -> VideoIntegrationPlatformEnum.ISECURECENTER.getCode().equals(v.getPlatform())).collect(Collectors.toList());
if
(!
ValidationUtil
.
isEmpty
(
iSecureCenterVideoList
))
{
// if (!ValidationUtil.isEmpty(iSecureCenterVideoList)) {
// 根据iSecureCenter视频对接平台,直接获取摄像头列表
// // 根据iSecureCenter视频对接平台,直接获取摄像头列表
return
getRegionCameras
(
iSecureCenterVideoList
);
// return getRegionCameras(iSecureCenterVideoList);
}
// }
return
null
;
List
<
CommonVideoDto
>
commonVideoDtos
=
new
ArrayList
<>();
videoNodesList
.
stream
().
forEach
(
baseEnterpriseVideoNode
->
{
CommonVideoDto
commonVideoDto
=
new
CommonVideoDto
();
commonVideoDto
.
setKey
(
baseEnterpriseVideoNode
.
getCameraIndexCode
());
commonVideoDto
.
setLabel
(
baseEnterpriseVideoNode
.
getVideoName
());
commonVideoDto
.
setTitle
(
baseEnterpriseVideoNode
.
getVideoName
());
commonVideoDto
.
setParent
(
baseEnterpriseVideoNode
.
getUseUnitCode
());
commonVideoDto
.
setUseRegistrationCode
(
baseEnterpriseVideoNode
.
getDevUseCode
());
commonVideoDtos
.
add
(
commonVideoDto
);
});
return
commonVideoDtos
;
}
}
/**
/**
* iSecureCenter视频对接平台,根据区域ID(企业统一信用代码唯一对应)获取摄像头列表。
* iSecureCenter视频对接平台,根据区域ID(企业统一信用代码唯一对应)获取摄像头列表。
* 现有对接一个企业只有一条数据,取第一条数据作为企业信息。
* 现有对接一个企业只有一条数据,取第一条数据作为企业信息。
*
* @param iSecureCenterVideoList 企业列表
* @param iSecureCenterVideoList 企业列表
* @return List<CommonVideoDto>
* @return List<CommonVideoDto>
*/
*/
...
@@ -391,4 +415,176 @@ public class BaseEnterpriseVideoServiceImpl extends BaseService<BaseEnterpriseVi
...
@@ -391,4 +415,176 @@ public class BaseEnterpriseVideoServiceImpl extends BaseService<BaseEnterpriseVi
}
}
return
commonRegionList
;
return
commonRegionList
;
}
}
public
boolean
saveOrUpdateVideos
(
String
sequenceNbr
)
throws
Exception
{
BaseEnterpriseVideo
baseEnterpriseVideo
=
this
.
getBaseMapper
().
selectById
(
sequenceNbr
);
String
appKey
=
baseEnterpriseVideo
.
getAppKey
();
String
appSecret
=
baseEnterpriseVideo
.
getAppSecret
();
String
deviceSerial
=
baseEnterpriseVideo
.
getDeviceSerial
();
String
url
=
"https://113.140.67.204:55443/artemis/api/resource/v1/regions/subRegions"
;
String
videoUrl
=
"https://113.140.67.204:55443/artemis/api/resource/v1/regions/regionIndexCode/cameras"
;
//根据跟节点673f784dc4ae4cf681957386accd445c获取区域列表子节点 开始
String
regionsStr
=
getsubRegions
(
appKey
,
appSecret
,
url
,
deviceSerial
);
if
(
ValidationUtil
.
isEmpty
(
regionsStr
))
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,deviceSerial:{}"
,
deviceSerial
);
return
false
;
}
JSONObject
regionsResult
=
JSONObject
.
parseObject
(
regionsStr
);
if
(
regionsResult
.
get
(
"data"
)
==
null
)
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,data:{}"
,
regionsStr
);
return
false
;
}
JSONArray
regionsDataList
=
regionsResult
.
getJSONArray
(
"data"
);
if
(
ValidationUtil
.
isEmpty
(
regionsDataList
))
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,regionsDataList:{}"
,
regionsDataList
);
return
false
;
}
else
{
regionsDataList
.
forEach
(
regionsData
->
{
JSONObject
regionDataJson
=
(
JSONObject
)
regionsData
;
String
regionName
=
regionDataJson
.
getString
(
"name"
);
String
regionIndexCode
=
regionDataJson
.
getString
(
"indexCode"
);
//根据区域regionIndexCode获取企业列表 开始
String
unitsStr
=
getsubRegions
(
appKey
,
appSecret
,
url
,
regionIndexCode
);
if
(
ValidationUtil
.
isEmpty
(
unitsStr
))
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,deviceSerial:{}"
,
regionIndexCode
);
}
JSONObject
unitsResult
=
JSONObject
.
parseObject
(
unitsStr
);
if
(
unitsResult
.
get
(
"data"
)
==
null
)
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,data:{}"
,
unitsStr
);
}
JSONArray
unitsDataList
=
unitsResult
.
getJSONArray
(
"data"
);
if
(
ValidationUtil
.
isEmpty
(
unitsDataList
))
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,regionsDataList:{}"
,
unitsDataList
);
}
else
{
unitsDataList
.
forEach
(
unitsData
->
{
JSONObject
unitDataJson
=
(
JSONObject
)
unitsData
;
String
unitNameAndCode
=
unitDataJson
.
getString
(
"name"
);
String
unitName
=
unitNameAndCode
==
null
?
""
:
unitNameAndCode
.
split
(
"#"
)[
0
];
String
unitCode
=
unitNameAndCode
==
null
?
""
:(
unitNameAndCode
.
contains
(
"#"
)?
unitNameAndCode
.
split
(
"#"
)[
1
]:
""
);
String
unitIndexCode
=
unitDataJson
.
getString
(
"indexCode"
);
//根据单位unitIndexCode获取设备列表 开始
String
devsStr
=
getsubRegions
(
appKey
,
appSecret
,
url
,
unitIndexCode
);
if
(
ValidationUtil
.
isEmpty
(
devsStr
))
{
log
.
error
(
"获取iSecureCenter视频对接平台设备列表失败,deviceSerial:{}"
,
unitIndexCode
);
}
JSONObject
devsResult
=
JSONObject
.
parseObject
(
devsStr
);
if
(
devsResult
.
get
(
"data"
)
==
null
)
{
log
.
error
(
"获取iSecureCenter视频对接平台设备列表失败,data:{}"
,
devsStr
);
}
JSONArray
devsDataList
=
devsResult
.
getJSONArray
(
"data"
);
if
(
ValidationUtil
.
isEmpty
(
devsDataList
))
{
log
.
error
(
"获取iSecureCenter视频对接平台设备列表失败,regionsDataList:{}"
,
devsDataList
);
}
else
{
devsDataList
.
forEach
(
devsData
->
{
JSONObject
devDataJson
=
(
JSONObject
)
devsData
;
String
devName
=
devDataJson
.
getString
(
"name"
);
String
devIndexCode
=
devDataJson
.
getString
(
"indexCode"
);
String
camerasStr
=
getCameras
(
appKey
,
appSecret
,
videoUrl
,
devIndexCode
);
if
(
ValidationUtil
.
isEmpty
(
camerasStr
))
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,deviceSerial:{}"
,
deviceSerial
);
}
JSONObject
camerasResult
=
JSONObject
.
parseObject
(
camerasStr
);
if
(
camerasResult
.
get
(
"data"
)
==
null
)
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,data:{}"
,
camerasStr
);
}
JSONObject
camerasDataList
=
(
JSONObject
)
camerasResult
.
get
(
"data"
);
// JSONObject dataObj = (JSONObject) result.get("data");
JSONArray
cameraDataList
=
camerasDataList
.
getJSONArray
(
"list"
);
if
(
ValidationUtil
.
isEmpty
(
camerasDataList
))
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,regionsDataList:{}"
,
camerasDataList
);
}
else
{
cameraDataList
.
forEach
(
cameraData
->
{
JSONObject
cameraDataJson
=
(
JSONObject
)
cameraData
;
String
cameraName
=
cameraDataJson
.
getString
(
"cameraName"
);
String
useInstallCode
=
cameraDataJson
.
getString
(
"installLocation"
);
String
reIndexCode
=
cameraDataJson
.
getString
(
"regionIndexCode"
);
String
cameraIndexCode
=
cameraDataJson
.
getString
(
"cameraIndexCode"
);
String
updateTime
=
cameraDataJson
.
getString
(
"updateTime"
);
String
createTime
=
cameraDataJson
.
getString
(
"createTime"
);
BaseEnterpriseVideoNode
enterpriseVideoNode
=
new
BaseEnterpriseVideoNode
();
enterpriseVideoNode
.
setUseUnitName
(
unitName
);
enterpriseVideoNode
.
setUseUnitCode
(
unitCode
);
enterpriseVideoNode
.
setRegionCode
(
reIndexCode
);
enterpriseVideoNode
.
setVideoName
(
cameraName
);
enterpriseVideoNode
.
setDevUseCode
(
useInstallCode
);
enterpriseVideoNode
.
setIsDelete
(
true
);
enterpriseVideoNode
.
setCameraIndexCode
(
cameraIndexCode
);
try
{
enterpriseVideoNode
.
setRecDate
(
DateUtils
.
dateParseWithPattern
(
createTime
));
enterpriseVideoNode
.
setUpdatesTime
(
DateUtils
.
dateParseWithPattern
(
updateTime
));
}
catch
(
ParseException
e
)
{
throw
new
RuntimeException
(
e
);
}
baseEnterpriseVideoNodeService
.
saveOrUpdate
(
enterpriseVideoNode
,
new
QueryWrapper
<
BaseEnterpriseVideoNode
>().
lambda
().
eq
(
BaseEnterpriseVideoNode:
:
getCameraIndexCode
,
cameraIndexCode
));
});
}
});
}
});
}
});
}
return
true
;
}
public
String
getsubRegions
(
String
appKey
,
String
appSecret
,
String
apiUrl
,
String
indexCode
)
{
Map
<
String
,
String
>
uriInfo
=
null
;
try
{
uriInfo
=
parseUri
(
apiUrl
);
}
catch
(
URISyntaxException
e
)
{
throw
new
RuntimeException
(
e
);
}
String
protocol
=
uriInfo
.
get
(
"protocol"
);
String
hostPort
=
uriInfo
.
get
(
"hostPort"
);
String
urlPath
=
uriInfo
.
get
(
"urlPath"
);
Map
<
String
,
String
>
path
=
new
HashMap
<>();
path
.
put
(
protocol
,
urlPath
);
ArtemisConfig
config
=
new
ArtemisConfig
();
config
.
setAppKey
(
appKey
);
config
.
setAppSecret
(
appSecret
);
config
.
setHost
(
hostPort
);
Map
<
String
,
String
>
paramMap
=
new
HashMap
<>();
// post请求Form表单参数
paramMap
.
put
(
"parentIndexCode"
,
indexCode
);
String
body
=
JSON
.
toJSON
(
paramMap
).
toString
();
try
{
return
ArtemisHttpUtil
.
doPostStringArtemis
(
config
,
path
,
body
,
null
,
null
,
"application/json"
,
null
);
}
catch
(
Exception
e
)
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,deviceSerial:{}"
,
indexCode
);
throw
new
RuntimeException
(
e
);
}
}
public
String
getCameras
(
String
appKey
,
String
appSecret
,
String
apiUrl
,
String
indexCode
)
{
Map
<
String
,
String
>
uriInfo
=
null
;
try
{
uriInfo
=
parseUri
(
apiUrl
);
}
catch
(
URISyntaxException
e
)
{
throw
new
RuntimeException
(
e
);
}
String
protocol
=
uriInfo
.
get
(
"protocol"
);
String
hostPort
=
uriInfo
.
get
(
"hostPort"
);
String
urlPath
=
uriInfo
.
get
(
"urlPath"
);
Map
<
String
,
String
>
path
=
new
HashMap
<>();
path
.
put
(
protocol
,
urlPath
);
ArtemisConfig
config
=
new
ArtemisConfig
();
config
.
setAppKey
(
appKey
);
config
.
setAppSecret
(
appSecret
);
config
.
setHost
(
hostPort
);
Map
<
String
,
String
>
paramMap
=
new
HashMap
<>();
// post请求Form表单参数
paramMap
.
put
(
"regionIndexCode"
,
indexCode
);
paramMap
.
put
(
"pageNo"
,
"1"
);
paramMap
.
put
(
"pageSize"
,
"1000"
);
String
body
=
JSON
.
toJSON
(
paramMap
).
toString
();
try
{
return
ArtemisHttpUtil
.
doPostStringArtemis
(
config
,
path
,
body
,
null
,
null
,
"application/json"
,
null
);
}
catch
(
Exception
e
)
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,deviceSerial:{}"
,
indexCode
);
throw
new
RuntimeException
(
e
);
}
}
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/resources/mapper/AlertStatisticsMapper.xml
View file @
b13041f8
...
@@ -466,7 +466,7 @@
...
@@ -466,7 +466,7 @@
v.use_unit_code useUnitCode,
v.use_unit_code useUnitCode,
(SELECT use_unit FROM tz_base_enterprise_info WHERE use_code = v.use_unit_code) useUnit
(SELECT use_unit FROM tz_base_enterprise_info WHERE use_code = v.use_unit_code) useUnit
FROM
FROM
tz_base_enterprise_video v
tz_base_enterprise_video
_node
v
WHERE
WHERE
region_code LIKE CONCAT('%', #{cityCode}, '%')
region_code LIKE CONCAT('%', #{cityCode}, '%')
GROUP BY
GROUP BY
...
...
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/java/com/yeejoin/amos/boot/module/statistcs/biz/controller/VideoController.java
View file @
b13041f8
...
@@ -60,4 +60,11 @@ public class VideoController {
...
@@ -60,4 +60,11 @@ public class VideoController {
List
<
CommonVideoDto
>
re
=
videoService
.
getVideoList
(
useUnitCode
,
regionCode
);
List
<
CommonVideoDto
>
re
=
videoService
.
getVideoList
(
useUnitCode
,
regionCode
);
return
ResponseHelper
.
buildResponse
(
re
);
return
ResponseHelper
.
buildResponse
(
re
);
}
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
value
=
"查询骏景视频平台的视频数据并写入数据库"
,
httpMethod
=
"GET"
)
@GetMapping
(
value
=
"/junjing/hk"
)
public
ResponseModel
<
Boolean
>
saveOrUpdateVideos
(
@RequestParam
(
value
=
"sequenceNbr"
)
String
sequenceNbr
)
{
boolean
re
=
videoService
.
saveOrUpdateVideos
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
re
);
}
}
}
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/VideoServiceImpl.java
View file @
b13041f8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
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.yeejoin.amos.boot.biz.common.dto.CommonVideoDto
;
import
com.yeejoin.amos.boot.biz.common.dto.CommonVideoDto
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto
;
import
com.yeejoin.amos.boot.module.common.api.entity.BaseEnterpriseVideo
;
import
com.yeejoin.amos.boot.module.common.api.entity.BaseEnterpriseVideo
;
import
com.yeejoin.amos.boot.module.common.api.entity.BaseEnterpriseVideoNode
;
import
com.yeejoin.amos.boot.module.common.api.enums.VideoIntegrationPlatformEnum
;
import
com.yeejoin.amos.boot.module.common.api.enums.VideoIntegrationPlatformEnum
;
import
com.yeejoin.amos.boot.module.common.api.utils.DateUtils
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.BaseEnterpriseVideoNodeServiceImpl
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.BaseEnterpriseVideoServiceImpl
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.BaseEnterpriseVideoServiceImpl
;
import
com.yeejoin.amos.boot.module.statistcs.biz.utils.JsonUtils
;
import
com.yeejoin.amos.boot.module.statistics.api.dto.UnitVideoDto
;
import
com.yeejoin.amos.boot.module.statistics.api.dto.UnitVideoDto
;
import
com.yeejoin.amos.boot.module.statistics.api.vo.TreeNodeVo
;
import
com.yeejoin.amos.boot.module.statistics.api.vo.TreeNodeVo
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseEnterpriseInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseEnterpriseInfoMapper
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.io.Resource
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
java.util.ArrayList
;
import
java.text.ParseException
;
import
java.util.List
;
import
java.util.*
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -38,8 +47,12 @@ public class VideoServiceImpl {
...
@@ -38,8 +47,12 @@ public class VideoServiceImpl {
private
static
String
NODE_TYPE_VIDEO
=
"video"
;
private
static
String
NODE_TYPE_VIDEO
=
"video"
;
private
TzBaseEnterpriseInfoMapper
tzBaseEnterpriseInfoMapper
;
@Value
(
"classpath:/json/region.json"
)
private
Resource
regionJson
;
private
TzBaseEnterpriseInfoMapper
tzBaseEnterpriseInfoMapper
;
@Autowired
private
BaseEnterpriseVideoNodeServiceImpl
baseEnterpriseVideoNodeService
;
private
StCommonServiceImpl
stCommonService
;
private
StCommonServiceImpl
stCommonService
;
private
BaseEnterpriseVideoServiceImpl
enterpriseVideoService
;
private
BaseEnterpriseVideoServiceImpl
enterpriseVideoService
;
...
@@ -58,19 +71,29 @@ public class VideoServiceImpl {
...
@@ -58,19 +71,29 @@ public class VideoServiceImpl {
* @return List<TreeNodeVo>
* @return List<TreeNodeVo>
*/
*/
public
List
<
TreeNodeVo
>
getVideoTree
(
DPFilterParamDto
dpFilterParamDto
)
{
public
List
<
TreeNodeVo
>
getVideoTree
(
DPFilterParamDto
dpFilterParamDto
)
{
// 摄像头设备
// 摄像头设备
参数配置
List
<
BaseEnterpriseVideo
>
videoEquipList
=
getVideos
(
dpFilterParamDto
.
getCityCode
());
List
<
BaseEnterpriseVideo
>
videoEquipList
=
getVideos
(
dpFilterParamDto
.
getCityCode
());
List
<
BaseEnterpriseVideoNode
>
videoNodesList
=
getVideoNodes
(
dpFilterParamDto
.
getCityCode
());
// 摄像头对应的单位列表
// 摄像头对应的单位列表
List
<
TzBaseEnterpriseInfo
>
baseEnterpriseInfos
=
this
.
getUnitListForTree
(
video
EquipList
.
stream
().
map
(
BaseEnterpriseVideo
:
:
getUseUnitCode
).
collect
(
Collectors
.
toSet
()));
List
<
TzBaseEnterpriseInfo
>
baseEnterpriseInfos
=
this
.
getUnitListForTree
(
video
NodesList
.
stream
().
map
(
BaseEnterpriseVideoNode
:
:
getUseUnitCode
).
collect
(
Collectors
.
toSet
()));
// 摄像头对应的行政区域列表
// 摄像头对应的行政区域列表
List
<
RegionModel
>
regionModels
=
this
.
getRegionListOfVideo
(
video
Equip
List
);
List
<
RegionModel
>
regionModels
=
this
.
getRegionListOfVideo
(
video
Nodes
List
);
// 摄像头通道
// 摄像头通道
List
<
CommonVideoDto
>
channelNoList
=
this
.
getVideoChannel
(
videoEquipList
);
List
<
CommonVideoDto
>
channelNoList
=
this
.
getVideoChannel
(
videoEquipList
,
videoNodesList
);
// 树组装
// 树组装
return
castList2Tree
(
baseEnterpriseInfos
,
regionModels
,
channelNoList
,
video
Equip
List
);
return
castList2Tree
(
baseEnterpriseInfos
,
regionModels
,
channelNoList
,
video
Nodes
List
);
}
}
private
List
<
TreeNodeVo
>
castList2Tree
(
List
<
TzBaseEnterpriseInfo
>
baseEnterpriseInfos
,
List
<
RegionModel
>
regionModels
,
List
<
CommonVideoDto
>
channelNoList
,
List
<
BaseEnterpriseVideo
>
videoEquipList
)
{
private
List
<
BaseEnterpriseVideoNode
>
getVideoNodes
(
String
regionCode
)
{
LambdaQueryWrapper
<
BaseEnterpriseVideoNode
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
BaseEnterpriseVideoNode:
:
getEquListCode
,
EquipmentClassifityEnum
.
KYSD
.
getCode
());
queryWrapper
.
like
(
BaseEnterpriseVideoNode:
:
getRegionCode
,
regionCode
);
queryWrapper
.
eq
(
BaseEnterpriseVideoNode:
:
getIsDelete
,
true
);
return
baseEnterpriseVideoNodeService
.
list
(
queryWrapper
);
}
private
List
<
TreeNodeVo
>
castList2Tree
(
List
<
TzBaseEnterpriseInfo
>
baseEnterpriseInfos
,
List
<
RegionModel
>
regionModels
,
List
<
CommonVideoDto
>
channelNoList
,
List
<
BaseEnterpriseVideoNode
>
videoNodesList
)
{
// 数据处理,把行政区域、单位、摄像头 数据格式化为有parent的标准树结构列表
// 数据处理,把行政区域、单位、摄像头 数据格式化为有parent的标准树结构列表
List
<
TreeNodeVo
>
regionNodes
=
regionModels
.
stream
().
map
(
r
->
{
List
<
TreeNodeVo
>
regionNodes
=
regionModels
.
stream
().
map
(
r
->
{
TreeNodeVo
treeNodeVo
=
new
TreeNodeVo
();
TreeNodeVo
treeNodeVo
=
new
TreeNodeVo
();
...
@@ -90,17 +113,17 @@ public class VideoServiceImpl {
...
@@ -90,17 +113,17 @@ public class VideoServiceImpl {
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
// 给区域的最下级增加直接下级->单位,id不是其他的parent_id则为树的叶子节点
// 给区域的最下级增加直接下级->单位,id不是其他的parent_id则为树的叶子节点
treeNodeVos
.
forEach
(
t
->
{
treeNodeVos
.
forEach
(
t
->
{
this
.
setChildrenUnitTypeNode
(
regionNodes
,
t
,
baseEnterpriseInfos
,
video
Equip
List
,
channelNoList
);
this
.
setChildrenUnitTypeNode
(
regionNodes
,
t
,
baseEnterpriseInfos
,
video
Nodes
List
,
channelNoList
);
});
});
return
treeNodeVos
;
return
treeNodeVos
;
}
}
private
void
setChildrenUnitTypeNode
(
List
<
TreeNodeVo
>
regionNodes
,
TreeNodeVo
parentNode
,
List
<
TzBaseEnterpriseInfo
>
baseEnterpriseInfos
,
List
<
BaseEnterpriseVideo
>
videoEquip
List
,
List
<
CommonVideoDto
>
channelNoList
)
{
private
void
setChildrenUnitTypeNode
(
List
<
TreeNodeVo
>
regionNodes
,
TreeNodeVo
parentNode
,
List
<
TzBaseEnterpriseInfo
>
baseEnterpriseInfos
,
List
<
BaseEnterpriseVideo
Node
>
videoNodes
List
,
List
<
CommonVideoDto
>
channelNoList
)
{
if
(
regionNodes
.
stream
().
noneMatch
(
e
->
parentNode
.
getId
().
equals
(
e
.
getParentId
())))
{
if
(
regionNodes
.
stream
().
noneMatch
(
e
->
parentNode
.
getId
().
equals
(
e
.
getParentId
())))
{
parentNode
.
setChildren
(
this
.
buildUnitTypeNode
(
baseEnterpriseInfos
,
video
Equip
List
,
channelNoList
,
parentNode
));
parentNode
.
setChildren
(
this
.
buildUnitTypeNode
(
baseEnterpriseInfos
,
video
Nodes
List
,
channelNoList
,
parentNode
));
}
else
{
}
else
{
parentNode
.
getChildren
().
forEach
(
p
->
{
parentNode
.
getChildren
().
forEach
(
p
->
{
setChildrenUnitTypeNode
(
regionNodes
,
p
,
baseEnterpriseInfos
,
video
Equip
List
,
channelNoList
);
setChildrenUnitTypeNode
(
regionNodes
,
p
,
baseEnterpriseInfos
,
video
Nodes
List
,
channelNoList
);
});
});
}
}
}
}
...
@@ -115,8 +138,8 @@ public class VideoServiceImpl {
...
@@ -115,8 +138,8 @@ public class VideoServiceImpl {
}
}
private
List
<
TreeNodeVo
>
buildUnitTypeNode
(
List
<
TzBaseEnterpriseInfo
>
baseEnterpriseInfos
,
List
<
BaseEnterpriseVideo
>
videoEquip
List
,
List
<
CommonVideoDto
>
channelNoList
,
TreeNodeVo
parentNode
)
{
private
List
<
TreeNodeVo
>
buildUnitTypeNode
(
List
<
TzBaseEnterpriseInfo
>
baseEnterpriseInfos
,
List
<
BaseEnterpriseVideo
Node
>
videoNodes
List
,
List
<
CommonVideoDto
>
channelNoList
,
TreeNodeVo
parentNode
)
{
Set
<
String
>
useUnitCodes
=
video
EquipList
.
stream
().
filter
(
v
->
v
.
getRegionCode
().
contains
(
parentNode
.
getCode
())).
map
(
BaseEnterpriseVideo
:
:
getUseUnitCode
).
collect
(
Collectors
.
toSet
());
Set
<
String
>
useUnitCodes
=
video
NodesList
.
stream
().
filter
(
v
->
v
.
getRegionCode
().
contains
(
parentNode
.
getCode
())).
map
(
BaseEnterpriseVideoNode
:
:
getUseUnitCode
).
collect
(
Collectors
.
toSet
());
return
baseEnterpriseInfos
.
stream
().
filter
(
v
->
useUnitCodes
.
contains
(
v
.
getUseUnitCode
())).
map
(
u
->
{
return
baseEnterpriseInfos
.
stream
().
filter
(
v
->
useUnitCodes
.
contains
(
v
.
getUseUnitCode
())).
map
(
u
->
{
TreeNodeVo
treeNodeVo
=
new
TreeNodeVo
();
TreeNodeVo
treeNodeVo
=
new
TreeNodeVo
();
treeNodeVo
.
setNodeType
(
NODE_TYPE_UNIT
);
treeNodeVo
.
setNodeType
(
NODE_TYPE_UNIT
);
...
@@ -144,7 +167,7 @@ public class VideoServiceImpl {
...
@@ -144,7 +167,7 @@ public class VideoServiceImpl {
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
}
}
private
List
<
CommonVideoDto
>
getVideoChannel
(
List
<
BaseEnterpriseVideo
>
videoEquipList
)
{
private
List
<
CommonVideoDto
>
getVideoChannel
(
List
<
BaseEnterpriseVideo
>
videoEquipList
,
List
<
BaseEnterpriseVideoNode
>
videoNodesList
)
{
List
<
CommonVideoDto
>
commonVideoDtos
=
new
ArrayList
<>();
List
<
CommonVideoDto
>
commonVideoDtos
=
new
ArrayList
<>();
// 根据对接平台不同,摄像头通道信息不同,需要解析成CommonVideoDto
// 根据对接平台不同,摄像头通道信息不同,需要解析成CommonVideoDto
List
<
BaseEnterpriseVideo
>
ysVideoList
=
videoEquipList
.
stream
().
filter
(
v
->
VideoIntegrationPlatformEnum
.
YS
.
getCode
().
equals
(
v
.
getPlatform
())).
collect
(
Collectors
.
toList
());
List
<
BaseEnterpriseVideo
>
ysVideoList
=
videoEquipList
.
stream
().
filter
(
v
->
VideoIntegrationPlatformEnum
.
YS
.
getCode
().
equals
(
v
.
getPlatform
())).
collect
(
Collectors
.
toList
());
...
@@ -155,21 +178,21 @@ public class VideoServiceImpl {
...
@@ -155,21 +178,21 @@ public class VideoServiceImpl {
commonVideoDtos
.
addAll
(
channelNoList
.
stream
().
peek
(
e
->
e
.
setParent
(
v
.
getUseUnitCode
())).
collect
(
Collectors
.
toList
()));
commonVideoDtos
.
addAll
(
channelNoList
.
stream
().
peek
(
e
->
e
.
setParent
(
v
.
getUseUnitCode
())).
collect
(
Collectors
.
toList
()));
});
});
}
}
List
<
CommonVideoDto
>
iSecureCenterCameras
=
enterpriseVideoService
.
getISecureCenterCameras
(
video
Equip
List
);
List
<
CommonVideoDto
>
iSecureCenterCameras
=
enterpriseVideoService
.
getISecureCenterCameras
(
video
Nodes
List
);
if
(!
ValidationUtil
.
isEmpty
(
iSecureCenterCameras
))
{
if
(!
ValidationUtil
.
isEmpty
(
iSecureCenterCameras
))
{
commonVideoDtos
.
addAll
(
iSecureCenterCameras
);
commonVideoDtos
.
addAll
(
iSecureCenterCameras
);
}
}
return
commonVideoDtos
;
return
commonVideoDtos
;
}
}
private
List
<
RegionModel
>
getRegionListOfVideo
(
List
<
BaseEnterpriseVideo
>
videoEquip
List
)
{
private
List
<
RegionModel
>
getRegionListOfVideo
(
List
<
BaseEnterpriseVideo
Node
>
videoNodes
List
)
{
return
stCommonService
.
getRegionModels
().
parallelStream
().
filter
(
r
->
video
Equip
List
.
stream
().
anyMatch
(
v
->
v
.
getRegionCode
().
contains
(
r
.
getRegionCode
().
toString
()))).
collect
(
Collectors
.
toList
());
return
stCommonService
.
getRegionModels
().
parallelStream
().
filter
(
r
->
video
Nodes
List
.
stream
().
anyMatch
(
v
->
v
.
getRegionCode
().
contains
(
r
.
getRegionCode
().
toString
()))).
collect
(
Collectors
.
toList
());
}
}
private
List
<
TzBaseEnterpriseInfo
>
getUnitListForTree
(
Set
<
String
>
useUnitCodes
)
{
private
List
<
TzBaseEnterpriseInfo
>
getUnitListForTree
(
Set
<
String
>
useUnitCodes
)
{
LambdaQueryWrapper
<
TzBaseEnterpriseInfo
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
TzBaseEnterpriseInfo
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
in
(
TzBaseEnterpriseInfo:
:
getUseUnitCode
,
useUnitCodes
);
queryWrapper
.
in
(
TzBaseEnterpriseInfo:
:
getUseUnitCode
,
useUnitCodes
);
queryWrapper
.
select
(
TzBaseEnterpriseInfo:
:
getUseUnitCode
,
TzBaseEnterpriseInfo:
:
getUseUnit
,
TzBaseEnterpriseInfo:
:
getAddress
,
BaseEntity:
:
getSequenceNbr
);
queryWrapper
.
select
(
TzBaseEnterpriseInfo:
:
getUseUnitCode
,
TzBaseEnterpriseInfo:
:
getUseUnit
,
TzBaseEnterpriseInfo:
:
getAddress
,
BaseEntity:
:
getSequenceNbr
,
TzBaseEnterpriseInfo:
:
getOrgCode
);
return
tzBaseEnterpriseInfoMapper
.
selectList
(
queryWrapper
);
return
tzBaseEnterpriseInfoMapper
.
selectList
(
queryWrapper
);
}
}
...
@@ -184,15 +207,18 @@ public class VideoServiceImpl {
...
@@ -184,15 +207,18 @@ public class VideoServiceImpl {
public
List
<
UnitVideoDto
>
getUnitList
(
String
regionCode
)
{
public
List
<
UnitVideoDto
>
getUnitList
(
String
regionCode
)
{
// 摄像头设备
// 摄像头设备
List
<
BaseEnterpriseVideo
>
videoEquipList
=
getVideos
(
regionCode
);
List
<
BaseEnterpriseVideo
>
videoEquipList
=
getVideos
(
regionCode
);
List
<
BaseEnterpriseVideoNode
>
entersList
=
baseEnterpriseVideoNodeService
.
list
(
new
LambdaQueryWrapper
<
BaseEnterpriseVideoNode
>().
like
(
BaseEnterpriseVideoNode:
:
getRegionCode
,
regionCode
).
groupBy
(
BaseEnterpriseVideoNode:
:
getUseUnitCode
));
// 摄像头对应的单位列表
// 摄像头对应的单位列表
List
<
TzBaseEnterpriseInfo
>
baseEnterpriseInfos
=
this
.
getUnitListForTree
(
videoEquipList
.
stream
().
map
(
BaseEnterpriseVideo
:
:
getUseUnitCode
).
collect
(
Collectors
.
toSet
()));
List
<
TzBaseEnterpriseInfo
>
baseEnterpriseInfos
=
this
.
getUnitListForTree
(
entersList
.
stream
().
map
(
BaseEnterpriseVideoNode
:
:
getUseUnitCode
).
collect
(
Collectors
.
toSet
()));
return
baseEnterpriseInfos
.
parallelStream
().
map
(
e
->
{
return
baseEnterpriseInfos
.
parallelStream
().
map
(
e
->
{
UnitVideoDto
unitVideoDto
=
new
UnitVideoDto
();
UnitVideoDto
unitVideoDto
=
new
UnitVideoDto
();
unitVideoDto
.
setId
(
e
.
getSequenceNbr
()
+
""
);
unitVideoDto
.
setId
(
e
.
getSequenceNbr
()
+
""
);
unitVideoDto
.
setName
(
e
.
getUseUnit
());
unitVideoDto
.
setName
(
e
.
getUseUnit
());
unitVideoDto
.
setCode
(
e
.
getUseUnitCode
());
unitVideoDto
.
setCode
(
e
.
getUseUnitCode
());
// 摄像头节点
List
<
BaseEnterpriseVideoNode
>
videoNodesList
=
baseEnterpriseVideoNodeService
.
list
(
new
LambdaQueryWrapper
<
BaseEnterpriseVideoNode
>().
eq
(
BaseEnterpriseVideoNode:
:
getUseUnitCode
,
e
.
getUseUnitCode
()));
// 摄像头通道
// 摄像头通道
List
<
CommonVideoDto
>
channelNoList
=
this
.
getVideoChannel
(
videoEquipList
);
List
<
CommonVideoDto
>
channelNoList
=
this
.
getVideoChannel
(
videoEquipList
,
videoNodesList
);
unitVideoDto
.
setCountNum
(
channelNoList
.
stream
().
filter
(
c
->
c
.
getParent
().
equals
(
e
.
getUseUnitCode
())).
count
());
unitVideoDto
.
setCountNum
(
channelNoList
.
stream
().
filter
(
c
->
c
.
getParent
().
equals
(
e
.
getUseUnitCode
())).
count
());
return
unitVideoDto
;
return
unitVideoDto
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
...
@@ -202,4 +228,140 @@ public class VideoServiceImpl {
...
@@ -202,4 +228,140 @@ public class VideoServiceImpl {
return
enterpriseVideoService
.
getUnitVideoUrl
(
useUnitCode
,
regionCode
);
return
enterpriseVideoService
.
getUnitVideoUrl
(
useUnitCode
,
regionCode
);
}
}
public
boolean
saveOrUpdateVideos
(
String
sequenceNbr
)
{
boolean
result
=
true
;
try
{
result
=
saveOrUpdateVideo
(
sequenceNbr
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
return
result
;
}
public
boolean
saveOrUpdateVideo
(
String
sequenceNbr
)
throws
Exception
{
BaseEnterpriseVideo
baseEnterpriseVideo
=
enterpriseVideoService
.
getBaseMapper
().
selectById
(
sequenceNbr
);
String
appKey
=
baseEnterpriseVideo
.
getAppKey
();
String
appSecret
=
baseEnterpriseVideo
.
getAppSecret
();
String
deviceSerial
=
baseEnterpriseVideo
.
getDeviceSerial
();
String
url
=
"https://113.140.67.204:55443/artemis/api/resource/v1/regions/subRegions"
;
String
videoUrl
=
"https://113.140.67.204:55443/artemis/api/resource/v1/regions/regionIndexCode/cameras"
;
//根据跟节点673f784dc4ae4cf681957386accd445c获取区域列表子节点 开始
String
regionsStr
=
enterpriseVideoService
.
getsubRegions
(
appKey
,
appSecret
,
url
,
deviceSerial
);
if
(
ValidationUtil
.
isEmpty
(
regionsStr
))
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,deviceSerial:{}"
,
deviceSerial
);
return
false
;
}
JSONObject
regionsResult
=
JSONObject
.
parseObject
(
regionsStr
);
if
(
regionsResult
.
get
(
"data"
)
==
null
)
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,data:{}"
,
regionsStr
);
return
false
;
}
JSONArray
regionsDataList
=
regionsResult
.
getJSONArray
(
"data"
);
if
(
ValidationUtil
.
isEmpty
(
regionsDataList
))
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,regionsDataList:{}"
,
regionsDataList
);
return
false
;
}
else
{
Map
<
String
,
String
>
regionMaps
=
JsonUtils
.
getResourceJson
(
regionJson
);
regionsDataList
.
forEach
(
regionsData
->
{
JSONObject
regionDataJson
=
(
JSONObject
)
regionsData
;
String
regionName
=
regionDataJson
.
getString
(
"name"
);
String
regionIndexCode
=
regionDataJson
.
getString
(
"indexCode"
);
//根据区域regionIndexCode获取企业列表 开始
String
unitsStr
=
enterpriseVideoService
.
getsubRegions
(
appKey
,
appSecret
,
url
,
regionIndexCode
);
if
(
ValidationUtil
.
isEmpty
(
unitsStr
))
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,deviceSerial:{}"
,
regionIndexCode
);
}
JSONObject
unitsResult
=
JSONObject
.
parseObject
(
unitsStr
);
if
(
unitsResult
.
get
(
"data"
)
==
null
)
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,data:{}"
,
unitsStr
);
}
JSONArray
unitsDataList
=
unitsResult
.
getJSONArray
(
"data"
);
if
(
ValidationUtil
.
isEmpty
(
unitsDataList
))
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,regionsDataList:{}"
,
unitsDataList
);
}
else
{
unitsDataList
.
forEach
(
unitsData
->
{
JSONObject
unitDataJson
=
(
JSONObject
)
unitsData
;
String
unitNameAndCode
=
unitDataJson
.
getString
(
"name"
);
String
unitName
=
unitNameAndCode
==
null
?
""
:
unitNameAndCode
.
split
(
"#"
)[
0
];
String
unitCode
=
unitNameAndCode
==
null
?
""
:(
unitNameAndCode
.
contains
(
"#"
)?
unitNameAndCode
.
split
(
"#"
)[
1
]:
""
);
final
String
unitOrgCode
;
if
(
null
!=
unitCode
||
!
ValidationUtil
.
isEmpty
(
unitCode
))
{
Set
<
String
>
setStr
=
new
HashSet
<
String
>();
setStr
.
add
(
unitCode
);
List
<
TzBaseEnterpriseInfo
>
tzBaseEnterpriseInfos
=
getUnitListForTree
(
setStr
);
unitOrgCode
=
tzBaseEnterpriseInfos
.
size
()
>
0
?
tzBaseEnterpriseInfos
.
get
(
0
).
getOrgCode
()
:
null
;
}
else
{
// 不满足条件时,赋值为空字符串(与原逻辑一致)
unitOrgCode
=
null
;
}
String
unitIndexCode
=
unitDataJson
.
getString
(
"indexCode"
);
//根据单位unitIndexCode获取设备列表 开始
String
devsStr
=
enterpriseVideoService
.
getsubRegions
(
appKey
,
appSecret
,
url
,
unitIndexCode
);
if
(
ValidationUtil
.
isEmpty
(
devsStr
))
{
log
.
error
(
"获取iSecureCenter视频对接平台设备列表失败,deviceSerial:{}"
,
unitIndexCode
);
}
JSONObject
devsResult
=
JSONObject
.
parseObject
(
devsStr
);
if
(
devsResult
.
get
(
"data"
)
==
null
)
{
log
.
error
(
"获取iSecureCenter视频对接平台设备列表失败,data:{}"
,
devsStr
);
}
JSONArray
devsDataList
=
devsResult
.
getJSONArray
(
"data"
);
if
(
ValidationUtil
.
isEmpty
(
devsDataList
))
{
log
.
error
(
"获取iSecureCenter视频对接平台设备列表失败,regionsDataList:{}"
,
devsDataList
);
}
else
{
devsDataList
.
forEach
(
devsData
->
{
JSONObject
devDataJson
=
(
JSONObject
)
devsData
;
String
devName
=
devDataJson
.
getString
(
"name"
);
String
devIndexCode
=
devDataJson
.
getString
(
"indexCode"
);
String
camerasStr
=
enterpriseVideoService
.
getCameras
(
appKey
,
appSecret
,
videoUrl
,
devIndexCode
);
if
(
ValidationUtil
.
isEmpty
(
camerasStr
))
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,deviceSerial:{}"
,
deviceSerial
);
}
JSONObject
camerasResult
=
JSONObject
.
parseObject
(
camerasStr
);
if
(
camerasResult
.
get
(
"data"
)
==
null
)
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,data:{}"
,
camerasStr
);
}
JSONObject
camerasDataList
=
(
JSONObject
)
camerasResult
.
get
(
"data"
);
JSONArray
cameraDataList
=
camerasDataList
.
getJSONArray
(
"list"
);
if
(
ValidationUtil
.
isEmpty
(
camerasDataList
))
{
log
.
error
(
"获取iSecureCenter视频对接平台区域列表失败,regionsDataList:{}"
,
camerasDataList
);
}
else
{
cameraDataList
.
forEach
(
cameraData
->
{
JSONObject
cameraDataJson
=
(
JSONObject
)
cameraData
;
String
cameraName
=
cameraDataJson
.
getString
(
"cameraName"
);
String
useInstallCode
=
cameraDataJson
.
getString
(
"installLocation"
);
String
reIndexCode
=
cameraDataJson
.
getString
(
"regionIndexCode"
);
String
cameraIndexCode
=
cameraDataJson
.
getString
(
"cameraIndexCode"
);
String
updateTime
=
cameraDataJson
.
getString
(
"updateTime"
);
String
createTime
=
cameraDataJson
.
getString
(
"createTime"
);
String
regionCode
=
regionMaps
.
get
(
regionName
);
BaseEnterpriseVideoNode
enterpriseVideoNode
=
new
BaseEnterpriseVideoNode
();
enterpriseVideoNode
.
setUseUnitName
(
unitName
);
enterpriseVideoNode
.
setUseUnitCode
(
unitCode
);
enterpriseVideoNode
.
setRegionName
(
regionName
);
enterpriseVideoNode
.
setRegionCode
(
regionCode
);
enterpriseVideoNode
.
setOrgCode
(
unitOrgCode
);
enterpriseVideoNode
.
setVideoName
(
cameraName
);
enterpriseVideoNode
.
setDevUseCode
(
useInstallCode
);
enterpriseVideoNode
.
setIsDelete
(
true
);
enterpriseVideoNode
.
setCameraIndexCode
(
cameraIndexCode
);
enterpriseVideoNode
.
setVideoSeq
(
Long
.
parseLong
(
sequenceNbr
));
enterpriseVideoNode
.
setEquListCode
(
EquipmentClassifityEnum
.
KYSD
.
getCode
());
try
{
// enterpriseVideoNode.setRecDate(DateUtils.dateParseWithPattern(createTime));
enterpriseVideoNode
.
setUpdatesTime
(
DateUtils
.
dateParseWithZonedDateTime
(
updateTime
));
}
catch
(
ParseException
e
)
{
throw
new
RuntimeException
(
e
);
}
baseEnterpriseVideoNodeService
.
saveOrUpdates
(
enterpriseVideoNode
,
cameraIndexCode
);
});
}
});
}
});
}
});
}
return
true
;
}
}
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/resources/json/region.json
0 → 100644
View file @
b13041f8
{
"西安"
:
"610000#610100"
,
"铜川"
:
"610000#610200"
,
"宝鸡"
:
"610000#610300"
,
"咸阳"
:
"610000#610400"
,
"渭南"
:
"610000#610500"
,
"延安"
:
"610000#610600"
,
"汉中"
:
"610000#610700"
,
"榆林"
:
"610000#610800"
,
"安康"
:
"610000#610900"
,
"商洛"
:
"610000#611000"
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-api/src/main/java/com/yeejoin/amos/boot/module/ymt/api/entity/TzBaseEnterpriseInfo.java
View file @
b13041f8
...
@@ -208,4 +208,9 @@ public class TzBaseEnterpriseInfo extends BaseEntity {
...
@@ -208,4 +208,9 @@ public class TzBaseEnterpriseInfo extends BaseEntity {
*/
*/
@TableField
(
value
=
"create_date"
)
@TableField
(
value
=
"create_date"
)
private
Date
createDate
;
private
Date
createDate
;
/**
* 组织机构
*/
@TableField
(
value
=
"org_code"
)
private
String
orgCode
;
}
}
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-biz/src/main/java/com/yeejoin/amos/boot/module/ymt/biz/service/impl/TzBaseEnterpriseInfoServiceImpl.java
View file @
b13041f8
...
@@ -81,8 +81,7 @@ public class TzBaseEnterpriseInfoServiceImpl
...
@@ -81,8 +81,7 @@ public class TzBaseEnterpriseInfoServiceImpl
@Autowired
@Autowired
DataDictionaryServiceImpl
iDataDictionaryService
;
DataDictionaryServiceImpl
iDataDictionaryService
;
@Autowired
RegUnitInfoMapper
regUnitInfoMapper
;
@Autowired
@Autowired
StartPlatformTokenService
platformTokenService
;
StartPlatformTokenService
platformTokenService
;
...
...
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