作者 李美松

AICC与V6项目关联 - 优化

... ... @@ -5,12 +5,35 @@ namespace App\Http\Controllers\Bside\Aicc;
use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Aside\Aicc\AiccV6Logic;
use Illuminate\Http\Request;
class AiccV6Controller extends BaseController
{
public function save(AiccV6Logic $aiccV6Logic)
private $aiccV6Logic;
public function __construct(Request $request)
{
$this->aiccV6Logic = new AiccV6Logic();
parent::__construct($request);
}
/**
* V6与AICC数据关联
* @return void
*/
public function save()
{
$aiccV6Logic->saveData();
$this->aiccV6Logic->saveData();
$this->response('success');
}
/**
* 数据推送到AICC
* @return void
*/
public function dataPush()
{
$data = $this->aiccV6Logic->V6AiccLists();
$this->response('success', Code::SUCCESS, $data);
}
}
... ...
... ... @@ -6,7 +6,6 @@ use App\Enums\Common\Code;
use App\Http\Logic\Logic;
use App\Models\AICC\V6Aicc;
use Illuminate\Support\Facades\DB;
use function Symfony\Component\String\b;
class AiccV6Logic extends Logic
{
... ... @@ -36,8 +35,29 @@ class AiccV6Logic extends Logic
DB::commit();
} catch (\Exception $e) {
DB::rollBack();
$e->getMessage();
errorLog('V6与AICC关联失败', $aicc, $e);
$this->fail('请检查操作是否正确!', Code::SERVER_MYSQL_ERROR);
}
return $this->success($status);
}
/**
* @return array
*/
public function V6AiccLists()
{
$page = (int)request()->route('page', 1);
$status = 1; # 1 - 正常, 0 - 禁用
$perPage = (int)request()->route('perPage', 15); # 分页页数
$lists = V6Aicc::query()->where('status', $status)
->whereNotNull('aicc_project_id')
->whereNotNull('aicc_user_id')
->paginate($perPage, ['v6_project_id', 'aicc_project_id', 'aicc_user_id'], 'page', $page);
$items = $lists->Items();
$totalPage = $lists->lastPage();
$total = $lists->total();
$currentPage = $lists->currentPage();
return compact('total', 'items', 'totalPage', 'currentPage');
}
}
... ...
... ... @@ -343,6 +343,8 @@ Route::group([], function () {
Route::any('get_template_detail', [Aside\Template\ATemplateController::class, 'getTemplateDetail'])->name('admin.get_template_detail');
Route::any('/collect', [Aside\Collect\CollectController::class, 'index'])->name('admin.collect');
# AICC与V6.0数据推送 page - 分页 perPage - 分页数量
Route::get('/dataPush/{page?}/{perPage?}', [\App\Http\Controllers\Bside\Aicc\AiccV6Controller::class, 'dataPush'])->name('admin.dataPush')->where('page', '[0-9]+')->where('perPage', '[0-9]+');
});
... ...