ProjectAssociationController.php
3.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php
namespace App\Http\Controllers\Aside\ProjectAssociation;
use App\Enums\Common\Code;
use App\Exceptions\BsideGlobalException;
use App\Http\Controllers\Bside\BaseController;
use App\Models\ProjectAssociation\ProjectAssociation;
use App\Services\Aside\ProjectAssociation\ProjectAssociationServices;
class ProjectAssociationController extends BaseController
{
/**
* V6与AICC数据关联
* @return void
* @throws BsideGlobalException
*/
public function save()
{
$project_id = (int)request()->post('project_id', 0);
if (empty($project_id)) {
$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->response('请选择要绑定的AICC用户!', Code::USER_PARAMS_ERROE);
}
$friend_id = (int)request()->post('friend_id', 0);
if (empty($friend_id) && $status) {
$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', 'app');
ProjectAssociationServices::getInstance()->save($data);
$this->response('绑定成功');
}
/**
* 获取aicc用户列表 并返回绑定的数据
* @return void
*/
public function check()
{
$project_id = (int)request()->input('project_id', 0);
if (empty($project_id)) {
$this->response('请输入项目信息!', Code::SERVER_ERROR);
}
// 项目绑定状态
$app = (int)request()->input('app', 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 = ProjectAssociationServices::getInstance()->normal($project_id, $app);
// 当数据不存在时并开启状态,自动添加一条数据
if (is_null($isRes) && (!is_null($status) && $status)) {
$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 = ProjectAssociationServices::getInstance()->closedState($isRes, $status);
if ($bool) {
// 关闭aicc绑定成功
$this->response('关闭aicc绑定 - 成功!');
} else {
// 关闭aicc绑定失败
$this->response('关闭aicc绑定 - 失败!');
}
}
if (is_null($isRes)) {
// 请开启AICC绑定
$this->response('success', Code::SERVER_ERROR);
}
$cache = isset($cache);
$result = ProjectAssociationServices::getInstance()->getAiccWechatLists($isRes, $app, $cache);
$this->response('success', Code::SUCCESS, $result);
}
}