This commit is contained in:
youda 2025-04-19 16:46:41 +08:00
parent 276be1d6d8
commit ddd69bc317

View File

@ -183,12 +183,18 @@ class Login extends Base
*/
public function login()
{
// 初始化日志收集变量
$logMessages = [];
try {
$code = request()->param("code", '');
if (empty($code)) {
$logMessages[] = '用户未获取到code:' . $code;
Log::error(end($logMessages));
return $this->renderError('请求参数错误');
}
$logMessages[] = '用户开始登录: ' . $code;
$click_id = request()->header('clickid');
$wxServer = new \app\common\server\Wx($this->app);
$user_base = $wxServer->getOpenid($code);
@ -241,6 +247,7 @@ class Login extends Base
} else {
}
// 检查UserAccount是否存在
$userAccount = UserAccount::where(['user_id' => $user['id']])->find();
if ($userAccount) {
@ -272,7 +279,6 @@ class Login extends Base
]);
}
// 记录用户登录日志(每天只记录一次)
UserLoginLog::recordLogin(
$user['id'],
@ -281,32 +287,35 @@ class Login extends Base
''//$ip_province . $ip_city
);
$logMessages[] = '用户登录成功: ' . $code . ' 用户ID: ' . $user['id'] . '用户手机号' . $user['mobile'];
// 输出收集的所有日志
Log::info(implode("==》", $logMessages));
return $this->renderSuccess("登录成功", $account_token);
} else {
$nickname = request()->param('nickname', '');
$headimg = request()->param('headimg', '');
if (!$nickname) {
return $this->renderError('请求参数错误!');
}
// if (!$nickname) {
// return $this->renderError('请求参数错误!');
// }
$pid = 0;
$pid_pid = request()->param('pid', 0);
if ($pid_pid > 0) {
log::info("获取推荐人id" . $pid_pid);
}
$randx = rand(1000, 9999);
if ($nickname == "微信用户") {
$nickname = $nickname . $randx;
}
$nickname = "微信用户" . $randx;
$logMessages[] = $nickname;
$randx = rand(10000, 99999);
$identicon = new \Identicon\Identicon();
$imageData = $identicon->getImageData($openid . $nickname);
$uploadResult = $this->uploader->uploadFile($imageData, "storage/users/icon/default/" . $randx . ".png");
$headimg = $uploadResult['full_url'];
if ($pid_pid) {
$logMessages[] = "尝试获取推荐人ID: " . $pid_pid;
$pid_info = User::where('id', '=', $pid_pid)->value("id");
if ($pid_info) {
log::info("获取推荐人id" . $pid_info);
$logMessages[] = "获取推荐人ID成功: " . $pid_info;
$pid = $pid_info;
}
}
@ -339,12 +348,10 @@ class Login extends Base
$redis = (new RedisHelper())->getRedis();
$lockKey = 'user:beta_reward:' . $user_id;
if ($redis->set($lockKey, 1, ['nx', 'ex' => 60])) {
try {
$res[] = User::changeMoney($user_id, 50000, 8, '内测免费送');
} finally {
// 释放锁
$redis->del($lockKey);
}
$res[] = User::changeMoney($user_id, 50000, 8, '内测免费送');
$logMessages[] = '赠送钻石: 50000';
// 释放锁
$redis->del($lockKey);
}
}
}
@ -403,10 +410,19 @@ class Login extends Base
''//$ip_province . $ip_city
);
$logMessages[] = '==》用户注册成功: ' . $code . ' 用户ID: ' . $user_id;
// 输出收集的所有日志
Log::info(implode("==>", $logMessages));
Db::commit();
return $this->renderSuccess("登录成功", $account_token);
} else {
Db::rollback();
$logMessages[] = '==》用户注册失败: ' . $code . ' 用户ID: ' . $user_id;
// 输出收集的所有日志
Log::info(implode("==>", $logMessages));
return $this->renderError("登录失败");
}
}