From b432c7e1482e1ba137249ba711b9c9353c45935d Mon Sep 17 00:00:00 2001 From: huangfeng Date: Fri, 25 Apr 2025 09:29:00 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E8=B0=83=E6=95=B4=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E5=89=8D=E5=90=8E=E6=97=B6=E9=97=B4=E8=AF=AF?= =?UTF-8?q?=E5=B7=AE=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xymanager_common/constant/Constants.java | 2 -- .../dto/ScheduleDetailsDto.java | 17 ++++++++++++----- .../entity/CameraSchedule.java | 8 -------- .../xymanager_common/model/StatChannel.java | 3 --- .../xymanager_common/model/StatPreset.java | 18 ++++++++++++++++-- .../shxy/xymanager_common/model/StatTerm.java | 1 - .../impl/CameraScheduleServiceImpl.java | 4 ---- 7 files changed, 28 insertions(+), 25 deletions(-) diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/constant/Constants.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/constant/Constants.java index 2c441ab..8f9763f 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/constant/Constants.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/constant/Constants.java @@ -218,6 +218,4 @@ public class Constants { public static ConcurrentHashMap scheduleRequestMap = new ConcurrentHashMap<>(); public static HashMap scheduleRequestDoneMap = new HashMap<>(); - public static final Integer Photo_Schedule_Delay = 3; - } \ No newline at end of file diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/ScheduleDetailsDto.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/ScheduleDetailsDto.java index a72cdb0..88e05f2 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/ScheduleDetailsDto.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/ScheduleDetailsDto.java @@ -37,13 +37,20 @@ public class ScheduleDetailsDto implements Serializable { return hour * 60 + minute; } - public boolean match(int min, int delay) { + public boolean match(int min, int before, int delay) { int cal = this.calMinute(); - int r = Math.abs(min - cal); - if (r <= delay) { - return true; + if (cal >= min) { + if (cal - min <= before) { + return true; + } else { + return false; + } } else { - return false; + if (min - cal <= delay) { + return true; + } else { + return false; + } } } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/CameraSchedule.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/CameraSchedule.java index e3e0276..b8cdaa3 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/CameraSchedule.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/CameraSchedule.java @@ -171,7 +171,6 @@ public class CameraSchedule { } private List list; - private Integer delay; public List getList() { return list; @@ -181,11 +180,4 @@ public class CameraSchedule { this.list = list; } - public Integer getDelay() { - return delay; - } - - public void setDelay(Integer delay) { - this.delay = delay; - } } \ No newline at end of file diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatChannel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatChannel.java index e271a3d..e531a1a 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatChannel.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatChannel.java @@ -10,7 +10,6 @@ import java.util.List; @Data public class StatChannel { Integer channelId; - Integer delay; List presets = new ArrayList<>(); public void addPhoto(TerminalPhotoSelectListModel.PhotoBean photo) { @@ -24,7 +23,6 @@ public class StatChannel { if (the == null) { the = new StatPreset(); the.setPresetId(photo.getPresetId()); - the.setDelay(delay); presets.add(the); } the.addPhoto(photo); @@ -65,7 +63,6 @@ public class StatChannel { if (the == null) { the = new StatPreset(); the.setPresetId(presetId); - the.setDelay(delay); presets.add(the); } the.addSchedule(detail); diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatPreset.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatPreset.java index 7e4ccce..723ca1f 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatPreset.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatPreset.java @@ -11,7 +11,6 @@ import java.util.List; @Data public class StatPreset { Integer presetId; - Integer delay; Integer total = 0; List scheduleList = new ArrayList<>(); List timeList = new ArrayList<>(); @@ -23,8 +22,23 @@ public class StatPreset { int minute = calendar.get(Calendar.MINUTE); minute = hour * 60 + minute; total++; + int before = 1; + int delay = 1; + if (scheduleList.size() < 49) { + before = 2; + delay = 25; + } else if (scheduleList.size() < 145) { + before = 1; + delay = 8; + } else if (scheduleList.size() < 289) { + before = 1; + delay = 3; + } else { + before = 0; + delay = 0; + } for (ScheduleDetailsDto detail : scheduleList) { - if (detail.match(minute, delay)) { + if (detail.match(minute, before, delay)) { detail.getTimeList().add(photo.getPhotoTime()); return; } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatTerm.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatTerm.java index 8054019..d2c9f62 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatTerm.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatTerm.java @@ -63,7 +63,6 @@ public class StatTerm { if (the == null) { the = new StatChannel(); the.setChannelId(schedule.getChannelId()); - the.setDelay(schedule.getDelay()); channels.add(the); } the.initScheduleList(schedule.getList()); diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CameraScheduleServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CameraScheduleServiceImpl.java index 7550921..09e004c 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CameraScheduleServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CameraScheduleServiceImpl.java @@ -18,9 +18,6 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; -import static com.shxy.xymanager_common.constant.Constants.Photo_Schedule_Delay; - - @Service @Slf4j @Transactional(rollbackFor = Exception.class) @@ -73,7 +70,6 @@ public class CameraScheduleServiceImpl implements CameraScheduleService { } private void processData(CameraSchedule item) throws Exception { - item.setDelay(Photo_Schedule_Delay); if (StringUtils.isNotBlank(item.getData())) { CameraScheduleModel model = JSONUtil.json2Object(item.getData(), CameraScheduleModel.class); List list = model.getGroupData();