超管后台 - 新建项目对接触客宝

This commit is contained in:
柳清爽
2025-04-15 11:35:49 +08:00
parent ae8624b198
commit 053e7cd76b
17 changed files with 55 additions and 707 deletions

View File

@@ -2,37 +2,37 @@
use think\facade\Route;
// 超级管理员认证相关路由(不需要鉴权)
Route::post('auth/login', 'app\\superadmin\\controller\\Auth@login');
Route::post('auth/login', 'app\\superadmin\\controller\\AuthController@login');
// 需要登录认证的路由组
Route::group('', function () {
// 菜单管理相关路由
Route::group('menu', function () {
Route::get('tree', 'app\\superadmin\\controller\\Menu@getMenuTree');
Route::get('list', 'app\\superadmin\\controller\\Menu@getMenuList');
Route::post('save', 'app\\superadmin\\controller\\Menu@saveMenu');
Route::delete('delete/:id', 'app\\superadmin\\controller\\Menu@deleteMenu');
Route::post('status', 'app\\superadmin\\controller\\Menu@updateStatus');
Route::get('toplevel', 'app\\superadmin\\controller\\Menu@getTopLevelMenus');
Route::get('tree', 'app\\superadmin\\controller\\MenuController@getTree');
Route::get('list', 'app\\superadmin\\controller\\MenuController@getList');
Route::post('save', 'app\\superadmin\\controller\\MenuController@save');
Route::delete('delete/:id', 'app\\superadmin\\controller\\MenuController@delete');
Route::post('status', 'app\\superadmin\\controller\\MenuController@updateStatus');
Route::get('toplevel', 'app\\superadmin\\controller\\MenuController@getTopLevelMenus');
});
// 管理员相关路由
Route::group('administrator', function () {
Route::get('list', 'app\\superadmin\\controller\\Administrator@getList');
Route::get('detail/:id', 'app\\superadmin\\controller\\Administrator@getDetail');
Route::post('update', 'app\\superadmin\\controller\\Administrator@updateAdmin');
Route::post('add', 'app\\superadmin\\controller\\Administrator@addAdmin');
Route::post('delete', 'app\\superadmin\\controller\\Administrator@deleteAdmin');
Route::get('list', 'app\\superadmin\\controller\\AdministratorController@getList');
Route::get('detail/:id', 'app\\superadmin\\controller\\AdministratorController@getDetail');
Route::post('update', 'app\\superadmin\\controller\\AdministratorController@update');
Route::post('add', 'app\\superadmin\\controller\\AdministratorController@add');
Route::delete('delete/:id', 'app\\superadmin\\controller\\AdministratorController@delete');
});
// 客户池管理路由
Route::group('trafficPool', function () {
Route::get('list', 'app\\superadmin\\controller\\TrafficPool@getList'); // 获取客户池列表
Route::get('detail', 'app\\superadmin\\controller\\TrafficPool@getDetail'); // 获取客户详情
Route::get('list', 'app\\superadmin\\controller\\TrafficPoolController@getList'); // 获取客户池列表
Route::get('detail', 'app\\superadmin\\controller\\TrafficPoolController@getDetail'); // 获取客户详情
});
// 公司路由
Route::group('company', function () {
Route::post('create', 'app\\superadmin\\controller\\Company@create');
Route::post('create', 'app\\superadmin\\controller\\CompanyController@create');
});
})->middleware(['app\\superadmin\\middleware\\AdminAuth']);

View File

@@ -8,7 +8,7 @@ use app\superadmin\model\Administrator as AdminModel;
/**
* 管理员控制器
*/
class Administrator extends Controller
class AdministratorController extends Controller
{
/**
* 获取管理员列表

View File

@@ -4,7 +4,7 @@ namespace app\superadmin\controller;
use think\Controller;
use app\superadmin\model\Administrator;
class Auth extends Controller
class AuthController extends Controller
{
/**
* 管理员登录
@@ -52,7 +52,7 @@ class Auth extends Controller
/**
* 创建登录令牌
* @param Administrator $admin
* @param AdministratorController $admin
* @return string
*/
private function createToken($admin)

View File

@@ -1,6 +1,7 @@
<?php
namespace app\superadmin\controller;
use app\library\s2\CurlHandle;
use app\superadmin\model\Company as companyModel;
use app\superadmin\model\Users;
use GuzzleHttp\Client;
@@ -13,7 +14,7 @@ use think\facade\Session;
/**
* 公司控制器
*/
class Company extends Controller
class CompanyController extends Controller
{
/**
* 创建新项目
@@ -22,43 +23,34 @@ class Company extends Controller
public function create()
{
// 获取参数
$params = Request::only(['nickname', 'account', 'password', 'realName', 'memo']);
$params = Request::only(['name', 'nickname', 'account', 'password', 'realName', 'memo']);
try {
// 开启事务
Db::startTrans();
// 创建Guzzle客户端
$client = new Client([
'base_uri' => Config::get('app.api_base_url'),
'timeout' => 10.0
]);
$curl = CurlHandle::getInstant()->setBaseUrl('http://yishi.com/');
// 1. 调用创建部门接口
$departmentResponse = $client->post('/v1/api/account/department/create', [
'json' => [
'name' => $params['name'],
'memo' => $params['memo'] ?: '',
]
$departmentResponse = $curl->setMethod('post')->send('v1/api/account/department/create', [
'name' => $params['name'],
'memo' => $params['memo'] ?: '',
]);
$departmentData = json_decode($departmentResponse->getBody(), true);
$departmentData = json_decode($departmentResponse, true);
if ($departmentData['code'] != 200) {
throw new \Exception($departmentData['msg']);
}
// 2. 调用创建账号接口
$accountResponse = $client->post('/v1/api/account/create', [
'json' => [
'userName' => $params['account'],
'password' => $params['password'],
'realName' => $params['realName'],
'nickname' => $params['nickname'],
'departmentId' => $departmentData['data']['id']
]
$accountResponse = $curl->setMethod('post')->send('v1/api/account/create', [
'userName' => $params['account'],
'password' => $params['password'],
'realName' => $params['realName'],
'nickname' => $params['nickname'],
'departmentId' => $departmentData['data']['id']
]);
$accountData = json_decode($accountResponse->getBody(), true);
$accountData = json_decode($accountResponse, true);
if ($accountData['code'] != 200) {
throw new \Exception($accountData['msg']);
}

View File

@@ -7,7 +7,7 @@ use app\superadmin\model\Menu as MenuModel;
/**
* 菜单控制器
*/
class Menu extends Controller
class MenuController extends Controller
{
/**
* 获取菜单列表(树状结构)

View File

@@ -14,7 +14,7 @@ use think\facade\Validate;
/**
* 客户池控制器
*/
class TrafficPool extends Controller
class TrafficPoolController extends Controller
{
/**
* 获取客户池列表