perf: 新增联系电话

This commit is contained in:
kuaifan
2022-07-08 15:24:24 +08:00
parent 97d041076d
commit c13f8bbcc0
9 changed files with 146 additions and 31 deletions

View File

@@ -500,12 +500,14 @@ class DialogController extends AbstractController
Base::checkClientVersion('0.13.33');
$user = User::auth();
//
$chat_nickname = Base::settingFind('system', 'chat_nickname');
if ($chat_nickname == 'required') {
$nickname = User::select(['nickname as nickname_original'])->whereUserid($user->userid)->value('nickname_original');
if (empty($nickname)) {
$chat_information = Base::settingFind('system', 'chat_information');
if ($chat_information == 'required') {
if (empty($user->getRawOriginal('nickname'))) {
return Base::retError('请设置昵称', [], -2);
}
if (empty($user->getRawOriginal('tel'))) {
return Base::retError('请设置联系电话', [], -3);
}
}
//
$dialog_id = Base::getPostInt('dialog_id');

View File

@@ -28,7 +28,7 @@ class SystemController extends AbstractController
* @apiParam {String} type
* - get: 获取(默认)
* - all: 获取所有(需要管理员权限)
* - save: 保存设置(参数:['reg', 'reg_invite', 'login_code', 'password_policy', 'project_invite', 'chat_nickname', 'auto_archived', 'archived_day', 'all_group_mute', 'start_home', 'home_footer'])
* - save: 保存设置(参数:['reg', 'reg_invite', 'login_code', 'password_policy', 'project_invite', 'chat_information', 'auto_archived', 'archived_day', 'all_group_mute', 'start_home', 'home_footer'])
* @apiSuccess {Number} ret 返回状态码(1正确、0错误)
* @apiSuccess {String} msg 返回信息(错误描述)
@@ -50,7 +50,7 @@ class SystemController extends AbstractController
'login_code',
'password_policy',
'project_invite',
'chat_nickname',
'chat_information',
'auto_archived',
'archived_day',
'all_group_mute',
@@ -84,7 +84,7 @@ class SystemController extends AbstractController
$setting['login_code'] = $setting['login_code'] ?: 'auto';
$setting['password_policy'] = $setting['password_policy'] ?: 'simple';
$setting['project_invite'] = $setting['project_invite'] ?: 'open';
$setting['chat_nickname'] = $setting['chat_nickname'] ?: 'optional';
$setting['chat_information'] = $setting['chat_information'] ?: 'optional';
$setting['auto_archived'] = $setting['auto_archived'] ?: 'close';
$setting['archived_day'] = floatval($setting['archived_day']) ?: 7;
$setting['all_group_mute'] = $setting['all_group_mute'] ?: 'open';

View File

@@ -244,6 +244,7 @@ class UsersController extends AbstractController
* @apiName editdata
*
* @apiParam {Object} [userimg] 会员头像(地址)
* @apiParam {String} [tel] 电话
* @apiParam {String} [nickname] 昵称
* @apiParam {String} [profession] 职位/职称
*
@@ -264,6 +265,17 @@ class UsersController extends AbstractController
$user->userimg = '';
}
}
// 电话
if (Arr::exists($data, 'tel')) {
$tel = trim(Request::input('tel'));
if (strlen($tel) < 6 || strlen($tel) > 20) {
return Base::retError('联系电话长度错误');
}
if ($tel != $user->tel && User::whereTel($tel)->exists()) {
return Base::retError('联系电话已存在');
}
$user->tel = $tel;
}
// 昵称
if (Arr::exists($data, 'nickname')) {
$nickname = trim(Request::input('nickname'));
@@ -469,8 +481,9 @@ class UsersController extends AbstractController
* @apiName lists
*
* @apiParam {Object} [keys] 搜索条件
* - keys.key 邮箱/昵称/职位(赋值后keys.email、keys.nickname、keys.profession失效)
* - keys.key 邮箱/电话/昵称/职位(赋值后keys.email、keys.tel、keys.nickname、keys.profession失效)
* - keys.email 邮箱
* - keys.tel 电话
* - keys.nickname 昵称
* - keys.profession 职位
* - keys.identity 身份(如:admin、noadmin)
@@ -504,6 +517,7 @@ class UsersController extends AbstractController
} else {
$builder->where(function($query) use ($keys) {
$query->where("email", "like", "%{$keys['key']}%")
->orWhere("tel", "like", "%{$keys['key']}%")
->orWhere("nickname", "like", "%{$keys['key']}%")
->orWhere("profession", "like", "%{$keys['key']}%");
});
@@ -512,6 +526,9 @@ class UsersController extends AbstractController
if ($keys['email']) {
$builder->where("email", "like", "%{$keys['email']}%");
}
if ($keys['tel']) {
$builder->where("tel", "like", "%{$keys['tel']}%");
}
if ($keys['nickname']) {
$builder->where("nickname", "like", "%{$keys['nickname']}%");
}
@@ -560,6 +577,7 @@ class UsersController extends AbstractController
* - cleardisable 取消离职
* - delete 删除会员
* @apiParam {String} [email] 邮箱地址
* @apiParam {String} [tel] 联系电话
* @apiParam {String} [password] 新的密码
* @apiParam {String} [nickname] 昵称
* @apiParam {String} [profession] 职位
@@ -639,6 +657,14 @@ class UsersController extends AbstractController
}
$upArray['email'] = $email;
}
// 电话
if (Arr::exists($data, 'tel')) {
$tel = trim($data['tel']);
if (User::whereTel($tel)->where('userid', '!=', $userInfo->userid)->exists()) {
return Base::retError('联系电话已存在');
}
$upArray['tel'] = $tel;
}
// 密码
if (Arr::exists($data, 'password')) {
$password = trim($data['password']);