Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
F
fp-acq-wz
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
fp-acq-wz
Commits
d3f8c6c3
提交
d3f8c6c3
authored
7月 29, 2020
作者:
Your Name
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[feature] 修改为保存文件形式的纯采集端
上级
ce06929c
流水线
#201
已失败 于阶段
变更
27
流水线
1
显示空白字符变更
内嵌
并排
正在显示
27 个修改的文件
包含
9 行增加
和
1844 行删除
+9
-1844
VompApiController.java
...jty/fp/acq/vomp/subject/controller/VompApiController.java
+0
-51
VompEventController.java
...y/fp/acq/vomp/subject/controller/VompEventController.java
+0
-26
VompAlarm.java
...om/zjty/fp/acq/vomp/subject/entity/localdo/VompAlarm.java
+0
-105
VompHandingInfo.java
...y/fp/acq/vomp/subject/entity/localdo/VompHandingInfo.java
+0
-34
VompPcInfo.java
...m/zjty/fp/acq/vomp/subject/entity/localdo/VompPcInfo.java
+0
-46
VompStatus.java
...m/zjty/fp/acq/vomp/subject/entity/localdo/VompStatus.java
+0
-46
VompZone.java
...com/zjty/fp/acq/vomp/subject/entity/localdo/VompZone.java
+0
-32
VompAlarmRepository.java
...cq/vomp/subject/repository/local/VompAlarmRepository.java
+0
-13
VompHandingInfoRepository.java
...p/subject/repository/local/VompHandingInfoRepository.java
+0
-13
VompPcInfoRepository.java
...q/vomp/subject/repository/local/VompPcInfoRepository.java
+0
-13
VompStatusRepository.java
...q/vomp/subject/repository/local/VompStatusRepository.java
+0
-14
VompZoneRepository.java
...acq/vomp/subject/repository/local/VompZoneRepository.java
+0
-12
VompApiService.java
.../zjty/fp/acq/vomp/subject/service/api/VompApiService.java
+0
-52
VompEventService.java
...jty/fp/acq/vomp/subject/service/api/VompEventService.java
+0
-57
VompFpService.java
...m/zjty/fp/acq/vomp/subject/service/api/VompFpService.java
+0
-26
VompJudgeHelper.java
...zjty/fp/acq/vomp/subject/service/api/VompJudgeHelper.java
+0
-88
VompTransHelper.java
...zjty/fp/acq/vomp/subject/service/api/VompTransHelper.java
+0
-243
VompApiServiceImpl.java
...acq/vomp/subject/service/api/impl/VompApiServiceImpl.java
+0
-63
VompEventServiceImpl.java
...q/vomp/subject/service/api/impl/VompEventServiceImpl.java
+0
-85
VompFpServiceImpl.java
.../acq/vomp/subject/service/api/impl/VompFpServiceImpl.java
+0
-97
VompUpdater.java
...zjty/fp/acq/vomp/subject/service/updater/VompUpdater.java
+0
-25
VompDataDbUpdater.java
.../vomp/subject/service/updater/impl/VompDataDbUpdater.java
+0
-169
VompDataDlUpdater.java
.../vomp/subject/service/updater/impl/VompDataDlUpdater.java
+0
-232
VompDataRdUpdater.java
.../vomp/subject/service/updater/impl/VompDataRdUpdater.java
+0
-218
VompFetcherImpl.java
...cq/vomp/subject/service/updater/impl/VompFetcherImpl.java
+6
-6
VompMapUpdater.java
...acq/vomp/subject/service/updater/impl/VompMapUpdater.java
+0
-43
VompTasks.java
...mp/src/main/java/com/zjty/fp/acq/vomp/task/VompTasks.java
+3
-35
没有找到文件。
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/controller/VompApiController.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
controller
;
import
com.zjty.fp.acq.vomp.subject.entity.localdo.*
;
import
com.zjty.fp.acq.vomp.subject.service.api.VompApiService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
static
org
.
springframework
.
http
.
ResponseEntity
.
ok
;
/**
* @author C
* 向网安提供数据的接口
*/
@SuppressWarnings
(
"SpringAutowiredFieldsWarningInspection"
)
@RestController
@RequestMapping
(
"/api/vomp"
)
public
class
VompApiController
{
@Autowired
VompApiService
vompApiService
;
@GetMapping
(
"/alarm"
)
public
ResponseEntity
<
List
<
VompAlarm
>>
alarm
()
{
return
ok
(
vompApiService
.
getAlarmList
());
}
@GetMapping
(
"/handinginfo"
)
public
ResponseEntity
<
List
<
VompHandingInfo
>>
handingInfo
()
{
return
ok
(
vompApiService
.
getHandingInfoList
());
}
@GetMapping
(
"/pcinfo"
)
public
ResponseEntity
<
List
<
VompPcInfo
>>
pcInfo
()
{
return
ok
(
vompApiService
.
getPcInfoList
());
}
@GetMapping
(
"/status"
)
public
ResponseEntity
<
List
<
VompStatus
>>
status
()
{
return
ok
(
vompApiService
.
getStatusList
());
}
@GetMapping
(
"/zone"
)
public
ResponseEntity
<
List
<
VompZone
>>
zone
()
{
return
ok
(
vompApiService
.
getZoneList
());
}
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/controller/VompEventController.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
controller
;
import
com.zjty.fp.acq.misc.entity.UnionEvent
;
import
com.zjty.fp.acq.vomp.subject.service.api.VompEventService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* <p>Description : fp-fp
* <p>Date : 2018/11/9 11:48
* <p>@author : C
*/
@SuppressWarnings
(
"SpringAutowiredFieldsWarningInspection"
)
@RestController
public
class
VompEventController
{
@Autowired
VompEventService
vompEventService
;
@GetMapping
(
"/event/vomp"
)
public
List
<
UnionEvent
>
event
()
{
return
vompEventService
.
findByPage
(
0
,
2
);
}
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/entity/localdo/VompAlarm.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
entity
.
localdo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.persistence.Entity
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.util.Date
;
import
java.util.Random
;
/**
* @author C
* 违规告警信息
*/
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table
(
name
=
"vomp_alarm"
)
public
class
VompAlarm
{
@Id
private
Integer
recno
;
private
String
statId
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
outBegin
;
private
String
unitName
;
private
String
deptment
;
/**
* 处理人
*/
private
String
tUser
;
/**
* 主机名
*/
private
String
hostName
;
/**
* 转发
*/
private
String
tReserve
;
/**
* 操作系统
*/
private
String
tos
;
private
String
tCard
;
private
String
macStr
;
private
String
ipStr
;
private
String
outIpstr
;
private
String
masterCode
;
private
String
hdCode
;
private
String
tVer
;
private
String
tMemo
;
private
String
tCompany
;
private
String
statStatus
;
private
String
zoneCode
;
private
String
unitType
;
@SuppressWarnings
(
"unused"
)
public
static
VompAlarm
toSimc
()
{
Random
random
=
new
Random
();
Integer
recno
=
random
.
nextInt
(
8
);
String
statId
=
Integer
.
valueOf
(
random
.
nextInt
(
1000
)).
toString
();
return
new
VompAlarm
(
recno
,
statId
,
new
Date
(),
"杭州市测试"
,
"杭州市测试"
,
"测试人"
,
"PGOS"
,
"SZJC"
,
"Win7"
,
"[Marvell Yukon 88E8057 PCI-E Gigabit Ethernet Controller -数据包计划程序微型端口]"
,
"F5 15 85 E6 37 44"
,
"192.168.1.1"
,
"20.1.1.1"
,
"LENOVO To be filled by O.E.M SN:INVALID"
,
"123456HD"
,
"1.1.0"
,
"经由⽹关[183.129.165.83]违规外联"
,
"09"
,
"未读"
,
"330100"
,
"3"
);
}
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/entity/localdo/VompHandingInfo.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
entity
.
localdo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.persistence.Entity
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
/**
* @author C
* 处理单号
*/
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table
(
name
=
"vomp_handinginfo"
)
public
class
VompHandingInfo
{
@Id
private
Integer
statId
;
private
String
routInspector
;
private
String
routInspectorX
;
private
String
routOperator
;
private
String
routStatus
;
private
String
routStamp
;
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/entity/localdo/VompPcInfo.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
entity
.
localdo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.persistence.Entity
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
/**
* @author C
* 区域告警统计
*/
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table
(
name
=
"vomp_pcinfo"
)
public
class
VompPcInfo
{
@Id
private
String
zoneId
;
private
String
zoneName
;
/**
* 监控终端数量
*/
private
String
zonePcCount
;
/**
* 涉密计算机数量
*/
private
String
zonePaCount
;
/**
* 安装率=zonePcCount/zonePaCount
*/
private
String
installRate
;
private
String
alarmCount
;
private
String
alarmRate
;
private
String
zoneOperator
;
private
String
zoneStamp
;
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/entity/localdo/VompStatus.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
entity
.
localdo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.persistence.Entity
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
/**
* <p>Description : fp-fp
* <p>Date : 2018/10/9 17:27
* <p>@author : C
* 服务器信息
*/
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table
(
name
=
"vomp_status"
)
public
class
VompStatus
{
@Id
private
Integer
serverStatusId
;
private
String
hname
;
private
String
contact
;
private
String
phone
;
private
String
ltime
;
private
String
uri
;
private
String
utime
;
private
String
tzone
;
private
String
ads
;
private
String
nip
;
private
String
prop
;
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/entity/localdo/VompZone.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
entity
.
localdo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.persistence.Entity
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
/**
* @author C
* 区域基本信息
*/
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table
(
name
=
"vomp_zone"
)
public
class
VompZone
{
@Id
private
String
zoneId
;
private
String
zoneName
;
private
String
parentId
;
private
String
xOrigin
;
private
String
yOrigin
;
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/repository/local/VompAlarmRepository.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
repository
.
local
;
import
com.zjty.fp.acq.vomp.subject.entity.localdo.VompAlarm
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.stereotype.Repository
;
/**
* @author C
*/
@Repository
public
interface
VompAlarmRepository
extends
JpaRepository
<
VompAlarm
,
Integer
>
{
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/repository/local/VompHandingInfoRepository.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
repository
.
local
;
import
com.zjty.fp.acq.vomp.subject.entity.localdo.VompHandingInfo
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.stereotype.Repository
;
/**
* @author C
*/
@Repository
public
interface
VompHandingInfoRepository
extends
JpaRepository
<
VompHandingInfo
,
Integer
>
{
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/repository/local/VompPcInfoRepository.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
repository
.
local
;
import
com.zjty.fp.acq.vomp.subject.entity.localdo.VompPcInfo
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.stereotype.Repository
;
/**
* @author C
*/
@Repository
public
interface
VompPcInfoRepository
extends
JpaRepository
<
VompPcInfo
,
String
>
{
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/repository/local/VompStatusRepository.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
repository
.
local
;
import
com.zjty.fp.acq.vomp.subject.entity.localdo.VompStatus
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.stereotype.Repository
;
/**
* @author C
*/
@Repository
public
interface
VompStatusRepository
extends
JpaRepository
<
VompStatus
,
Integer
>
{
}
\ No newline at end of file
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/repository/local/VompZoneRepository.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
repository
.
local
;
import
com.zjty.fp.acq.vomp.subject.entity.localdo.VompZone
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.stereotype.Repository
;
/**
* @author C
*/
@Repository
public
interface
VompZoneRepository
extends
JpaRepository
<
VompZone
,
String
>
{
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/service/api/VompApiService.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
service
.
api
;
import
com.zjty.fp.acq.vomp.subject.entity.localdo.*
;
import
com.zjty.fp.acq.vomp.subject.service.api.impl.VompApiServiceImpl
;
import
java.util.List
;
/**
* <p>Description : fusion-platform
* <p>Date : 2018/12/6 15:16
* <p>@author : C
* findAll式查询
*
* @see VompApiServiceImpl
*/
public
interface
VompApiService
{
/**
* 查找所有Alarm数据
*
* @return List<VompAlarm>
*/
List
<
VompAlarm
>
getAlarmList
();
/**
* 查找所有HandingInfo数据
*
* @return List<VompHandingInfo>
*/
List
<
VompHandingInfo
>
getHandingInfoList
();
/**
* 查找所有PcInfo数据
*
* @return List<VompPcInfo>
*/
List
<
VompPcInfo
>
getPcInfoList
();
/**
* 查找所有Status数据
*
* @return List<VompStatus>
*/
List
<
VompStatus
>
getStatusList
();
/**
* 查找所有Zone数据
*
* @return List<VompZone>
*/
List
<
VompZone
>
getZoneList
();
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/service/api/VompEventService.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
service
.
api
;
import
com.zjty.fp.acq.misc.entity.UnionEvent
;
import
com.zjty.fp.acq.vomp.subject.entity.vo.VompEvent
;
import
com.zjty.fp.acq.vomp.subject.service.api.impl.VompEventServiceImpl
;
import
java.util.List
;
/**
* <p>Description : fusion-platform
* <p>Date : 2018/12/6 15:00
* <p>@author : C
* 对接前端告警页面的数据
*
* @see VompEventServiceImpl
*/
public
interface
VompEventService
{
/**
* 按页查询
*
* @param page 页数
* @param size 每页数量
* @return UnionEvent集合
*/
List
<
UnionEvent
>
findByPage
(
int
page
,
int
size
);
/**
* 按id查询
*
* @param ids 用于查询的id集合
* @return UnionEvent集合
*/
List
<
UnionEvent
>
findByIds
(
List
<
Integer
>
ids
);
/**
* 按id查询 返回类型不同于上个方法 是UnionEvent的子类
*
* @param ids 用于查询的id集合
* @return VompEvent集合
*/
List
<
VompEvent
>
findAllSubEvents
(
List
<
Integer
>
ids
);
/**
* 所有告警的总数
*
* @return int
*/
int
totalCount
();
/**
* 今日告警的总数
*
* @return int
*/
int
dailyCount
();
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/service/api/VompFpService.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
service
.
api
;
import
com.zjty.fp.acq.vomp.subject.entity.vo.VompFpVo
;
import
com.zjty.fp.acq.vomp.subject.service.api.impl.VompFpServiceImpl
;
/**
* <p>Description : fusion-platform
* <p>Date : 2018/12/6 15:03
* <p>@author : C
* fp = front page
* 对接前端首页的数据(本市是指杭州市)
* 实现类:
*
* @see VompFpServiceImpl
* 返回数据类型:
* @see VompFpVo
*/
public
interface
VompFpService
{
/**
* 获取前端首页对象
*
* @return 见本接口注释
*/
VompFpVo
getVompFpVo
();
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/service/api/VompJudgeHelper.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
service
.
api
;
import
com.zjty.fp.acq.misc.utils.DateTimeUtil
;
import
com.zjty.fp.acq.vomp.subject.entity.localdo.VompAlarm
;
import
com.zjty.fp.acq.vomp.subject.entity.localdo.VompPcInfo
;
import
com.zjty.fp.acq.vomp.subject.service.cache.VompTransCache
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.text.SimpleDateFormat
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.Objects
;
/**
* <p>Description : fusion-platform
* <p>Date : 2018/12/17 15:49
* <p>@author : C
*/
@SuppressWarnings
(
"SpringAutowiredFieldsWarningInspection"
)
@Component
public
class
VompJudgeHelper
{
@Autowired
VompTransCache
vompTransCache
;
/**
* 根据zoneID判断是否是杭州内的区域
*/
public
boolean
isInHangzhou
(
VompAlarm
alarm
)
{
String
zoneId
=
alarm
.
getZoneCode
();
return
Objects
.
equals
(
vompTransCache
.
getZoneId_ParentZoneId_Map
().
get
(
zoneId
),
"3301"
);
}
/**
* 根据zoneID判断是否是杭州内的区域
*/
public
boolean
isInHangzhou
(
VompPcInfo
pcInfo
)
{
String
zoneId
=
pcInfo
.
getZoneId
();
return
Objects
.
equals
(
vompTransCache
.
getZoneId_ParentZoneId_Map
().
get
(
zoneId
),
"3301"
);
}
/**
* 根据时间判断是否是在本年度
*/
public
boolean
isInCurrentYear
(
VompAlarm
alarm
)
{
Date
outBegin
=
alarm
.
getOutBegin
();
boolean
isInThisYear
;
Calendar
calendar
=
Calendar
.
getInstance
();
Integer
currentYear
=
calendar
.
get
(
Calendar
.
YEAR
);
String
outBeginStr
=
DateTimeUtil
.
formatDateTimetoString
(
outBegin
,
"YYYY-MM-dd"
);
Integer
outBeginYear
=
Integer
.
valueOf
(
outBeginStr
.
substring
(
0
,
4
));
isInThisYear
=
currentYear
.
equals
(
outBeginYear
);
return
isInThisYear
;
}
/**
* 根据时间字符串判断是否是在今天
*/
public
boolean
isInToday
(
VompAlarm
alarm
)
{
String
outBegin
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
format
(
alarm
.
getOutBegin
());
boolean
isInToday
;
String
today
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
format
(
new
Date
());
isInToday
=
today
.
equals
(
outBegin
.
substring
(
0
,
today
.
length
()));
return
isInToday
;
}
/**
* 判断alarm的发生时间是否是在指定时间之后
*/
public
boolean
isAfterTime
(
VompAlarm
alarm
,
Date
date
)
{
Date
fetchDate
=
alarm
.
getOutBegin
();
return
fetchDate
.
after
(
date
);
}
/**
* 判断是否逻辑存在
* VompAlarm有一个字段是status状态码
* 其中一个状态是“删除”。(状态码为“2”代表“删除”)
* 状态为“删除”的对象为逻辑删除状态,不应当给出去。
* 非逻辑删除的数据则是逻辑存在 可以给出去。
*
* @param alarm 被判断的VompAlarm对象
* @return 是否逻辑存在
*/
public
Boolean
logicalExisted
(
VompAlarm
alarm
)
{
return
!
Objects
.
equals
(
alarm
.
getStatStatus
(),
"2"
);
}
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/service/api/VompTransHelper.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
service
.
api
;
import
com.zjty.fp.acq.vomp.subject.entity.localdo.*
;
import
com.zjty.fp.acq.vomp.subject.entity.remotedo.*
;
import
com.zjty.fp.acq.vomp.subject.entity.vo.VompEvent
;
import
com.zjty.fp.acq.vomp.subject.service.cache.VompTransCache
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.text.DecimalFormat
;
import
java.util.List
;
import
java.util.Optional
;
/**
* <p>Description : fusion-platform
* <p>Date : 2018/12/28 15:05
* <p>@author : C
* 数据转换工具bean
*/
@SuppressWarnings
(
"SpringAutowiredFieldsWarningInspection"
)
@Component
public
class
VompTransHelper
{
@Autowired
VompTransCache
transCache
;
/**
* VompAlarm -> VompEvent
*/
public
VompEvent
transToVompEvent
(
VompAlarm
alarm
)
{
return
new
VompEvent
(
"vomp"
,
alarm
.
getOutBegin
(),
alarm
.
getRecno
(),
alarm
.
getStatId
(),
alarm
.
getUnitName
(),
alarm
.
getDeptment
(),
alarm
.
getTUser
(),
alarm
.
getHostName
(),
alarm
.
getTReserve
(),
alarm
.
getTos
(),
alarm
.
getTCard
(),
alarm
.
getMacStr
(),
alarm
.
getIpStr
(),
alarm
.
getOutIpstr
(),
alarm
.
getMasterCode
(),
alarm
.
getHdCode
(),
alarm
.
getTMemo
(),
alarm
.
getStatStatus
(),
transCache
.
getZoneId_ZoneName_Map
().
get
(
alarm
.
getZoneCode
())
);
}
/**
* String -> Integer
* 如果是空则替换为0
*
* @param number input
* @return output
*/
private
Integer
transToInteger
(
String
number
)
{
if
(
number
==
null
||
""
.
equals
(
number
))
{
return
0
;
}
else
{
return
Integer
.
valueOf
(
number
);
}
}
/**
* String -> Double
* 如果是空则替换为0
*
* @param number input
* @return output
*/
private
Double
transToDouble
(
String
number
)
{
if
(
number
==
null
||
""
.
equals
(
number
))
{
return
0.0
;
}
else
{
return
Double
.
valueOf
(
number
);
}
}
/**
* @param zone Zone对象
* @param pcloglist 该Zone对象关联的所有Pclog
* @return VompPcinfo对象
*/
public
VompPcInfo
transToVompPcInfoVo
(
Zone
zone
,
List
<
PcLog
>
pcloglist
)
{
String
alarmCount
=
String
.
valueOf
(
pcloglist
.
size
());
String
zonePcCount
=
zone
.
getZonePcCount
();
Integer
zonePcCountInt
;
String
alarmRate
;
if
(
zonePcCount
!=
null
)
{
zonePcCountInt
=
Integer
.
valueOf
(
zonePcCount
);
alarmRate
=
new
DecimalFormat
(
"0.00"
).
format
(
pcloglist
.
size
()
/
zonePcCountInt
);
}
else
{
alarmRate
=
null
;
}
return
new
VompPcInfo
(
zone
.
getZoneId
(),
zone
.
getZoneName
(),
zone
.
getZonePcCount
(),
zone
.
getZonePaCount
(),
getInstallRate
(
zone
),
alarmCount
,
alarmRate
,
zone
.
getZoneOperator
(),
zone
.
getZoneStamp
()
);
}
private
String
getInstallRate
(
Zone
zone
)
{
DecimalFormat
df
=
new
DecimalFormat
(
"#.00"
);
Double
result
=
transToDouble
(
zone
.
getZonePcCount
())
/
transToDouble
(
zone
.
getZonePaCount
());
Double
zero
=
0
.;
if
(
transToDouble
(
zone
.
getZonePaCount
()).
equals
(
zero
))
{
return
"-1"
;
}
else
{
return
df
.
format
(
result
);
}
}
/**
* @param chkstates ChkStates对象
* @param pclog 关联Pclog对象
* @return VompAlarm对象
*/
public
VompAlarm
transToVompAlarm
(
ChkStates
chkstates
,
PcLog
pclog
)
{
return
new
VompAlarm
(
pclog
.
getRecno
(),
chkstates
.
getStatId
().
toString
(),
pclog
.
getOutbegin
(),
pclog
.
getUnitName
(),
pclog
.
getDeptment
(),
pclog
.
getTUser
(),
pclog
.
getHostname
(),
pclog
.
getTReserve
(),
pclog
.
getTos
(),
pclog
.
getTCard
(),
pclog
.
getMacStr
(),
pclog
.
getIpStr
(),
pclog
.
getOutIpstr
(),
pclog
.
getMasterCode
(),
pclog
.
getHdCode
(),
pclog
.
getTver
(),
pclog
.
getTmemo
(),
pclog
.
getTCompany
(),
transCache
.
getStatusMap
().
get
(
chkstates
.
getStatStatus
()),
pclog
.
getZoneCode
(),
pclog
.
getUnitCode
()
);
}
/**
* @param chkstates ChkStates对象
* @param chkroutes ChkRoutes对象
* @return VompHandingInfo
*/
public
VompHandingInfo
transToHandingInfo
(
ChkStates
chkstates
,
ChkRoutes
chkroutes
)
{
return
new
VompHandingInfo
(
chkstates
.
getStatId
(),
chkroutes
.
getRoutInspector
(),
chkroutes
.
getRoutInspectorX
(),
chkroutes
.
getRoutOperator
(),
chkroutes
.
getRoutStatus
(),
chkroutes
.
getRoutStamp
()
);
}
/**
* ServerStatus -> VompStatus
*
* @param serverStatus ServerStatus对象
* @return VompStatus对象
*/
public
VompStatus
transToStatus
(
ServerStatus
serverStatus
)
{
return
new
VompStatus
(
serverStatus
.
getServerStatusId
(),
serverStatus
.
getHName
(),
serverStatus
.
getContact
(),
serverStatus
.
getPhone
(),
serverStatus
.
getLTime
(),
serverStatus
.
getUri
(),
serverStatus
.
getUTime
(),
serverStatus
.
getTZone
(),
serverStatus
.
getAds
(),
serverStatus
.
getNip
(),
serverStatus
.
getProp
()
);
}
/**
* Zone -> VompZone
*/
public
VompZone
transToVompZone
(
Zone
zone
)
{
return
new
VompZone
(
zone
.
getZoneId
(),
zone
.
getZoneName
(),
zone
.
getParentID
(),
zone
.
getXOrigin
(),
zone
.
getYOrigin
()
);
}
/**
* 地区名加上父地区名
* 例如:杭州市->浙江省杭州市
*/
public
VompZone
addParentZoneName
(
VompZone
vompZone
)
{
Optional
<
Zone
>
parentZoneOP
=
transCache
.
getZoneList
().
stream
()
.
filter
(
zone
->
zone
.
getZoneId
().
equals
(
vompZone
.
getParentId
()))
.
findAny
();
if
(
parentZoneOP
.
isPresent
())
{
String
parentZoneName
=
parentZoneOP
.
get
().
getZoneName
();
vompZone
.
setZoneName
(
parentZoneName
+
vompZone
.
getZoneName
());
}
return
vompZone
;
}
/**
* 加上祖父地区名
* 例如:杭州市->浙江省杭州市->中国浙江省杭州市
*/
public
VompZone
addGrandParentZoneName
(
VompZone
vompZone
)
{
Optional
<
Zone
>
grandParentZoneOP
=
transCache
.
getZoneList
().
stream
()
.
filter
(
zone
->
zone
.
getZoneId
().
equals
(
transCache
.
getZoneId_ParentZoneId_Map
().
get
(
vompZone
.
getParentId
())))
.
findAny
();
if
(
grandParentZoneOP
.
isPresent
())
{
String
grandParentZoneName
=
grandParentZoneOP
.
get
().
getZoneName
();
vompZone
.
setZoneName
(
grandParentZoneName
+
vompZone
.
getZoneName
());
}
return
vompZone
;
}
/**
* 以Integer类型输出该地区的监控终端数量
*
* @return Integer
*/
public
Integer
getPcCount
(
VompPcInfo
pcInfo
)
{
return
transToInteger
(
pcInfo
.
getZonePcCount
());
}
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/service/api/impl/VompApiServiceImpl.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
service
.
api
.
impl
;
import
com.zjty.fp.acq.vomp.subject.entity.localdo.*
;
import
com.zjty.fp.acq.vomp.subject.repository.local.*
;
import
com.zjty.fp.acq.vomp.subject.service.api.VompApiService
;
import
com.zjty.fp.acq.vomp.subject.service.api.VompJudgeHelper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* <p>Description : fp-fp
* <p>Date : 2018/11/8 16:42
* <p>@author : C
* 该类提供查询 用于对网安提供API
*/
@SuppressWarnings
(
"SpringAutowiredFieldsWarningInspection"
)
@Service
public
class
VompApiServiceImpl
implements
VompApiService
{
@Autowired
VompAlarmRepository
vompAlarmRepository
;
@Autowired
VompHandingInfoRepository
vompHandingInfoRepository
;
@Autowired
VompPcInfoRepository
vompPcInfoRepository
;
@Autowired
VompStatusRepository
vompStatusRepository
;
@Autowired
VompZoneRepository
zoneRepository
;
@Autowired
VompJudgeHelper
judgeHelper
;
@Override
public
List
<
VompAlarm
>
getAlarmList
()
{
return
vompAlarmRepository
.
findAll
().
stream
()
.
filter
(
judgeHelper:
:
logicalExisted
)
.
collect
(
Collectors
.
toList
());
}
@Override
public
List
<
VompHandingInfo
>
getHandingInfoList
()
{
return
vompHandingInfoRepository
.
findAll
();
}
@Override
public
List
<
VompPcInfo
>
getPcInfoList
()
{
return
vompPcInfoRepository
.
findAll
();
}
@Override
public
List
<
VompStatus
>
getStatusList
()
{
return
vompStatusRepository
.
findAll
();
}
@Override
public
List
<
VompZone
>
getZoneList
()
{
return
zoneRepository
.
findAll
();
}
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/service/api/impl/VompEventServiceImpl.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
service
.
api
.
impl
;
import
com.zjty.fp.acq.misc.entity.UnionEvent
;
import
com.zjty.fp.acq.vomp.subject.entity.vo.VompEvent
;
import
com.zjty.fp.acq.vomp.subject.repository.local.VompAlarmRepository
;
import
com.zjty.fp.acq.vomp.subject.service.api.VompEventService
;
import
com.zjty.fp.acq.vomp.subject.service.api.VompJudgeHelper
;
import
com.zjty.fp.acq.vomp.subject.service.api.VompTransHelper
;
import
com.zjty.fp.acq.vomp.subject.service.cache.VompTransCache
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.stereotype.Service
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
static
java
.
util
.
Comparator
.
comparingLong
;
/**
* <p>Description : fp-fp
* <p>Date : 2018/11/8 16:42
* <p>@author : C
* 对前端的告警事件页面提供API:根据页数查询、根据一组id查询、数据总数、今日数据总数。
* 返回数据类型:
*
* @see UnionEvent
*/
@SuppressWarnings
(
"SpringAutowiredFieldsWarningInspection"
)
@Slf4j
@Service
public
class
VompEventServiceImpl
implements
VompEventService
{
@Autowired
VompAlarmRepository
vompAlarmRepository
;
@Autowired
VompTransCache
transCache
;
@Autowired
VompTransHelper
transHelper
;
@Autowired
VompJudgeHelper
judgeHelper
;
@Override
public
List
<
UnionEvent
>
findByPage
(
int
page
,
int
size
)
{
List
<
UnionEvent
>
events
=
vompAlarmRepository
.
findAll
(
new
PageRequest
(
page
,
size
))
.
getContent
().
stream
()
.
filter
(
judgeHelper:
:
logicalExisted
)
.
sorted
(
comparingLong
(
alarm
->
alarm
.
getOutBegin
().
getTime
()))
.
map
(
transHelper:
:
transToVompEvent
)
.
collect
(
Collectors
.
toList
());
Collections
.
reverse
(
events
);
return
events
;
}
@Override
public
List
<
UnionEvent
>
findByIds
(
List
<
Integer
>
ids
)
{
return
vompAlarmRepository
.
findAll
(
ids
).
stream
()
.
filter
(
judgeHelper:
:
logicalExisted
)
.
map
(
transHelper:
:
transToVompEvent
)
.
collect
(
Collectors
.
toList
());
}
@Override
public
List
<
VompEvent
>
findAllSubEvents
(
List
<
Integer
>
ids
)
{
return
vompAlarmRepository
.
findAll
(
ids
).
stream
()
.
filter
(
judgeHelper:
:
logicalExisted
)
.
map
(
transHelper:
:
transToVompEvent
)
.
collect
(
Collectors
.
toList
());
}
@Override
public
int
totalCount
()
{
return
new
Long
(
vompAlarmRepository
.
count
()).
intValue
();
}
@Override
public
int
dailyCount
()
{
return
new
Long
(
vompAlarmRepository
.
findAll
().
stream
()
.
filter
(
judgeHelper:
:
logicalExisted
)
.
filter
(
judgeHelper:
:
isInToday
)
.
count
())
.
intValue
();
}
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/service/api/impl/VompFpServiceImpl.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
service
.
api
.
impl
;
import
com.zjty.fp.acq.vomp.subject.entity.vo.VompFpVo
;
import
com.zjty.fp.acq.vomp.subject.repository.local.VompAlarmRepository
;
import
com.zjty.fp.acq.vomp.subject.repository.local.VompPcInfoRepository
;
import
com.zjty.fp.acq.vomp.subject.service.api.VompFpService
;
import
com.zjty.fp.acq.vomp.subject.service.api.VompJudgeHelper
;
import
com.zjty.fp.acq.vomp.subject.service.api.VompTransHelper
;
import
com.zjty.fp.acq.vomp.subject.service.cache.VompTransCache
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.text.DecimalFormat
;
import
java.util.stream.Collectors
;
/**
* <p>Description : fp-extr
* <p>Date : 2018/10/30 14:48
* <p>@author : C
* 对前端首页提供数据:提供本市(杭州)监控终端数量、本年度总报警率、本年度总报警数。
* 返回数据:
*
* @see VompFpVo
*/
@SuppressWarnings
({
"SpringAutowiredFieldsWarningInspection"
,
"Duplicates"
})
@Slf4j
@Service
public
class
VompFpServiceImpl
implements
VompFpService
{
@Autowired
VompAlarmRepository
alarmRepository
;
@Autowired
VompPcInfoRepository
pcInfoRepository
;
@Autowired
VompTransCache
transCache
;
@Autowired
VompTransHelper
transHelper
;
@Autowired
VompJudgeHelper
judgeHelper
;
/**
* @return 前端首页数据包装对象
*/
@Override
public
VompFpVo
getVompFpVo
()
{
return
new
VompFpVo
(
getPcCountInHangZhou
(),
getTotalAlarmCountInHangZhouInCurrentYear
(),
getAlarmRateInHangZhouInCurrentYear
()
);
}
/*
Private Methods
*/
/**
* 杭州市本年度总报警率
*
* @return String
*/
private
String
getAlarmRateInHangZhouInCurrentYear
()
{
Integer
alarmCount
=
getTotalAlarmCountInHangZhouInCurrentYear
();
Integer
pcCount
=
getPcCountInHangZhou
();
DecimalFormat
df
=
new
DecimalFormat
(
"#0.00"
);
log
.
info
(
"[vomp] 开始计算报警率:报警数为【{}】,监控终端数量为【{}】"
,
alarmCount
,
pcCount
);
Double
totalAlarmRate
=
Double
.
valueOf
(
alarmCount
)
/
Double
.
valueOf
(
pcCount
);
Double
zero
=
0
.;
if
(
Double
.
valueOf
(
pcCount
).
equals
(
zero
))
{
return
"-1"
;
}
return
df
.
format
(
totalAlarmRate
);
}
/**
* 杭州市本年度报警数
*/
private
Integer
getTotalAlarmCountInHangZhouInCurrentYear
()
{
return
alarmRepository
.
findAll
().
stream
()
.
filter
(
judgeHelper:
:
logicalExisted
)
.
filter
(
judgeHelper:
:
isInHangzhou
)
.
filter
(
judgeHelper:
:
isInCurrentYear
)
.
collect
(
Collectors
.
toList
())
.
size
();
}
/**
* 杭州市全市监控终端数量
*/
private
Integer
getPcCountInHangZhou
()
{
return
pcInfoRepository
.
findAll
().
stream
()
.
filter
(
judgeHelper:
:
isInHangzhou
)
.
mapToInt
(
transHelper:
:
getPcCount
)
.
sum
();
}
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/service/updater/VompUpdater.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
service
.
updater
;
import
com.zjty.fp.acq.vomp.subject.service.updater.impl.VompDataDbUpdater
;
import
com.zjty.fp.acq.vomp.subject.service.updater.impl.VompDataDlUpdater
;
/**
* <p>Description : fp-fp
* <p>Date : 2018/11/20 19:19
* <p>@author : C
* 用于定义数据采集、保存、同步相关功能的接口。
* 实现类有2个:
* 1.从FTP采集数据、向本地同步类
* 2.向ES发起数据同步类
*
* @see VompDataDlUpdater
* @see VompDataDbUpdater
*/
public
interface
VompUpdater
{
/**
* 由一个方法包装更新相应数据的一系列步骤。
*/
void
updateData
();
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/service/updater/impl/VompDataDbUpdater.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
service
.
updater
.
impl
;
import
com.google.common.collect.Lists
;
import
com.zjty.fp.acq.vomp.subject.entity.localdo.*
;
import
com.zjty.fp.acq.vomp.subject.entity.remotedo.*
;
import
com.zjty.fp.acq.vomp.subject.repository.local.*
;
import
com.zjty.fp.acq.vomp.subject.repository.remote.*
;
import
com.zjty.fp.acq.vomp.subject.service.api.VompTransHelper
;
import
com.zjty.fp.acq.vomp.subject.service.cache.VompTransCache
;
import
com.zjty.fp.acq.vomp.subject.service.updater.VompUpdater
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* <p>Description : fusion-platform
* <p>Date : 2019/1/2 11:24
* <p>@author : C
* Db意为Database。该组件的同步数据模式为直接从目标数据库读取数据并保存到自己的数据库。
*/
@SuppressWarnings
(
"SpringAutowiredFieldsWarningInspection"
)
@Service
@Slf4j
public
class
VompDataDbUpdater
implements
VompUpdater
{
@Autowired
VompTransCache
transCache
;
@Autowired
VompTransHelper
transHelper
;
@Autowired
ChkRoutesRepository
chkRoutesRepository
;
@Autowired
ChkStatesRepository
chkStatesRepository
;
@Autowired
PcLogRepository
pcLogRepository
;
@Autowired
ServerStatusRepository
serverStatusRepository
;
@Autowired
ZoneRepository
zoneRepository
;
@Autowired
VompAlarmRepository
vompAlarmRepository
;
@Autowired
VompHandingInfoRepository
vompHandingInfoRepository
;
@Autowired
VompPcInfoRepository
vompPcInfoRepository
;
@Autowired
VompStatusRepository
vompStatusRepository
;
@Autowired
VompZoneRepository
vompZoneRepository
;
@Override
public
void
updateData
()
{
//fetch data from remote database and save cache
fetchRemoteDataAndSaveCache
();
//get data from cache and trans and save to local database
updateAllData
();
}
private
void
fetchRemoteDataAndSaveCache
()
{
//chkroutes
List
<
ChkRoutes
>
chkRoutesList
=
chkRoutesRepository
.
findAll
();
transCache
.
setChkRoutesList
(
chkRoutesList
);
//chkroutes
List
<
ChkStates
>
chkStatesList
=
chkStatesRepository
.
findAll
();
transCache
.
setChkStatesList
(
chkStatesList
);
//pclog
List
<
PcLog
>
pcLogList
=
pcLogRepository
.
findAll
();
transCache
.
setPcLogList
(
pcLogList
);
//chkroutes
List
<
ServerStatus
>
serverStatusList
=
serverStatusRepository
.
findAll
();
transCache
.
setServerStatusList
(
serverStatusList
);
//chkroutes
List
<
Zone
>
zoneList
=
zoneRepository
.
findAll
();
transCache
.
setZoneList
(
zoneList
);
}
/**
* Local Data
*/
private
void
updateAllData
()
{
updateVompAlarmDb
();
updateVompHandingInfoDb
();
updateVompPcInfoDb
();
updateVompStatusDb
();
updateZoneDb
();
}
private
void
updateVompAlarmDb
()
{
List
<
VompAlarm
>
alarmList4Save
=
getAlarmList
();
vompAlarmRepository
.
save
(
alarmList4Save
);
log
.
info
(
"[vomp] VompAlarm更新了{}条数据"
,
alarmList4Save
.
size
());
}
private
void
updateVompHandingInfoDb
()
{
List
<
VompHandingInfo
>
handingInfoList4Save
=
getHandingInfoList
();
vompHandingInfoRepository
.
save
(
handingInfoList4Save
);
log
.
info
(
"[vomp] VompHandingInfo更新了{}条数据"
,
handingInfoList4Save
.
size
());
}
private
void
updateVompPcInfoDb
()
{
List
<
VompPcInfo
>
pcInfoList4Save
=
getPcInfoList
();
vompPcInfoRepository
.
save
(
pcInfoList4Save
);
log
.
info
(
"[vomp] VompPcInfo更新了{}条数据"
,
pcInfoList4Save
.
size
());
}
private
void
updateVompStatusDb
()
{
List
<
VompStatus
>
statusList4Save
=
getStatusList
();
vompStatusRepository
.
save
(
statusList4Save
);
log
.
info
(
"[vomp] VompStatus更新了{}条数据"
,
statusList4Save
.
size
());
}
private
void
updateZoneDb
()
{
List
<
VompZone
>
zoneList4Save
=
getZoneList
();
vompZoneRepository
.
save
(
zoneList4Save
);
log
.
info
(
"[vomp] VompZone更新了{}条数据"
,
zoneList4Save
.
size
());
}
/**
* VompAlarm
*/
private
List
<
VompAlarm
>
getAlarmList
()
{
List
<
VompAlarm
>
vompAlarmList
=
Lists
.
newArrayList
();
transCache
.
getChkStates_PcLog_Map
().
forEach
((
chkstates
,
pcLogs
)
->
pcLogs
.
forEach
(
pclog
->
vompAlarmList
.
add
(
transHelper
.
transToVompAlarm
(
chkstates
,
pclog
))));
return
vompAlarmList
;
}
/**
* VompHandingInfo
*/
private
List
<
VompHandingInfo
>
getHandingInfoList
()
{
List
<
VompHandingInfo
>
vompHandingInfoList
=
Lists
.
newArrayList
();
transCache
.
getChkStates_ChkRoutes_Map
().
forEach
((
chkstates
,
chkRoutes
)
->
chkRoutes
.
forEach
(
chkRoute
->
vompHandingInfoList
.
add
(
transHelper
.
transToHandingInfo
(
chkstates
,
chkRoute
))));
return
vompHandingInfoList
;
}
/**
* VompPcInfo
*/
private
List
<
VompPcInfo
>
getPcInfoList
()
{
List
<
VompPcInfo
>
vompPcInfoList
=
Lists
.
newArrayList
();
transCache
.
getZone_PcLog_Map
().
forEach
((
zone
,
pcLogList
)
->
vompPcInfoList
.
add
(
transHelper
.
transToVompPcInfoVo
(
zone
,
pcLogList
)));
return
vompPcInfoList
;
}
/**
* Status
*/
private
List
<
VompStatus
>
getStatusList
()
{
return
transCache
.
getServerStatusList
().
stream
()
.
map
(
transHelper:
:
transToStatus
)
.
collect
(
Collectors
.
toList
());
}
/**
* VompZone
*/
private
List
<
VompZone
>
getZoneList
()
{
return
transCache
.
getZoneList
().
stream
()
.
map
(
transHelper:
:
transToVompZone
)
.
map
(
transHelper:
:
addParentZoneName
)
.
map
(
transHelper:
:
addGrandParentZoneName
)
.
collect
(
Collectors
.
toList
());
}
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/service/updater/impl/VompDataDlUpdater.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
service
.
updater
.
impl
;
import
com.google.common.collect.Lists
;
import
com.zjty.fp.acq.misc.utils.Downloader
;
import
com.zjty.fp.acq.misc.utils.FileReader
;
import
com.zjty.fp.acq.misc.utils.JacksonUtil
;
import
com.zjty.fp.acq.vomp.base.enums.VompCatalogs
;
import
com.zjty.fp.acq.vomp.base.enums.VompPlatform
;
import
com.zjty.fp.acq.vomp.subject.entity.localdo.*
;
import
com.zjty.fp.acq.vomp.subject.entity.remotedo.*
;
import
com.zjty.fp.acq.vomp.subject.repository.local.*
;
import
com.zjty.fp.acq.vomp.subject.service.api.VompTransHelper
;
import
com.zjty.fp.acq.vomp.subject.service.cache.VompTransCache
;
import
com.zjty.fp.acq.vomp.subject.service.updater.VompUpdater
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
/**
* <p>Description : fp-fp
* <p>Date : 2018/11/20 10:18
* <p>@author : C
* Dl意为Download。该组件的同步数据模式为从FTP服务器下载文件然后解析保存。
*/
@SuppressWarnings
(
"SpringAutowiredFieldsWarningInspection"
)
@Service
@Slf4j
public
class
VompDataDlUpdater
implements
VompUpdater
{
@Autowired
VompTransCache
transCache
;
@Autowired
VompTransHelper
transHelper
;
@Autowired
Downloader
downloader
;
@Autowired
FileReader
fileReader
;
@Autowired
VompAlarmRepository
alarmRepository
;
@Autowired
VompHandingInfoRepository
handingInfoRepository
;
@Autowired
VompPcInfoRepository
pcInfoRepository
;
@Autowired
VompStatusRepository
statusRepository
;
@Autowired
VompZoneRepository
zoneRepository
;
@Override
public
void
updateData
()
{
//download file
downloadFileFromFtpServer
();
log
.
info
(
"[vomp] 文件下载完毕"
);
//read file & parse & save to cache
readAllFilesAndSaveCache
();
//trans date to local format & save
updateAllData
();
log
.
info
(
"[vomp] 数据更新完毕"
);
}
/*
<Private Methods Area>
*/
/**
* Remote Data
*/
private
void
downloadFileFromFtpServer
()
{
downloader
.
download
(
VompPlatform
.
PLATFORM
.
getName
(),
VompCatalogs
.
CHKROUTES
.
getName
());
downloader
.
download
(
VompPlatform
.
PLATFORM
.
getName
(),
VompCatalogs
.
CHKSTATES
.
getName
());
downloader
.
download
(
VompPlatform
.
PLATFORM
.
getName
(),
VompCatalogs
.
PCLOG
.
getName
());
downloader
.
download
(
VompPlatform
.
PLATFORM
.
getName
(),
VompCatalogs
.
SERVERSTATUS
.
getName
());
downloader
.
download
(
VompPlatform
.
PLATFORM
.
getName
(),
VompCatalogs
.
ZONE
.
getName
());
}
private
void
readAllFilesAndSaveCache
()
{
readChkRoutesAndSaveCache
();
readChkStatesAndSaveCache
();
readPcLogAndSaveCache
();
readServerStatusAndSaveCache
();
readZoneAndSaveCache
();
}
private
String
readFileFirstLine
(
String
catalog
)
{
Optional
<
String
>
firstLine
=
fileReader
.
readFileData
(
VompPlatform
.
PLATFORM
.
getName
(),
catalog
).
stream
().
findFirst
();
return
firstLine
.
orElse
(
""
);
}
private
void
readChkRoutesAndSaveCache
()
{
String
text
=
readFileFirstLine
(
VompCatalogs
.
CHKROUTES
.
getName
());
ChkRoutes
[]
chkRoutesArrays
=
JacksonUtil
.
readValue
(
text
,
ChkRoutes
[].
class
);
List
<
ChkRoutes
>
chkRoutesList
=
Lists
.
newArrayList
();
if
(
chkRoutesArrays
!=
null
)
{
chkRoutesList
=
Arrays
.
asList
(
chkRoutesArrays
);
}
transCache
.
setChkRoutesList
(
chkRoutesList
);
}
private
void
readChkStatesAndSaveCache
()
{
String
text
=
readFileFirstLine
(
VompCatalogs
.
CHKSTATES
.
getName
());
ChkStates
[]
chkStatesArrays
=
JacksonUtil
.
readValue
(
text
,
ChkStates
[].
class
);
List
<
ChkStates
>
chkStatesList
=
Lists
.
newArrayList
();
if
(
chkStatesArrays
!=
null
)
{
chkStatesList
=
Arrays
.
asList
(
chkStatesArrays
);
}
transCache
.
setChkStatesList
(
chkStatesList
);
}
private
void
readPcLogAndSaveCache
()
{
String
text
=
readFileFirstLine
(
VompCatalogs
.
PCLOG
.
getName
());
PcLog
[]
pcLogArrays
=
JacksonUtil
.
readValue
(
text
,
PcLog
[].
class
);
List
<
PcLog
>
pcLogList
=
Lists
.
newArrayList
();
if
(
pcLogArrays
!=
null
)
{
pcLogList
=
Arrays
.
asList
(
pcLogArrays
);
}
transCache
.
setPcLogList
(
pcLogList
);
}
private
void
readServerStatusAndSaveCache
()
{
String
text
=
readFileFirstLine
(
VompCatalogs
.
SERVERSTATUS
.
getName
());
ServerStatus
[]
serverStatusArrays
=
JacksonUtil
.
readValue
(
text
,
ServerStatus
[].
class
);
List
<
ServerStatus
>
serverStatusList
=
Lists
.
newArrayList
();
if
(
serverStatusArrays
!=
null
)
{
serverStatusList
=
Arrays
.
asList
(
serverStatusArrays
);
}
transCache
.
setServerStatusList
(
serverStatusList
);
}
private
void
readZoneAndSaveCache
()
{
String
text
=
readFileFirstLine
(
VompCatalogs
.
ZONE
.
getName
());
Zone
[]
zoneArrays
=
JacksonUtil
.
readValue
(
text
,
Zone
[].
class
);
List
<
Zone
>
zoneList
=
Lists
.
newArrayList
();
if
(
zoneArrays
!=
null
)
{
zoneList
=
Arrays
.
asList
(
zoneArrays
);
}
transCache
.
setZoneList
(
zoneList
);
}
/**
* Local Data
*/
private
void
updateAllData
()
{
updateVompAlarmDl
();
updateVompHandingInfoDl
();
updateVompPcInfoDl
();
updateVompStatusDl
();
updateZoneDl
();
}
private
void
updateVompAlarmDl
()
{
List
<
VompAlarm
>
alarmList4Save
=
getAlarmList
();
alarmRepository
.
save
(
alarmList4Save
);
log
.
info
(
"[vomp] VompAlarm更新了{}条数据"
,
alarmList4Save
.
size
());
}
private
void
updateVompHandingInfoDl
()
{
List
<
VompHandingInfo
>
handingInfoList4Save
=
getHandingInfoList
();
handingInfoRepository
.
save
(
handingInfoList4Save
);
log
.
info
(
"[vomp] VompHandingInfo更新了{}条数据"
,
handingInfoList4Save
.
size
());
}
private
void
updateVompPcInfoDl
()
{
List
<
VompPcInfo
>
pcInfoList4Save
=
getPcInfoList
();
pcInfoRepository
.
save
(
pcInfoList4Save
);
log
.
info
(
"[vomp] VompPcInfo更新了{}条数据"
,
pcInfoList4Save
.
size
());
}
private
void
updateVompStatusDl
()
{
List
<
VompStatus
>
statusList4Save
=
getStatusList
();
statusRepository
.
save
(
statusList4Save
);
log
.
info
(
"[vomp] VompStatus更新了{}条数据"
,
statusList4Save
.
size
());
}
private
void
updateZoneDl
()
{
List
<
VompZone
>
zoneList4Save
=
getZoneList
();
zoneRepository
.
save
(
zoneList4Save
);
log
.
info
(
"[vomp] VompZone更新了{}条数据"
,
zoneList4Save
.
size
());
}
/**
* VompAlarm
*/
private
List
<
VompAlarm
>
getAlarmList
()
{
List
<
VompAlarm
>
vompAlarmList
=
Lists
.
newArrayList
();
transCache
.
getChkStates_PcLog_Map
().
forEach
((
chkstates
,
pcLogs
)
->
pcLogs
.
forEach
(
pclog
->
vompAlarmList
.
add
(
transHelper
.
transToVompAlarm
(
chkstates
,
pclog
))));
return
vompAlarmList
;
}
/**
* VompHandingInfo
*/
private
List
<
VompHandingInfo
>
getHandingInfoList
()
{
List
<
VompHandingInfo
>
vompHandingInfoList
=
Lists
.
newArrayList
();
transCache
.
getChkStates_ChkRoutes_Map
().
forEach
((
chkstates
,
chkRoutes
)
->
chkRoutes
.
forEach
(
chkRoute
->
vompHandingInfoList
.
add
(
transHelper
.
transToHandingInfo
(
chkstates
,
chkRoute
))));
return
vompHandingInfoList
;
}
/**
* VompPcInfo
*/
private
List
<
VompPcInfo
>
getPcInfoList
()
{
List
<
VompPcInfo
>
vompPcInfoList
=
Lists
.
newArrayList
();
transCache
.
getZone_PcLog_Map
().
forEach
((
zone
,
pcLogList
)
->
vompPcInfoList
.
add
(
transHelper
.
transToVompPcInfoVo
(
zone
,
pcLogList
)));
return
vompPcInfoList
;
}
/**
* Status
*/
private
List
<
VompStatus
>
getStatusList
()
{
return
transCache
.
getServerStatusList
().
stream
()
.
map
(
transHelper:
:
transToStatus
)
.
collect
(
Collectors
.
toList
());
}
/**
* VompZone
*/
private
List
<
VompZone
>
getZoneList
()
{
return
transCache
.
getZoneList
().
stream
()
.
map
(
transHelper:
:
transToVompZone
)
.
map
(
transHelper:
:
addParentZoneName
)
.
map
(
transHelper:
:
addGrandParentZoneName
)
.
collect
(
Collectors
.
toList
());
}
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/service/updater/impl/VompDataRdUpdater.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
service
.
updater
.
impl
;
import
com.google.common.collect.Lists
;
import
com.zjty.fp.acq.misc.utils.FileReader
;
import
com.zjty.fp.acq.misc.utils.JacksonUtil
;
import
com.zjty.fp.acq.vomp.base.enums.VompCatalogs
;
import
com.zjty.fp.acq.vomp.base.enums.VompPlatform
;
import
com.zjty.fp.acq.vomp.subject.entity.localdo.*
;
import
com.zjty.fp.acq.vomp.subject.entity.remotedo.*
;
import
com.zjty.fp.acq.vomp.subject.repository.local.*
;
import
com.zjty.fp.acq.vomp.subject.service.api.VompTransHelper
;
import
com.zjty.fp.acq.vomp.subject.service.cache.VompTransCache
;
import
com.zjty.fp.acq.vomp.subject.service.updater.VompUpdater
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
/**
* <p>Description : fp-fp
* <p>Date : 2018/11/20 10:18
* <p>@author : C
* Rd意为Read。该组件的同步数据模式为直接读取文件然后解析保存。
*/
@SuppressWarnings
({
"SpringAutowiredFieldsWarningInspection"
,
"Duplicates"
})
@Service
@Slf4j
public
class
VompDataRdUpdater
implements
VompUpdater
{
@Autowired
VompTransCache
transCache
;
@Autowired
VompTransHelper
transHelper
;
@Autowired
FileReader
fileReader
;
@Autowired
VompAlarmRepository
alarmRepository
;
@Autowired
VompHandingInfoRepository
handingInfoRepository
;
@Autowired
VompPcInfoRepository
pcInfoRepository
;
@Autowired
VompStatusRepository
statusRepository
;
@Autowired
VompZoneRepository
zoneRepository
;
@Override
public
void
updateData
()
{
//read file & parse & save to cache
readAllFilesAndSaveCache
();
//trans date to local format & save
updateAllData
();
log
.
info
(
"[vomp] 数据更新完毕"
);
}
/*
<Private Methods Area>
*/
/**
* Remote Data
*/
private
void
readAllFilesAndSaveCache
()
{
readChkRoutesAndSaveCache
();
readChkStatesAndSaveCache
();
readPcLogAndSaveCache
();
readServerStatusAndSaveCache
();
readZoneAndSaveCache
();
}
private
String
readFileFirstLine
(
String
catalog
)
{
Optional
<
String
>
firstLine
=
fileReader
.
readFileData
(
VompPlatform
.
PLATFORM
.
getName
(),
catalog
).
stream
().
findFirst
();
return
firstLine
.
orElse
(
""
);
}
private
void
readChkRoutesAndSaveCache
()
{
String
text
=
readFileFirstLine
(
VompCatalogs
.
CHKROUTES
.
getName
());
ChkRoutes
[]
chkRoutesArrays
=
JacksonUtil
.
readValue
(
text
,
ChkRoutes
[].
class
);
List
<
ChkRoutes
>
chkRoutesList
=
Lists
.
newArrayList
();
if
(
chkRoutesArrays
!=
null
)
{
chkRoutesList
=
Arrays
.
asList
(
chkRoutesArrays
);
}
transCache
.
setChkRoutesList
(
chkRoutesList
);
}
private
void
readChkStatesAndSaveCache
()
{
String
text
=
readFileFirstLine
(
VompCatalogs
.
CHKSTATES
.
getName
());
ChkStates
[]
chkStatesArrays
=
JacksonUtil
.
readValue
(
text
,
ChkStates
[].
class
);
List
<
ChkStates
>
chkStatesList
=
Lists
.
newArrayList
();
if
(
chkStatesArrays
!=
null
)
{
chkStatesList
=
Arrays
.
asList
(
chkStatesArrays
);
}
transCache
.
setChkStatesList
(
chkStatesList
);
}
private
void
readPcLogAndSaveCache
()
{
String
text
=
readFileFirstLine
(
VompCatalogs
.
PCLOG
.
getName
());
PcLog
[]
pcLogArrays
=
JacksonUtil
.
readValue
(
text
,
PcLog
[].
class
);
List
<
PcLog
>
pcLogList
=
Lists
.
newArrayList
();
if
(
pcLogArrays
!=
null
)
{
pcLogList
=
Arrays
.
asList
(
pcLogArrays
);
}
transCache
.
setPcLogList
(
pcLogList
);
}
private
void
readServerStatusAndSaveCache
()
{
String
text
=
readFileFirstLine
(
VompCatalogs
.
SERVERSTATUS
.
getName
());
ServerStatus
[]
serverStatusArrays
=
JacksonUtil
.
readValue
(
text
,
ServerStatus
[].
class
);
List
<
ServerStatus
>
serverStatusList
=
Lists
.
newArrayList
();
if
(
serverStatusArrays
!=
null
)
{
serverStatusList
=
Arrays
.
asList
(
serverStatusArrays
);
}
transCache
.
setServerStatusList
(
serverStatusList
);
}
private
void
readZoneAndSaveCache
()
{
String
text
=
readFileFirstLine
(
VompCatalogs
.
ZONE
.
getName
());
Zone
[]
zoneArrays
=
JacksonUtil
.
readValue
(
text
,
Zone
[].
class
);
List
<
Zone
>
zoneList
=
Lists
.
newArrayList
();
if
(
zoneArrays
!=
null
)
{
zoneList
=
Arrays
.
asList
(
zoneArrays
);
}
transCache
.
setZoneList
(
zoneList
);
}
/**
* Local Data
*/
private
void
updateAllData
()
{
updateVompAlarmDl
();
updateVompHandingInfoDl
();
updateVompPcInfoDl
();
updateVompStatusDl
();
updateZoneDl
();
}
private
void
updateVompAlarmDl
()
{
List
<
VompAlarm
>
alarmList4Save
=
getAlarmList
();
alarmRepository
.
save
(
alarmList4Save
);
log
.
info
(
"[vomp] VompAlarm更新了{}条数据"
,
alarmList4Save
.
size
());
}
private
void
updateVompHandingInfoDl
()
{
List
<
VompHandingInfo
>
handingInfoList4Save
=
getHandingInfoList
();
handingInfoRepository
.
save
(
handingInfoList4Save
);
log
.
info
(
"[vomp] VompHandingInfo更新了{}条数据"
,
handingInfoList4Save
.
size
());
}
private
void
updateVompPcInfoDl
()
{
List
<
VompPcInfo
>
pcInfoList4Save
=
getPcInfoList
();
pcInfoRepository
.
save
(
pcInfoList4Save
);
log
.
info
(
"[vomp] VompPcInfo更新了{}条数据"
,
pcInfoList4Save
.
size
());
}
private
void
updateVompStatusDl
()
{
List
<
VompStatus
>
statusList4Save
=
getStatusList
();
statusRepository
.
save
(
statusList4Save
);
log
.
info
(
"[vomp] VompStatus更新了{}条数据"
,
statusList4Save
.
size
());
}
private
void
updateZoneDl
()
{
List
<
VompZone
>
zoneList4Save
=
getZoneList
();
zoneRepository
.
save
(
zoneList4Save
);
log
.
info
(
"[vomp] VompZone更新了{}条数据"
,
zoneList4Save
.
size
());
}
/**
* VompAlarm
*/
private
List
<
VompAlarm
>
getAlarmList
()
{
List
<
VompAlarm
>
vompAlarmList
=
Lists
.
newArrayList
();
transCache
.
getChkStates_PcLog_Map
().
forEach
((
chkstates
,
pcLogs
)
->
pcLogs
.
forEach
(
pclog
->
vompAlarmList
.
add
(
transHelper
.
transToVompAlarm
(
chkstates
,
pclog
))));
return
vompAlarmList
;
}
/**
* VompHandingInfo
*/
private
List
<
VompHandingInfo
>
getHandingInfoList
()
{
List
<
VompHandingInfo
>
vompHandingInfoList
=
Lists
.
newArrayList
();
transCache
.
getChkStates_ChkRoutes_Map
().
forEach
((
chkstates
,
chkRoutes
)
->
chkRoutes
.
forEach
(
chkRoute
->
vompHandingInfoList
.
add
(
transHelper
.
transToHandingInfo
(
chkstates
,
chkRoute
))));
return
vompHandingInfoList
;
}
/**
* VompPcInfo
*/
private
List
<
VompPcInfo
>
getPcInfoList
()
{
List
<
VompPcInfo
>
vompPcInfoList
=
Lists
.
newArrayList
();
transCache
.
getZone_PcLog_Map
().
forEach
((
zone
,
pcLogList
)
->
vompPcInfoList
.
add
(
transHelper
.
transToVompPcInfoVo
(
zone
,
pcLogList
)));
return
vompPcInfoList
;
}
/**
* Status
*/
private
List
<
VompStatus
>
getStatusList
()
{
return
transCache
.
getServerStatusList
().
stream
()
.
map
(
transHelper:
:
transToStatus
)
.
collect
(
Collectors
.
toList
());
}
/**
* VompZone
*/
private
List
<
VompZone
>
getZoneList
()
{
return
transCache
.
getZoneList
().
stream
()
.
map
(
transHelper:
:
transToVompZone
)
.
map
(
transHelper:
:
addParentZoneName
)
.
map
(
transHelper:
:
addGrandParentZoneName
)
.
collect
(
Collectors
.
toList
());
}
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/service/updater/impl/VompFetcherImpl.java
浏览文件 @
d3f8c6c3
...
...
@@ -38,7 +38,7 @@ public class VompFetcherImpl implements VompFetcher {
uploadZone
();
}
private
void
createFileThen
UploadToFtp
(
String
catalog
,
String
data
){
private
void
createFileThen
SaveFile
(
String
catalog
,
String
data
){
String
subName
=
PLATFORM
.
getName
();
fileCreator
.
createFile
(
subName
,
catalog
,
data
);
log
.
info
(
"[{}] {}写入完毕"
,
subName
,
catalog
);
...
...
@@ -46,28 +46,28 @@ public class VompFetcherImpl implements VompFetcher {
private
void
uploadChkRoutes
()
{
String
data
=
JacksonUtil
.
toJSon
(
chkRoutesRepository
.
findAll
());
createFileThen
UploadToFtp
(
CHKROUTES
.
getName
(),
data
);
createFileThen
SaveFile
(
CHKROUTES
.
getName
(),
data
);
}
private
void
uploadChkStates
()
{
String
data
=
JacksonUtil
.
toJSon
(
chkStatesRepository
.
findAll
());
createFileThen
UploadToFtp
(
CHKSTATES
.
getName
(),
data
);
createFileThen
SaveFile
(
CHKSTATES
.
getName
(),
data
);
}
private
void
uploadPcLog
()
{
String
data
=
JacksonUtil
.
toJSon
(
pcLogRepository
.
findAll
());
createFileThen
UploadToFtp
(
PCLOG
.
getName
(),
data
);
createFileThen
SaveFile
(
PCLOG
.
getName
(),
data
);
}
private
void
uploadServerStatus
()
{
String
data
=
JacksonUtil
.
toJSon
(
serverStatusRepository
.
findAll
());
createFileThen
UploadToFtp
(
SERVERSTATUS
.
getName
(),
data
);
createFileThen
SaveFile
(
SERVERSTATUS
.
getName
(),
data
);
}
private
void
uploadZone
()
{
String
data
=
JacksonUtil
.
toJSon
(
zoneRepository
.
findAll
());
createFileThen
UploadToFtp
(
ZONE
.
getName
(),
data
);
createFileThen
SaveFile
(
ZONE
.
getName
(),
data
);
}
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/subject/service/updater/impl/VompMapUpdater.java
deleted
100644 → 0
浏览文件 @
ce06929c
package
com
.
zjty
.
fp
.
acq
.
vomp
.
subject
.
service
.
updater
.
impl
;
import
com.zjty.fp.acq.vomp.subject.entity.localdo.VompZone
;
import
com.zjty.fp.acq.vomp.subject.repository.local.VompZoneRepository
;
import
com.zjty.fp.acq.vomp.subject.service.cache.VompTransCache
;
import
com.zjty.fp.acq.vomp.subject.service.updater.VompUpdater
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* <p>Description : fusion-platform
* <p>Date : 2018/12/28 15:27
* <p>@author : C
*/
@SuppressWarnings
(
"SpringAutowiredFieldsWarningInspection"
)
@Slf4j
@Service
public
class
VompMapUpdater
implements
VompUpdater
{
@Autowired
VompZoneRepository
zoneRepository
;
@Autowired
VompTransCache
transCache
;
@Override
public
void
updateData
()
{
transCache
.
setZoneId_ParentZoneId_Map
(
createZoneIdToParentZoneIdMap
());
transCache
.
setZoneId_ZoneName_Map
(
createZoneIdToZoneNameMap
());
log
.
info
(
"[vomp] 更新了数据映射关系Map"
);
}
private
Map
<
String
,
String
>
createZoneIdToParentZoneIdMap
()
{
return
zoneRepository
.
findAll
().
stream
().
collect
(
Collectors
.
toMap
(
VompZone:
:
getZoneId
,
VompZone:
:
getParentId
));
}
private
Map
<
String
,
String
>
createZoneIdToZoneNameMap
()
{
return
zoneRepository
.
findAll
().
stream
().
collect
(
Collectors
.
toMap
(
VompZone:
:
getZoneId
,
VompZone:
:
getZoneName
));
}
}
acq-vomp/src/main/java/com/zjty/fp/acq/vomp/task/VompTasks.java
浏览文件 @
d3f8c6c3
package
com
.
zjty
.
fp
.
acq
.
vomp
.
task
;
import
com.zjty.fp.acq.vomp.subject.service.updater.VompFetcher
;
import
com.zjty.fp.acq.vomp.subject.service.updater.impl.*
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
...
...
@@ -24,42 +23,11 @@ public class VompTasks {
VompFetcher
vompFetcher
;
/**
*
以直连数据库模式更新文件的工具类
*
60分钟执行一次 采集
*/
@Autowired
VompDataDbUpdater
dataDbUpdater
;
/**
* 以从FTP下载文件并读取的模式更新文件的工具类
*/
@Autowired
VompDataDlUpdater
dataDlUpdater
;
/**
* 以读取文件模式更新文件的工具类
*/
@Autowired
VompDataRdUpdater
dataRdUpdater
;
/**
* 更新缓存数据的工具类
*/
@Autowired
VompMapUpdater
mapUpdater
;
/**
* 60分钟执行一次 读取
*/
// @Scheduled(initialDelay = 4000, fixedRate = 60000 * 60)
@Scheduled
(
initialDelay
=
4000
,
fixedRate
=
60000
*
60
)
public
void
updateData
()
{
dataDbUpdater
.
updateData
();
mapUpdater
.
updateData
();
vompFetcher
.
fetchData
();
}
/**
* 3分钟执行一次
*/
// @Scheduled(initialDelay = 4000, fixedRate = 60000 * 3)
public
void
updateRedisData
()
{
log
.
info
(
"[vomp] 开始更新缓存数据"
);
mapUpdater
.
updateData
();
log
.
info
(
"[vomp] 更新缓存数据完毕"
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论