wanghongbo

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

... ... @@ -14,8 +14,14 @@ import java.time.LocalDateTime;
@Data
public class MarkParam {
private Long roomId;
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
// private LocalDateTime markStartTime;
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
// private LocalDateTime markEndTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime markStartTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime markEndTime;
private LocalDateTime markTime;
/**
* 标记类型 markStart;markEnd
*/
private String type;
}
... ...
... ... @@ -38,19 +38,19 @@ public class MonitorMark {
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime createdTime;
/**
* 标记起始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime markStartTime;
/**
* 标记结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime markEndTime;
// /**
// * 标记起始时间
// */
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
// private LocalDateTime markStartTime;
// /**
// * 标记结束时间
// */
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
// private LocalDateTime markEndTime;
/**
* 操作类型, mark-标记,block-屏蔽。recover-恢复
* 操作类型, markStart-开始标记,markEnd-停止标记,block-屏蔽。recover-恢复
*/
private String operationType;
... ... @@ -58,6 +58,6 @@ public class MonitorMark {
* 操作时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime OperationTime;
private LocalDateTime operationTime;
}
\ No newline at end of file
... ...
... ... @@ -17,6 +17,8 @@ public enum GlobalCodeEnum {
//持久层错误
DB_ERROR("20", "数据库异常"),
SOLR_ERROR("21", "搜索引擎异常"),
REPEAT("22", "重复请求"),
//消息中间件错误
MQ_ERROR("30", "消息中间件异常");
... ...
... ... @@ -4,7 +4,8 @@ package com.wondertek.enums;
* @Description:审片间播控操作类型
*/
public enum RoomOperationEnum {
MARK("mark", "标记"),
MARK_START("markStart", "标记开始"),
MARK_EDN("markEnd", "标记结束"),
BLOCK("block", "屏蔽"),
RECOVER("recover", "恢复");
... ...
... ... @@ -190,17 +190,24 @@ public class RoomOperationServiceImpl implements RoomOperationSerivice {
@Override
public ResultBean addMark(MarkParam markParam) {
//校验是否重复操作
LambdaQueryWrapper<MonitorMark> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MonitorMark::getRoomId, markParam.getRoomId())
.in(MonitorMark::getOperationType, RoomOperationEnum.MARK_START.getCode(), RoomOperationEnum.MARK_EDN.getCode())
.orderByDesc(MonitorMark::getCreatedTime).last("limit 1");
MonitorMark lastMark = monitorMarkMapper.selectOne(wrapper);
if(lastMark != null && lastMark.getOperationType().equals(markParam.getType())){
return ResultBean.repeat(lastMark);
}
MonitorMark monitorMark = new MonitorMark();
monitorMark.setRoomId(markParam.getRoomId());
monitorMark.setMarkStartTime(markParam.getMarkStartTime());
monitorMark.setMarkEndTime(markParam.getMarkEndTime());
monitorMark.setOperationType(RoomOperationEnum.MARK.getCode());
monitorMark.setOperationType(markParam.getType());
monitorMark.setCreatedTime(LocalDateTime.now());
monitorMark.setOperationTime(markParam.getMarkTime());
monitorMark.setCreatedBy("admin");
monitorMarkMapper.insert(monitorMark);
return ResultBean.ok("标记成功");
return ResultBean.ok(monitorMark);
}
@Override
... ... @@ -214,11 +221,12 @@ public class RoomOperationServiceImpl implements RoomOperationSerivice {
if(CollectionUtils.isNotEmpty(monitorMarks)){
//根据operationType处理数据
monitorMarks.forEach(monitorMark -> {
if (monitorMark.getOperationType().equals(RoomOperationEnum.MARK.getCode())){
if (monitorMark.getOperationType().equals(RoomOperationEnum.MARK_START.getCode())
||monitorMark.getOperationType().equals(RoomOperationEnum.MARK_EDN.getCode())){
RoomMark roomMark = new RoomMark();
roomMark.setId(monitorMark.getId());
roomMark.setMarkStartTime(monitorMark.getMarkStartTime());
roomMark.setMarkEndTime(monitorMark.getMarkEndTime());
roomMark.setOperationTime(monitorMark.getOperationTime());
roomMark.setOperationType(monitorMark.getOperationType());
markList.add(roomMark);
}else {
RoomBlock roomBlock = new RoomBlock();
... ...
... ... @@ -64,4 +64,8 @@ public class ResultBean<T> {
return new ResultBean<K>(code, msg, k);
}
public static <T> ResultBean<T> repeat(T result) {
return new ResultBean<T>(GlobalCodeEnum.REPEAT.getCode(), GlobalCodeEnum.REPEAT.getMsg(), result);
}
}
... ...
... ... @@ -15,10 +15,8 @@ import java.time.LocalDateTime;
@Data
public class RoomMark {
private Long id;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime markStartTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime markEndTime;
private LocalDateTime operationTime;
private String operationType;
}
... ...