Pārlūkot izejas kodu

Merge branch 'master' into liuzj-permission-dev

liuzejian 1 gadu atpakaļ
vecāks
revīzija
3ad5bc681a
31 mainītis faili ar 75 papildinājumiem un 189 dzēšanām
  1. 1 0
      .env.example
  2. 1 1
      config/database.php
  3. 8 8
      modules/Callback/Installer.php
  4. 1 1
      modules/Channel/Http/Controllers/OrdersController.php
  5. 2 2
      modules/Channel/Installer.php
  6. 0 0
      modules/Channel/Middlewares/ChannleGate.php
  7. 0 26
      modules/Channel/Middlewares/ContentManageGate.php
  8. 1 1
      modules/Channel/Services/Notice/NoitceTypeService.php
  9. 1 2
      modules/Channel/Services/Order/OrderService.php
  10. 3 3
      modules/Channel/Services/WechatMinprogram/WechatMinprogramUserService.php
  11. 1 1
      modules/CpManage/Models/Cp/Cps.php
  12. 22 3
      modules/Manage/Http/Controllers/MiniprogramController.php
  13. 1 1
      modules/Manage/Installer.php
  14. 6 12
      modules/Manage/routes/route.php
  15. 0 0
      modules/System/Exceptions/BusinessException.php
  16. 0 17
      modules/System/Exceptions/ContentBusinessException.php
  17. 0 20
      modules/System/Exceptions/ContentManageForbidden.php
  18. 1 1
      modules/System/Exceptions/Errors.php
  19. 0 0
      modules/System/Exceptions/Forbidden.php
  20. 8 8
      modules/System/Installer.php
  21. 0 26
      modules/System/Middlewares/ContentManageGate.php
  22. 0 0
      modules/System/Middlewares/SystemGate.php
  23. 1 1
      modules/System/Providers/SystemServiceProvider.php
  24. 8 8
      modules/Tuiguang/Installer.php
  25. 0 0
      modules/Video/Exceptions/BusinessException.php
  26. 0 17
      modules/Video/Exceptions/ContentBusinessException.php
  27. 0 20
      modules/Video/Exceptions/ContentManageForbidden.php
  28. 1 1
      modules/Video/Exceptions/Errors.php
  29. 0 0
      modules/Video/Exceptions/Forbidden.php
  30. 8 8
      modules/Video/Installer.php
  31. 0 1
      modules/Video/Providers/VideoServiceProvider.php

+ 1 - 0
.env.example

@@ -28,6 +28,7 @@ MEMCACHED_HOST=127.0.0.1
 REDIS_HOST=127.0.0.1
 REDIS_PASSWORD=null
 REDIS_PORT=6379
+REDIS_PREFIX=''
 
 MAIL_MAILER=smtp
 MAIL_HOST=mailhog

+ 1 - 1
config/database.php

@@ -125,7 +125,7 @@ return [
 
         'options' => [
             'cluster' => env('REDIS_CLUSTER', 'redis'),
-            'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
+            'prefix' => env('REDIS_PREFIX','_database_'),
         ],
 
         'default' => [

+ 8 - 8
modules/Callback/Installer.php

@@ -1,9 +1,9 @@
 <?php
 
-namespace Modules\ContentManage;
+namespace Modules\Callback;
 
 use Catch\Support\Module\Installer as ModuleInstaller;
-use Modules\ContentManage\Providers\ContentManageServiceProvider;
+use Modules\Callback\Providers\CallbackServiceProvider;
 
 class Installer extends ModuleInstaller
 {
@@ -11,12 +11,12 @@ class Installer extends ModuleInstaller
     {
         // TODO: Implement info() method.
         return [
-            'title' => '内容中台',
-            'name' => 'contentManage',
-            'path' => 'contentManage',
-            'keywords' => '内容中台',
-            'description' => '内容中台管理模块',
-            'provider' => ContentManageServiceProvider::class
+            'title' => '回传管理',
+            'name' => 'callback',
+            'path' => 'callback',
+            'keywords' => '回传管理',
+            'description' => '回传管理管理模块',
+            'provider' => CallbackServiceProvider::class
         ];
     }
 

+ 1 - 1
modules/Channel/Http/Controllers/OrdersController.php

@@ -51,7 +51,7 @@ class OrdersController extends CatchController
                 if (getProp($param, 'user_id')) {
                     $val->total_count = $val->promotion_count;
                 }
-                unset($val->caompany_count, $val->promotion_count, $val->id, $val->puser_id, $val->pay_product_id, $val->create_ip, $val->transaction_id);
+                unset($val->caompany_count, $val->promotion_count, $val->id, $val->pay_product_id, $val->create_ip, $val->transaction_id);
                 unset($val->third_orderid, $val->pay_merchant_sourcem, $val->video_id, $val->video_series_sequence, $val->updated_at);
             }
         }

+ 2 - 2
modules/Channel/Installer.php

@@ -14,8 +14,8 @@ class Installer extends ModuleInstaller
             'title' => '渠道管理',
             'name' => 'channel',
             'path' => 'channel',
-            'keywords' => '内容中台',
-            'description' => '内容中台管理模块',
+            'keywords' => '渠道管理',
+            'description' => '渠道管理模块',
             'provider' => ChannelServiceProvider::class
         ];
     }

+ 0 - 0
modules/Channel/Middlewares/ChannleGate.php


+ 0 - 26
modules/Channel/Middlewares/ContentManageGate.php

@@ -1,26 +0,0 @@
-<?php
-
-namespace Modules\ContentManage\Middlewares;
-
-use Illuminate\Http\Request;
-use Modules\ContentManage\Exceptions\PermissionForbidden;
-use Modules\User\Models\User;
-
-class ContentManageGate
-{
-    public function handle(Request $request, \Closure $next)
-    {
-        if ($request->isMethod('get')) {
-            return $next($request);
-        }
-
-        /* @var User $user */
-        $user = $request->user(getGuardName());
-
-        if (! $user->can()) {
-            throw new PermissionForbidden();
-        }
-
-        return $next($request);
-    }
-}

+ 1 - 1
modules/Channel/Services/Notice/NoitceTypeService.php

@@ -11,7 +11,7 @@
 namespace Modules\System\Services\Notice;
 
 use Illuminate\Support\Facades\DB;
-use Modules\ContentManage\Models\NoticeTypes;
+use Modules\System\Models\NoticeTypes;
 
 class NoitceTypeService
 {

+ 1 - 2
modules/Channel/Services/Order/OrderService.php

@@ -31,10 +31,9 @@ class OrderService
         if ($isAll) {
             $list = $sql->get();
         } else {
-            $list = $sql->simplePaginate(getProp($param, 'limit', 15));
+            $list = $sql->paginate(getProp($param, 'limit', 15));
         }
 
-
         if (!$list->isEmpty()) {
             $status = array_column(self::getOrderPayType(),null,'value');
             $types = array_column(self::getOrderType(),null,'value');

+ 3 - 3
modules/Channel/Services/WechatMinprogram/WechatMinprogramUserService.php

@@ -13,6 +13,7 @@ use Carbon\Carbon;
 use Illuminate\Pagination\LengthAwarePaginator;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Redis;
+use Illuminate\Support\Str;
 use Modules\Channel\Models\MiniprogramUserVip;
 use Modules\Channel\Models\Order;
 use Modules\Channel\Models\UidLogs;
@@ -94,7 +95,7 @@ class WechatMinprogramUserService
             ->where('orders.status', 'PAID')
             ->where('orders.uid', $uid)
             ->orderBy('orders.id', 'desc')
-            ->simplePaginate(15);
+            ->paginate(15);
 
         foreach ($list as $item) {
             $item->pay_name = '微信支付';
@@ -109,7 +110,6 @@ class WechatMinprogramUserService
                 $item->rechare_coin = "-";
                 $item->pay_result = '充值';
             }
-
             $item->from_page = $item->video_id > 0 ? "播放页" : "充值页";
         }
         return $list;
@@ -151,7 +151,7 @@ class WechatMinprogramUserService
     public static function getUserConsumeRecord(mixed $uid)
     {
         $tableName = 'coin_cost_record_' . ($uid % 8);
-        $result = DB::table($tableName)->where('uid', $uid)->orderBy('id', 'desc')->simplePaginate();
+        $result = DB::table($tableName)->where('uid', $uid)->orderBy('id', 'desc')->paginate();
         foreach ($result as $item) {
             $item->series_name = VideoSeries::where('video_id', $item->video_id)->where('series_sequence', $item->sequence)->select('series_name')->first()->series_name;
             $item->video_name = Videos::where('id', $item->video_id)->value('name');

+ 1 - 1
modules/CpManage/Models/Cp/Cps.php

@@ -13,7 +13,7 @@ namespace Modules\CpManage\Models\Cp;
 use Catch\Exceptions\FailedException;
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Support\Facades\DB;
-use Modules\ContentManage\Services\CpManage\CpService;
+use Modules\CpManage\Services\CpManage\CpService;
 
 class Cps extends Model
 {

+ 22 - 3
modules/Manage/Http/Controllers/MiniprogramController.php

@@ -3,18 +3,21 @@
 namespace Modules\Manage\Http\Controllers;
 
 use Illuminate\Routing\Controller;
+use Catch\Base\CatchController;
 use Illuminate\Http\Request;
 use Modules\Manage\Enmus\MiniprogramType;
 use Modules\Manage\Http\Requests\MiniprogramRequest;
 use Modules\Manage\Http\Requests\MiniprogramUpdateRequest;
 use Modules\Manage\Models\Miniprogram;
+use Modules\Channel\Models\UserHasMiniprograms;
 use Illuminate\Support\Facades\DB;
 use Log;
+use Modules\Channel\Services\User\UserService;
 
-class MiniprogramController extends Controller
+class MiniprogramController extends CatchController
 {
 
-    public function __construct(protected readonly Miniprogram $miniprogram)
+    public function __construct(protected readonly Miniprogram $miniprogram,protected readonly UserHasMiniprograms $userHasMiniprograms)
     {
         
     }
@@ -26,9 +29,11 @@ class MiniprogramController extends Controller
      */
     public function index(Request $request)
     {
+        $uid = $this->getLoginUser()->id;
         $name = $request->get('name');
         $play_name = $request->get('play_name');
         $company = $request->get('company');
+        $type = $request->get('type');
         $page_size = $request->input('limit', 15);
         $where = [];
         if($name){
@@ -40,7 +45,21 @@ class MiniprogramController extends Controller
         if($company){
             $where[] = ['company','like','%'.$company.'%']; 
         }
-        $result = $this->miniprogram->where($where)->paginate($page_size);
+
+        if($type){
+            $where[] = ['type','=',$type];
+        }
+        if(UserService::userHasRole($uid,'administrator')){
+            $result = $this->miniprogram->where($where)->orderBy('id','desc')->paginate($page_size);
+        }else{
+            $result = $this->userHasMiniprograms->join('miniprogram','miniprogram.id','=','user_has_miniprograms.miniprogram_id')
+            ->where('user_has_miniprograms.is_enabled',1)
+            ->where('uid',$uid)
+            ->where($where)
+            ->select('miniprogram.*')
+            ->paginate($page_size);
+        }
+       
         foreach($result as $item){
             $item->type_name = MiniprogramType::from($item->type)->name();
             $item->status_name = $item->status == 1 ?'启用':'禁用';

+ 1 - 1
modules/Manage/Installer.php

@@ -16,7 +16,7 @@ class Installer extends ModuleInstaller
             'path' => 'manage',
             'keywords' => '',
             'description' => '',
-            'provider' => ContentManageServiceProvider::class
+            'provider' => ManageServiceProvider::class
         ];
     }
 

+ 6 - 12
modules/Manage/routes/route.php

@@ -12,27 +12,21 @@ Route::prefix('manage')->group(function(){
         ->withoutMiddleware(config('catch.route.middlewares'));
 
         //添加
-        Route::post('store',[MiniprogramController::class,'store'])
-        ->withoutMiddleware(config('catch.route.middlewares'));
+        Route::post('store',[MiniprogramController::class,'store']);
 
         //小程序列表
-        Route::get('index',[MiniprogramController::class,'index'])
-        ->withoutMiddleware(config('catch.route.middlewares'));
+        Route::get('index',[MiniprogramController::class,'index']);
 
         //小程序详情
-        Route::get('show/{id}',[MiniprogramController::class,'show'])
-        ->withoutMiddleware(config('catch.route.middlewares'));
+        Route::get('show/{id}',[MiniprogramController::class,'show']);
 
          //小程序详情
-         Route::post('update/{id}',[MiniprogramController::class,'update'])
-         ->withoutMiddleware(config('catch.route.middlewares'));
+         Route::post('update/{id}',[MiniprogramController::class,'update']);
 
          //小程序分配列表
-         Route::get('allocation/{miniprogram_id}',[UserMiniprogramController::class,'getAllocationInfo'])
-         ->withoutMiddleware(config('catch.route.middlewares'));
+         Route::get('allocation/{miniprogram_id}',[UserMiniprogramController::class,'getAllocationInfo']);
         //分配小程序
-         Route::post('allocation/{miniprogram_id}',[UserMiniprogramController::class,'allocationStore'])
-         ->withoutMiddleware(config('catch.route.middlewares'));
+         Route::post('allocation/{miniprogram_id}',[UserMiniprogramController::class,'allocationStore']);
 
 
         //分配小程序

+ 0 - 0
modules/System/Exceptions/BusinessException.php


+ 0 - 17
modules/System/Exceptions/ContentBusinessException.php

@@ -1,17 +0,0 @@
-<?php
-
-namespace Modules\ContentManage\Exceptions;
-
-use Throwable;
-
-class ContentBusinessException extends \RuntimeException
-{
-    public function __construct($message = "", $code = 0, Throwable $previous = null)
-    {
-        parent::__construct($message, $code, $previous);
-    }
-
-    public static function throwError($error, Throwable $previous = null) {
-        throw (new static($error[1], $error[0], $previous));
-    }
-}

+ 0 - 20
modules/System/Exceptions/ContentManageForbidden.php

@@ -1,20 +0,0 @@
-<?php
-
-namespace Modules\ContentManage\Exceptions;
-
-use Catch\Enums\Code;
-use Catch\Exceptions\CatchException;
-use Symfony\Component\HttpFoundation\Response;
-
-class ContentManageForbidden extends CatchException
-{
-    protected $message = 'permission forbidden';
-
-    protected $code = Code::PERMISSION_FORBIDDEN;
-
-
-    public function statusCode(): int
-    {
-        return Response::HTTP_FORBIDDEN;
-    }
-}

+ 1 - 1
modules/System/Exceptions/Errors.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace Modules\ContentManage\Exceptions;
+namespace Modules\System\Exceptions;
 
 class Errors
 {

+ 0 - 0
modules/System/Exceptions/Forbidden.php


+ 8 - 8
modules/System/Installer.php

@@ -1,9 +1,9 @@
 <?php
 
-namespace Modules\ContentManage;
+namespace Modules\System;
 
 use Catch\Support\Module\Installer as ModuleInstaller;
-use Modules\ContentManage\Providers\ContentManageServiceProvider;
+use Modules\System\Providers\SystemServiceProvider;
 
 class Installer extends ModuleInstaller
 {
@@ -11,12 +11,12 @@ class Installer extends ModuleInstaller
     {
         // TODO: Implement info() method.
         return [
-            'title' => '内容中台',
-            'name' => 'contentManage',
-            'path' => 'contentManage',
-            'keywords' => '内容中台',
-            'description' => '内容中台管理模块',
-            'provider' => ContentManageServiceProvider::class
+            'title' => '系统管理',
+            'name' => 'system',
+            'path' => 'system',
+            'keywords' => '系统管理',
+            'description' => '系统管理管理模块',
+            'provider' => SystemServiceProvider::class
         ];
     }
 

+ 0 - 26
modules/System/Middlewares/ContentManageGate.php

@@ -1,26 +0,0 @@
-<?php
-
-namespace Modules\ContentManage\Middlewares;
-
-use Illuminate\Http\Request;
-use Modules\ContentManage\Exceptions\PermissionForbidden;
-use Modules\User\Models\User;
-
-class ContentManageGate
-{
-    public function handle(Request $request, \Closure $next)
-    {
-        if ($request->isMethod('get')) {
-            return $next($request);
-        }
-
-        /* @var User $user */
-        $user = $request->user(getGuardName());
-
-        if (! $user->can()) {
-            throw new PermissionForbidden();
-        }
-
-        return $next($request);
-    }
-}

+ 0 - 0
modules/System/Middlewares/SystemGate.php


+ 1 - 1
modules/System/Providers/SystemServiceProvider.php

@@ -4,7 +4,7 @@ namespace Modules\System\Providers;
 
 use Catch\CatchAdmin;
 use Catch\Providers\CatchModuleServiceProvider;
-use Modules\ContentManage\Middlewares\ContentManageGate;
+use Modules\System\Middlewares\SystemGate;
 
 class SystemServiceProvider extends CatchModuleServiceProvider
 {

+ 8 - 8
modules/Tuiguang/Installer.php

@@ -1,9 +1,9 @@
 <?php
 
-namespace Modules\ContentManage;
+namespace Modules\Tuiguang;
 
 use Catch\Support\Module\Installer as ModuleInstaller;
-use Modules\ContentManage\Providers\ContentManageServiceProvider;
+use Modules\ContentManage\Providers\TuiguangServiceProvider;
 
 class Installer extends ModuleInstaller
 {
@@ -11,12 +11,12 @@ class Installer extends ModuleInstaller
     {
         // TODO: Implement info() method.
         return [
-            'title' => '内容中台',
-            'name' => 'contentManage',
-            'path' => 'contentManage',
-            'keywords' => '内容中台',
-            'description' => '内容中台管理模块',
-            'provider' => ContentManageServiceProvider::class
+            'title' => '推广管理',
+            'name' => 'tuiguang',
+            'path' => 'tuiguang',
+            'keywords' => '推广管理',
+            'description' => '推广管理模块',
+            'provider' => TuiguangServiceProvider::class
         ];
     }
 

+ 0 - 0
modules/Video/Exceptions/BusinessException.php


+ 0 - 17
modules/Video/Exceptions/ContentBusinessException.php

@@ -1,17 +0,0 @@
-<?php
-
-namespace Modules\ContentManage\Exceptions;
-
-use Throwable;
-
-class ContentBusinessException extends \RuntimeException
-{
-    public function __construct($message = "", $code = 0, Throwable $previous = null)
-    {
-        parent::__construct($message, $code, $previous);
-    }
-
-    public static function throwError($error, Throwable $previous = null) {
-        throw (new static($error[1], $error[0], $previous));
-    }
-}

+ 0 - 20
modules/Video/Exceptions/ContentManageForbidden.php

@@ -1,20 +0,0 @@
-<?php
-
-namespace Modules\ContentManage\Exceptions;
-
-use Catch\Enums\Code;
-use Catch\Exceptions\CatchException;
-use Symfony\Component\HttpFoundation\Response;
-
-class ContentManageForbidden extends CatchException
-{
-    protected $message = 'permission forbidden';
-
-    protected $code = Code::PERMISSION_FORBIDDEN;
-
-
-    public function statusCode(): int
-    {
-        return Response::HTTP_FORBIDDEN;
-    }
-}

+ 1 - 1
modules/Video/Exceptions/Errors.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace Modules\ContentManage\Exceptions;
+namespace Modules\Video\Exceptions;
 
 class Errors
 {

+ 0 - 0
modules/Video/Exceptions/Forbidden.php


+ 8 - 8
modules/Video/Installer.php

@@ -1,9 +1,9 @@
 <?php
 
-namespace Modules\ContentManage;
+namespace Modules\Video;
 
 use Catch\Support\Module\Installer as ModuleInstaller;
-use Modules\ContentManage\Providers\ContentManageServiceProvider;
+use Modules\Video\Providers\VideoServiceProvider;
 
 class Installer extends ModuleInstaller
 {
@@ -11,12 +11,12 @@ class Installer extends ModuleInstaller
     {
         // TODO: Implement info() method.
         return [
-            'title' => '内容中台',
-            'name' => 'contentManage',
-            'path' => 'contentManage',
-            'keywords' => '内容中台',
-            'description' => '内容中台管理模块',
-            'provider' => ContentManageServiceProvider::class
+            'title' => '视频管理',
+            'name' => 'video',
+            'path' => 'video',
+            'keywords' => '视频管理',
+            'description' => '视频管理模块',
+            'provider' => VideoServiceProvider::class
         ];
     }
 

+ 0 - 1
modules/Video/Providers/VideoServiceProvider.php

@@ -4,7 +4,6 @@ namespace Modules\Video\Providers;
 
 use Catch\CatchAdmin;
 use Catch\Providers\CatchModuleServiceProvider;
-use Modules\ContentManage\Middlewares\ContentManageGate;
 
 class VideoServiceProvider extends CatchModuleServiceProvider
 {