| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?php
- namespace App\Services;
- use App\Constants\HttpStatus;
- use App\Models\User;
- use Exception;
- use Illuminate\Support\Facades\App;
- class PublicService extends BaseService
- {
- public static function init($telegram, $data, $chatId, $firstName, $messageId): void
- {
- switch ($data) {
- case "message@@close"://关闭本条消息
- $telegram->deleteMessage(['chat_id' => $chatId, 'message_id' => $messageId]);
- break;
- }
- }
- /**
- * 设置用户的访客ID
- * @param $memberId string 会员编号
- * @param $visitorId string 访客ID
- * @return void
- * @throws Exception
- */
- public static function setVisitorId(string $memberId, string $visitorId): void
- {
- try {
- $user = User::where('member_id', $memberId)->first();
- if (!$user) throw new Exception('验证失败', HttpStatus::CUSTOM_ERROR);
- if (empty($user->visitor_id)) {
- if (User::where('visitor_id', $visitorId)->exists()) {
- User::where('visitor_id', $visitorId)->update(['status' => 1]);
- $user->status = 1;
- }
- $user->visitor_id = $visitorId;
- }
- if (empty($user->register_ip)) {
- $registerIp = request()->ip();
- if (User::where('register_ip', $registerIp)->exists()) {
- User::where('register_ip', $registerIp)->update(['status' => 1]);
- $user->status = 1;
- }
- $user->register_ip = $registerIp;
- }
- $user->save();
- }catch (Exception $e){
- throw new Exception('验证失败', HttpStatus::CUSTOM_ERROR);
- }
- }
- /**
- * 用户初始化 (用户注册)/ 更新用户昵称
- * @param $chatId
- * @param $username
- * @param $firstName
- * @return User
- */
- public static function index($chatId, $username, $firstName): User
- {
- //给每个用户生成一个专属的钱包
- WalletService::getUserWallet($chatId);
- $user = User::where('member_id', $chatId)->first();
- if (!$user) $user = new User();
- $user->member_id = $chatId;
- $user->first_name = $firstName;
- if ($username) $user->username = $username;
- $user->save();
- return $user;
- }
- }
|