作者 李美松

AICC与V6项目关联 - 优化

@@ -5,12 +5,35 @@ namespace App\Http\Controllers\Bside\Aicc; @@ -5,12 +5,35 @@ namespace App\Http\Controllers\Bside\Aicc;
5 use App\Enums\Common\Code; 5 use App\Enums\Common\Code;
6 use App\Http\Controllers\Bside\BaseController; 6 use App\Http\Controllers\Bside\BaseController;
7 use App\Http\Logic\Aside\Aicc\AiccV6Logic; 7 use App\Http\Logic\Aside\Aicc\AiccV6Logic;
  8 +use Illuminate\Http\Request;
8 9
9 class AiccV6Controller extends BaseController 10 class AiccV6Controller extends BaseController
10 { 11 {
11 - public function save(AiccV6Logic $aiccV6Logic) 12 + private $aiccV6Logic;
  13 +
  14 + public function __construct(Request $request)
  15 + {
  16 + $this->aiccV6Logic = new AiccV6Logic();
  17 + parent::__construct($request);
  18 + }
  19 +
  20 + /**
  21 + * V6与AICC数据关联
  22 + * @return void
  23 + */
  24 + public function save()
12 { 25 {
13 - $aiccV6Logic->saveData(); 26 + $this->aiccV6Logic->saveData();
14 $this->response('success'); 27 $this->response('success');
15 } 28 }
  29 +
  30 + /**
  31 + * 数据推送到AICC
  32 + * @return void
  33 + */
  34 + public function dataPush()
  35 + {
  36 + $data = $this->aiccV6Logic->V6AiccLists();
  37 + $this->response('success', Code::SUCCESS, $data);
  38 + }
16 } 39 }
@@ -6,7 +6,6 @@ use App\Enums\Common\Code; @@ -6,7 +6,6 @@ use App\Enums\Common\Code;
6 use App\Http\Logic\Logic; 6 use App\Http\Logic\Logic;
7 use App\Models\AICC\V6Aicc; 7 use App\Models\AICC\V6Aicc;
8 use Illuminate\Support\Facades\DB; 8 use Illuminate\Support\Facades\DB;
9 -use function Symfony\Component\String\b;  
10 9
11 class AiccV6Logic extends Logic 10 class AiccV6Logic extends Logic
12 { 11 {
@@ -36,8 +35,29 @@ class AiccV6Logic extends Logic @@ -36,8 +35,29 @@ class AiccV6Logic extends Logic
36 DB::commit(); 35 DB::commit();
37 } catch (\Exception $e) { 36 } catch (\Exception $e) {
38 DB::rollBack(); 37 DB::rollBack();
  38 + $e->getMessage();
  39 + errorLog('V6与AICC关联失败', $aicc, $e);
39 $this->fail('请检查操作是否正确!', Code::SERVER_MYSQL_ERROR); 40 $this->fail('请检查操作是否正确!', Code::SERVER_MYSQL_ERROR);
40 } 41 }
41 return $this->success($status); 42 return $this->success($status);
42 } 43 }
  44 +
  45 + /**
  46 + * @return array
  47 + */
  48 + public function V6AiccLists()
  49 + {
  50 + $page = (int)request()->route('page', 1);
  51 + $status = 1; # 1 - 正常, 0 - 禁用
  52 + $perPage = (int)request()->route('perPage', 15); # 分页页数
  53 + $lists = V6Aicc::query()->where('status', $status)
  54 + ->whereNotNull('aicc_project_id')
  55 + ->whereNotNull('aicc_user_id')
  56 + ->paginate($perPage, ['v6_project_id', 'aicc_project_id', 'aicc_user_id'], 'page', $page);
  57 + $items = $lists->Items();
  58 + $totalPage = $lists->lastPage();
  59 + $total = $lists->total();
  60 + $currentPage = $lists->currentPage();
  61 + return compact('total', 'items', 'totalPage', 'currentPage');
  62 + }
43 } 63 }
@@ -343,6 +343,8 @@ Route::group([], function () { @@ -343,6 +343,8 @@ Route::group([], function () {
343 Route::any('get_template_detail', [Aside\Template\ATemplateController::class, 'getTemplateDetail'])->name('admin.get_template_detail'); 343 Route::any('get_template_detail', [Aside\Template\ATemplateController::class, 'getTemplateDetail'])->name('admin.get_template_detail');
344 344
345 Route::any('/collect', [Aside\Collect\CollectController::class, 'index'])->name('admin.collect'); 345 Route::any('/collect', [Aside\Collect\CollectController::class, 'index'])->name('admin.collect');
  346 + # AICC与V6.0数据推送 page - 分页 perPage - 分页数量
  347 + Route::get('/dataPush/{page?}/{perPage?}', [\App\Http\Controllers\Bside\Aicc\AiccV6Controller::class, 'dataPush'])->name('admin.dataPush')->where('page', '[0-9]+')->where('perPage', '[0-9]+');
346 }); 348 });
347 349
348 350