Toggle navigation
Toggle navigation
This project
Loading...
Sign in
crp
/
crp-operation
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
wanghongbo
2025-08-15 16:53:28 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
d2803fc891073d8334460e7c9af421f074a39b32
d2803fc8
1 parent
5688152c
日志修改
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
98 additions
and
13 deletions
src/main/java/com/wondertek/dto/MarkParam.java
src/main/java/com/wondertek/entity/OperationLog.java
src/main/java/com/wondertek/enums/RoomOperationEnum.java
src/main/java/com/wondertek/service/OperationLogService.java
src/main/java/com/wondertek/service/impl/OperationLogServiceImpl.java
src/main/java/com/wondertek/service/impl/RoomOperationServiceImpl.java
src/main/java/com/wondertek/dto/MarkParam.java
View file @
d2803fc
...
...
@@ -24,4 +24,9 @@ public class MarkParam {
* 标记类型 markStart;markEnd
*/
private
String
operationType
;
/**
* 审片间名称
*/
private
String
roomName
;
}
...
...
src/main/java/com/wondertek/entity/OperationLog.java
View file @
d2803fc
...
...
@@ -18,7 +18,7 @@ public class OperationLog {
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
id
;
/** 业务ID */
private
String
businesId
;
private
String
busines
s
Id
;
/** 业务类型(如 cloudMonitor-云审片) */
private
String
businessType
;
/** 操作类型(音画屏蔽、画面屏蔽、恢复、延时、标记) */
...
...
@@ -38,6 +38,10 @@ public class OperationLog {
private
String
reponseCode
;
/** 操作状态(0-成功 1-失败) */
private
String
status
;
/** 审片间名称 */
private
String
roomName
;
/** 描述信息 */
private
String
message
;
}
\ No newline at end of file
...
...
src/main/java/com/wondertek/enums/RoomOperationEnum.java
View file @
d2803fc
...
...
@@ -6,8 +6,9 @@ package com.wondertek.enums;
public
enum
RoomOperationEnum
{
MARK_START
(
"markStart"
,
"标记开始"
),
MARK_EDN
(
"markEnd"
,
"标记结束"
),
BLOCK
(
"block"
,
"屏蔽"
),
RECOVER
(
"recover"
,
"恢复"
);
BLOCK
(
"block"
,
"音画屏蔽"
),
RECOVER
(
"recover"
,
"音画恢复"
),
DELAY
(
"delay"
,
"延时"
);
private
final
String
code
;
...
...
src/main/java/com/wondertek/service/OperationLogService.java
View file @
d2803fc
...
...
@@ -12,4 +12,6 @@ import com.wondertek.util.PageBean;
*/
public
interface
OperationLogService
{
PageBean
pageList
(
OperationLogDto
operationLogDto
);
void
save
(
OperationLog
opLog
);
}
...
...
src/main/java/com/wondertek/service/impl/OperationLogServiceImpl.java
View file @
d2803fc
...
...
@@ -35,4 +35,9 @@ public class OperationLogServiceImpl implements OperationLogService {
return
new
PageBean
(
Integer
.
parseInt
(
String
.
valueOf
(
resultPage
.
getPages
())),
resultPage
.
getTotal
(),
resultPage
.
getRecords
());
}
@Override
public
void
save
(
OperationLog
opLog
)
{
operationLogMapper
.
insertOrUpdate
(
opLog
);
}
}
...
...
src/main/java/com/wondertek/service/impl/RoomOperationServiceImpl.java
View file @
d2803fc
...
...
@@ -11,13 +11,16 @@ import com.wondertek.dto.DelayParam;
import
com.wondertek.dto.MarkParam
;
import
com.wondertek.entity.LiveMonitorRoom
;
import
com.wondertek.entity.MonitorMark
;
import
com.wondertek.entity.OperationLog
;
import
com.wondertek.entity.StreamTask
;
import
com.wondertek.enums.GlobalCodeEnum
;
import
com.wondertek.enums.RoomOperationEnum
;
import
com.wondertek.exception.BusinessException
;
import
com.wondertek.exception.ServiceException
;
import
com.wondertek.mapper.LiveMonitorRoomMapper
;
import
com.wondertek.mapper.MonitorMarkMapper
;
import
com.wondertek.mapper.StreamTaskMapper
;
import
com.wondertek.service.OperationLogService
;
import
com.wondertek.service.RoomOperationSerivice
;
import
com.wondertek.util.JSONUtils
;
import
com.wondertek.util.ResponseData
;
...
...
@@ -55,41 +58,68 @@ public class RoomOperationServiceImpl implements RoomOperationSerivice {
private
String
blockStatusUrl
;
@Resource
private
MonitorMarkMapper
monitorMarkMapper
;
@Resource
private
OperationLogService
operationLogService
;
@Override
public
ResultBean
setDelayTime
(
DelayParam
delayParam
)
{
LiveMonitorRoom
liveMonitorRoom
=
liveMonitorRoomMapper
.
selectById
(
delayParam
.
getRoomId
());
//日志
OperationLog
opLog
=
new
OperationLog
();
opLog
.
setRoomName
(
liveMonitorRoom
.
getName
());
opLog
.
setBusinessId
(
delayParam
.
getRoomId
().
toString
());
opLog
.
setBusinessType
(
"cloudMonitor"
);
opLog
.
setOperationType
(
RoomOperationEnum
.
DELAY
.
getCode
());
opLog
.
setCreatedBy
(
"admin"
);
opLog
.
setCreatedTime
(
LocalDateTime
.
now
());
opLog
.
setRequestUrl
(
delayTimeUrl
);
LambdaQueryWrapper
<
StreamTask
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
StreamTask:
:
getRoomId
,
delayParam
.
getRoomId
());
List
<
StreamTask
>
streamTasks
=
streamTaskMapper
.
selectList
(
wrapper
);
//1.依次取出延时1、延时2、播出任务,设置转码平台相应的延时时间
streamTasks
.
forEach
(
streamTask
->
{
for
(
StreamTask
streamTask
:
streamTasks
)
{
if
(
streamTask
.
getPlayType
().
equals
(
"delay1"
)){
delayTask
(
streamTask
.
getTaskId
(),
delayParam
.
getDelayFirst
());
ResponseData
responseData
=
delayTask
(
streamTask
.
getTaskId
(),
delayParam
.
getDelayFirst
());
if
(!
responseData
.
isSuccess
()){
opLog
.
setStatus
(
"1"
);
opLog
.
setReponseResult
(
JSONUtils
.
obj2json
(
responseData
));
return
ResultBean
.
error
();
}
//更新任务
streamTask
.
setDelayTime
(
delayParam
.
getDelayFirst
());
streamTaskMapper
.
updateById
(
streamTask
);
}
if
(
streamTask
.
getPlayType
().
equals
(
"delay2"
)){
delayTask
(
streamTask
.
getTaskId
(),
delayParam
.
getDelaySecond
());
ResponseData
responseData
=
delayTask
(
streamTask
.
getTaskId
(),
delayParam
.
getDelaySecond
());
if
(!
responseData
.
isSuccess
()){
opLog
.
setStatus
(
"1"
);
opLog
.
setReponseResult
(
JSONUtils
.
obj2json
(
responseData
));
return
ResultBean
.
error
();
}
//更新任务
streamTask
.
setDelayTime
(
delayParam
.
getDelaySecond
());
streamTaskMapper
.
updateById
(
streamTask
);
}
if
(
streamTask
.
getPlayType
().
equals
(
"play"
)){
delayTask
(
streamTask
.
getTaskId
(),
delayParam
.
getDelayPlay
());
ResponseData
responseData
=
delayTask
(
streamTask
.
getTaskId
(),
delayParam
.
getDelayPlay
());
if
(!
responseData
.
isSuccess
()){
opLog
.
setStatus
(
"1"
);
opLog
.
setReponseResult
(
JSONUtils
.
obj2json
(
responseData
));
return
ResultBean
.
error
();
}
//更新任务
streamTask
.
setDelayTime
(
delayParam
.
getDelayPlay
());
streamTaskMapper
.
updateById
(
streamTask
);
}
});
//2.更新多画
}
opLog
.
setStatus
(
"0"
);
opLog
.
setReponseResult
(
JSONUtils
.
obj2json
(
ResponseData
.
ok
()));
operationLogService
.
save
(
opLog
);
return
ResultBean
.
ok
(
"设置成功"
);
}
public
void
delayTask
(
String
taskId
,
int
delayTime
){
public
ResponseData
delayTask
(
String
taskId
,
int
delayTime
){
Map
<
String
,
Object
>
paramsMap
=
new
HashMap
<>();
paramsMap
.
put
(
"taskId"
,
taskId
);
paramsMap
.
put
(
"delayTime"
,
delayTime
);
...
...
@@ -108,11 +138,14 @@ public class RoomOperationServiceImpl implements RoomOperationSerivice {
}
else
{
log
.
info
(
"请求转码系统延时接口响应失败,response:{}"
,
response
);
}
return
response
;
}
else
{
log
.
error
(
"请求转码系统延时接口失败,url:{},body:{}"
,
delayTimeUrl
,
execute
.
body
());
return
ResponseData
.
error
(
"请求转码系统延时接口失败"
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"请求转码系统延时接口失败,url:{}"
,
delayTimeUrl
,
e
);
return
ResponseData
.
error
(
"请求转码系统延时接口失败"
);
}
}
...
...
@@ -139,6 +172,17 @@ public class RoomOperationServiceImpl implements RoomOperationSerivice {
return
ResultBean
.
error
(
"当前审片间没有播放任务"
);
}
//日志
OperationLog
opLog
=
new
OperationLog
();
opLog
.
setRoomName
(
liveMonitorRoom
.
getName
());
opLog
.
setBusinessId
(
blockParam
.
getRoomId
().
toString
());
opLog
.
setBusinessType
(
"cloudMonitor"
);
opLog
.
setOperationType
(
blockParam
.
getBlockStatus
().
equals
(
0
)?
RoomOperationEnum
.
BLOCK
.
getCode
():
RoomOperationEnum
.
RECOVER
.
getCode
());
opLog
.
setCreatedBy
(
"admin"
);
opLog
.
setCreatedTime
(
LocalDateTime
.
now
());
opLog
.
setRequestUrl
(
blockStatusUrl
);
log
.
info
(
"-->审片间屏蔽前置逻辑耗时:{}ms"
,
System
.
currentTimeMillis
()-
start
);
streamTasks
.
forEach
(
streamTask
->
{
//调用屏蔽接口
...
...
@@ -159,20 +203,31 @@ public class RoomOperationServiceImpl implements RoomOperationSerivice {
});
if
(
response
.
getResultCode
().
equals
(
"0"
))
{
log
.
info
(
"请求转码系统屏蔽/恢复接口成功"
);
if
(
streamTask
.
getTaskType
().
equals
(
"0"
)){
opLog
.
setStatus
(
GlobalCodeEnum
.
SUCCESS
.
getCode
());
opLog
.
setReponseResult
(
JSONUtils
.
obj2json
(
response
));
}
}
else
{
log
.
info
(
"请求转码系统屏蔽/恢复接口响应失败,response:{}"
,
response
);
if
(
streamTask
.
getTaskType
().
equals
(
"0"
)){
opLog
.
setStatus
(
GlobalCodeEnum
.
FAILURE
.
getCode
());
opLog
.
setReponseResult
(
JSONUtils
.
obj2json
(
response
));
}
throw
new
BusinessException
(
"block_status_error"
,
"屏蔽状态错误"
);
}
}
else
{
log
.
error
(
"请求转码系统屏蔽/恢复接口失败,url:{},body:{}"
,
blockStatusUrl
,
execute
.
body
());
opLog
.
setStatus
(
GlobalCodeEnum
.
FAILURE
.
getCode
());
throw
new
BusinessException
(
"block_status_error"
,
"屏蔽状态错误"
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"请求转码系统屏蔽/恢复接口失败,url:{}"
,
blockStatusUrl
,
e
);
opLog
.
setStatus
(
GlobalCodeEnum
.
FAILURE
.
getCode
());
throw
new
BusinessException
(
"block_status_error"
,
"屏蔽状态错误"
);
}
});
//保存操作日志
operationLogService
.
save
(
opLog
);
//保存播控操作记录
MonitorMark
monitorMark
=
new
MonitorMark
();
monitorMark
.
setRoomId
(
blockParam
.
getRoomId
());
...
...
@@ -207,6 +262,19 @@ public class RoomOperationServiceImpl implements RoomOperationSerivice {
monitorMark
.
setOperationTime
(
markParam
.
getMarkTime
());
monitorMark
.
setCreatedBy
(
"admin"
);
monitorMarkMapper
.
insert
(
monitorMark
);
//日志
OperationLog
opLog
=
new
OperationLog
();
opLog
.
setRoomName
(
markParam
.
getRoomName
());
opLog
.
setBusinessId
(
markParam
.
getRoomId
().
toString
());
opLog
.
setBusinessType
(
"cloudMonitor"
);
opLog
.
setOperationType
(
markParam
.
getOperationType
());
opLog
.
setCreatedBy
(
"admin"
);
opLog
.
setCreatedTime
(
LocalDateTime
.
now
());
opLog
.
setRequestUrl
(
delayTimeUrl
);
opLog
.
setStatus
(
"0"
);
operationLogService
.
save
(
opLog
);
return
ResultBean
.
ok
(
monitorMark
);
}
...
...
Please
register
or
login
to post a comment