|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Http\Controllers\Bside\ProjectAssociation;
|
|
|
|
namespace App\Http\Controllers\Aside\ProjectAssociation;
|
|
|
|
|
|
|
|
use App\Enums\Common\Code;
|
|
|
|
use App\Exceptions\BsideGlobalException;
|
|
|
|
use App\Http\Controllers\Bside\BaseController;
|
|
|
|
use App\Http\Logic\Aside\ProjectAssociation\ProjectAssociationLogic;
|
|
|
|
use App\Models\ProjectAssociation\ProjectAssociation;
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
use Psr\Container\ContainerExceptionInterface;
|
|
|
|
use Psr\Container\NotFoundExceptionInterface;
|
|
|
|
use App\Services\Aside\ProjectAssociation\ProjectAssociationServices;
|
|
|
|
|
|
|
|
class ProjectAssociationController extends BaseController
|
|
|
|
{
|
|
|
|
private $ProjectAssociationLogic;
|
|
|
|
|
|
|
|
public function __construct(Request $request)
|
|
|
|
{
|
|
|
|
$this->ProjectAssociationLogic = new ProjectAssociationLogic();
|
|
|
|
parent::__construct($request);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* V6与AICC数据关联
|
|
|
|
* @return void
|
|
|
|
* @throws BsideGlobalException
|
|
|
|
*/
|
|
|
|
public function saveWeChatData()
|
|
|
|
public function save()
|
|
|
|
{
|
|
|
|
$project_id = (int)request()->post('project_id', 0);
|
|
|
|
if (empty($project_id)) {
|
|
|
|
$this->fail('请选择项目!', Code::USER_PARAMS_ERROE);
|
|
|
|
$this->response('请选择项目!', Code::USER_PARAMS_ERROE);
|
|
|
|
}
|
|
|
|
$status = (bool)request()->post('status', 1); # 1 - 正常, 0 - 禁用
|
|
|
|
|
|
|
|
$user_id = (int)env('AICC_WECHAT_USER_ID') ?? 0;
|
|
|
|
if (empty($user_id) && $status) {
|
|
|
|
$this->fail('请选择要绑定的AICC用户!', Code::USER_PARAMS_ERROE);
|
|
|
|
$this->response('请选择要绑定的AICC用户!', Code::USER_PARAMS_ERROE);
|
|
|
|
}
|
|
|
|
$friend_id = (int)request()->post('friend_id', 0);
|
|
|
|
if (empty($friend_id) && $status) {
|
|
|
|
$this->fail('请选择要绑定的AICC用户列表!', Code::USER_PARAMS_ERROE);
|
|
|
|
$this->response('请选择要绑定的AICC用户列表!', Code::USER_PARAMS_ERROE);
|
|
|
|
}
|
|
|
|
$app = (int)request()->post('app', ProjectAssociation::ENTERPRISE_WECHAT);
|
|
|
|
$app = ProjectAssociation::getApplicationID($app);
|
|
|
|
$nickname = request()->post('nickname', '');
|
|
|
|
$user_name = request()->post('user_name', '');
|
|
|
|
$image = request()->post('image', '');
|
|
|
|
$data = compact('project_id', 'user_id', 'friend_id', 'nickname', 'user_name', 'image');
|
|
|
|
$this->ProjectAssociationLogic->saveWeChatData($data);
|
|
|
|
$data = compact('project_id', 'user_id', 'friend_id', 'nickname', 'user_name', 'image', 'app');
|
|
|
|
ProjectAssociationServices::getInstance()->save($data);
|
|
|
|
$this->response('绑定成功');
|
|
|
|
}
|
|
|
|
|
|
...
|
...
|
@@ -58,27 +49,34 @@ class ProjectAssociationController extends BaseController |
|
|
|
public function check()
|
|
|
|
{
|
|
|
|
$project_id = (int)request()->input('project_id', 0);
|
|
|
|
if (empty($project_id)) {
|
|
|
|
$this->response('请输入项目信息!', Code::SERVER_ERROR);
|
|
|
|
}
|
|
|
|
// 项目绑定状态
|
|
|
|
$app = (int)request()->input('type', ProjectAssociation::ENTERPRISE_WECHAT);
|
|
|
|
$app = ProjectAssociation::getApplicationID($app);
|
|
|
|
$status = request()->input('status');
|
|
|
|
// 重载redis缓存
|
|
|
|
$cache = request()->input('cache');
|
|
|
|
if (isset($status)) {
|
|
|
|
$status = (int)$status ? ProjectAssociation::STATUS_NORMAL : ProjectAssociation::STATUS_DISABLED;
|
|
|
|
}
|
|
|
|
$isRes = $this->ProjectAssociationLogic->normal($project_id);
|
|
|
|
$isRes = ProjectAssociationServices::getInstance()->normal($project_id, $app);
|
|
|
|
// 当数据不存在时并开启状态,自动添加一条数据
|
|
|
|
if (is_null($isRes) && (!is_null($status) && $status)) {
|
|
|
|
$isRes = $this->ProjectAssociationLogic->saveProject($project_id, $status);
|
|
|
|
if (is_null($isRes)) {
|
|
|
|
$value = ProjectAssociationServices::getInstance()->saveProject($project_id, $status, $app);
|
|
|
|
if (empty($value['bool'])) {
|
|
|
|
// 保存数据失败
|
|
|
|
$this->response('绑定AICC数据失败!', Code::SERVER_ERROR);
|
|
|
|
}
|
|
|
|
$isRes = $value['isRes'];
|
|
|
|
} // 关闭状态
|
|
|
|
elseif (!is_null($isRes) && (!is_null($status) && empty($status))) {
|
|
|
|
$bool = $this->ProjectAssociationLogic->closedState($isRes, $status);
|
|
|
|
$bool = ProjectAssociationServices::getInstance()->closedState($isRes, $status);
|
|
|
|
if ($bool) {
|
|
|
|
// 关闭aicc绑定成功
|
|
|
|
$this->response('关闭aicc绑定 - 成功!');
|
|
|
|
}else{
|
|
|
|
} else {
|
|
|
|
// 关闭aicc绑定失败
|
|
|
|
$this->response('关闭aicc绑定 - 失败!');
|
|
|
|
}
|
|
...
|
...
|
@@ -88,7 +86,7 @@ class ProjectAssociationController extends BaseController |
|
|
|
$this->response('success', Code::SERVER_ERROR);
|
|
|
|
}
|
|
|
|
$cache = isset($cache);
|
|
|
|
$result = $this->ProjectAssociationLogic->getAiccWechatLists($isRes, $cache);
|
|
|
|
$result = ProjectAssociationServices::getInstance()->getAiccWechatLists($isRes, $app, $cache);
|
|
|
|
$this->response('success', Code::SUCCESS, $result);
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|