From ac8600ab6d1d0b31d72c05944da75c665e69b450 Mon Sep 17 00:00:00 2001 From: wong <106998207@qq.com> Date: Fri, 18 Apr 2025 13:46:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=95=E5=B1=82=E5=88=9B=E5=BB=BA=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/AccountController.php | 132 +++++++++--------- Server/application/cunkebao/config/route.php | 2 +- .../friend/GetFriendListV1Controller.php | 14 +- 3 files changed, 81 insertions(+), 67 deletions(-) diff --git a/Server/application/api/controller/AccountController.php b/Server/application/api/controller/AccountController.php index c8122712..4c3a5439 100644 --- a/Server/application/api/controller/AccountController.php +++ b/Server/application/api/controller/AccountController.php @@ -5,6 +5,7 @@ namespace app\api\controller; use app\api\model\CompanyAccountModel; use app\api\model\CompanyModel; use Library\S2\Logics\AccountLogic; +use think\Db; use think\facade\Request; /** @@ -124,12 +125,11 @@ class AccountController extends BaseController // 检查账号是否已存在 $existingAccount = CompanyAccountModel::where('userName', $userName)->find(); - if(!empty($existingAccount)){ - return successJson($existingAccount); + if (!empty($existingAccount)) { + return errorJson('账号已存在'); } - // 构建请求参数 $params = [ 'userName' => $userName, @@ -185,6 +185,7 @@ class AccountController extends BaseController return errorJson('缺少授权信息'); } + DB::startTrans(); try { // 获取参数 $departmentName = $this->request->param('departmentName', ''); @@ -208,83 +209,88 @@ class AccountController extends BaseController // 检查部门是否已存在 $existingDepartment = CompanyModel::where('name', $departmentName)->find(); + if (!empty($existingDepartment)) { + return errorJson('部门以存在'); + } // 检查账号是否已存在 $existingAccount = CompanyAccountModel::where('userName', $accountName)->find(); + if (!empty($existingAccount)) { + return errorJson('账号已存在'); + } + $headerData = ['client:system']; $header = setHeader($headerData, $authorization, 'json'); // 1. 创建部门 - if (empty($existingDepartment)) { - $departmentParams = [ + $departmentParams = [ + 'name' => $departmentName, + 'memo' => $departmentMemo, + 'departmentIdArr' => [914], + 'parentId' => 914 + ]; + + $departmentResult = requestCurl($this->baseUrl . 'api/Department/createDepartment', $departmentParams, 'POST', $header, 'json'); + if (is_numeric($departmentResult)) { + // 保存部门到数据库 + CompanyModel::create([ + 'id' => $departmentResult, 'name' => $departmentName, 'memo' => $departmentMemo, - 'departmentIdArr' => [914], - 'parentId' => 914 - ]; - - $departmentResult = requestCurl($this->baseUrl . 'api/Department/createDepartment', $departmentParams, 'POST', $header, 'json'); - if (is_numeric($departmentResult)) { - // 保存部门到数据库 - CompanyModel::create([ - 'id' => $departmentResult, - 'name' => $departmentName, - 'memo' => $departmentMemo, - 'tenantId' => 242, - 'isTop' => 0, - 'level' => 1, - 'parentId' => 914, - 'privileges' => '', - 'createTime' => time(), - 'lastUpdateTime' => 0 - ]); - } else { - return errorJson('创建部门失败:' . $departmentResult); - } + 'tenantId' => 242, + 'isTop' => 0, + 'level' => 1, + 'parentId' => 914, + 'privileges' => '', + 'createTime' => time(), + 'lastUpdateTime' => 0 + ]); } else { - $departmentResult = $existingDepartment['id']; + DB::rollback(); + return errorJson('创建部门失败:' . $departmentResult); } - - if (empty($existingAccount)) { - // 2. 创建账号 - $accountParams = [ + + + // 2. 创建账号 + $accountParams = [ + 'userName' => $accountName, + 'password' => $accountPassword, + 'realName' => $accountRealName, + 'nickname' => $accountNickname, + 'memo' => $accountMemo, + 'departmentId' => $departmentResult, + 'departmentIdArr' => [914, $departmentResult] + ]; + + $accountResult = requestCurl($this->baseUrl . 'api/Account/newAccount', $accountParams, 'POST', $header, 'json'); + + if (is_numeric($accountResult)) { + $res = CompanyAccountModel::create([ + 'id' => $accountResult, + 'tenantId' => 242, 'userName' => $accountName, - 'password' => $accountPassword, 'realName' => $accountRealName, 'nickname' => $accountNickname, + 'passwordMd5' => md5($accountPassword), + 'passwordLocal' => localEncrypt($accountPassword), 'memo' => $accountMemo, + 'accountType' => 11, 'departmentId' => $departmentResult, - 'departmentIdArr' => [914, $departmentResult] - ]; - - $accountResult = requestCurl($this->baseUrl . 'api/Account/newAccount', $accountParams, 'POST', $header, 'json'); - - if (is_numeric($accountResult)) { - $res = CompanyAccountModel::create([ - 'id' => $accountResult, - 'tenantId' => 242, - 'userName' => $accountName, - 'realName' => $accountRealName, - 'nickname' => $accountNickname, - 'passwordMd5' => md5($accountPassword), - 'passwordLocal' => localEncrypt($accountPassword), - 'memo' => $accountMemo, - 'accountType' => 11, - 'departmentId' => $departmentResult, - 'createTime' => time(), - 'privilegeIds' => json_encode([]) - ]); - return successJson($res, '账号创建成功'); - } else { - // 如果创建账号失败,删除已创建的部门 - $this->deleteDepartment($accountResult); - return errorJson('创建账号失败:' . $accountResult['msg']); - } + 'createTime' => time(), + 'privilegeIds' => json_encode([]) + ]); + DB::commit(); + return successJson($res, '账号创建成功'); } else { - return successJson($existingAccount, '账号获取成功'); + // 如果创建账号失败,删除已创建的部门 + $this->deleteDepartment($departmentResult); + DB::rollback(); + return errorJson('创建账号失败:' . $accountResult); } + } catch (\Exception $e) { + DB::rollback(); return errorJson('创建账号失败:' . $e->getMessage()); } } @@ -363,7 +369,7 @@ class AccountController extends BaseController // 检查部门名称是否已存在 $departmentId = CompanyModel::where('name', $name)->find(); if (!empty($departmentId)) { - return successJson($departmentId); + return errorJson('部门已存在'); } // 构建请求参数 @@ -497,10 +503,10 @@ class AccountController extends BaseController // 设置请求头 $headerData = ['client:system']; - $header = setHeader($headerData, $authorization, 'plain'); + $header = setHeader($headerData, $authorization, 'json'); // 发送删除请求 - $result = requestCurl($this->baseUrl . 'api/Department/del/' . $id, [], 'DELETE', $header); + $result = requestCurl($this->baseUrl . 'api/Department/del/' . $id, [], 'DELETE', $header, 'json'); if ($result) { return errorJson($result); diff --git a/Server/application/cunkebao/config/route.php b/Server/application/cunkebao/config/route.php index 123cc00d..2778e94e 100644 --- a/Server/application/cunkebao/config/route.php +++ b/Server/application/cunkebao/config/route.php @@ -67,6 +67,6 @@ Route::group('v1/', function () { // 好友相关 Route::group('friend', function () { - Route::get('', 'app\\cunkebao\\controller\\FriendController@index'); // 获取好友列表 + Route::get('', 'app\\cunkebao\\controller\\friend\\GetFriendListV1Controller@index'); // 获取好友列表 }); })->middleware(['jwt']); \ No newline at end of file diff --git a/Server/application/cunkebao/controller/friend/GetFriendListV1Controller.php b/Server/application/cunkebao/controller/friend/GetFriendListV1Controller.php index b8557d05..a9c42d21 100644 --- a/Server/application/cunkebao/controller/friend/GetFriendListV1Controller.php +++ b/Server/application/cunkebao/controller/friend/GetFriendListV1Controller.php @@ -19,6 +19,9 @@ class GetFriendListV1Controller extends BaseController */ public function index() { + $page = $this->request->param('page',1); + $limit = $this->request->param('limit',20); + try { $where = []; @@ -26,9 +29,12 @@ class GetFriendListV1Controller extends BaseController $where['companyId'] = $this->getUserInfo('companyId'); } else { $where['companyId'] = $this->getUserInfo('companyId'); - $where['userId'] = $this->getUserInfo('id'); + //$where['userId'] = $this->getUserInfo('id'); } + print_r($where); + exit; + $data = WechatFriend::alias('wf') ->field(['wa1.nickname','wa1.avatar','wa1.alias','wa1.wechatId','wa2.nickname as ownerNickname','wa2.alias as ownerAlias','wf.createTime']) @@ -36,6 +42,8 @@ class GetFriendListV1Controller extends BaseController ->leftJoin('wechat_account wa2','wf.ownerWechatId = wa2.wechatId') ->where($where); + $total = $data->count(); + $list = $data->page($page, $limit)->select(); @@ -44,8 +52,8 @@ class GetFriendListV1Controller extends BaseController 'code' => 200, 'msg' => '获取成功', 'data' => [ - 'list' => $data->select(), - 'total' => $data->total(), + 'list' => $list, + 'total' => $total, ] ]); } catch (\Exception $e) {