Showing
7 changed files
with
47 additions
and
28 deletions
| @@ -14,8 +14,14 @@ import java.time.LocalDateTime; | @@ -14,8 +14,14 @@ import java.time.LocalDateTime; | ||
| 14 | @Data | 14 | @Data |
| 15 | public class MarkParam { | 15 | public class MarkParam { |
| 16 | private Long roomId; | 16 | private Long roomId; |
| 17 | +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
| 18 | +// private LocalDateTime markStartTime; | ||
| 19 | +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
| 20 | +// private LocalDateTime markEndTime; | ||
| 17 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | 21 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| 18 | - private LocalDateTime markStartTime; | ||
| 19 | - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
| 20 | - private LocalDateTime markEndTime; | 22 | + private LocalDateTime markTime; |
| 23 | + /** | ||
| 24 | + * 标记类型 markStart;markEnd | ||
| 25 | + */ | ||
| 26 | + private String type; | ||
| 21 | } | 27 | } |
| @@ -38,19 +38,19 @@ public class MonitorMark { | @@ -38,19 +38,19 @@ public class MonitorMark { | ||
| 38 | */ | 38 | */ |
| 39 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | 39 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| 40 | private LocalDateTime createdTime; | 40 | private LocalDateTime createdTime; |
| 41 | - /** | ||
| 42 | - * 标记起始时间 | ||
| 43 | - */ | ||
| 44 | - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
| 45 | - private LocalDateTime markStartTime; | ||
| 46 | - /** | ||
| 47 | - * 标记结束时间 | ||
| 48 | - */ | ||
| 49 | - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
| 50 | - private LocalDateTime markEndTime; | 41 | +// /** |
| 42 | +// * 标记起始时间 | ||
| 43 | +// */ | ||
| 44 | +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
| 45 | +// private LocalDateTime markStartTime; | ||
| 46 | +// /** | ||
| 47 | +// * 标记结束时间 | ||
| 48 | +// */ | ||
| 49 | +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
| 50 | +// private LocalDateTime markEndTime; | ||
| 51 | 51 | ||
| 52 | /** | 52 | /** |
| 53 | - * 操作类型, mark-标记,block-屏蔽。recover-恢复 | 53 | + * 操作类型, markStart-开始标记,markEnd-停止标记,block-屏蔽。recover-恢复 |
| 54 | */ | 54 | */ |
| 55 | private String operationType; | 55 | private String operationType; |
| 56 | 56 | ||
| @@ -58,6 +58,6 @@ public class MonitorMark { | @@ -58,6 +58,6 @@ public class MonitorMark { | ||
| 58 | * 操作时间 | 58 | * 操作时间 |
| 59 | */ | 59 | */ |
| 60 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | 60 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| 61 | - private LocalDateTime OperationTime; | 61 | + private LocalDateTime operationTime; |
| 62 | 62 | ||
| 63 | } | 63 | } |
| @@ -17,6 +17,8 @@ public enum GlobalCodeEnum { | @@ -17,6 +17,8 @@ public enum GlobalCodeEnum { | ||
| 17 | //持久层错误 | 17 | //持久层错误 |
| 18 | DB_ERROR("20", "数据库异常"), | 18 | DB_ERROR("20", "数据库异常"), |
| 19 | SOLR_ERROR("21", "搜索引擎异常"), | 19 | SOLR_ERROR("21", "搜索引擎异常"), |
| 20 | + | ||
| 21 | + REPEAT("22", "重复请求"), | ||
| 20 | 22 | ||
| 21 | //消息中间件错误 | 23 | //消息中间件错误 |
| 22 | MQ_ERROR("30", "消息中间件异常"); | 24 | MQ_ERROR("30", "消息中间件异常"); |
| @@ -4,7 +4,8 @@ package com.wondertek.enums; | @@ -4,7 +4,8 @@ package com.wondertek.enums; | ||
| 4 | * @Description:审片间播控操作类型 | 4 | * @Description:审片间播控操作类型 |
| 5 | */ | 5 | */ |
| 6 | public enum RoomOperationEnum { | 6 | public enum RoomOperationEnum { |
| 7 | - MARK("mark", "标记"), | 7 | + MARK_START("markStart", "标记开始"), |
| 8 | + MARK_EDN("markEnd", "标记结束"), | ||
| 8 | BLOCK("block", "屏蔽"), | 9 | BLOCK("block", "屏蔽"), |
| 9 | RECOVER("recover", "恢复"); | 10 | RECOVER("recover", "恢复"); |
| 10 | 11 |
| @@ -190,17 +190,24 @@ public class RoomOperationServiceImpl implements RoomOperationSerivice { | @@ -190,17 +190,24 @@ public class RoomOperationServiceImpl implements RoomOperationSerivice { | ||
| 190 | 190 | ||
| 191 | @Override | 191 | @Override |
| 192 | public ResultBean addMark(MarkParam markParam) { | 192 | public ResultBean addMark(MarkParam markParam) { |
| 193 | + //校验是否重复操作 | ||
| 194 | + LambdaQueryWrapper<MonitorMark> wrapper = new LambdaQueryWrapper<>(); | ||
| 195 | + wrapper.eq(MonitorMark::getRoomId, markParam.getRoomId()) | ||
| 196 | + .in(MonitorMark::getOperationType, RoomOperationEnum.MARK_START.getCode(), RoomOperationEnum.MARK_EDN.getCode()) | ||
| 197 | + .orderByDesc(MonitorMark::getCreatedTime).last("limit 1"); | ||
| 198 | + MonitorMark lastMark = monitorMarkMapper.selectOne(wrapper); | ||
| 199 | + if(lastMark != null && lastMark.getOperationType().equals(markParam.getType())){ | ||
| 200 | + return ResultBean.repeat(lastMark); | ||
| 201 | + } | ||
| 193 | 202 | ||
| 194 | MonitorMark monitorMark = new MonitorMark(); | 203 | MonitorMark monitorMark = new MonitorMark(); |
| 195 | monitorMark.setRoomId(markParam.getRoomId()); | 204 | monitorMark.setRoomId(markParam.getRoomId()); |
| 196 | - monitorMark.setMarkStartTime(markParam.getMarkStartTime()); | ||
| 197 | - monitorMark.setMarkEndTime(markParam.getMarkEndTime()); | ||
| 198 | - monitorMark.setOperationType(RoomOperationEnum.MARK.getCode()); | 205 | + monitorMark.setOperationType(markParam.getType()); |
| 199 | monitorMark.setCreatedTime(LocalDateTime.now()); | 206 | monitorMark.setCreatedTime(LocalDateTime.now()); |
| 207 | + monitorMark.setOperationTime(markParam.getMarkTime()); | ||
| 200 | monitorMark.setCreatedBy("admin"); | 208 | monitorMark.setCreatedBy("admin"); |
| 201 | monitorMarkMapper.insert(monitorMark); | 209 | monitorMarkMapper.insert(monitorMark); |
| 202 | - | ||
| 203 | - return ResultBean.ok("标记成功"); | 210 | + return ResultBean.ok(monitorMark); |
| 204 | } | 211 | } |
| 205 | 212 | ||
| 206 | @Override | 213 | @Override |
| @@ -214,11 +221,12 @@ public class RoomOperationServiceImpl implements RoomOperationSerivice { | @@ -214,11 +221,12 @@ public class RoomOperationServiceImpl implements RoomOperationSerivice { | ||
| 214 | if(CollectionUtils.isNotEmpty(monitorMarks)){ | 221 | if(CollectionUtils.isNotEmpty(monitorMarks)){ |
| 215 | //根据operationType处理数据 | 222 | //根据operationType处理数据 |
| 216 | monitorMarks.forEach(monitorMark -> { | 223 | monitorMarks.forEach(monitorMark -> { |
| 217 | - if (monitorMark.getOperationType().equals(RoomOperationEnum.MARK.getCode())){ | 224 | + if (monitorMark.getOperationType().equals(RoomOperationEnum.MARK_START.getCode()) |
| 225 | + ||monitorMark.getOperationType().equals(RoomOperationEnum.MARK_EDN.getCode())){ | ||
| 218 | RoomMark roomMark = new RoomMark(); | 226 | RoomMark roomMark = new RoomMark(); |
| 219 | roomMark.setId(monitorMark.getId()); | 227 | roomMark.setId(monitorMark.getId()); |
| 220 | - roomMark.setMarkStartTime(monitorMark.getMarkStartTime()); | ||
| 221 | - roomMark.setMarkEndTime(monitorMark.getMarkEndTime()); | 228 | + roomMark.setOperationTime(monitorMark.getOperationTime()); |
| 229 | + roomMark.setOperationType(monitorMark.getOperationType()); | ||
| 222 | markList.add(roomMark); | 230 | markList.add(roomMark); |
| 223 | }else { | 231 | }else { |
| 224 | RoomBlock roomBlock = new RoomBlock(); | 232 | RoomBlock roomBlock = new RoomBlock(); |
| @@ -64,4 +64,8 @@ public class ResultBean<T> { | @@ -64,4 +64,8 @@ public class ResultBean<T> { | ||
| 64 | return new ResultBean<K>(code, msg, k); | 64 | return new ResultBean<K>(code, msg, k); |
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | + public static <T> ResultBean<T> repeat(T result) { | ||
| 68 | + return new ResultBean<T>(GlobalCodeEnum.REPEAT.getCode(), GlobalCodeEnum.REPEAT.getMsg(), result); | ||
| 69 | + } | ||
| 70 | + | ||
| 67 | } | 71 | } |
| @@ -15,10 +15,8 @@ import java.time.LocalDateTime; | @@ -15,10 +15,8 @@ import java.time.LocalDateTime; | ||
| 15 | @Data | 15 | @Data |
| 16 | public class RoomMark { | 16 | public class RoomMark { |
| 17 | private Long id; | 17 | private Long id; |
| 18 | - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
| 19 | - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") | ||
| 20 | - private LocalDateTime markStartTime; | ||
| 21 | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") | 18 | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| 22 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | 19 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| 23 | - private LocalDateTime markEndTime; | 20 | + private LocalDateTime operationTime; |
| 21 | + private String operationType; | ||
| 24 | } | 22 | } |
-
Please register or login to post a comment