Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-operate-sys-cscec
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
fulixin
dsk-operate-sys-cscec
Commits
e69bf8f4
Commit
e69bf8f4
authored
Dec 21, 2023
by
Administrator
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
-
Signed-off-by:
Administrator
<
admin@example.com
>
parent
cbc3e5d2
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
157 additions
and
52 deletions
+157
-52
application.yml
dsk-admin/src/main/resources/application.yml
+2
-0
DateUtils.java
dsk-common/src/main/java/com/dsk/common/utils/DateUtils.java
+27
-0
PushScheduling.java
...api/src/main/java/com/dsk/monitor/job/PushScheduling.java
+104
-50
MonitorService.java
...src/main/java/com/dsk/monitor/service/MonitorService.java
+10
-1
MonitorServiceImpl.java
...java/com/dsk/monitor/service/impl/MonitorServiceImpl.java
+14
-1
No files found.
dsk-admin/src/main/resources/application.yml
View file @
e69bf8f4
...
...
@@ -171,6 +171,8 @@ tenant:
-
advisory_body_custom_form
-
dim_area
-
biz_dict_data
-
push_monitor_rules
-
push_monitor_info
# MyBatisPlus配置
...
...
dsk-common/src/main/java/com/dsk/common/utils/DateUtils.java
View file @
e69bf8f4
...
...
@@ -12,6 +12,7 @@ import java.time.LocalDateTime;
import
java.time.LocalTime
;
import
java.time.ZoneId
;
import
java.time.ZonedDateTime
;
import
java.util.Calendar
;
import
java.util.Date
;
/**
...
...
@@ -191,4 +192,30 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
int
year
=
localDate
.
getHour
();
return
year
;
}
/**
* 获取小时前后日期
* @param date
* @param hours
* @return
*/
public
static
Date
addDays
(
Date
date
,
int
hours
)
{
return
org
.
apache
.
commons
.
lang3
.
time
.
DateUtils
.
addHours
(
date
,
hours
);
}
/***
*@Description: yyyy-MM-dd HH:mm:ss
*@Param:
*@return: java.lang.String
*@Author: Dgm
*@date: 2023/12/21 18:23
*/
public
static
String
format
(
Date
date
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
if
(
date
!=
null
)
{
calendar
.
setTime
(
date
);
}
return
new
SimpleDateFormat
(
YYYY_MM_DD_HH_MM_SS
).
format
(
calendar
.
getTime
());
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/monitor/job/PushScheduling.java
View file @
e69bf8f4
//package com.dsk.monitor.job;
//
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.dsk.common.utils.DateUtils;
//import com.dsk.monitor.domain.dto.PushMonitorRules;
//import com.dsk.monitor.mapper.PushMonitorInfoMapper;
//import com.dsk.monitor.mapper.PushMonitorRulesMapper;
//import com.dsk.monitor.util.SendMessageUtil;
//import org.springframework.scheduling.annotation.Scheduled;
//
//import javax.annotation.Resource;
//
///**
// * @ClassName PushScheduling
// * @Description 发送短信
// * @Author Dgm
// * @Date 2023/12/9 13:51
// * @Version
// */
//public class PushScheduling {
//
// @Resource
// private PushMonitorInfoMapper monitorInfoMapper;
//
// @Resource
// private PushMonitorRulesMapper rulesMapper;
//
// @Scheduled(cron = "0 0 5 * * * ?")
// public void receiveModePhone() {
// // 获取当前整点时间
// Integer concurrentHour = DateUtils.getHour();
// QueryWrapper queryWrapper = new QueryWrapper();
// PushMonitorRules detail = rulesMapper.selectOne(queryWrapper);
// // 推送时段-起
// Integer timePeriodStart = detail.getTimePeriodStart();
// // 推送时段-止
// Integer timePeriodEnd = detail.getTimePeriodEnd();
// if (concurrentHour > timePeriodStart && concurrentHour < timePeriodEnd) {
// QueryWrapper monitorInfoWrapper = new QueryWrapper();
// // 风险类型
package
com
.
dsk
.
monitor
.
job
;
import
cn.hutool.core.date.DateUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.dsk.common.tenant.helper.TenantHelper
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.monitor.domain.dto.PushMonitorRules
;
import
com.dsk.monitor.domain.vo.ConditionVo
;
import
com.dsk.monitor.domain.vo.PushMonitorDynamicPageVo
;
import
com.dsk.monitor.mapper.PushMonitorInfoMapper
;
import
com.dsk.monitor.mapper.PushMonitorRulesMapper
;
import
com.dsk.monitor.service.MonitorService
;
import
com.dsk.monitor.util.SendMessageUtil
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
/**
* @ClassName PushScheduling
* @Description 发送短信
* @Author Dgm
* @Date 2023/12/9 13:51
* @Version
*/
@Component
public
class
PushScheduling
{
@Resource
private
MonitorService
monitorService
;
@Resource
private
PushMonitorInfoMapper
monitorInfoMapper
;
@Resource
private
PushMonitorRulesMapper
rulesMapper
;
// @Scheduled(cron = "0 0/2 * * * ?")
@Scheduled
(
cron
=
"0 0 * * * ?"
)
public
void
receiveModePhone
()
throws
Exception
{
// 是否是周末
boolean
isWeekend
=
DateUtil
.
isWeekend
(
new
Date
());
String
aa
=
DateUtil
.
now
();
TenantHelper
.
setTenantId
(
"1"
);
// 获取当前整点时间
Integer
concurrentHour
=
DateUtils
.
getHour
();
QueryWrapper
<
PushMonitorRules
>
queryWrapper
=
new
QueryWrapper
();
List
<
PushMonitorRules
>
detailList
=
rulesMapper
.
selectList
(
queryWrapper
);
for
(
PushMonitorRules
detail
:
detailList
)
{
// 推送时段-起
String
timePeriodStart
=
detail
.
getTimePeriodStart
();
timePeriodStart
=
timePeriodStart
.
substring
(
0
,
2
);
if
(
timePeriodStart
.
contains
(
"0"
))
{
timePeriodStart
=
timePeriodStart
.
substring
(
1
,
2
);
}
// 推送时段-止
String
timePeriodEnd
=
detail
.
getTimePeriodEnd
();
timePeriodEnd
=
timePeriodEnd
.
substring
(
0
,
2
);
if
(
timePeriodEnd
.
contains
(
"0"
))
{
timePeriodEnd
=
timePeriodEnd
.
substring
(
1
,
2
);
}
Integer
pushFrequency
=
detail
.
getPushFrequency
();
if
(
pushFrequency
>
1
)
{
if
(
isWeekend
)
{
continue
;
}
}
Integer
timeStart
=
Integer
.
valueOf
(
timePeriodStart
);
Integer
timeEnd
=
Integer
.
valueOf
(
timePeriodEnd
);
if
(
concurrentHour
>=
timeStart
&&
concurrentHour
<=
timeEnd
)
{
QueryWrapper
monitorInfoWrapper
=
new
QueryWrapper
();
// 风险类型
// monitorInfoWrapper.in("risk_type", detail.getRiskType());
// // 监控维度
// monitorInfoWrapper.in("dimension", detail.getDimension());
// Long count = monitorInfoMapper.selectCount(monitorInfoWrapper);
// if (count >0 ) {
// SendMessageUtil.sendMessage(detail.getPhones(), count.toString());
// }
// }
// }
//}
PushMonitorDynamicPageVo
pageVo
=
new
PushMonitorDynamicPageVo
();
pageVo
.
setUserId
(
detail
.
getUserId
());
ConditionVo
vo
=
new
ConditionVo
();
// 截止时间
vo
.
setEndTime
(
DateUtils
.
getDate
());
vo
.
setBeginTime
(
DateUtils
.
format
(
DateUtils
.
addDays
(
new
Date
(),-
1
)));
// 监控维度
vo
.
setDimension
(
getDimension
(
detail
.
getDimension
()));
vo
.
setUserId
(
detail
.
getUserId
());
pageVo
.
setCondition
(
vo
);;
Integer
count
=
monitorService
.
companyDynamicPage2
(
pageVo
);
if
(
count
>
0
)
{
SendMessageUtil
.
sendMessage
(
detail
.
getPhones
(),
count
.
toString
());
}
}
}
}
public
List
<
String
>
getDimension
(
String
dimension
)
{
List
<
String
>
dimensionList
=
Arrays
.
asList
(
dimension
.
split
(
","
));
return
dimensionList
;
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/monitor/service/MonitorService.java
View file @
e69bf8f4
...
...
@@ -52,7 +52,7 @@ public interface MonitorService {
/***
*@Description: 监控动态
/监控报告
分页
*@Description: 监控动态 分页
*@Param: pageVo 信息
*@return: R
*@Author: Dgm
...
...
@@ -60,6 +60,15 @@ public interface MonitorService {
*/
TableDataInfo
companyDynamicPage
(
PushMonitorDynamicPageVo
pageVo
)
throws
Exception
;
/***
*@Description: 监控动态分页(定时任务使用)
*@Param: pageVo 信息
*@return: R
*@Author: Dgm
*@date: 2023/12/9 10:03
*/
Integer
companyDynamicPage2
(
PushMonitorDynamicPageVo
pageVo
)
throws
Exception
;
/***
*@Description: 监控报告
*@Param: pageVo 信息
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/monitor/service/impl/MonitorServiceImpl.java
View file @
e69bf8f4
...
...
@@ -14,6 +14,7 @@ import com.dsk.monitor.mapper.PushMonitorRulesMapper;
import
com.dsk.monitor.service.MonitorService
;
import
com.dsk.system.utils.DskOpenApiUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.poi.ss.usermodel.Cell
;
import
org.apache.poi.ss.usermodel.Sheet
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
...
...
@@ -92,7 +93,6 @@ public class MonitorServiceImpl implements MonitorService {
@Override
public
TableDataInfo
companyDynamicPage
(
PushMonitorDynamicPageVo
pageVo
)
throws
Exception
{
pageVo
.
setPageSize
(
3
);
Long
userId
=
LoginHelper
.
getUserId
();
if
(
ObjectUtil
.
isNotEmpty
(
userId
))
{
pageVo
.
setUserId
(
userId
);
...
...
@@ -103,6 +103,19 @@ public class MonitorServiceImpl implements MonitorService {
return
dskOpenApiUtil
.
responsePageT
(
map
);
}
@Override
public
Integer
companyDynamicPage2
(
PushMonitorDynamicPageVo
pageVo
)
throws
Exception
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/monitor/company/info/companyDynamicList"
,
BeanUtil
.
beanToMap
(
pageVo
,
false
,
false
));
log
.
info
(
"companyDynamicPage=============================>"
+
map
);
Integer
code
=
MapUtils
.
getInteger
(
map
,
"code"
,
300
);
Map
data
=
MapUtils
.
getMap
(
map
,
"data"
,
null
);
Integer
count
=
0
;
if
(
code
.
equals
(
200
))
{
count
=
MapUtils
.
getInteger
(
data
,
"totalCount"
,
0
);
}
return
count
;
}
@Override
public
TableDataInfo
reportPage
(
PushMonitorReportPageVo
pageVo
)
throws
Exception
{
Long
userId
=
LoginHelper
.
getUserId
();
...
...
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