From c90a8ac772937f8f084356ea1f04c5dba1d9e5d5 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期五, 24 一月 2025 11:15:33 +0800
Subject: [PATCH] 12.18

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/RedPackegeSetController.java |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 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..547ad0b 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
@@ -33,7 +33,7 @@
     private RedPackegeSetService redPackegeSetService;
     //获取当前生效的红包设置
     @ResponseBody
-    @GetMapping("/get")
+    @PostMapping("/get")
     public R<BigDecimal> get(){
         LocalDateTime now = LocalDateTime.now();
         RedPackegeSet one = redPackegeSetService.lambdaQuery().le(RedPackegeSet::getStartTime, now).ge(RedPackegeSet::getEndTime, now).one();
@@ -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