代码提交
This commit is contained in:
@@ -27,6 +27,11 @@ Route::group('v1/', function () {
|
||||
Route::get('list', 'app\chukebao\controller\CustomerServiceController@getList'); // 获取好友列表
|
||||
});
|
||||
|
||||
//账号管理
|
||||
Route::group('accounts/', function () {
|
||||
Route::get('list', 'app\chukebao\controller\AccountsController@getList'); // 获取账号列表
|
||||
});
|
||||
|
||||
//客服相关
|
||||
Route::group('message/', function () {
|
||||
Route::get('list', 'app\chukebao\controller\MessageController@getList'); // 获取好友列表
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace app\chukebao\controller;
|
||||
|
||||
use library\ResponseHelper;
|
||||
use think\Db;
|
||||
|
||||
class AccountsController extends BaseController
|
||||
{
|
||||
/**
|
||||
* 获取账号列表(过滤掉后缀为 _offline 与 _delete 的账号)
|
||||
* @return \think\response\Json
|
||||
*/
|
||||
public function getList()
|
||||
{
|
||||
try {
|
||||
$companyId = $this->getUserInfo('companyId');
|
||||
} catch (\Exception $e) {
|
||||
return ResponseHelper::error($e->getMessage(), $e->getCode() ?: 401);
|
||||
}
|
||||
|
||||
if (empty($companyId)) {
|
||||
return ResponseHelper::error('请先登录', 401);
|
||||
}
|
||||
|
||||
$page = max(1, intval($this->request->param('page', 1)));
|
||||
$limit = max(1, intval($this->request->param('limit', 10)));
|
||||
$keyword = trim((string)$this->request->param('keyword', ''));
|
||||
|
||||
$query = Db::table('s2_company_account')
|
||||
->alias('a')
|
||||
->where([
|
||||
['a.departmentId', '=', $companyId],
|
||||
['a.status', '=', 0],
|
||||
])
|
||||
->whereNotLike('a.userName', '%_offline')
|
||||
->whereNotLike('a.userName', '%_delete');
|
||||
|
||||
if ($keyword !== '') {
|
||||
$query->where(function ($subQuery) use ($keyword) {
|
||||
$likeKeyword = '%' . $keyword . '%';
|
||||
$subQuery->whereLike('a.userName', $likeKeyword)
|
||||
->whereOrLike('a.realName', $likeKeyword)
|
||||
->whereOrLike('a.nickname', $likeKeyword);
|
||||
});
|
||||
}
|
||||
|
||||
$total = (clone $query)->count();
|
||||
$list = $query->field([
|
||||
'a.id',
|
||||
'a.userName',
|
||||
'a.realName',
|
||||
'a.nickname',
|
||||
'a.departmentId',
|
||||
'a.departmentName',
|
||||
'a.avatar'
|
||||
])
|
||||
->order('a.id', 'desc')
|
||||
->page($page, $limit)
|
||||
->select();
|
||||
|
||||
|
||||
|
||||
return ResponseHelper::success([
|
||||
'total' => $total,
|
||||
'list' => $list,
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -20,7 +20,7 @@ class MessageController extends BaseController
|
||||
|
||||
$friends = Db::table('s2_wechat_friend')
|
||||
->where(['accountId' => $accountId, 'isDeleted' => 0])
|
||||
->column('id,nickname,avatar,conRemark,labels,groupId,wechatAccountId,wechatId');
|
||||
->column('id,nickname,avatar,conRemark,labels,groupId,wechatAccountId,wechatId,extendFields,phone,region');
|
||||
|
||||
|
||||
// 构建好友子查询
|
||||
@@ -119,7 +119,11 @@ class MessageController extends BaseController
|
||||
$v['groupId'] = !empty($friends[$v['wechatFriendId']]) ? $friends[$v['wechatFriendId']]['groupId'] : '';
|
||||
$v['wechatAccountId'] = !empty($friends[$v['wechatFriendId']]) ? $friends[$v['wechatFriendId']]['wechatAccountId'] : '';
|
||||
$v['wechatId'] = !empty($friends[$v['wechatFriendId']]) ? $friends[$v['wechatFriendId']]['wechatId'] : '';
|
||||
$v['extendFields'] = !empty($friends[$v['wechatFriendId']]) ? $friends[$v['wechatFriendId']]['extendFields'] : [];
|
||||
$v['region'] = !empty($friends[$v['wechatFriendId']]) ? $friends[$v['wechatFriendId']]['region'] : '';
|
||||
$v['phone'] = !empty($friends[$v['wechatFriendId']]) ? $friends[$v['wechatFriendId']]['phone'] : '';
|
||||
$v['labels'] = !empty($friends[$v['wechatFriendId']]) ? json_decode($friends[$v['wechatFriendId']]['labels'], true) : [];
|
||||
|
||||
$unreadCount = isset($friendUnreadMap[$v['wechatFriendId']]) ? (int)$friendUnreadMap[$v['wechatFriendId']] : 0;
|
||||
$v['aiType'] = isset($aiTypeData[$v['wechatFriendId']]) ? $aiTypeData[$v['wechatFriendId']] : 0;
|
||||
unset($v['chatroomId']);
|
||||
@@ -150,7 +154,6 @@ class MessageController extends BaseController
|
||||
|
||||
}
|
||||
unset($v);
|
||||
|
||||
return ResponseHelper::success($list);
|
||||
}
|
||||
|
||||
|
||||
@@ -36,7 +36,6 @@ class WechatFriendController extends BaseController
|
||||
foreach ($list as $k => &$v) {
|
||||
$v['labels'] = json_decode($v['labels'], true);
|
||||
$v['siteLabels'] = json_decode($v['siteLabels'], true);
|
||||
$v['extendFields'] = json_decode($v['extendFields'], true);
|
||||
$v['createTime'] = !empty($v['createTime']) ? date('Y-m-d H:i:s', $v['createTime']) : '';
|
||||
$v['updateTime'] = !empty($v['updateTime']) ? date('Y-m-d H:i:s', $v['updateTime']) : '';
|
||||
$v['passTime'] = !empty($v['passTime']) ? date('Y-m-d H:i:s', $v['passTime']) : '';
|
||||
|
||||
@@ -9,7 +9,7 @@ class User extends Model
|
||||
{
|
||||
use SoftDelete;
|
||||
|
||||
const ADMIN_STP = 1; // 主操盘手账号
|
||||
const ADMIN_STP = 1; // 操盘手账号
|
||||
const ADMIN_OTP = 0;
|
||||
const NOT_USER = -1; // 非登录用户用于任务操作的(S2系统专属)
|
||||
const MASTER_USER = 1; // 操盘手
|
||||
|
||||
@@ -176,9 +176,9 @@ class CreateCompanyController extends BaseController
|
||||
protected function createFuncUsers(array $params): void
|
||||
{
|
||||
$seedCols = [
|
||||
['account' => $params['account'] . '_01', 'username' => $params['username'] . '_子账号01', 'status' => UsersModel::STATUS_STOP, 'isAdmin' => UsersModel::ADMIN_OTP, 'typeId' => UsersModel::NOT_USER],
|
||||
['account' => $params['account'] . '_02', 'username' => $params['username'] . '_子账号02', 'status' => UsersModel::STATUS_STOP, 'isAdmin' => UsersModel::ADMIN_OTP, 'typeId' => UsersModel::NOT_USER],
|
||||
['account' => $params['account'] . '_03', 'username' => $params['username'] . '_子账号03', 'status' => UsersModel::STATUS_STOP, 'isAdmin' => UsersModel::ADMIN_OTP, 'typeId' => UsersModel::NOT_USER],
|
||||
['account' => $params['account'] . '_01', 'username' => $params['username'] . '_子账号01', 'status' => UsersModel::ADMIN_STP, 'isAdmin' => UsersModel::ADMIN_OTP, 'typeId' => UsersModel::MASTER_USER],
|
||||
['account' => $params['account'] . '_02', 'username' => $params['username'] . '_子账号02', 'status' => UsersModel::ADMIN_STP, 'isAdmin' => UsersModel::ADMIN_OTP, 'typeId' => UsersModel::MASTER_USER],
|
||||
['account' => $params['account'] . '_03', 'username' => $params['username'] . '_子账号03', 'status' => UsersModel::ADMIN_STP, 'isAdmin' => UsersModel::ADMIN_OTP, 'typeId' => UsersModel::MASTER_USER],
|
||||
['account' => $params['account'] . '_offline', 'username' => $params['username'] . '_处理离线专用', 'status' => UsersModel::STATUS_STOP, 'isAdmin' => UsersModel::ADMIN_OTP, 'typeId' => UsersModel::NOT_USER],
|
||||
['account' => $params['account'] . '_delete', 'username' => $params['username'] . '_处理删除专用', 'status' => UsersModel::STATUS_STOP, 'isAdmin' => UsersModel::ADMIN_OTP, 'typeId' => UsersModel::NOT_USER],
|
||||
];
|
||||
@@ -267,7 +267,7 @@ class CreateCompanyController extends BaseController
|
||||
protected function setDepartmentPrivileges(array $params): void
|
||||
{
|
||||
|
||||
$params = ArrHelper::getValue('companyId=departmentId', $params);
|
||||
$params = ArrHelper::getValue('companyId', $params);
|
||||
$accountController = new \app\api\controller\AccountController();
|
||||
$accountController->setPrivileges(['id' => $params['companyId']]);
|
||||
}
|
||||
@@ -283,8 +283,12 @@ class CreateCompanyController extends BaseController
|
||||
$params = $this->request->only(['name', 'status', 'username', 'account', 'password', 'phone', 'memo']);
|
||||
$params = $this->dataValidate($params)->creatS2About($params);
|
||||
|
||||
// 设置部门权限
|
||||
$this->setDepartmentPrivileges($params);
|
||||
|
||||
Db::startTrans();
|
||||
|
||||
|
||||
$this->checkCompanyNameOrAccountOrPhoneExists(ArrHelper::getValue('name,account,phone', $params));
|
||||
$this->createCkbAbout($params);
|
||||
|
||||
@@ -292,9 +296,6 @@ class CreateCompanyController extends BaseController
|
||||
$this->createFuncUsers($params);
|
||||
Db::commit();
|
||||
|
||||
// 设置部门权限 ?????
|
||||
$this->setDepartmentPrivileges($params);
|
||||
|
||||
return ResponseHelper::success();
|
||||
} catch (Exception $e) {
|
||||
Db::rollback();
|
||||
|
||||
Reference in New Issue
Block a user