李帅

1.订单会员优化

...@@ -4,6 +4,9 @@ namespace App\Http\Controllers\V1; ...@@ -4,6 +4,9 @@ namespace App\Http\Controllers\V1;
4 4
5 use App\Http\Controllers\Controller; 5 use App\Http\Controllers\Controller;
6 use App\Models\Membership; 6 use App\Models\Membership;
7 +use App\Models\Order;
8 +use App\Models\UserProfile;
9 +use Carbon\Carbon;
7 use Illuminate\Http\Request; 10 use Illuminate\Http\Request;
8 use Jiannei\Response\Laravel\Support\Facades\Response; 11 use Jiannei\Response\Laravel\Support\Facades\Response;
9 12
...@@ -16,7 +19,16 @@ class MembershipController extends Controller ...@@ -16,7 +19,16 @@ class MembershipController extends Controller
16 */ 19 */
17 public function index(Request $request) 20 public function index(Request $request)
18 { 21 {
19 - $membership = Membership::query()->where('state',1); 22 + $user = $request->user();
23 + $profile = UserProfile::query()->find($user->id);
24 +
25 + if ($profile->is_vip == 1){
26 + $state = 2; // 会员显示
27 + }else{
28 + $state = 1; // 非会员显示
29 + }
30 +
31 + $membership = Membership::query()->where('state',$state);
20 // 获取会员介绍页内容 32 // 获取会员介绍页内容
21 if ($this->isAppleClient()){ 33 if ($this->isAppleClient()){
22 $membership = $membership->where('terminal',2); 34 $membership = $membership->where('terminal',2);
...@@ -25,11 +37,29 @@ class MembershipController extends Controller ...@@ -25,11 +37,29 @@ class MembershipController extends Controller
25 } 37 }
26 38
27 $membership = $membership->first(); 39 $membership = $membership->first();
28 -
29 if ($membership == null) return Response::fail('no content'); 40 if ($membership == null) return Response::fail('no content');
30 41
42 + if ($profile->is_vip == 1){
43 + // 会员显示
44 + $membership->is_vip = 1;
45 + $membership->create_vip_time = '会员开通时间:' . Carbon::parse($profile->create_vip_time)->toDateString();
46 + $order = Order::query()->where('user_id', $user->id)
47 + ->where('status',Order::DONE)
48 + ->latest();
49 + $name = $order->order_goods->goods_name;
50 +
51 + if ($this->isAppleClient()){
52 + $membership->create_vip_type = '订阅模式:' . $name;
53 + }else{
54 + $membership->create_vip_type = '会员期:' . $name;
55 + }
56 + }else{
57 + // 非会员显示
58 + $membership->is_vip = 0;
31 $membership->bg_images = $membership->getImage(); 59 $membership->bg_images = $membership->getImage();
32 $membership->goods_list = $membership->getMembershipGoods()->get(); 60 $membership->goods_list = $membership->getMembershipGoods()->get();
61 + }
62 +
33 63
34 return Response::success($membership); 64 return Response::success($membership);
35 } 65 }
......
...@@ -83,7 +83,7 @@ class OrderController extends Controller ...@@ -83,7 +83,7 @@ class OrderController extends Controller
83 $order->order_sn = $order_sn; 83 $order->order_sn = $order_sn;
84 $order->user_id = $user_id; 84 $order->user_id = $user_id;
85 $order->pay_amount = $pay_amount; 85 $order->pay_amount = $pay_amount;
86 - $order->description = '一言会员' . $membership_good->limit_days . $membership_good->limit_unit; 86 + $order->description = $membership_good->name . $membership_good->limit_days . $membership_good->limit_unit;
87 $order->goods_amount = $membership_good->price; 87 $order->goods_amount = $membership_good->price;
88 $order->status = Order::UNPAID; 88 $order->status = Order::UNPAID;
89 $order->source = $source; 89 $order->source = $source;
...@@ -96,7 +96,7 @@ class OrderController extends Controller ...@@ -96,7 +96,7 @@ class OrderController extends Controller
96 $order_good->order_sn = $order_sn; 96 $order_good->order_sn = $order_sn;
97 $order_good->goods_id = $member_id; 97 $order_good->goods_id = $member_id;
98 $order_good->goods_type = OrderGood::MemberShip; 98 $order_good->goods_type = OrderGood::MemberShip;
99 - $order_good->goods_name = $membership_good->limit_days . $membership_good->limit_unit; 99 + $order_good->goods_name = $membership_good->name;
100 $order_good->goods_image = $membership->getSingleImage(); 100 $order_good->goods_image = $membership->getSingleImage();
101 $order_good->goods_price = $membership_good->price; 101 $order_good->goods_price = $membership_good->price;
102 $order_good->goods_number = $number; 102 $order_good->goods_number = $number;
......
...@@ -18,9 +18,11 @@ class Membership extends Model ...@@ -18,9 +18,11 @@ class Membership extends Model
18 18
19 public function getImage() 19 public function getImage()
20 { 20 {
21 - return collect(explode(',', $this->bg_images))->map(function ($item){ 21 +// return collect(explode(',', $this->bg_images))->map(function ($item){
22 - return Storage::disk('public')->url($item); 22 +// return Storage::disk('public')->url($item);
23 - }); 23 +// });
24 +
25 + return Storage::disk('public')->url($this->bg_images);
24 } 26 }
25 27
26 public function getSingleImage() 28 public function getSingleImage()
......
...@@ -14,6 +14,10 @@ class UserProfile extends Model ...@@ -14,6 +14,10 @@ class UserProfile extends Model
14 14
15 protected $fillable = ['user_id','unionid']; 15 protected $fillable = ['user_id','unionid'];
16 16
17 + protected $casts = [
18 + 'create_vip_time' => 'boolean',
19 + ];
20 +
17 public function user() 21 public function user()
18 { 22 {
19 return $this->belongsTo('App\Models\User', 'id', 'user_id'); 23 return $this->belongsTo('App\Models\User', 'id', 'user_id');
......
1 +<?php
2 +
3 +use Illuminate\Database\Migrations\Migration;
4 +use Illuminate\Database\Schema\Blueprint;
5 +use Illuminate\Support\Facades\Schema;
6 +
7 +class AlterMembershipTable extends Migration
8 +{
9 + /**
10 + * Run the migrations.
11 + *
12 + * @return void
13 + */
14 + public function up()
15 + {
16 + //
17 + Schema::table('membership_goods', function (Blueprint $table) {
18 + $table->string('name')->after('membership_id')->default('')->comment('商品名称');
19 + });
20 + }
21 +
22 + /**
23 + * Reverse the migrations.
24 + *
25 + * @return void
26 + */
27 + public function down()
28 + {
29 + //
30 + Schema::dropColumns('membership_goods', ['name']);
31 + }
32 +}
...@@ -46,7 +46,7 @@ Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Route ...@@ -46,7 +46,7 @@ Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Route
46 /** 我的作品 */ 46 /** 我的作品 */
47 $api->get('/my/videos', 'UserController@videos')->middleware('auth:sanctum'); 47 $api->get('/my/videos', 'UserController@videos')->middleware('auth:sanctum');
48 48
49 - /** 我的作品 */ 49 + /** 作品详情 */
50 $api->get('/my/videos/{id}', 'UserController@video')->middleware('auth:sanctum'); 50 $api->get('/my/videos/{id}', 'UserController@video')->middleware('auth:sanctum');
51 51
52 /** 临境 */ 52 /** 临境 */
......