This commit is contained in:
Hankin 2026-08-20 17:56:59 +08:00
parent 23599a7786
commit 9fa390cd92
4 changed files with 388 additions and 221 deletions

View File

@ -27,7 +27,7 @@ class Kernel extends ConsoleKernel
\App\Console\Commands\CheckSmsComplete::class, \App\Console\Commands\CheckSmsComplete::class,
]; ];
protected $mobile='15872844805'; protected $mobile = '15872844805';
/** /**
* Define the application's command schedule. * Define the application's command schedule.
@ -66,8 +66,8 @@ class Kernel extends ConsoleKernel
//Log::info('start InterruptCall'); //Log::info('start InterruptCall');
///咨询通话-中断 ///咨询通话-中断
$schedule->command('InterruptCall')->everyMinute(); $schedule->command('InterruptCall')->everyMinute();
} catch(\Exception $e){ } catch (\Exception $e) {
$message = 'InterruptCall:'.$e->getMessage(); $message = 'InterruptCall:' . $e->getMessage();
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
} }
@ -78,8 +78,8 @@ class Kernel extends ConsoleKernel
//Log::info('start signNotice'); //Log::info('start signNotice');
//每日签到提醒 //每日签到提醒
$schedule->command('signNotice')->dailyAt('09:00'); $schedule->command('signNotice')->dailyAt('09:00');
} catch(\Exception $e){ } catch (\Exception $e) {
$message = 'signNotice:'.$e->getMessage(); $message = 'signNotice:' . $e->getMessage();
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
} }
@ -89,8 +89,8 @@ class Kernel extends ConsoleKernel
//Log::info('start automatic_check_bad_word'); //Log::info('start automatic_check_bad_word');
//敏感词校验 //敏感词校验
$schedule->command('automatic_check_bad_word')->dailyAt('5:30'); $schedule->command('automatic_check_bad_word')->dailyAt('5:30');
} catch(\Exception $e){ } catch (\Exception $e) {
$message = 'automatic_check_bad_word:'.$e->getMessage(); $message = 'automatic_check_bad_word:' . $e->getMessage();
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
} }
@ -148,21 +148,21 @@ class Kernel extends ConsoleKernel
//清除未支付订单 //清除未支付订单
$schedule->call(function () { $schedule->call(function () {
try{ try {
\Log::info('check unpaid order'); \Log::info('check unpaid order');
CronService::checkUnpaidOrder(); CronService::checkUnpaidOrder();
\Log::info('end check unpaid order'); \Log::info('end check unpaid order');
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'check unpaid order:'.$e->getMessage(); $message = 'check unpaid order:' . $e->getMessage();
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
} }
})->daily()->name('checkUnpaidOrder')->withoutOverlapping(60); })->daily()->name('checkUnpaidOrder')->withoutOverlapping(60);
$schedule->call(function () { $schedule->call(function () {
try{ try {
CronService::sendUserReportStatisticToMerchant(); CronService::sendUserReportStatisticToMerchant();
}catch(\Exception $e){ } catch (\Exception $e) {
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
} }
})->hourly()->name('sendUserReportStatisticToMerchant')->withoutOverlapping(60); })->hourly()->name('sendUserReportStatisticToMerchant')->withoutOverlapping(60);
@ -171,12 +171,12 @@ class Kernel extends ConsoleKernel
//检查ios未支付订单 //检查ios未支付订单
$schedule->call(function () { $schedule->call(function () {
try{ try {
\Log::info('check ios unpaid order'); \Log::info('check ios unpaid order');
CronService::checkIOSUnpaidOrder(); CronService::checkIOSUnpaidOrder();
\Log::info('end check unpaid order'); \Log::info('end check unpaid order');
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'check ios unpaid order:'.$e->getMessage(); $message = 'check ios unpaid order:' . $e->getMessage();
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
} }
@ -197,12 +197,12 @@ class Kernel extends ConsoleKernel
//检查推荐人和被推荐人是否是好友 //检查推荐人和被推荐人是否是好友
$schedule->call(function () { $schedule->call(function () {
try{ try {
\Log::info('add Friend'); \Log::info('add Friend');
CronService::addFriend(); CronService::addFriend();
\Log::info('end add Friend'); \Log::info('end add Friend');
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'add Friend :'.$e->getMessage(); $message = 'add Friend :' . $e->getMessage();
Log::debug($message); Log::debug($message);
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
@ -240,12 +240,12 @@ class Kernel extends ConsoleKernel
* 新用户圆图 * 新用户圆图
*/ */
$schedule->call(function () { $schedule->call(function () {
try{ try {
\Log::info('check user_circle_avatar'); \Log::info('check user_circle_avatar');
CronService::addUserCircleAvatar(); CronService::addUserCircleAvatar();
\Log::info('end check user_circle_avatar'); \Log::info('end check user_circle_avatar');
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'check user_circle_avatar :'.$e->getMessage(); $message = 'check user_circle_avatar :' . $e->getMessage();
Log::debug($message); Log::debug($message);
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
@ -256,12 +256,12 @@ class Kernel extends ConsoleKernel
* 检查退款订单 * 检查退款订单
*/ */
$schedule->call(function () { $schedule->call(function () {
try{ try {
\Log::info('check refund order'); \Log::info('check refund order');
CronService::chechRefundOrder(); CronService::chechRefundOrder();
\Log::info('end refund order'); \Log::info('end refund order');
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'check refund order:'.$e->getMessage(); $message = 'check refund order:' . $e->getMessage();
Log::debug($message); Log::debug($message);
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
@ -289,7 +289,7 @@ class Kernel extends ConsoleKernel
/** /**
* 检查无渠道红包配额状态并通知 * 检查无渠道红包配额状态并通知
*/ */
// $schedule->call(function () { // $schedule->call(function () {
// try{ // try{
// \Log::info('check checkRedPacketQuota'); // \Log::info('check checkRedPacketQuota');
// CronService::checkRedPacketQuota(); // CronService::checkRedPacketQuota();
@ -353,7 +353,7 @@ class Kernel extends ConsoleKernel
// } // }
// })->everyMinute()->name('myShare')->withoutOverlapping(); // })->everyMinute()->name('myShare')->withoutOverlapping();
// $schedule->call(function () { // $schedule->call(function () {
// try{ // try{
// \Log::info('myShareQrcodeRect'); // \Log::info('myShareQrcodeRect');
// // CronService::myShareQrcodeRect(); // // CronService::myShareQrcodeRect();
@ -371,12 +371,12 @@ class Kernel extends ConsoleKernel
* 检测临时会员 * 检测临时会员
*/ */
$schedule->call(function () { $schedule->call(function () {
try{ try {
\Log::info('check temp member'); \Log::info('check temp member');
CronService::checkTempMember(); CronService::checkTempMember();
\Log::info('end check temp member'); \Log::info('end check temp member');
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'check temp member:'.$e->getMessage(); $message = 'check temp member:' . $e->getMessage();
Log::debug($message); Log::debug($message);
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
@ -397,13 +397,13 @@ class Kernel extends ConsoleKernel
// //
// 檢查新用戶 // 檢查新用戶
$schedule->call(function () { $schedule->call(function () {
try{ try {
\Log::info('new day user'); \Log::info('new day user');
CronService::newDayUser(); CronService::newDayUser();
\Log::info('end new day user'); \Log::info('end new day user');
}catch(\Exception $e){ } catch (\Exception $e) {
// throw new Exception($e->getMessage(), 500); // throw new Exception($e->getMessage(), 500);
$message = 'new day user:'.$e->getMessage(); $message = 'new day user:' . $e->getMessage();
Log::debug($message); Log::debug($message);
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
@ -413,13 +413,13 @@ class Kernel extends ConsoleKernel
// 图片修改 // 图片修改
$schedule->call(function () { $schedule->call(function () {
try{ try {
\Log::info('wechat avatar update'); \Log::info('wechat avatar update');
CronService::wechatAvatarUpdate(); CronService::wechatAvatarUpdate();
\Log::info('end wechat avatar update'); \Log::info('end wechat avatar update');
}catch(\Exception $e){ } catch (\Exception $e) {
// throw new \Exception($e->getMessage(), 500); // throw new \Exception($e->getMessage(), 500);
$message = 'wechat avatar update:'.$e->getMessage(); $message = 'wechat avatar update:' . $e->getMessage();
Log::debug($message); Log::debug($message);
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
@ -444,12 +444,12 @@ class Kernel extends ConsoleKernel
// 会员截止 // 会员截止
$schedule->call(function () { $schedule->call(function () {
try{ try {
\Log::info('check rank deadline'); \Log::info('check rank deadline');
CronService::checkRankDeadline(); CronService::checkRankDeadline();
\Log::info('end check rank deadline'); \Log::info('end check rank deadline');
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'check rank deadline:'.$e->getMessage(); $message = 'check rank deadline:' . $e->getMessage();
Log::debug($message); Log::debug($message);
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
@ -575,15 +575,15 @@ class Kernel extends ConsoleKernel
//团契会员卡二维码 //团契会员卡二维码
$schedule->call(function () { $schedule->call(function () {
// Log::debug('check fellowing card qrcode'); // Log::debug('check fellowing card qrcode');
try{ try {
if (config('app.env') == 'production') { if (config('app.env') == 'production') {
Log::info('check fellowing card qrcode'); Log::info('check fellowing card qrcode');
CronService::fellowingCardShare(); CronService::fellowingCardShare();
Log::info('end check fellowing card qrcode'); Log::info('end check fellowing card qrcode');
} }
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'check fellowing card qrcode:'.$e->getMessage(); $message = 'check fellowing card qrcode:' . $e->getMessage();
Log::debug($message); Log::debug($message);
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
@ -630,12 +630,12 @@ class Kernel extends ConsoleKernel
// })->everyMinute()->name('checkPaasWithdraw')->withoutOverlapping(30); // })->everyMinute()->name('checkPaasWithdraw')->withoutOverlapping(30);
//预约通知 //预约通知
$schedule->call(function(){ $schedule->call(function () {
Log::debug('reservations'); Log::debug('reservations');
try{ try {
CronService::reservations(); CronService::reservations();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'reservations:'.$e->getMessage(); $message = 'reservations:' . $e->getMessage();
Log::debug($message); Log::debug($message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
} }
@ -750,10 +750,10 @@ class Kernel extends ConsoleKernel
//更新用户信息完整度 //更新用户信息完整度
$schedule->call(function () { $schedule->call(function () {
Log::debug('updateUserInfoScore'); Log::debug('updateUserInfoScore');
try{ try {
CronService::updateUserInfoScore(); CronService::updateUserInfoScore();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'updateUserInfoScore:'.$e->getMessage(); $message = 'updateUserInfoScore:' . $e->getMessage();
Log::debug($message); Log::debug($message);
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
@ -763,10 +763,10 @@ class Kernel extends ConsoleKernel
//每日更新用户资料 //每日更新用户资料
$schedule->call(function () { $schedule->call(function () {
Log::debug('dailyUpdateUserInfoScore'); Log::debug('dailyUpdateUserInfoScore');
try{ try {
CronService::dailyUpdateUserInfoScore(); CronService::dailyUpdateUserInfoScore();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'dailyUpdateUserInfoScore:'.$e->getMessage(); $message = 'dailyUpdateUserInfoScore:' . $e->getMessage();
Log::debug($message); Log::debug($message);
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->dailyUpdateUserInfoScore()); Log::debug($e->dailyUpdateUserInfoScore());
@ -785,7 +785,7 @@ class Kernel extends ConsoleKernel
// } // }
// })->dailyAt("19:10"); // })->dailyAt("19:10");
// 更新红包IP黑名单 // 更新红包IP黑名单
// $schedule->call(function () { // $schedule->call(function () {
// Log::debug('addRedBlackIp'); // Log::debug('addRedBlackIp');
// try{ // try{
@ -1022,12 +1022,12 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('signInNotice'); Log::debug('signInNotice');
try{ try {
if (config('app.env') == 'production') { if (config('app.env') == 'production') {
CronService::signInNotice(); CronService::signInNotice();
} }
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'signInNotice:'.$e->getMessage(); $message = 'signInNotice:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->dailyAt("9:00")->name('signInNotice')->withoutOverlapping(); })->dailyAt("9:00")->name('signInNotice')->withoutOverlapping();
@ -1037,12 +1037,12 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('matchNotice start'); Log::debug('matchNotice start');
try{ try {
if (config('app.env') == 'production') { if (config('app.env') == 'production') {
CronService::matchNotice(); CronService::matchNotice();
} }
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'matchNotice:'.$e->getMessage(); $message = 'matchNotice:' . $e->getMessage();
//Log::debug($message); //Log::debug($message);
} }
})->dailyAt("12:15")->name('matchNotice')->withoutOverlapping(); })->dailyAt("12:15")->name('matchNotice')->withoutOverlapping();
@ -1052,10 +1052,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('changeSignDays'); Log::debug('changeSignDays');
try{ try {
CronService::changeSignDays(); CronService::changeSignDays();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'changeSignDays:'.$e->getMessage(); $message = 'changeSignDays:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->dailyAt("00:00")->name('changeSignDays')->withoutOverlapping(); })->dailyAt("00:00")->name('changeSignDays')->withoutOverlapping();
@ -1063,7 +1063,7 @@ class Kernel extends ConsoleKernel
/** /**
* 检查开播群聊直播 * 检查开播群聊直播
*/ */
// $schedule->call(function () { // $schedule->call(function () {
// Log::debug('checkTeamLives'); // Log::debug('checkTeamLives');
// try{ // try{
// CronService::checkTeamLives(); // CronService::checkTeamLives();
@ -1076,12 +1076,12 @@ class Kernel extends ConsoleKernel
/** /**
* 每日更新用户频繁数据 * 每日更新用户频繁数据
*/ */
$schedule->call(function() { $schedule->call(function () {
try { try {
\Log::debug('updateUserActiveProperties'); \Log::debug('updateUserActiveProperties');
CronService::updateUserActiveProperties('visit'); CronService::updateUserActiveProperties('visit');
} catch (\Exception $e) { } catch (\Exception $e) {
$message = 'updateUserActiveProperties:'.$e->getMessage(); $message = 'updateUserActiveProperties:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->hourly()->name('updateUserActiveProperties')->withoutOverlapping(); })->hourly()->name('updateUserActiveProperties')->withoutOverlapping();
@ -1099,7 +1099,7 @@ class Kernel extends ConsoleKernel
// } // }
// })->dailyAt("18:00")->name('recommendActivity'); // })->dailyAt("18:00")->name('recommendActivity');
// /** // /**
// * 生成电话专员对象 // * 生成电话专员对象
// */ // */
// $schedule->call(function () { // $schedule->call(function () {
@ -1115,7 +1115,7 @@ class Kernel extends ConsoleKernel
/** /**
* 同步群聊人数 * 同步群聊人数
*/ */
// $schedule->call(function () { // $schedule->call(function () {
// Log::debug('syncTeamMembers'); // Log::debug('syncTeamMembers');
// try{ // try{
// CronService::syncTeamMembers(); // CronService::syncTeamMembers();
@ -1130,12 +1130,12 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('syncLivePerson'); Log::debug('syncLivePerson');
try{ try {
if (config('app.env') == 'production') { if (config('app.env') == 'production') {
CronService::syncLivePerson(); CronService::syncLivePerson();
} }
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'syncLivePerson:'.$e->getMessage(); $message = 'syncLivePerson:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyMinute()->name('syncLivePerson')->withoutOverlapping(); })->everyMinute()->name('syncLivePerson')->withoutOverlapping();
@ -1145,22 +1145,22 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('faceMatch'); Log::debug('faceMatch');
try{ try {
if (config('app.env') == 'production') { if (config('app.env') == 'production') {
CronService::faceMatch(); CronService::faceMatch();
} }
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'faceMatch:'.$e->getMessage(); $message = 'faceMatch:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyMinute()->name('faceMatch')->withoutOverlapping(); })->everyMinute()->name('faceMatch')->withoutOverlapping();
$schedule->call(function () { $schedule->call(function () {
Log::debug('errorMsg'); Log::debug('errorMsg');
try{ try {
CronService::errorMsg(); CronService::errorMsg();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'errorMsg:'.$e->getMessage(); $message = 'errorMsg:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyMinute()->name('errorMsg')->withoutOverlapping(); })->everyMinute()->name('errorMsg')->withoutOverlapping();
@ -1183,7 +1183,7 @@ class Kernel extends ConsoleKernel
* 同步性别 * 同步性别
* user profile同步 * user profile同步
*/ */
// $schedule->call(function () { // $schedule->call(function () {
// Log::debug('syncSex'); // Log::debug('syncSex');
// try{ // try{
// CronService::syncSex(); // CronService::syncSex();
@ -1198,10 +1198,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('syncBelief'); Log::debug('syncBelief');
try{ try {
CronService::syncBelief(); CronService::syncBelief();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'syncBelief:'.$e->getMessage(); $message = 'syncBelief:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyMinute()->name('syncBelief')->withoutOverlapping(); })->everyMinute()->name('syncBelief')->withoutOverlapping();
@ -1209,7 +1209,7 @@ class Kernel extends ConsoleKernel
/** /**
* 同步身份証性别 * 同步身份証性别
*/ */
// $schedule->call(function () { // $schedule->call(function () {
// Log::debug('syncCardIdSex'); // Log::debug('syncCardIdSex');
// try{ // try{
// CronService::syncCardIdSex(); // CronService::syncCardIdSex();
@ -1224,10 +1224,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('dailySyncCardIdSexBirthday'); Log::debug('dailySyncCardIdSexBirthday');
try{ try {
CronService::dailySyncCardIdSexBirthday(); CronService::dailySyncCardIdSexBirthday();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'dailySyncCardIdSexBirthday:'.$e->getMessage(); $message = 'dailySyncCardIdSexBirthday:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->dailyAt('1:30')->name('dailySyncCardIdSexBirthday')->withoutOverlapping(); })->dailyAt('1:30')->name('dailySyncCardIdSexBirthday')->withoutOverlapping();
@ -1235,7 +1235,7 @@ class Kernel extends ConsoleKernel
/** /**
* 解冻服务商与用户冻结金额 * 解冻服务商与用户冻结金额
*/ */
// $schedule->call(function () { // $schedule->call(function () {
// Log::debug('checkEarningFrozen'); // Log::debug('checkEarningFrozen');
// try{ // try{
// CronService::checkEarningFrozen(); // CronService::checkEarningFrozen();
@ -1250,10 +1250,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('checkLoveEarningFrozen'); Log::debug('checkLoveEarningFrozen');
try{ try {
CronService::checkLoveEarningFrozen(); CronService::checkLoveEarningFrozen();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'checkLoveEarningFrozen:'.$e->getMessage(); $message = 'checkLoveEarningFrozen:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyMinute()->name('checkLoveEarningFrozen')->withoutOverlapping(); })->everyMinute()->name('checkLoveEarningFrozen')->withoutOverlapping();
@ -1263,10 +1263,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('checkLoveEarningOrder'); Log::debug('checkLoveEarningOrder');
try{ try {
CronService::checkLoveEarningOrder(); CronService::checkLoveEarningOrder();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'checkLoveEarningOrder:'.$e->getMessage(); $message = 'checkLoveEarningOrder:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->weekly()->name('checkLoveEarningOrder')->withoutOverlapping(); })->weekly()->name('checkLoveEarningOrder')->withoutOverlapping();
@ -1276,10 +1276,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('syncMerchatInformations'); Log::debug('syncMerchatInformations');
try{ try {
CronService::syncMerchatInformations(); CronService::syncMerchatInformations();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'syncMerchatInformations:'.$e->getMessage(); $message = 'syncMerchatInformations:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyMinute()->name('syncMerchatInformations')->withoutOverlapping(); })->everyMinute()->name('syncMerchatInformations')->withoutOverlapping();
@ -1289,15 +1289,15 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('checkEarningOrder'); Log::debug('checkEarningOrder');
try{ try {
CronService::checkEarningOrder(); CronService::checkEarningOrder();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'checkEarningOrder:'.$e->getMessage(); $message = 'checkEarningOrder:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->weekly()->name('checkEarningOrder')->withoutOverlapping(); })->weekly()->name('checkEarningOrder')->withoutOverlapping();
// $schedule->call(function () { // $schedule->call(function () {
// Log::debug('syncDynamic'); // Log::debug('syncDynamic');
// try{ // try{
// CronService::syncDynamic(); // CronService::syncDynamic();
@ -1309,13 +1309,13 @@ class Kernel extends ConsoleKernel
$schedule->call(function () { $schedule->call(function () {
Log::debug('generateMonthAnalyse'); Log::debug('generateMonthAnalyse');
try{ try {
CronService::generateMonthAnalyse(); CronService::generateMonthAnalyse();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'generateMonthAnalyse:'.$e->getMessage(); $message = 'generateMonthAnalyse:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->monthlyOn(1,"00:01")->name('generateMonthAnalyse')->withoutOverlapping(); })->monthlyOn(1, "00:01")->name('generateMonthAnalyse')->withoutOverlapping();
// $schedule->call(function () { // $schedule->call(function () {
// Log::debug('transferAccount'); // Log::debug('transferAccount');
@ -1330,7 +1330,7 @@ class Kernel extends ConsoleKernel
/** /**
* 每天九点短信访客通知 * 每天九点短信访客通知
*/ */
// $schedule->call(function () { // $schedule->call(function () {
// Log::debug('visitorNotice'); // Log::debug('visitorNotice');
// try{ // try{
// CronService::visitorNotice(); // CronService::visitorNotice();
@ -1345,10 +1345,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('setOrderSettlement'); Log::debug('setOrderSettlement');
try{ try {
CronService::setOrderSettlement(); CronService::setOrderSettlement();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'setOrderSettlement:'.$e->getMessage(); $message = 'setOrderSettlement:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyMinute()->name('setOrderSettlement')->withoutOverlapping(); })->everyMinute()->name('setOrderSettlement')->withoutOverlapping();
@ -1358,10 +1358,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('checkEarningNotice'); Log::debug('checkEarningNotice');
try{ try {
CronService::checkEarningNotice(); CronService::checkEarningNotice();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'checkEarningNotice:'.$e->getMessage(); $message = 'checkEarningNotice:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyMinute()->name('checkEarningNotice')->withoutOverlapping(); })->everyMinute()->name('checkEarningNotice')->withoutOverlapping();
@ -1371,10 +1371,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('checkRecommendIsBuy'); Log::debug('checkRecommendIsBuy');
try{ try {
CronService::checkRecommendIsBuy(); CronService::checkRecommendIsBuy();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'checkRecommendIsBuy:'.$e->getMessage(); $message = 'checkRecommendIsBuy:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->hourly()->name('checkRecommendIsBuy')->withoutOverlapping(); })->hourly()->name('checkRecommendIsBuy')->withoutOverlapping();
@ -1384,10 +1384,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('synUserPortrait'); Log::debug('synUserPortrait');
try{ try {
CronService::synUserPortrait(); CronService::synUserPortrait();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'synUserPortrait:'.$e->getMessage(); $message = 'synUserPortrait:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyMinute()->name('synUserPortrait')->withoutOverlapping(); })->everyMinute()->name('synUserPortrait')->withoutOverlapping();
@ -1397,10 +1397,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('syncServicesPv'); Log::debug('syncServicesPv');
try{ try {
CronService::syncServicesPv(); CronService::syncServicesPv();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'syncServicesPv:'.$e->getMessage(); $message = 'syncServicesPv:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyFiveMinutes()->name('syncServicesPv')->withoutOverlapping(); })->everyFiveMinutes()->name('syncServicesPv')->withoutOverlapping();
@ -1423,10 +1423,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('autoFinishGroup'); Log::debug('autoFinishGroup');
try{ try {
CronService::autoFinishGroup(); CronService::autoFinishGroup();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'autoFinishGroup:'.$e->getMessage(); $message = 'autoFinishGroup:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyMinute()->name('autoFinishGroup')->withoutOverlapping(); })->everyMinute()->name('autoFinishGroup')->withoutOverlapping();
@ -1435,10 +1435,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('sendOrderSurvey'); Log::debug('sendOrderSurvey');
try{ try {
CronService::sendOrderSurvey(); CronService::sendOrderSurvey();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'sendOrderSurvey:'.$e->getMessage(); $message = 'sendOrderSurvey:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyMinute()->name('sendOrderSurvey')->withoutOverlapping(); })->everyMinute()->name('sendOrderSurvey')->withoutOverlapping();
@ -1448,10 +1448,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('operateNotice'); Log::debug('operateNotice');
try{ try {
CronService::operateNotice(); CronService::operateNotice();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'operateNotice:'.$e->getMessage(); $message = 'operateNotice:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->dailyAt('9:00')->name('operateNotice')->withoutOverlapping(); })->dailyAt('9:00')->name('operateNotice')->withoutOverlapping();
@ -1461,10 +1461,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('storeAdminNoticeUrl'); Log::debug('storeAdminNoticeUrl');
try{ try {
CronService::storeAdminNoticeUrl(); CronService::storeAdminNoticeUrl();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'storeAdminNoticeUrl:'.$e->getMessage(); $message = 'storeAdminNoticeUrl:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyMinute()->name('storeAdminNoticeUrl')->withoutOverlapping(); })->everyMinute()->name('storeAdminNoticeUrl')->withoutOverlapping();
@ -1474,10 +1474,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('startMessageNotice'); Log::debug('startMessageNotice');
try{ try {
CronService::startMessageNotice(); CronService::startMessageNotice();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'startMessageNotice:'.$e->getMessage(); $message = 'startMessageNotice:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyTenMinutes()->name('startMessageNotice')->withoutOverlapping(); })->everyTenMinutes()->name('startMessageNotice')->withoutOverlapping();
@ -1496,9 +1496,9 @@ class Kernel extends ConsoleKernel
$schedule->call(function () { $schedule->call(function () {
Log::debug('recommendNoticeNum'); Log::debug('recommendNoticeNum');
try{ try {
CronService::recommendNoticeNum(); CronService::recommendNoticeNum();
}catch(\Exception $e){ } catch (\Exception $e) {
$this->getError($e); $this->getError($e);
} }
})->dailyAt('8:00')->name('recommendNoticeNum')->withoutOverlapping(); })->dailyAt('8:00')->name('recommendNoticeNum')->withoutOverlapping();
@ -1518,20 +1518,20 @@ class Kernel extends ConsoleKernel
//不符合专区设置条件自动踢出 //不符合专区设置条件自动踢出
$schedule->call(function () { $schedule->call(function () {
Log::debug('checkAreaUsers'); Log::debug('checkAreaUsers');
try{ try {
CronService::checkAreaUsers(); CronService::checkAreaUsers();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'checkAreaUsers:'.$e->getMessage(); $message = 'checkAreaUsers:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->hourly()->name('checkAreaUsers')->withoutOverlapping(); })->hourly()->name('checkAreaUsers')->withoutOverlapping();
$schedule->call(function () { $schedule->call(function () {
try{ try {
\Log::info('send sms Message'); \Log::info('send sms Message');
CronService::send_sms_message(); CronService::send_sms_message();
\Log::info('send sms Message'); \Log::info('send sms Message');
}catch(\Exception $e){ } catch (\Exception $e) {
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
} }
})->everyMinute()->name('send_sms_Message')->withoutOverlapping(10); })->everyMinute()->name('send_sms_Message')->withoutOverlapping(10);
@ -1541,10 +1541,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('myQrcode'); Log::debug('myQrcode');
try{ try {
CronService::myQrcode(); CronService::myQrcode();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'myQrcode:'.$e->getMessage(); $message = 'myQrcode:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyMinute()->name('myQrcode')->withoutOverlapping(); })->everyMinute()->name('myQrcode')->withoutOverlapping();
@ -1554,10 +1554,10 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('userShareQrcode'); Log::debug('userShareQrcode');
try{ try {
CronService::userShareQrcode(); CronService::userShareQrcode();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'userShareQrcode:'.$e->getMessage(); $message = 'userShareQrcode:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyMinute()->name('userShareQrcode')->withoutOverlapping(); })->everyMinute()->name('userShareQrcode')->withoutOverlapping();
@ -1568,21 +1568,21 @@ class Kernel extends ConsoleKernel
*/ */
$schedule->call(function () { $schedule->call(function () {
Log::debug('checkUserPhoto'); Log::debug('checkUserPhoto');
try{ try {
CronService::checkUserPhoto(); CronService::checkUserPhoto();
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'checkUserPhoto:'.$e->getMessage(); $message = 'checkUserPhoto:' . $e->getMessage();
Log::debug($message); Log::debug($message);
} }
})->everyFiveMinutes()->name('checkUserPhoto')->withoutOverlapping(); })->everyFiveMinutes()->name('checkUserPhoto')->withoutOverlapping();
$schedule->call(function () { $schedule->call(function () {
try{ try {
\Log::info('appointment_sendMessage'); \Log::info('appointment_sendMessage');
CronService::appointment_sendMessage(); CronService::appointment_sendMessage();
\Log::info('end appointment_sendMessage'); \Log::info('end appointment_sendMessage');
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'check unpaid order:'.$e->getMessage(); $message = 'check unpaid order:' . $e->getMessage();
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
} }
@ -1592,12 +1592,12 @@ class Kernel extends ConsoleKernel
* 检测crm等级用户备注时间 * 检测crm等级用户备注时间
*/ */
$schedule->call(function () { $schedule->call(function () {
try{ try {
\Log::info('check crm comment'); \Log::info('check crm comment');
CronService::checkCrmComment(); CronService::checkCrmComment();
\Log::info('check crm comment'); \Log::info('check crm comment');
}catch(\Exception $e){ } catch (\Exception $e) {
$message = 'check unpaid order:'.$e->getMessage(); $message = 'check unpaid order:' . $e->getMessage();
//CronService::sentMessage($this->mobile, $message); //CronService::sentMessage($this->mobile, $message);
Log::debug($e->getTraceAsString()); Log::debug($e->getTraceAsString());
} }
@ -1669,7 +1669,7 @@ class Kernel extends ConsoleKernel
/** /**
* 福恋小程序群聊未读通知 * 福恋小程序群聊未读通知
*/ */
// $schedule->call(function () { // $schedule->call(function () {
// \Log::info('start groupChatUnreadNotice'); // \Log::info('start groupChatUnreadNotice');
// CronService::groupChatUnreadNotice(); // CronService::groupChatUnreadNotice();
// \Log::info('end groupChatUnreadNotice'); // \Log::info('end groupChatUnreadNotice');
@ -1720,7 +1720,7 @@ class Kernel extends ConsoleKernel
/** /**
* 邀请的新用户注册通知 * 邀请的新用户注册通知
*/ */
$schedule->call(function (){ $schedule->call(function () {
CronService::inviteUserCountNotice(); CronService::inviteUserCountNotice();
})->dailyAt('09:30')->name('inviteUserCountNotice'); })->dailyAt('09:30')->name('inviteUserCountNotice');
} }
@ -1732,7 +1732,7 @@ class Kernel extends ConsoleKernel
*/ */
protected function commands() protected function commands()
{ {
$this->load(__DIR__.'/Commands'); $this->load(__DIR__ . '/Commands');
require base_path('routes/console.php'); require base_path('routes/console.php');
} }

View File

@ -33,13 +33,14 @@ class MakeFriendsController extends Controller
$merchant_user_id = $request->merchant_user_id; $merchant_user_id = $request->merchant_user_id;
$merchant_id = $request->merchant_id; $merchant_id = $request->merchant_id;
$mobile = $request->mobile; $mobile = $request->mobile;
if(!$mobile){ if (!$mobile) {
return $this->failure('手机号不能为空'); return $this->failure('手机号不能为空');
} }
$merchant_user = MerchantUsers::where('id', $merchant_user_id)->first(); $merchant_user = MerchantUsers::where('id', $merchant_user_id)->first();
if ($merchant_user) { if ($merchant_user) {
$exist = IdentityAuthorization::where('m_user_id', $merchant_user->id)->where('m_id', $merchant_id)->exists(); $exist = IdentityAuthorization::where('m_user_id', $merchant_user->id)->where('m_id', $merchant_id)->exists();
if ($exist) return $this->failure('该用户已添加'); if ($exist)
return $this->failure('该用户已添加');
} }
$nickname = $request->nickname; $nickname = $request->nickname;
$pic = $request->pic; $pic = $request->pic;
@ -167,7 +168,8 @@ class MakeFriendsController extends Controller
try { try {
$id = $request->merchant_user_id; $id = $request->merchant_user_id;
$merchant_user = MerchantUsers::where('id', $id)->first(); $merchant_user = MerchantUsers::where('id', $id)->first();
if (!$merchant_user) return $this->failure('该用户不存在'); if (!$merchant_user)
return $this->failure('该用户不存在');
$nickname = $request->nickname; $nickname = $request->nickname;
$pic = $request->pic; $pic = $request->pic;
@ -269,7 +271,7 @@ class MakeFriendsController extends Controller
$profile->save(); $profile->save();
\DB::commit(); \DB::commit();
return $this->success('ok', ['status' => 1]); return $this->success('ok', ['status' => 1]);
}catch (\Exception $e){ } catch (\Exception $e) {
\DB::rollback(); \DB::rollback();
$this->getError($e); $this->getError($e);
return $this->failure('服务器休息中,请稍后再试'); return $this->failure('服务器休息中,请稍后再试');
@ -289,12 +291,12 @@ class MakeFriendsController extends Controller
$key = 'MakeFriend_S'; $key = 'MakeFriend_S';
if ($m_id == 491) { if ($m_id == 491) {
Redis::zincrby($key, 1, $id); Redis::zincrby($key, 1, $id);
}else { } else {
Redis::zincrby($key, 1, $m_id.'-'.$id); Redis::zincrby($key, 1, $m_id . '-' . $id);
} }
$merchant_user = MerchantUsers::select('id', 'user_id', 'pic','mobile', 'nickname', 'created_at')->where('id', $id) $merchant_user = MerchantUsers::select('id', 'user_id', 'pic', 'mobile', 'nickname', 'created_at')->where('id', $id)
->first(); ->first();
$profile = MerchantUserProfile::firstOrCreate(['m_id'=>$m_id, 'user_id' => $id]); $profile = MerchantUserProfile::firstOrCreate(['m_id' => $m_id, 'user_id' => $id]);
$merchant_user->info = $profile; $merchant_user->info = $profile;
$merchant_user->info->industry_sub = $profile->industry_sub; $merchant_user->info->industry_sub = $profile->industry_sub;
$merchant_user->info->mobile = substr_replace($merchant_user->mobile, '****', 3, 4); $merchant_user->info->mobile = substr_replace($merchant_user->mobile, '****', 3, 4);
@ -302,7 +304,7 @@ class MakeFriendsController extends Controller
$merchant_user->info->age = $this->getAge($profile->birthday); $merchant_user->info->age = $this->getAge($profile->birthday);
$merchant_user->info->mate_conditon = json_decode($profile->mate_conditon); $merchant_user->info->mate_conditon = json_decode($profile->mate_conditon);
// 生活照 // 生活照
$merchant_user->photos = MerchantUserPhoto::where(['m_id'=>$m_id, 'user_id'=>$id])->pluck('photo'); $merchant_user->photos = MerchantUserPhoto::where(['m_id' => $m_id, 'user_id' => $id])->pluck('photo');
$merchant_user->pv = Redis::zscore($key, $id) ? Redis::zscore($key, $id) : 0; $merchant_user->pv = Redis::zscore($key, $id) ? Redis::zscore($key, $id) : 0;
return $this->success('ok', $merchant_user); return $this->success('ok', $merchant_user);
} catch (\Exception $e) { } catch (\Exception $e) {
@ -345,10 +347,11 @@ class MakeFriendsController extends Controller
$user = User::select('id', 'photo as pic', 'nickname', 'industry_sub', 'industry', 'hidden_profile', 'created_at') $user = User::select('id', 'photo as pic', 'nickname', 'industry_sub', 'industry', 'hidden_profile', 'created_at')
->where('mobile', $mobile) ->where('mobile', $mobile)
->first(); ->first();
if (!$user) return $this->resp('fail', ['status' => 1]); if (!$user)
return $this->resp('fail', ['status' => 1]);
$merchant_user_mobile = MerchantUser::where('mobile', $mobile) $merchant_user_mobile = MerchantUser::where('mobile', $mobile)
->first(); ->first();
if($merchant_user_mobile){ if ($merchant_user_mobile) {
return $this->failure('手机号已被另一帐号绑定'); return $this->failure('手机号已被另一帐号绑定');
} }
$merchant_user_id = $request->merchant_user_id; $merchant_user_id = $request->merchant_user_id;
@ -374,7 +377,7 @@ class MakeFriendsController extends Controller
/** /**
* 用户列表 * 用户列表
* @param Request $Request * @param Request $request
* @return JsonResponse|string * @return JsonResponse|string
*/ */
public function userList(Request $request) public function userList(Request $request)
@ -385,20 +388,20 @@ class MakeFriendsController extends Controller
$fix_id = []; $fix_id = [];
//资料完整分大于60 才在saas h5单身广场列表 //资料完整分大于60 才在saas h5单身广场列表
foreach ($ids as $key => $id) { foreach ($ids as $key => $id) {
// $score = $this->completeInfoScore($id); // $score = $this->completeInfoScore($id);
$score = $this->completeInfoScoreV2($id, $m_id); $score = $this->completeInfoScoreV2($id, $m_id);
if ($score >= 60) { if ($score >= 60) {
$fix_id [] = $id; $fix_id[] = $id;
} }
} }
$users = MerchantUsers::select('id', 'user_id', 'pic', 'nickname', 'created_at')->whereIn('id', $fix_id)->paginate(); $users = MerchantUsers::select('id', 'user_id', 'pic', 'nickname', 'created_at')->whereIn('id', $fix_id)->paginate();
foreach ($users as $value) { foreach ($users as $value) {
$profile = MerchantUserProfile::where(['m_id'=>$m_id, 'user_id'=>$value->id])->first(); $profile = MerchantUserProfile::where(['m_id' => $m_id, 'user_id' => $value->id])->first();
$value->info = $profile; $value->info = $profile;
$value->info->mobile = substr_replace($value->mobile, '****', 3, 4); $value->info->mobile = substr_replace($value->mobile, '****', 3, 4);
$value->info->age = $this->getAge($profile->birthday); $value->info->age = $this->getAge($profile->birthday);
$value->info->mate_conditon = json_decode($profile->mate_conditon); $value->info->mate_conditon = json_decode($profile->mate_conditon);
$value->photos = MerchantUserPhoto::where(['m_id'=>$m_id, 'user_id'=>$value->id])->pluck('photo'); $value->photos = MerchantUserPhoto::where(['m_id' => $m_id, 'user_id' => $value->id])->pluck('photo');
} }
return $this->success('ok', $users); return $this->success('ok', $users);
} catch (\Exception $e) { } catch (\Exception $e) {
@ -407,20 +410,153 @@ class MakeFriendsController extends Controller
} }
} }
public function userListV2(Request $request)
{
try {
$m_id = $request->merchant_id;
// 1. 获取所有关联的商户用户 ID仍需要一次查询
$ids = IdentityAuthorization::where('m_id', $m_id)
->orderBy('id', 'desc')
->pluck('m_user_id');
if ($ids->isEmpty()) {
return $this->success('ok', []);
}
// 2. 批量加载用户、profile 和 photos仅一次查询附带 m_id 条件)
$usersWithData = MerchantUsers::whereIn('id', $ids)
->with([
'profile' => function ($q) use ($m_id) {
$q->where('m_id', $m_id);
},
'photos' => function ($q) use ($m_id) {
$q->where('m_id', $m_id)->select('photo');
}
])
->get();
// 3. 在内存中计算分数,收集符合条件(分数 ≥ 60的 ID
$fixIds = [];
foreach ($usersWithData as $user) {
$score = $this->calculateScoreFromModel($user); // 使用已加载的数据,不再查询
if ($score >= 60) {
$fixIds[] = $user->id;
}
}
// 4. 用符合条件的分页查询(再次预加载,避免 N+1
$users = MerchantUsers::whereIn('id', $fixIds)
->with([
'profile' => function ($q) use ($m_id) {
$q->where('m_id', $m_id);
},
'photos' => function ($q) use ($m_id) {
$q->where('m_id', $m_id)->select('photo');
}
])
->paginate();
// 5. 组装输出数据
foreach ($users as $user) {
$profile = $user->profile;
if ($profile) {
// 手机号脱敏注意mobile 在 MerchantUsers 表中)
$profile->mobile = substr_replace($user->mobile, '****', 3, 4);
$profile->age = $this->getAge($profile->birthday);
$profile->mate_conditon = json_decode($profile->mate_conditon);
}
// 照片列表
$user->photos = $user->photos->pluck('photo');
// 将 profile 挂载到 info 字段(保持原结构)
$user->info = $profile;
}
return $this->success('ok', $users);
} catch (\Exception $e) {
$this->getError($e);
return $this->failure('服务器休息中,请稍后再试');
}
}
/**
* 根据已加载的模型计算资料完整分(不再查询数据库)
*/
private function calculateScoreFromModel($user)
{
$total_score = 0;
$profile = $user->profile;
if (!$user || !$profile) {
return $total_score;
}
$keys = [
'belief',
'birthday',
'degree',
'ideal_mate',
'income',
'industry',
'industry_sub',
'interest_hobby',
'introduction',
'province',
'city',
'mate_conditon',
'state',
'stature',
'weight',
'sex'
];
foreach ($keys as $key) {
if (!empty($profile->$key)) {
$total_score += 5;
}
}
// 生活照额外加分
if ($user->photos && $user->photos->isNotEmpty()) {
$total_score += 5;
}
return $total_score;
}
public function completeInfoScoreV2($user_id, $m_id) public function completeInfoScoreV2($user_id, $m_id)
{ {
try { try {
$total_score = 0; $total_score = 0;
$user = MerchantUsers::find($user_id); $user = MerchantUsers::find($user_id);
$profile = MerchantUserProfile::where(['m_id'=>$m_id, 'user_id'=>$user_id])->first(); $profile = MerchantUserProfile::where(['m_id' => $m_id, 'user_id' => $user_id])->first();
if (!$user || !$profile) return $total_score; if (!$user || !$profile)
$keys = ['belief', 'birthday', 'degree', 'ideal_mate', 'income', 'industry', 'industry_sub', 'interest_hobby', 'introduction', 'province', 'city', 'mate_conditon', return $total_score;
'state', 'stature', 'weight', 'sex']; $keys = [
'belief',
'birthday',
'degree',
'ideal_mate',
'income',
'industry',
'industry_sub',
'interest_hobby',
'introduction',
'province',
'city',
'mate_conditon',
'state',
'stature',
'weight',
'sex'
];
foreach ($keys as $key) { foreach ($keys as $key) {
if ($profile->$key) $total_score += 5; if ($profile->$key)
$total_score += 5;
} }
$photos = MerchantUserPhoto::where(['m_id'=>$m_id, 'user_id'=>$user_id])->first(); $photos = MerchantUserPhoto::where(['m_id' => $m_id, 'user_id' => $user_id])->first();
if ($photos) $total_score += 5;//生活照 if ($photos)
$total_score += 5;//生活照
return $total_score; return $total_score;
} catch (\Exception $e) { } catch (\Exception $e) {
$this->getError($e); $this->getError($e);
@ -440,25 +576,42 @@ class MakeFriendsController extends Controller
return 0; return 0;
} }
$total_score = 0; $total_score = 0;
if (!$user || !$user->user || !$user->user->sass_profileCourtship) return $total_score; if (!$user || !$user->user || !$user->user->sass_profileCourtship)
return $total_score;
$photos = ProfilePhoto::where('user_id', $user->user_id)->first(); $photos = ProfilePhoto::where('user_id', $user->user_id)->first();
if ($user->user->sass_profileCourtship->belief) $total_score += 5; if ($user->user->sass_profileCourtship->belief)
if ($user->user->sass_profileCourtship->birthday) $total_score += 5; $total_score += 5;
if ($user->user->sass_profileCourtship->birthday)
$total_score += 5;
// if($user->user->sass_profileCourtship->city) $totle_score += 5; // if($user->user->sass_profileCourtship->city) $totle_score += 5;
if ($user->user->sass_profileCourtship->degree) $total_score += 5; if ($user->user->sass_profileCourtship->degree)
if ($user->user->sass_profileCourtship->ideal_mate) $total_score += 5; $total_score += 5;
if ($user->user->sass_profileCourtship->income) $total_score += 5; if ($user->user->sass_profileCourtship->ideal_mate)
if ($user->user->industry) $total_score += 5; $total_score += 5;
if ($user->user->industry_sub) $total_score += 5; if ($user->user->sass_profileCourtship->income)
if ($user->user->sass_profileCourtship->interest_hobby) $total_score += 5; $total_score += 5;
if ($user->user->sass_profileCourtship->introduction) $total_score += 5; if ($user->user->industry)
if ($photos) $total_score += 5;//生活照 $total_score += 5;
if ($user->user->sass_profileCourtship->province) $total_score += 5; if ($user->user->industry_sub)
if ($user->user->sass_profileCourtship->mate_conditon) $total_score += 25; $total_score += 5;
if ($user->user->sass_profileCourtship->state) $total_score += 5; if ($user->user->sass_profileCourtship->interest_hobby)
if ($user->user->sass_profileCourtship->stature) $total_score += 5; $total_score += 5;
if ($user->user->sass_profileCourtship->weight) $total_score += 5; if ($user->user->sass_profileCourtship->introduction)
if ($user->user->sass_profileCourtship->sex) $total_score += 5; $total_score += 5;
if ($photos)
$total_score += 5;//生活照
if ($user->user->sass_profileCourtship->province)
$total_score += 5;
if ($user->user->sass_profileCourtship->mate_conditon)
$total_score += 25;
if ($user->user->sass_profileCourtship->state)
$total_score += 5;
if ($user->user->sass_profileCourtship->stature)
$total_score += 5;
if ($user->user->sass_profileCourtship->weight)
$total_score += 5;
if ($user->user->sass_profileCourtship->sex)
$total_score += 5;
return $total_score; return $total_score;
} catch (\Exception $e) { } catch (\Exception $e) {
$this->getError($e); $this->getError($e);
@ -473,7 +626,7 @@ class MakeFriendsController extends Controller
*/ */
public function userPhotos(Request $request) public function userPhotos(Request $request)
{ {
try{ try {
$m_id = $request->merchant_id; $m_id = $request->merchant_id;
$num = $request->num ?? 4; $num = $request->num ?? 4;
$ids = IdentityAuthorization::where('m_id', $m_id)->orderBy('id', 'desc')->pluck('m_user_id'); $ids = IdentityAuthorization::where('m_id', $m_id)->orderBy('id', 'desc')->pluck('m_user_id');
@ -482,7 +635,7 @@ class MakeFriendsController extends Controller
foreach ($ids as $key => $id) { foreach ($ids as $key => $id) {
$score = $this->completeInfoScore($id); $score = $this->completeInfoScore($id);
if ($score >= 60) { if ($score >= 60) {
$fix_id [] = $id; $fix_id[] = $id;
} }
} }
$users = MerchantUsers::select('id', 'user_id', 'pic', 'nickname', 'created_at')->whereIn('id', $fix_id)->orderByRaw("RAND()")->limit(4)->get(); $users = MerchantUsers::select('id', 'user_id', 'pic', 'nickname', 'created_at')->whereIn('id', $fix_id)->orderByRaw("RAND()")->limit(4)->get();
@ -528,7 +681,7 @@ class MakeFriendsController extends Controller
$obj->m_user_id = $merchant_user_id; $obj->m_user_id = $merchant_user_id;
$obj->m_id = $m_id; $obj->m_id = $m_id;
$obj->save(); $obj->save();
// $merchant_user = MerchantUsers::select('id', 'user_id', 'pic', 'nickname', 'created_at')->where('id', $merchant_user_id)->first(); // $merchant_user = MerchantUsers::select('id', 'user_id', 'pic', 'nickname', 'created_at')->where('id', $merchant_user_id)->first();
// $merchant_user->info = $merchant_user->user->sass_profileCourtship; // $merchant_user->info = $merchant_user->user->sass_profileCourtship;
// $merchant_user->info->industry_sub = $merchant_user->user->industry_sub; // $merchant_user->info->industry_sub = $merchant_user->user->industry_sub;
// $merchant_user->info->industry = $merchant_user->user->industry; // $merchant_user->info->industry = $merchant_user->user->industry;
@ -554,12 +707,12 @@ class MakeFriendsController extends Controller
$m_id = $request->merchant_id; $m_id = $request->merchant_id;
$merchant_user_id = $request->merchant_user_id; $merchant_user_id = $request->merchant_user_id;
$user = MerchantUser::find($merchant_user_id); $user = MerchantUser::find($merchant_user_id);
$profile = MerchantUserProfile::firstOrCreate(["m_id"=>$m_id, 'user_id'=>$merchant_user_id]); $profile = MerchantUserProfile::firstOrCreate(["m_id" => $m_id, 'user_id' => $merchant_user_id]);
$profile = MerchantUserProfile::find($profile->id); $profile = MerchantUserProfile::find($profile->id);
$profile->pic = $user->pic; $profile->pic = $user->pic;
$profile->nickname = $user->nickname; $profile->nickname = $user->nickname;
$profile->mobile = $user->mobile; $profile->mobile = $user->mobile;
$photos = MerchantUserPhoto::where(["m_id"=>$m_id, 'user_id'=>$merchant_user_id])->get(); $photos = MerchantUserPhoto::where(["m_id" => $m_id, 'user_id' => $merchant_user_id])->get();
$photo_arr = []; $photo_arr = [];
foreach ($photos as $photo) { foreach ($photos as $photo) {
$photo_arr[] = $photo->photo; $photo_arr[] = $photo->photo;
@ -576,7 +729,7 @@ class MakeFriendsController extends Controller
$m_id = $request->merchant_id; $m_id = $request->merchant_id;
$merchant_user_id = $request->merchant_user_id; $merchant_user_id = $request->merchant_user_id;
$user = MerchantUser::find($merchant_user_id); $user = MerchantUser::find($merchant_user_id);
$profile = MerchantUserProfile::where(["m_id"=>$m_id, 'user_id'=>$merchant_user_id])->first(); $profile = MerchantUserProfile::where(["m_id" => $m_id, 'user_id' => $merchant_user_id])->first();
if ($request->input('pic') && $user->pic != $request->pic) { if ($request->input('pic') && $user->pic != $request->pic) {
$user->pic = $request->pic; $user->pic = $request->pic;
} }
@ -587,7 +740,7 @@ class MakeFriendsController extends Controller
$user->mobile = $request->mobile; $user->mobile = $request->mobile;
$user_exists = MerchantUser::where('mobile', $request->mobile)->where('id', '<>', $user->id)->first(); $user_exists = MerchantUser::where('mobile', $request->mobile)->where('id', '<>', $user->id)->first();
if ($user_exists) { if ($user_exists) {
$user_exists->update(['mobile'=>null]); $user_exists->update(['mobile' => null]);
} }
} }
if ($request->input('birthday') && $profile->birthday != $request->birthday) { if ($request->input('birthday') && $profile->birthday != $request->birthday) {
@ -645,22 +798,22 @@ class MakeFriendsController extends Controller
if ($request->input('ideal_mate') && $profile->ideal_mate != $request->ideal_mate) { if ($request->input('ideal_mate') && $profile->ideal_mate != $request->ideal_mate) {
$profile->ideal_mate = $request->ideal_mate; $profile->ideal_mate = $request->ideal_mate;
//最后一项填完加入交友管理 //最后一项填完加入交友管理
IdentityAuthorization::firstOrCreate(['m_id'=>$m_id, 'm_user_id'=>$merchant_user_id]); IdentityAuthorization::firstOrCreate(['m_id' => $m_id, 'm_user_id' => $merchant_user_id]);
} }
//图片 //图片
$photos = $request->input('photos',[]); $photos = $request->input('photos', []);
if (count($photos)) { if (count($photos)) {
MerchantUserPhoto::where(['m_id'=>$m_id, 'user_id'=>$merchant_user_id])->delete(); MerchantUserPhoto::where(['m_id' => $m_id, 'user_id' => $merchant_user_id])->delete();
foreach ($photos as $photo) { foreach ($photos as $photo) {
MerchantUserPhoto::firstOrCreate(['m_id'=>$m_id, 'user_id'=>$merchant_user_id, 'photo'=>$photo]); MerchantUserPhoto::firstOrCreate(['m_id' => $m_id, 'user_id' => $merchant_user_id, 'photo' => $photo]);
} }
} }
$user->save(); $user->save();
$profile->save(); $profile->save();
DB::commit(); DB::commit();
return $this->success('ok'); return $this->success('ok');
}catch (\Exception $e) { } catch (\Exception $e) {
DB::rollBack(); DB::rollBack();
$this->getError($e); $this->getError($e);
return $this->failure(); return $this->failure();

View File

@ -2,6 +2,8 @@
namespace App\Models; namespace App\Models;
use App\Models\Server\MerchantUserPhoto;
use App\Models\Server\MerchantUserProfile;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Actuallymab\LaravelComment\CanComment; use Actuallymab\LaravelComment\CanComment;
@ -14,4 +16,16 @@ class MerchantUsers extends Model
{ {
return $this->belongsTo(User::class); return $this->belongsTo(User::class);
} }
public function profile()
{
return $this->hasOne(MerchantUserProfile::class, "user_id", "id");
}
public function photos()
{
return $this->hasMany(MerchantUserPhoto::class, "user_id", "id");
}
} }

View File

@ -265,7 +265,7 @@ Route::middleware('merchant_user')->group(function () {
// 用户详情 // 用户详情
Route::get('friend', 'MakeFriendsController@userInfo')->where('id', '[0-9]+'); Route::get('friend', 'MakeFriendsController@userInfo')->where('id', '[0-9]+');
// 用户列表 // 用户列表
Route::get('friend/user/list', 'MakeFriendsController@userList'); Route::get('friend/user/list', 'MakeFriendsController@userListV2');
// 授权同步数据 // 授权同步数据
Route::get('friend/synchronous/data', 'MakeFriendsController@SynchronousData'); Route::get('friend/synchronous/data', 'MakeFriendsController@SynchronousData');
// 更新用户资料 // 更新用户资料