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-31 16:56:24 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
b4d5255c54f15f5877239fb4e117e192b1be17cc
b4d5255c
1 parent
9dfbbe8c
1.订单会员优化
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
78 additions
and
10 deletions
app/Http/Controllers/V1/MembershipController.php
app/Http/Controllers/V1/OrderController.php
app/Models/Membership.php
app/Models/UserProfile.php
database/migrations/2022_05_31_162437_alter_membership_table.php
routes/api.php
app/Http/Controllers/V1/MembershipController.php
View file @
b4d5255
...
...
@@ -4,6 +4,9 @@ namespace App\Http\Controllers\V1;
use
App\Http\Controllers\Controller
;
use
App\Models\Membership
;
use
App\Models\Order
;
use
App\Models\UserProfile
;
use
Carbon\Carbon
;
use
Illuminate\Http\Request
;
use
Jiannei\Response\Laravel\Support\Facades\Response
;
...
...
@@ -16,7 +19,16 @@ class MembershipController extends Controller
*/
public
function
index
(
Request
$request
)
{
$membership
=
Membership
::
query
()
->
where
(
'state'
,
1
);
$user
=
$request
->
user
();
$profile
=
UserProfile
::
query
()
->
find
(
$user
->
id
);
if
(
$profile
->
is_vip
==
1
){
$state
=
2
;
// 会员显示
}
else
{
$state
=
1
;
// 非会员显示
}
$membership
=
Membership
::
query
()
->
where
(
'state'
,
$state
);
// 获取会员介绍页内容
if
(
$this
->
isAppleClient
()){
$membership
=
$membership
->
where
(
'terminal'
,
2
);
...
...
@@ -25,11 +37,29 @@ class MembershipController extends Controller
}
$membership
=
$membership
->
first
();
if
(
$membership
==
null
)
return
Response
::
fail
(
'no content'
);
$membership
->
bg_images
=
$membership
->
getImage
();
$membership
->
goods_list
=
$membership
->
getMembershipGoods
()
->
get
();
if
(
$profile
->
is_vip
==
1
){
// 会员显示
$membership
->
is_vip
=
1
;
$membership
->
create_vip_time
=
'会员开通时间:'
.
Carbon
::
parse
(
$profile
->
create_vip_time
)
->
toDateString
();
$order
=
Order
::
query
()
->
where
(
'user_id'
,
$user
->
id
)
->
where
(
'status'
,
Order
::
DONE
)
->
latest
();
$name
=
$order
->
order_goods
->
goods_name
;
if
(
$this
->
isAppleClient
()){
$membership
->
create_vip_type
=
'订阅模式:'
.
$name
;
}
else
{
$membership
->
create_vip_type
=
'会员期:'
.
$name
;
}
}
else
{
// 非会员显示
$membership
->
is_vip
=
0
;
$membership
->
bg_images
=
$membership
->
getImage
();
$membership
->
goods_list
=
$membership
->
getMembershipGoods
()
->
get
();
}
return
Response
::
success
(
$membership
);
}
...
...
app/Http/Controllers/V1/OrderController.php
View file @
b4d5255
...
...
@@ -83,7 +83,7 @@ class OrderController extends Controller
$order
->
order_sn
=
$order_sn
;
$order
->
user_id
=
$user_id
;
$order
->
pay_amount
=
$pay_amount
;
$order
->
description
=
'一言会员'
.
$membership_good
->
limit_days
.
$membership_good
->
limit_unit
;
$order
->
description
=
$membership_good
->
name
.
$membership_good
->
limit_days
.
$membership_good
->
limit_unit
;
$order
->
goods_amount
=
$membership_good
->
price
;
$order
->
status
=
Order
::
UNPAID
;
$order
->
source
=
$source
;
...
...
@@ -96,7 +96,7 @@ class OrderController extends Controller
$order_good
->
order_sn
=
$order_sn
;
$order_good
->
goods_id
=
$member_id
;
$order_good
->
goods_type
=
OrderGood
::
MemberShip
;
$order_good
->
goods_name
=
$membership_good
->
limit_days
.
$membership_good
->
limit_unit
;
$order_good
->
goods_name
=
$membership_good
->
name
;
$order_good
->
goods_image
=
$membership
->
getSingleImage
();
$order_good
->
goods_price
=
$membership_good
->
price
;
$order_good
->
goods_number
=
$number
;
...
...
app/Models/Membership.php
View file @
b4d5255
...
...
@@ -18,9 +18,11 @@ class Membership extends Model
public
function
getImage
()
{
return
collect
(
explode
(
','
,
$this
->
bg_images
))
->
map
(
function
(
$item
){
return
Storage
::
disk
(
'public'
)
->
url
(
$item
);
});
// return collect(explode(',', $this->bg_images))->map(function ($item){
// return Storage::disk('public')->url($item);
// });
return
Storage
::
disk
(
'public'
)
->
url
(
$this
->
bg_images
);
}
public
function
getSingleImage
()
...
...
app/Models/UserProfile.php
View file @
b4d5255
...
...
@@ -14,6 +14,10 @@ class UserProfile extends Model
protected
$fillable
=
[
'user_id'
,
'unionid'
];
protected
$casts
=
[
'create_vip_time'
=>
'boolean'
,
];
public
function
user
()
{
return
$this
->
belongsTo
(
'App\Models\User'
,
'id'
,
'user_id'
);
...
...
database/migrations/2022_05_31_162437_alter_membership_table.php
0 → 100644
View file @
b4d5255
<?php
use
Illuminate\Database\Migrations\Migration
;
use
Illuminate\Database\Schema\Blueprint
;
use
Illuminate\Support\Facades\Schema
;
class
AlterMembershipTable
extends
Migration
{
/**
* Run the migrations.
*
* @return void
*/
public
function
up
()
{
//
Schema
::
table
(
'membership_goods'
,
function
(
Blueprint
$table
)
{
$table
->
string
(
'name'
)
->
after
(
'membership_id'
)
->
default
(
''
)
->
comment
(
'商品名称'
);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public
function
down
()
{
//
Schema
::
dropColumns
(
'membership_goods'
,
[
'name'
]);
}
}
routes/api.php
View file @
b4d5255
...
...
@@ -46,7 +46,7 @@ Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Route
/** 我的作品 */
$api
->
get
(
'/my/videos'
,
'UserController@videos'
)
->
middleware
(
'auth:sanctum'
);
/**
我的作品
*/
/**
作品详情
*/
$api
->
get
(
'/my/videos/{id}'
,
'UserController@video'
)
->
middleware
(
'auth:sanctum'
);
/** 临境 */
...
...
Please
register
or
login
to post a comment