|
|
@@ -521,33 +521,28 @@ public class SmsbItemPushServiceImpl implements ISmsbItemPushService {
|
|
|
List<SmsbItemPushTimeRangeBo> timeRanges = getNewPushAllTimeRanges(smsbItemPushPlaylists,deviceIds.get(0));
|
|
|
|
|
|
// 获取第一个节点和最后一个节点
|
|
|
- String firstNode = timeRanges.get(0).getStart();
|
|
|
- String lastNode = timeRanges.get(timeRanges.size() - 1).getEnd();
|
|
|
+ /*String firstNode = timeRanges.get(0).getStart();
|
|
|
+ String lastNode = timeRanges.get(timeRanges.size() - 1).getEnd();*/
|
|
|
|
|
|
for (Long deviceId : deviceIds) {
|
|
|
// 判断整个时间段内是否存在时间点
|
|
|
- List<SmsbItemPushPlaylineVo> existTimeNodes = smsbItemPushPlaylineMapper.selectExistTimeNodes(firstNode, lastNode,deviceId);
|
|
|
- // 没有则新增
|
|
|
- if (CollectionUtil.isEmpty(existTimeNodes)) {
|
|
|
- List<SmsbItemPushPlayline> allInsert = new ArrayList<>();
|
|
|
- for (SmsbItemPushTimeRangeBo timeRange : timeRanges) {
|
|
|
- SmsbItemPushPlayline oneInsert = new SmsbItemPushPlayline();
|
|
|
- oneInsert.setStartTime(DateUtils.parseDate(timeRange.getStart()));
|
|
|
- oneInsert.setEndTime(DateUtils.parseDate(timeRange.getEnd()));
|
|
|
- oneInsert.setPushId(pushId);
|
|
|
- oneInsert.setDeviceId(deviceId);
|
|
|
- allInsert.add(oneInsert);
|
|
|
- }
|
|
|
- smsbItemPushPlaylineMapper.insertBatch(allInsert);
|
|
|
- continue;
|
|
|
- }
|
|
|
- // 如果存在 则进行更新
|
|
|
// 对新增的每一天进行遍历
|
|
|
List<SmsbItemPushPlayline> needAdd = new ArrayList<>();
|
|
|
List<SmsbItemPushPlaylineVo> needRemove = new ArrayList<>();
|
|
|
for (SmsbItemPushTimeRangeBo timeRange : timeRanges) {
|
|
|
String oneStart = timeRange.getStart();
|
|
|
String oneEnd = timeRange.getEnd();
|
|
|
+ // 判断每个时间段是否存在冲突时间点
|
|
|
+ List<SmsbItemPushPlaylineVo> existTimeNodes = smsbItemPushPlaylineMapper.selectExistTimeNodes(oneStart, oneEnd,deviceId);
|
|
|
+ // 当前时间段没有冲突
|
|
|
+ if (CollectionUtil.isEmpty(existTimeNodes)) {
|
|
|
+ SmsbItemPushPlayline oneNeedAdd = new SmsbItemPushPlayline();
|
|
|
+ oneNeedAdd.setPushId(pushId);
|
|
|
+ oneNeedAdd.setDeviceId(deviceId);
|
|
|
+ oneNeedAdd.setStartTime(DateUtils.parseDate(oneStart));
|
|
|
+ oneNeedAdd.setEndTime(DateUtils.parseDate(oneEnd));
|
|
|
+ smsbItemPushPlaylineMapper.insert(oneNeedAdd);
|
|
|
+ }
|
|
|
// 当前时间的日期
|
|
|
String newDate = DateUtils.parseDateToStr(DatePattern.NORM_DATE_PATTERN, DateUtils.parseDate(oneStart));
|
|
|
// 对存在的进行遍历 判断时间短是否冲突
|
|
|
@@ -560,14 +555,14 @@ public class SmsbItemPushServiceImpl implements ISmsbItemPushService {
|
|
|
SmsbItemPushPlayline oneNeedAdd = new SmsbItemPushPlayline();
|
|
|
// 共计六种情况
|
|
|
// 1、无时间冲突 新发布完全早于老发布 或者完全晚于老发布
|
|
|
- if (DateUtils.parseDate(oneStart).after(existTimeNode.getEndTime()) || DateUtils.parseDate(oneEnd).before(existTimeNode.getStartTime())) {
|
|
|
+ /*if (DateUtils.parseDate(oneStart).after(existTimeNode.getEndTime()) || DateUtils.parseDate(oneEnd).before(existTimeNode.getStartTime())) {
|
|
|
// 直接插入
|
|
|
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毫秒
|