Toggle navigation
Toggle navigation
This project
Loading...
Sign in
OnePoem
/
OnePoem-Server
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
李帅
2022-05-25 23:17:00 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
804fed8f14835bbb852aa53dd362a0defb2f4e7f
804fed8f
1 parent
ca68983c
1.点赞收藏接口
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
209 additions
and
1 deletions
app/Http/Controllers/V1/ImmerseController.php
app/Http/Controllers/V1/UserController.php
app/Models/Collect.php
app/Models/Praise.php
database/migrations/2022_05_25_213236_create_praises_table.php
database/migrations/2022_05_25_213254_create_collects_table.php
routes/api.php
app/Http/Controllers/V1/ImmerseController.php
View file @
804fed8
...
...
@@ -3,9 +3,11 @@
namespace
App\Http\Controllers\V1
;
use
App\Http\Controllers\Controller
;
use
App\Models\Collect
;
use
App\Models\Immerse
;
use
App\Jobs\UserMakeVideo
as
MakeVideo
;
use
App\Jobs\UserMakeImages
as
MakeImages
;
use
App\Models\Praise
;
use
Illuminate\Http\Request
;
use
Illuminate\Support\Facades\Auth
;
use
Illuminate\Support\Facades\Validator
;
...
...
@@ -125,4 +127,37 @@ class ImmerseController extends Controller
{
//
}
public
function
addview
(
$id
)
{
try
{
Immerse
::
query
()
->
where
(
'id'
,
$id
)
->
increment
(
'view'
);
}
catch
(
\Exception
$exception
){
return
Response
::
fail
(
$exception
->
getMessage
());
}
return
Response
::
success
();
}
public
function
praise
(
$id
,
Request
$request
)
{
$user
=
$request
->
user
();
$praise
=
(
new
Praise
())
->
zanOrCancel
(
$id
,
$user
->
id
);
if
(
!
$praise
)
return
Response
::
fail
(
'服务端异常'
);
else
return
Response
::
success
();
}
public
function
collect
(
$id
,
Request
$request
)
{
$user
=
$request
->
user
();
$coll
=
(
new
Collect
())
->
collOrCancel
(
$id
,
$user
->
id
);
if
(
!
$coll
)
return
Response
::
fail
(
'服务端异常'
);
else
return
Response
::
success
();
}
}
...
...
app/Http/Controllers/V1/UserController.php
View file @
804fed8
...
...
@@ -144,7 +144,7 @@ class UserController extends Controller
$user_id
=
Auth
::
user
()
->
getAuthIdentifier
();
$immerse
=
Immerse
::
query
()
->
where
(
'user_id'
,
$user_id
);
$immerse
=
Immerse
::
query
()
->
where
(
'user_id'
,
$user_id
)
->
orderByDesc
(
'created_at'
)
;
switch
(
$type
)
{
case
0
:
// 审核中...
...
...
app/Models/Collect.php
0 → 100644
View file @
804fed8
<?php
namespace
App\Models
;
use
Illuminate\Database\Eloquent\Factories\HasFactory
;
use
Illuminate\Database\Eloquent\Model
;
class
Collect
extends
Model
{
use
HasFactory
;
protected
$guarded
=
[
''
];
public
function
collOrCancel
(
$immerse_id
,
$user_id
)
{
$immerse
=
Immerse
::
query
()
->
where
(
'id'
,
$immerse_id
)
->
first
();
if
(
!
$immerse
)
return
false
;
if
(
$immerse
->
state
!=
1
)
false
;
try
{
$coll
=
$this
->
query
()
->
where
([
'user_id'
=>
$user_id
,
'immerse_id'
=>
$immerse_id
])
->
first
();
if
(
$coll
){
if
(
$coll
->
state
==
1
){
$coll
->
state
=
0
;
$immerse
->
decrement
(
'collect'
);
}
else
{
$coll
->
state
=
1
;
$immerse
->
increment
(
'collect'
);
}
$coll
->
save
();
}
else
{
$this
->
query
()
->
create
([
'user_id'
=>
$user_id
,
'immerse_id'
=>
$immerse_id
,
'state'
=>
1
,
]);
$immerse
->
increment
(
'collect'
);
}
return
$this
;
}
catch
(
\Exception
$exception
){
return
false
;
}
}
}
app/Models/Praise.php
0 → 100644
View file @
804fed8
<?php
namespace
App\Models
;
use
Illuminate\Database\Eloquent\Factories\HasFactory
;
use
Illuminate\Database\Eloquent\Model
;
class
Praise
extends
Model
{
use
HasFactory
;
protected
$guarded
=
[
''
];
public
function
zanOrCancel
(
$immerse_id
,
$user_id
)
{
$immerse
=
Immerse
::
query
()
->
where
(
'id'
,
$immerse_id
)
->
first
();
if
(
!
$immerse
)
return
false
;
if
(
$immerse
->
state
!=
1
)
false
;
try
{
if
(
$praise
=
$this
->
query
()
->
where
([
'user_id'
=>
$user_id
,
'immerse_id'
=>
$immerse_id
])
->
first
())
{
if
(
$praise
->
state
==
1
){
$praise
->
state
=
0
;
$immerse
->
decrement
(
'praise'
);
}
else
{
$praise
->
state
=
1
;
$immerse
->
increment
(
'praise'
);
}
$praise
->
save
();
}
else
{
$this
->
query
()
->
create
([
'user_id'
=>
$user_id
,
'immerse_id'
=>
$immerse_id
,
'state'
=>
1
,
]);
$immerse
->
increment
(
'praise'
);
}
return
$this
;
}
catch
(
\Exception
$exception
){
return
false
;
}
}
}
database/migrations/2022_05_25_213236_create_praises_table.php
0 → 100644
View file @
804fed8
<?php
use
Illuminate\Database\Migrations\Migration
;
use
Illuminate\Database\Schema\Blueprint
;
use
Illuminate\Support\Facades\Schema
;
class
CreatePraisesTable
extends
Migration
{
/**
* Run the migrations.
*
* @return void
*/
public
function
up
()
{
Schema
::
create
(
'praises'
,
function
(
Blueprint
$table
)
{
$table
->
id
();
$table
->
unsignedBigInteger
(
'user_id'
);
$table
->
unsignedBigInteger
(
'immerse_id'
);
$table
->
unsignedTinyInteger
(
'state'
);
$table
->
timestamps
();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public
function
down
()
{
Schema
::
dropIfExists
(
'praises'
);
}
}
database/migrations/2022_05_25_213254_create_collects_table.php
0 → 100644
View file @
804fed8
<?php
use
Illuminate\Database\Migrations\Migration
;
use
Illuminate\Database\Schema\Blueprint
;
use
Illuminate\Support\Facades\Schema
;
class
CreateCollectsTable
extends
Migration
{
/**
* Run the migrations.
*
* @return void
*/
public
function
up
()
{
Schema
::
create
(
'collects'
,
function
(
Blueprint
$table
)
{
$table
->
id
();
$table
->
unsignedBigInteger
(
'user_id'
);
$table
->
unsignedBigInteger
(
'immerse_id'
);
$table
->
unsignedTinyInteger
(
'state'
);
$table
->
timestamps
();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public
function
down
()
{
Schema
::
dropIfExists
(
'collects'
);
}
}
routes/api.php
View file @
804fed8
...
...
@@ -22,6 +22,9 @@ Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Route
/** 社会化用户登录*/
$api
->
any
(
'auth/{service}/callback'
,
'AuthController@apiHandleProviderCallback'
);
/** */
$api
->
get
(
'/addview/{id}'
,
'ImmerseController@addview'
);
});
...
...
@@ -47,6 +50,13 @@ Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Route
/** 临境 */
$api
->
apiResource
(
'/immersive'
,
'ImmerseController'
)
->
middleware
(
'auth:sanctum'
);
/** 点赞 */
$api
->
post
(
'/praise/{id}'
,
'ImmerseController@praise'
)
->
middleware
(
'auth:sanctum'
);
/** 收藏 */
$api
->
post
(
'/collect/{id}'
,
'ImmerseController@collect'
)
->
middleware
(
'auth:sanctum'
);
/** 众妙 */
$api
->
get
(
'/packpoem'
,
'HomeController@packpoem'
);
...
...
Please
register
or
login
to post a comment