wanghongbo

标记逻辑修改、标记查询修改

@@ -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 }
@@ -18,6 +18,8 @@ public enum GlobalCodeEnum { @@ -18,6 +18,8 @@ public enum GlobalCodeEnum {
18 DB_ERROR("20", "数据库异常"), 18 DB_ERROR("20", "数据库异常"),
19 SOLR_ERROR("21", "搜索引擎异常"), 19 SOLR_ERROR("21", "搜索引擎异常"),
20 20
  21 + REPEAT("22", "重复请求"),
  22 +
21 //消息中间件错误 23 //消息中间件错误
22 MQ_ERROR("30", "消息中间件异常"); 24 MQ_ERROR("30", "消息中间件异常");
23 25
@@ -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 }