From 36dd5e7edf18d0ab0e0d57ed960bdbd8aa770c40 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 13 一月 2025 13:52:32 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/RedPackegeSetController.java | 22 +++++++++++++++++++--- 1 files changed, 19 insertions(+), 3 deletions(-) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/RedPackegeSetController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/RedPackegeSetController.java index 98df583..d70cbd1 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/RedPackegeSetController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/RedPackegeSetController.java @@ -66,11 +66,11 @@ @PostMapping("/addRedPackegeSet") @Transactional(rollbackFor = Exception.class) public R<Void> addRedPackegeSet(@RequestBody RedPackegeSetDto redPackegeSets){ - redPackegeSetService.remove(null); List<RedPackegeSet> redPackegeSetList = redPackegeSets.getRedPackegeSets(); if (hasOverlap(redPackegeSetList)) { - R.fail("时间段存在重叠,请重新配置"); + return R.fail("时间段存在重叠,请重新配置"); } + redPackegeSetService.remove(null); redPackegeSetService.saveBatch(redPackegeSetList); return R.ok(); } @@ -85,7 +85,7 @@ return R.ok(); } - private boolean hasOverlap(List<RedPackegeSet> redPackegeSetList) { + public static boolean hasOverlap(List<RedPackegeSet> redPackegeSetList) { // 首先根据startTime对列表进行排序 Collections.sort(redPackegeSetList, Comparator.comparing(RedPackegeSet::getStartTime)); @@ -104,6 +104,22 @@ return false; } + public static void main(String[] args) { + // 示例数据 + RedPackegeSet redPackegeSet = new RedPackegeSet(); + redPackegeSet.setStartTime(LocalDateTime.of(2025, 1, 13, 0, 0)); + redPackegeSet.setEndTime(LocalDateTime.of(2025, 1, 14, 0, 0)); + + RedPackegeSet redPackegeSet2 = new RedPackegeSet(); + redPackegeSet2.setStartTime(LocalDateTime.of(2025, 1, 13, 0, 0)); + redPackegeSet2.setEndTime(LocalDateTime.of(2025, 1, 14, 0, 0)); + List<RedPackegeSet> redPackegeSetList = Arrays.asList( + redPackegeSet,redPackegeSet2 + ); + + boolean overlapExists = hasOverlap(redPackegeSetList); + System.out.println("是否存在重叠: " + overlapExists); + } -- Gitblit v1.7.1