优化字段

This commit is contained in:
kuaifan 2022-03-17 21:37:36 +08:00
parent eaf1a59e89
commit 7491a6faac
14 changed files with 102 additions and 22 deletions

View File

@ -41,7 +41,7 @@ class DialogController extends AbstractController
{ {
$user = User::auth(); $user = User::auth();
// //
$list = WebSocketDialog::select(['web_socket_dialogs.*', 'u.top_at', 'u.is_mark_unread']) $list = WebSocketDialog::select(['web_socket_dialogs.*', 'u.top_at', 'u.mark_unread'])
->join('web_socket_dialog_users as u', 'web_socket_dialogs.id', '=', 'u.dialog_id') ->join('web_socket_dialog_users as u', 'web_socket_dialogs.id', '=', 'u.dialog_id')
->where('u.userid', $user->userid) ->where('u.userid', $user->userid)
->orderByDesc('u.top_at') ->orderByDesc('u.top_at')
@ -74,7 +74,7 @@ class DialogController extends AbstractController
// //
$dialog_id = intval(Request::input('dialog_id')); $dialog_id = intval(Request::input('dialog_id'));
// //
$item = WebSocketDialog::select(['web_socket_dialogs.*', 'u.top_at', 'u.is_mark_unread']) $item = WebSocketDialog::select(['web_socket_dialogs.*', 'u.top_at', 'u.mark_unread'])
->join('web_socket_dialog_users as u', 'web_socket_dialogs.id', '=', 'u.dialog_id') ->join('web_socket_dialog_users as u', 'web_socket_dialogs.id', '=', 'u.dialog_id')
->where('web_socket_dialogs.id', $dialog_id) ->where('web_socket_dialogs.id', $dialog_id)
->where('u.userid', $user->userid) ->where('u.userid', $user->userid)
@ -156,9 +156,9 @@ class DialogController extends AbstractController
$user->save(); $user->save();
} }
//去掉标记未读 //去掉标记未读
$isMarkDialogUser = WebSocketDialogUser::whereDialogId($dialog->id)->whereUserid($user->userid)->whereIsMarkUnread(1)->first(); $isMarkDialogUser = WebSocketDialogUser::whereDialogId($dialog->id)->whereUserid($user->userid)->whereMarkUnread(1)->first();
if ($isMarkDialogUser) { if ($isMarkDialogUser) {
$isMarkDialogUser->is_mark_unread = 0; $isMarkDialogUser->mark_unread = 0;
$isMarkDialogUser->save(); $isMarkDialogUser->save();
} }
// //
@ -531,12 +531,12 @@ class DialogController extends AbstractController
->chunkById(100, function ($list) { ->chunkById(100, function ($list) {
WebSocketDialogMsgRead::onlyMarkRead($list); WebSocketDialogMsgRead::onlyMarkRead($list);
}); });
$dialogUser->is_mark_unread = 0; $dialogUser->mark_unread = 0;
$dialogUser->save(); $dialogUser->save();
break; break;
case 'unread': case 'unread':
$dialogUser->is_mark_unread = 1; $dialogUser->mark_unread = 1;
$dialogUser->save(); $dialogUser->save();
break; break;
@ -545,7 +545,7 @@ class DialogController extends AbstractController
} }
return Base::retSuccess("success", [ return Base::retSuccess("success", [
'id' => $dialogId, 'id' => $dialogId,
'is_mark_unread' => $dialogUser->is_mark_unread, 'mark_unread' => $dialogUser->mark_unread,
]); ]);
} }
} }

View File

@ -90,7 +90,7 @@ class UsersController extends AbstractController
return $retError('帐号已停用...'); return $retError('帐号已停用...');
} }
Cache::forget("code::" . $email); Cache::forget("code::" . $email);
if ($isRegVerify && $user->is_email_verity === 0) { if ($isRegVerify && $user->email_verity === 0) {
UserEmailVerification::userEmailSend($user); UserEmailVerification::userEmailSend($user);
return $retError('您还没有验证邮箱,请先登录邮箱通过验证邮件验证邮箱'); return $retError('您还没有验证邮箱,请先登录邮箱通过验证邮件验证邮箱');
} }
@ -612,7 +612,7 @@ class UsersController extends AbstractController
'status' => 1 'status' => 1
]); ]);
User::whereUserid($res->userid)->update([ User::whereUserid($res->userid)->update([
'is_email_verity' => 1 'email_verity' => 1
]); ]);
return Base::retSuccess('绑定邮箱成功'); return Base::retSuccess('绑定邮箱成功');
} }

View File

@ -10,7 +10,7 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
/** /**
* App\Model\AbstractModel * App\Models\AbstractModel
* *
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|AbstractModel newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel newQuery() * @method static \Illuminate\Database\Eloquent\Builder|AbstractModel newQuery()

View File

@ -13,7 +13,7 @@ use App\Module\Base;
* @property string|null $name 名称 * @property string|null $name 名称
* @property string|null $status 状态 * @property string|null $status 状态
* @property array $turns 可流转 * @property array $turns 可流转
* @property array $userids 自动负责人ID * @property array $userids 状态负责人ID
* @property string|null $usertype 流转模式 * @property string|null $usertype 流转模式
* @property int|null $userlimit 限制负责人 * @property int|null $userlimit 限制负责人
* @property int|null $sort 排序 * @property int|null $sort 排序

View File

@ -10,7 +10,7 @@ use App\Module\Base;
* @property int $id * @property int $id
* @property int|null $project_id 项目ID * @property int|null $project_id 项目ID
* @property int|null $column_id 列表ID * @property int|null $column_id 列表ID
* @property int|null $task_id 项目ID * @property int|null $task_id 任务ID
* @property int|null $userid 会员ID * @property int|null $userid 会员ID
* @property string|null $detail 详细信息 * @property string|null $detail 详细信息
* @property array $record 记录数据 * @property array $record 记录数据

View File

@ -29,7 +29,7 @@ use Carbon\Carbon;
* @property int|null $task_dialog_id 最后打开的任务会话ID * @property int|null $task_dialog_id 最后打开的任务会话ID
* @property string|null $created_ip 注册IP * @property string|null $created_ip 注册IP
* @property string|null $disable_at 禁用时间 * @property string|null $disable_at 禁用时间
* @property int $is_email_verity 邮箱是否已验证 * @property int|null $email_verity 邮箱是否已验证
* @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at * @property \Illuminate\Support\Carbon|null $updated_at
* @method static \Database\Factories\UserFactory factory(...$parameters) * @method static \Database\Factories\UserFactory factory(...$parameters)
@ -42,9 +42,9 @@ use Carbon\Carbon;
* @method static \Illuminate\Database\Eloquent\Builder|User whereCreatedIp($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereCreatedIp($value)
* @method static \Illuminate\Database\Eloquent\Builder|User whereDisableAt($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereDisableAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|User whereEmail($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereEmail($value)
* @method static \Illuminate\Database\Eloquent\Builder|User whereEmailVerity($value)
* @method static \Illuminate\Database\Eloquent\Builder|User whereEncrypt($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereEncrypt($value)
* @method static \Illuminate\Database\Eloquent\Builder|User whereIdentity($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereIdentity($value)
* @method static \Illuminate\Database\Eloquent\Builder|User whereIsEmailVerity($value)
* @method static \Illuminate\Database\Eloquent\Builder|User whereLastAt($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereLastAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|User whereLastIp($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereLastIp($value)
* @method static \Illuminate\Database\Eloquent\Builder|User whereLineAt($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereLineAt($value)
@ -189,7 +189,7 @@ class User extends AbstractModel
if (User::email2userid($email) > 0) { if (User::email2userid($email) > 0) {
$isRegVerify = Base::settingFind('emailSetting', 'reg_verify') === 'open'; $isRegVerify = Base::settingFind('emailSetting', 'reg_verify') === 'open';
$user = self::whereUserid(User::email2userid($email))->first(); $user = self::whereUserid(User::email2userid($email))->first();
if ($isRegVerify && $user->is_email_verity === 0) { if ($isRegVerify && $user->email_verity === 0) {
UserEmailVerification::userEmailSend($user); UserEmailVerification::userEmailSend($user);
throw new ApiException('您的账号已注册过,请验证邮箱'); throw new ApiException('您的账号已注册过,请验证邮箱');
} }

View File

@ -118,7 +118,7 @@ class WebSocketDialog extends AbstractModel
$dialog->last_msg = $last_msg; $dialog->last_msg = $last_msg;
// 未读信息 // 未读信息
$dialog->unread = WebSocketDialogMsgRead::whereDialogId($dialog->id)->whereUserid($userid)->whereReadAt(null)->count(); $dialog->unread = WebSocketDialogMsgRead::whereDialogId($dialog->id)->whereUserid($userid)->whereReadAt(null)->count();
$dialog->is_mark_unread = $dialog->is_mark_unread ?? WebSocketDialogUser::whereDialogId($dialog->id)->whereUserid($userid)->value('is_mark_unread'); $dialog->mark_unread = $dialog->mark_unread ?? WebSocketDialogUser::whereDialogId($dialog->id)->whereUserid($userid)->value('mark_unread');
// 对话人数 // 对话人数
$builder = WebSocketDialogUser::whereDialogId($dialog->id); $builder = WebSocketDialogUser::whereDialogId($dialog->id);
$dialog->people = $builder->count(); $dialog->people = $builder->count();

View File

@ -9,7 +9,7 @@ namespace App\Models;
* @property int|null $dialog_id 对话ID * @property int|null $dialog_id 对话ID
* @property int|null $userid 会员ID * @property int|null $userid 会员ID
* @property string|null $top_at 置顶时间 * @property string|null $top_at 置顶时间
* @property int $is_mark_unread 是否标记为未读0否1是 * @property int|null $mark_unread 是否标记为未读0否1是
* @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at * @property \Illuminate\Support\Carbon|null $updated_at
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser newModelQuery()
@ -18,7 +18,7 @@ namespace App\Models;
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser whereDialogId($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser whereDialogId($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser whereIsMarkUnread($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser whereMarkUnread($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser whereTopAt($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser whereTopAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser whereUpdatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser whereUserid($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogUser whereUserid($value)

View File

@ -15,7 +15,7 @@ class AddIsEmailVerityToUsers extends Migration
{ {
Schema::table('users', function (Blueprint $table) { Schema::table('users', function (Blueprint $table) {
if (!Schema::hasColumn('users', 'is_email_verity')) { if (!Schema::hasColumn('users', 'is_email_verity')) {
$table->boolean('is_email_verity')->default(0)->nullable(false)->after('disable_at')->comment('邮箱是否已验证'); $table->boolean('is_email_verity')->default(0)->nullable()->after('disable_at')->comment('邮箱是否已验证');
} }
}); });
} }

View File

@ -15,7 +15,7 @@ class AddWebSocketDialogUsersAddIsMarkUnread extends Migration
{ {
Schema::table('web_socket_dialog_users', function (Blueprint $table) { Schema::table('web_socket_dialog_users', function (Blueprint $table) {
if (!Schema::hasColumn('web_socket_dialog_users', 'is_mark_unread')) { if (!Schema::hasColumn('web_socket_dialog_users', 'is_mark_unread')) {
$table->boolean('is_mark_unread')->default(0)->nullable(false)->after('top_at')->comment('是否标记为未读0否1是'); $table->boolean('is_mark_unread')->default(0)->nullable()->after('top_at')->comment('是否标记为未读0否1是');
} }
}); });
} }

View File

@ -0,0 +1,46 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class RenamePreUsersIsEmailVerity extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
$isAdd = false;
Schema::table('users', function (Blueprint $table) use (&$isAdd) {
if (Schema::hasColumn('users', 'is_email_verity')) {
$isAdd = true;
$table->renameColumn('is_email_verity', 'email_verity');
}
});
if ($isAdd) {
\App\Models\User::where("identity", "like", "%,admin,%")->chunkById(100, function ($lists) {
foreach ($lists as $item) {
if (!$item->email_verity) {
$item->email_verity = 1;
$item->save();
}
}
});
}
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
//
});
}
}

View File

@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class RenamePreWebSocketDialogUsersIsMarkUnread extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('web_socket_dialog_users', function (Blueprint $table) {
if (Schema::hasColumn('web_socket_dialog_users', 'is_mark_unread')) {
$table->renameColumn('is_mark_unread', 'mark_unread');
}
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('web_socket_dialog_users', function (Blueprint $table) {
//
});
}
}

View File

@ -384,7 +384,7 @@
* @returns {*|number} * @returns {*|number}
*/ */
getDialogUnread(dialog) { getDialogUnread(dialog) {
return dialog ? (dialog.unread || dialog.is_mark_unread || 0) : 0 return dialog ? (dialog.unread || dialog.mark_unread || 0) : 0
}, },
}); });

View File

@ -2093,7 +2093,7 @@ export default {
let dialog = state.cacheDialogs.find(({id}) => id == data.dialog_id); let dialog = state.cacheDialogs.find(({id}) => id == data.dialog_id);
if (dialog && dialog.unread > 0) { if (dialog && dialog.unread > 0) {
dialog.unread-- dialog.unread--
dialog.is_mark_unread = 0 dialog.mark_unread = 0
dispatch("saveDialog", dialog) dispatch("saveDialog", dialog)
} }
// //