作者 李美松

AICC与V6项目关联

<?php
namespace App\Http\Controllers\Bside\Aicc;
use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Aside\Aicc\AiccV6Logic;
class AiccV6Controller extends BaseController
{
public function save(AiccV6Logic $aiccV6Logic)
{
$aiccV6Logic->saveData();
$this->response('success');
}
}
... ...
<?php
namespace App\Http\Logic\Aside\Aicc;
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
{
public function saveData()
{
$v6_project_id = (int)request()->post('project_id', 0);
if (empty($v6_project_id)) {
$this->fail('请选择项目!', Code::USER_PARAMS_ERROE);
}
$status = (bool)request()->post('status', 1); # 1 - 正常, 0 - 禁用
$aicc_user_id = (int)request()->post('aicc_user_id', 0);
if (empty($aicc_user_id) && $status) {
$this->fail('请选择要绑定的AICC用户!', Code::USER_PARAMS_ERROE);
}
$aicc_project_id = (int)request()->post('aicc_project_id', 0);
if (empty($aicc_project_id) && $status) {
$this->fail('请选择要绑定的AICC项目!', Code::USER_PARAMS_ERROE);
}
$aicc_nickname = request()->post('aicc_nickname', '');
$aicc_user_name = request()->post('aicc_user_name', '');
$aicc_image = request()->post('aicc_image', '');
$data = compact('v6_project_id', 'aicc_project_id', 'aicc_nickname', 'aicc_user_id', 'aicc_user_name', 'aicc_image');
$aicc = new V6Aicc();
DB::beginTransaction();
try {
$status = $aicc->saveData($data);
DB::commit();
} catch (\Exception $e) {
DB::rollBack();
$this->fail('请检查操作是否正确!', Code::SERVER_MYSQL_ERROR);
}
return $this->success($status);
}
}
... ...
<?php
namespace App\Models\AICC;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
class V6Aicc extends Model
{
protected $table = 'gl_v6_aicc';
/**
* 保存|修改数据
* @param array $data
* @return bool
*/
public function saveData(array $data): bool
{
$project_id = (int)$data['v6_project_id'] ?? 0;
$isRes = self::query()->where('v6_project_id', $project_id)->first();
if (!$isRes) {
$isRes = new self();
$isRes->v6_project_id = $project_id;
}
$isRes->aicc_project_id = $data['aicc_project_id'];
$isRes->aicc_nickname = $data['aicc_nickname'];
$isRes->aicc_user_id = $data['aicc_user_id'];
$isRes->aicc_user_name = $data['aicc_user_name'];
$isRes->aicc_image = $data['aicc_image'];
return $isRes->save();
}
/**
* 检查项目是否存在
* @param $project_id
* @return Builder|Model|object|null
*/
public function check($project_id)
{
return self::query()->where('v6_project_id', $project_id)->first();
}
}
... ...
... ... @@ -13,6 +13,7 @@ Route::middleware(['aloginauth'])->group(function () {
Route::any('/editPassword', [Aside\Com\IndexController::class, 'editPassword'])->name('admin.editPassword.white');
Route::get('/logout', [Aside\LoginController::class, 'logout'])->name('admin.logout.white');
Route::any('/getAccessAddress', [Aside\LoginController::class, 'getAccessAddress'])->name('admin.getAccessAddress');//获取B端地址
Route::post('/v6_aicc', [\App\Http\Controllers\Bside\Aicc\AiccV6Controller::class, 'save'])->name('admin.v6_aicc');
//会员相关
Route::prefix('user')->group(function () {
//会员管理
... ...