Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
media-resource
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨昕
media-resource
Commits
e9b2513e
Commit
e9b2513e
authored
Aug 11, 2020
by
杨昕
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加时长
parent
c94ff2d3
Pipeline
#10607
passed with stages
in 43 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
161 additions
and
22 deletions
+161
-22
MediaController.php
app/Http/Controllers/Api/MediaController.php
+22
-2
MediaModel.php
app/Model/MediaModel.php
+139
-20
No files found.
app/Http/Controllers/Api/MediaController.php
View file @
e9b2513e
...
@@ -9,7 +9,9 @@ use App\Tool\SrsHookValidate;
...
@@ -9,7 +9,9 @@ use App\Tool\SrsHookValidate;
use
Carbon\Carbon
;
use
Carbon\Carbon
;
use
Illuminate\Http\Request
;
use
Illuminate\Http\Request
;
use
App\Http\Controllers\Controller
;
use
App\Http\Controllers\Controller
;
use
MongoBinData
;
use
MongoDB\BSON\UTCDateTime
;
use
Qiniu\Auth
;
use
Qiniu\Auth
;
class
MediaController
extends
Controller
class
MediaController
extends
Controller
...
@@ -112,6 +114,11 @@ class MediaController extends Controller
...
@@ -112,6 +114,11 @@ class MediaController extends Controller
public
function
hookRestoreMedia
(
Request
$request
){
public
function
hookRestoreMedia
(
Request
$request
){
$id
=
handler_drive
(
function
()
use
(
$request
)
{
$id
=
handler_drive
(
function
()
use
(
$request
)
{
SrsHookValidate
::
srsHookCallback
(
$request
,
array_merge
([
SrsHookValidate
::
srsHookCallback
(
$request
,
array_merge
([
...
@@ -136,7 +143,7 @@ class MediaController extends Controller
...
@@ -136,7 +143,7 @@ class MediaController extends Controller
$request
->
replace
(
array_merge
(
$request
->
all
(),
$params
));
$request
->
replace
(
array_merge
(
$request
->
all
(),
$params
));
$id
=
MediaModel
::
hookRestoreMedia
(
$request
,
'baidu'
);
$id
=
MediaModel
::
hookRestoreMedia
(
$request
);
return
$id
;
return
$id
;
});
});
...
@@ -149,7 +156,7 @@ class MediaController extends Controller
...
@@ -149,7 +156,7 @@ class MediaController extends Controller
* @return \Illuminate\Http\JsonResponse
* @return \Illuminate\Http\JsonResponse
* @throws \App\Exceptions\ControllerException
* @throws \App\Exceptions\ControllerException
*/
*/
public
static
function
updateMediaStatus
(
Request
$request
,
$media_id
){
public
function
updateMediaStatus
(
Request
$request
,
$media_id
){
$id
=
handler_drive
(
function
()
use
(
$request
,
$media_id
)
{
$id
=
handler_drive
(
function
()
use
(
$request
,
$media_id
)
{
...
@@ -166,10 +173,23 @@ class MediaController extends Controller
...
@@ -166,10 +173,23 @@ class MediaController extends Controller
}
}
/**
* 更新数据日期
* @param Request $request
* @return \Illuminate\Http\JsonResponse
* @throws \App\Exceptions\ControllerException
*/
public
function
updateDatetime
(
Request
$request
){
$id
=
handler_drive
(
function
()
use
(
$request
)
{
$id
=
MediaModel
::
updateDatetime
(
$request
);
return
$id
;
});
return
success
(
$id
);
}
}
}
app/Model/MediaModel.php
View file @
e9b2513e
...
@@ -114,16 +114,17 @@ class MediaModel extends Eloquent
...
@@ -114,16 +114,17 @@ class MediaModel extends Eloquent
*/
*/
foreach
(
$tmp_arr
as
$media
){
foreach
(
$tmp_arr
as
$media
){
if
(
is_object
(
$media
[
'
end
_time'
])){
if
(
is_object
(
$media
[
'
start
_time'
])){
$media
[
'
end_time'
]
=
Carbon
::
parse
(
$media
[
'end_time'
][
'date'
]
)
->
toDateTimeString
();
$media
[
'
start_time'
]
=
Carbon
::
parse
(
strtotime
(
$media
[
'start_time'
])
)
->
toDateTimeString
();
}
}
if
(
is_object
(
$media
[
'
start
_time'
])){
if
(
is_object
(
$media
[
'
end
_time'
])){
$media
[
'
start_time'
]
=
Carbon
::
parse
(
$media
[
'start_time'
][
'date'
]
)
->
toDateTimeString
();
$media
[
'
end_time'
]
=
Carbon
::
parse
(
strtotime
(
$media
[
'end_time'
])
)
->
toDateTimeString
();
}
}
if
(
is_object
(
$media
[
'create_time'
])){
if
(
is_object
(
$media
[
'create_time'
])){
$media
[
'create_time'
]
=
Carbon
::
parse
(
$media
[
'create_time'
][
'date'
]
)
->
toDateTimeString
();
$media
[
'create_time'
]
=
Carbon
::
parse
(
strtotime
(
$media
[
'create_time'
])
)
->
toDateTimeString
();
}
}
}
}
...
@@ -181,18 +182,13 @@ class MediaModel extends Eloquent
...
@@ -181,18 +182,13 @@ class MediaModel extends Eloquent
$media_url
=
str_replace
(
"http:"
,
"https:"
,
$media_url
);
$media_url
=
str_replace
(
"http:"
,
"https:"
,
$media_url
);
/**
/**
* 构造开始时间,结束时间
* 构造开始时间,结束时间
*/
*/
$start_time
=
strtotime
(
$request
->
start_time
);
$start_time
=
new
UTCDateTime
(
strtotime
(
$request
->
start_time
)
*
1000
);
$end_time
=
strtotime
(
$request
->
end_time
);
$end_time
=
new
UTCDateTime
(
strtotime
(
$request
->
end_time
)
*
1000
);;
$create_time
=
new
UTCDateTime
(
time
()
*
1000
);;
$start_time
=
Carbon
::
create
(
date
(
'Y'
,
$start_time
),
date
(
'm'
,
$start_time
),
12
,
date
(
'H'
,
$start_time
),
date
(
'i'
,
$start_time
),
date
(
's'
,
$start_time
));
$end_time
=
Carbon
::
create
(
date
(
'Y'
,
$end_time
),
date
(
'm'
,
$end_time
),
date
(
'd'
,
$end_time
),
date
(
'H'
,
$end_time
),
date
(
'i'
,
$end_time
),
date
(
's'
,
$end_time
));
$create_time
=
Carbon
::
now
();
/**
/**
...
@@ -210,12 +206,13 @@ class MediaModel extends Eloquent
...
@@ -210,12 +206,13 @@ class MediaModel extends Eloquent
'media_url'
=>
$media_url
,
'media_url'
=>
$media_url
,
'access_key'
=>
$request
->
access_key
,
'access_key'
=>
$request
->
access_key
,
'secret_key'
=>
$request
->
secret_key
,
'secret_key'
=>
$request
->
secret_key
,
'create_time'
=>
$
request
->
create_time
??
$
create_time
,
'create_time'
=>
$create_time
,
'description'
=>
$request
->
description
,
'description'
=>
$request
->
description
,
'username'
=>
$request
->
token_username
,
//员工工号
'username'
=>
$request
->
token_username
,
//员工工号
'user_id'
=>
$request
->
token_user_id
,
'user_id'
=>
$request
->
token_user_id
,
'start_time'
=>
$start_time
,
'start_time'
=>
$start_time
,
'end_time'
=>
$end_time
,
'end_time'
=>
$end_time
,
'duration'
=>
$request
->
duration
??
0
];
];
}
else
{
}
else
{
...
@@ -234,14 +231,12 @@ class MediaModel extends Eloquent
...
@@ -234,14 +231,12 @@ class MediaModel extends Eloquent
'description'
=>
$request
->
description
,
'description'
=>
$request
->
description
,
'username'
=>
$request
->
token_username
,
//员工工号
'username'
=>
$request
->
token_username
,
//员工工号
'user_id'
=>
$request
->
token_user_id
,
'user_id'
=>
$request
->
token_user_id
,
'start_time'
=>
$request
->
start_time
??
''
,
'start_time'
=>
$start_time
,
'end_time'
=>
$request
->
end_time
??
''
,
'end_time'
=>
$end_time
??
''
,
'duration'
=>
$request
->
duration
??
0
];
];
}
}
if
(
$category
==
'baidu'
){
$data
[
'status'
]
=
0
;
}
$id
=
MediaModel
::
insertGetId
(
$data
);
$id
=
MediaModel
::
insertGetId
(
$data
);
...
@@ -471,6 +466,12 @@ class MediaModel extends Eloquent
...
@@ -471,6 +466,12 @@ class MediaModel extends Eloquent
return
$media
;
return
$media
;
}
}
/**
* 处理异常视频链接
* @param $request
* @return \Illuminate\Database\Query\Expression
* @throws DatabaseException
*/
public
static
function
handleMediaUrl
(
$request
){
public
static
function
handleMediaUrl
(
$request
){
try
{
try
{
...
@@ -593,4 +594,122 @@ class MediaModel extends Eloquent
...
@@ -593,4 +594,122 @@ class MediaModel extends Eloquent
}
}
/**
* 更新媒资时间
* @param $request
* @return \Illuminate\Database\Query\Expression
* @throws DatabaseException
*/
public
static
function
updateDatetime
(
$request
){
try
{
$medias
=
MediaModel
::
query
()
->
raw
(
function
(
$collection
)
use
(
$request
){
$limit
=
(
isset
(
$request
->
page_size
)
?
(
int
)(
$request
->
page_size
)
:
Constant
::
PAGE_NUMBER
)
;
$page
=
$request
->
page
??
1
;
/**
* 默认降序
*/
$sort
=
-
1
;
if
(
$request
->
sort
==
'asc'
){
$sort
=
1
;
}
if
(
isset
(
$request
->
media_id
)
&&
!
empty
(
$request
->
media_id
)){
$aggregate
[][
'$match'
][
'_id'
]
=
$request
->
media_id
;
}
//$aggregate[]['$match']['media_url'] = ['$regex' => 'qcoenfz67.bkt.clouddn.com' ];
if
(
isset
(
$request
->
username
)
&&
!
empty
(
$request
->
username
)){
$aggregate
[][
'$match'
][
'username'
]
=
$request
->
username
;
}
$aggregate
[][
'$sort'
]
=
[
'start_time'
=>
$sort
];
$aggregate1
=
$aggregate
;
$aggregate1
[][
'$group'
]
=
[
'_id'
=>
array
(),
//更具性别进行分组
'count'
=>
array
(
'$sum'
=>
1
)
];
$count
=
$collection
->
aggregate
(
$aggregate1
)
->
toArray
();
if
(
isset
(
$count
[
0
])){
$count
=
$count
[
0
][
'count'
];
}
else
{
$count
=
0
;
}
//$count = sizeof($collection->aggregate($aggregate)->toArray());
$skip
=
((
empty
(
$request
->
page
)
?
1
:
$request
->
page
)
-
1
)
*
$limit
;
$aggregate
[][
'$skip'
]
=
$skip
;
$aggregate
[][
'$limit'
]
=
$limit
;
return
new
LengthAwarePaginator
(
$collection
->
aggregate
(
$aggregate
)
->
toArray
(),
$count
,
$limit
,
$page
,[
'path'
=>
Paginator
::
resolveCurrentPath
(),
'pageName'
=>
'page'
,
]);
});
if
(
!
empty
(
$medias
)){
foreach
(
$medias
as
$media
){
$start_time
=
$media
[
'start_time'
];
$end_time
=
$media
[
'end_time'
];
$create_time
=
$media
[
'create_time'
];
/**
* 构造开始时间,结束时间
*/
if
(
!
is_object
(
$media
[
'start_time'
])){
$start_time
=
strtotime
(
$media
[
'start_time'
]);
$start_time
=
new
UTCDateTime
(
$start_time
*
1000
);
}
if
(
!
is_object
(
$media
[
'end_time'
])){
$end_time
=
strtotime
(
$media
[
'end_time'
]);
$end_time
=
new
UTCDateTime
(
$end_time
*
1000
);
}
if
(
!
is_object
(
$media
[
'create_time'
])){
$create_time
=
strtotime
(
$media
[
'create_time'
]);
$create_time
=
new
UTCDateTime
(
$create_time
*
1000
);
}
$data
=
[
'start_time'
=>
$start_time
,
'end_time'
=>
$end_time
,
'create_time'
=>
$create_time
,
];
$flag
=
MediaModel
::
where
(
"_id"
,
$media
->
_id
)
->
update
(
$data
);
if
(
$flag
==
0
){
throw
new
\Exception
(
"更新失败"
);
}
}
}
}
catch
(
\Exception
$exception
){
throw
new
DatabaseException
(
$exception
->
getMessage
());
}
return
$medias
;
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment