Răsfoiți Sursa

bugfix:
1、时间线生成无冲突场景数据异常问题

lihao16 5 luni în urmă
părinte
comite
fb258e9ee6

+ 7 - 6
smsb-modules/smsb-source/src/main/java/com/inspur/source/service/impl/SmsbItemPushServiceImpl.java

@@ -553,20 +553,21 @@ public class SmsbItemPushServiceImpl implements ISmsbItemPushService {
                         continue;
                     }
                     SmsbItemPushPlayline oneNeedAdd = new SmsbItemPushPlayline();
+                    // 开始时间向前偏移100毫秒
+                    Date existStartOffset = DateUtil.offset(existTimeNode.getStartTime(), DateField.MILLISECOND, 100);
+                    // 结束时间向后偏移100毫秒
+                    Date existEndOffset = DateUtil.offset(existTimeNode.getEndTime(), DateField.MILLISECOND, -100);
                     // 共计六种情况
                     // 1、无时间冲突 新发布完全早于老发布 或者完全晚于老发布
-                    /*if (DateUtils.parseDate(oneStart).after(existTimeNode.getEndTime()) || DateUtils.parseDate(oneEnd).before(existTimeNode.getStartTime())) {
+                    if (DateUtils.parseDate(oneStart).after(existEndOffset) || DateUtils.parseDate(oneEnd).before(existStartOffset)) {
                         // 直接插入
                         oneNeedAdd.setPushId(pushId);
                         oneNeedAdd.setDeviceId(deviceId);
                         oneNeedAdd.setStartTime(DateUtils.parseDate(oneStart));
                         oneNeedAdd.setEndTime(DateUtils.parseDate(oneEnd));
                         needAdd.add(oneNeedAdd);
-                    }*/
-                    // 开始时间向前偏移100毫秒
-                    Date existStartOffset = DateUtil.offset(existTimeNode.getStartTime(), DateField.MILLISECOND, 100);
-                    // 结束时间向后偏移100毫秒
-                    Date existEndOffset = DateUtil.offset(existTimeNode.getEndTime(), DateField.MILLISECOND, -100);
+                    }
+
                     // 2、新发布结束与老发布开始冲突
                     if (DateUtils.parseDate(oneStart).before(existStartOffset)
                         && DateUtils.parseDate(oneEnd).after(existStartOffset)