Browse Source

chat info

master
chuan 2 months ago
parent
commit
4c9535054b
  1. 8
      .idea/.gitignore
  2. 69
      .idea/bourse_p1.iml
  3. 8
      .idea/modules.xml
  4. 80
      .idea/php.xml
  5. 6
      .idea/vcs.xml
  6. 13
      app/admin/service/AdminService.php
  7. 36
      app/home/service/UserService.php
  8. 1330
      app/home/service/UserService.php.backup

8
.idea/.gitignore

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

69
.idea/bourse_p1.iml

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/app" isTestSource="false" packagePrefix="app\" />
<sourceFolder url="file://$MODULE_DIR$/extend" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/vendor/adbario/php-dot-notation" />
<excludeFolder url="file://$MODULE_DIR$/vendor/alibabacloud/client" />
<excludeFolder url="file://$MODULE_DIR$/vendor/carbonphp/carbon-doctrine-types" />
<excludeFolder url="file://$MODULE_DIR$/vendor/clagiordano/weblibs-configmanager" />
<excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/ezyang/htmlpurifier" />
<excludeFolder url="file://$MODULE_DIR$/vendor/firebase/php-jwt" />
<excludeFolder url="file://$MODULE_DIR$/vendor/geoip2/geoip2" />
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/guzzle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/promises" />
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/psr7" />
<excludeFolder url="file://$MODULE_DIR$/vendor/itinysun/tp-model-helper" />
<excludeFolder url="file://$MODULE_DIR$/vendor/lcobucci/clock" />
<excludeFolder url="file://$MODULE_DIR$/vendor/lcobucci/jwt" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/flysystem" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/flysystem-cached-adapter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/mime-type-detection" />
<excludeFolder url="file://$MODULE_DIR$/vendor/maennchen/zipstream-php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/markbaker/complex" />
<excludeFolder url="file://$MODULE_DIR$/vendor/markbaker/matrix" />
<excludeFolder url="file://$MODULE_DIR$/vendor/maxmind-db/reader" />
<excludeFolder url="file://$MODULE_DIR$/vendor/maxmind/web-service-common" />
<excludeFolder url="file://$MODULE_DIR$/vendor/mtdowling/jmespath.php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/myclabs/php-enum" />
<excludeFolder url="file://$MODULE_DIR$/vendor/nesbot/carbon" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-common" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-docblock" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/type-resolver" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpmailer/phpmailer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpoffice/phpspreadsheet" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/cache" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/clock" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/container" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/http-client" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/http-factory" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/http-message" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/log" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/simple-cache" />
<excludeFolder url="file://$MODULE_DIR$/vendor/ralouphie/getallheaders" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/class-loader" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/deprecation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-mbstring" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php72" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php80" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/process" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/var-dumper" />
<excludeFolder url="file://$MODULE_DIR$/vendor/topthink/framework" />
<excludeFolder url="file://$MODULE_DIR$/vendor/topthink/think-filesystem" />
<excludeFolder url="file://$MODULE_DIR$/vendor/topthink/think-helper" />
<excludeFolder url="file://$MODULE_DIR$/vendor/topthink/think-multi-app" />
<excludeFolder url="file://$MODULE_DIR$/vendor/topthink/think-orm" />
<excludeFolder url="file://$MODULE_DIR$/vendor/topthink/think-queue" />
<excludeFolder url="file://$MODULE_DIR$/vendor/topthink/think-trace" />
<excludeFolder url="file://$MODULE_DIR$/vendor/webmozart/assert" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

8
.idea/modules.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/bourse_p1.iml" filepath="$PROJECT_DIR$/.idea/bourse_p1.iml" />
</modules>
</component>
</project>

80
.idea/php.xml

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MessDetectorOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCSFixerOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCodeSnifferOptionsConfiguration">
<option name="highlightLevel" value="WARNING" />
<option name="transferred" value="true" />
</component>
<component name="PhpIncludePathManager">
<include_path>
<path value="$PROJECT_DIR$/vendor/ralouphie/getallheaders" />
<path value="$PROJECT_DIR$/vendor/firebase/php-jwt" />
<path value="$PROJECT_DIR$/vendor/webmozart/assert" />
<path value="$PROJECT_DIR$/vendor/guzzlehttp/promises" />
<path value="$PROJECT_DIR$/vendor/adbario/php-dot-notation" />
<path value="$PROJECT_DIR$/vendor/guzzlehttp/psr7" />
<path value="$PROJECT_DIR$/vendor/guzzlehttp/guzzle" />
<path value="$PROJECT_DIR$/vendor/itinysun/tp-model-helper" />
<path value="$PROJECT_DIR$/vendor/maxmind/web-service-common" />
<path value="$PROJECT_DIR$/vendor/clagiordano/weblibs-configmanager" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-common" />
<path value="$PROJECT_DIR$/vendor/mtdowling/jmespath.php" />
<path value="$PROJECT_DIR$/vendor/lcobucci/jwt" />
<path value="$PROJECT_DIR$/vendor/lcobucci/clock" />
<path value="$PROJECT_DIR$/vendor/alibabacloud/client" />
<path value="$PROJECT_DIR$/vendor/myclabs/php-enum" />
<path value="$PROJECT_DIR$/vendor/ezyang/htmlpurifier" />
<path value="$PROJECT_DIR$/vendor/carbonphp/carbon-doctrine-types" />
<path value="$PROJECT_DIR$/vendor/phpmailer/phpmailer" />
<path value="$PROJECT_DIR$/vendor/symfony/class-loader" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" />
<path value="$PROJECT_DIR$/vendor/symfony/deprecation-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/translation-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php72" />
<path value="$PROJECT_DIR$/vendor/composer" />
<path value="$PROJECT_DIR$/vendor/symfony/translation" />
<path value="$PROJECT_DIR$/vendor/maennchen/zipstream-php" />
<path value="$PROJECT_DIR$/vendor/symfony/var-dumper" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php80" />
<path value="$PROJECT_DIR$/vendor/symfony/process" />
<path value="$PROJECT_DIR$/vendor/geoip2/geoip2" />
<path value="$PROJECT_DIR$/vendor/psr/simple-cache" />
<path value="$PROJECT_DIR$/vendor/psr/clock" />
<path value="$PROJECT_DIR$/vendor/psr/http-factory" />
<path value="$PROJECT_DIR$/vendor/psr/container" />
<path value="$PROJECT_DIR$/vendor/psr/http-client" />
<path value="$PROJECT_DIR$/vendor/psr/http-message" />
<path value="$PROJECT_DIR$/vendor/psr/cache" />
<path value="$PROJECT_DIR$/vendor/psr/log" />
<path value="$PROJECT_DIR$/vendor/nesbot/carbon" />
<path value="$PROJECT_DIR$/vendor/markbaker/matrix" />
<path value="$PROJECT_DIR$/vendor/markbaker/complex" />
<path value="$PROJECT_DIR$/vendor/topthink/think-helper" />
<path value="$PROJECT_DIR$/vendor/topthink/think-queue" />
<path value="$PROJECT_DIR$/vendor/topthink/framework" />
<path value="$PROJECT_DIR$/vendor/topthink/think-filesystem" />
<path value="$PROJECT_DIR$/vendor/topthink/think-trace" />
<path value="$PROJECT_DIR$/vendor/topthink/think-multi-app" />
<path value="$PROJECT_DIR$/vendor/league/flysystem-cached-adapter" />
<path value="$PROJECT_DIR$/vendor/topthink/think-orm" />
<path value="$PROJECT_DIR$/vendor/phpoffice/phpspreadsheet" />
<path value="$PROJECT_DIR$/vendor/league/mime-type-detection" />
<path value="$PROJECT_DIR$/vendor/league/flysystem" />
<path value="$PROJECT_DIR$/vendor/maxmind-db/reader" />
</include_path>
</component>
<component name="PhpProjectSharedConfiguration" php_language_level="7.2" />
<component name="PhpStanOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PsalmOptionsConfiguration">
<option name="transferred" value="true" />
</component>
</project>

6
.idea/vcs.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

13
app/admin/service/AdminService.php

@ -7,6 +7,7 @@ use app\home\service\BaseHomeService;
use app\model\AdminLogModel; use app\model\AdminLogModel;
use app\model\AdminModel; use app\model\AdminModel;
use app\model\AuthRoleModel; use app\model\AuthRoleModel;
use app\model\UserChatLinkModel;
use phpDocumentor\Reflection\Type; use phpDocumentor\Reflection\Type;
use think\exception\ValidateException; use think\exception\ValidateException;
use app\utility\UnqId; use app\utility\UnqId;
@ -102,8 +103,18 @@ class AdminService extends AdminBaseService
if (empty($info)) { if (empty($info)) {
return $this->toData('100400', 'The user does not exist.', []); return $this->toData('100400', 'The user does not exist.', []);
} }
$infoArr = $info->toArray();
// 获取用户的聊天账号信息
$chatInfo = UserChatLinkModel::where(['user_id'=>$userId, 'user_type'=>UserChatLinkModel::USER_CHAT_LINK_USER_TYPE_ADMIN])->find();
$chat_uuid = 0;
if (!empty($chatInfo)) {
$chat_uuid = $chatInfo->chat_uuid;
}
$infoArr['chat_uuid'] = $chat_uuid;
// 返回数据 // 返回数据
return $this->toData('0', 'Modification successful.', $info->toArray()); return $this->toData('0', 'Modification successful.', $infoArr);
} catch (\Exception $exception) { } catch (\Exception $exception) {
return $this->toData('100500', 'The system is busy.', [$exception->getMessage(), $exception->getTrace()]); return $this->toData('100500', 'The system is busy.', [$exception->getMessage(), $exception->getTrace()]);
} }

36
app/home/service/UserService.php

@ -5,6 +5,8 @@ namespace app\home\service;
use app\home\validate\UserValidate; use app\home\validate\UserValidate;
use app\model\CountryModel; use app\model\CountryModel;
use app\model\FileModel; use app\model\FileModel;
use app\model\UserChatGroupModel;
use app\model\UserChatLinkModel;
use app\model\UserContractModel; use app\model\UserContractModel;
use app\model\UserDigitalModel; use app\model\UserDigitalModel;
use app\model\UserForexModel; use app\model\UserForexModel;
@ -157,6 +159,31 @@ class UserService extends BaseHomeService
} }
$leverageNum= empty($leverageNum) ? 1: $leverageNum; $leverageNum= empty($leverageNum) ? 1: $leverageNum;
// 查询用户的chat信息
$userChatInfo = UserChatLinkModel::where(['user_id'=>$userId,'user_type'=>UserChatLinkModel::USER_CHAT_LINK_USER_TYPE_PC])->find();
$userChatUuid = "";
$userChatName = "";
if (!empty($userChatInfo)) {
$userChatUuid = $userChatInfo->chat_uuid;
$userChatName = $userChatInfo->chat_name;
}
// 查询用户关联的客服的chat信息 P1项目中客服账号就是admin
$adminId = 1;
$customerChatUuid = "";
$customerChatName = "";
$customerChatInfo = UserChatLinkModel::where(['user_id'=>$adminId, 'user_type'=>UserChatLinkModel::USER_CHAT_LINK_USER_TYPE_ADMIN])->find();
if ($customerChatInfo) {
$customerChatUuid = $customerChatInfo->chat_uuid;
$customerChatName = $customerChatInfo->chat_name;
}
// 获取聊天群组信息
$chatGroup = UserChatGroupModel::where(['user_id'=>$adminId])->find();
if (empty($chatGroup)) {
return $this->toData('500', 'chat group is null.');
}
$group_chat_name = $chatGroup->group_name;
$group_chat_uuid = $chatGroup->group_uuid;
// 返回数据 // 返回数据
return $this->toData('0', 'Modification successful.', [ return $this->toData('0', 'Modification successful.', [
'logo' => $headPath, 'logo' => $headPath,
@ -177,7 +204,14 @@ class UserService extends BaseHomeService
'country' => $countryName, 'country' => $countryName,
'countryId' => $countryId, 'countryId' => $countryId,
'lever_status' => $info['lever_status'], 'lever_status' => $info['lever_status'],
'leverage_num' =>$leverageNum 'leverage_num' =>$leverageNum,
'user_chat_uuid' => $userChatUuid,
'user_chat_name' => $userChatName,
'customer_chat_uuid' => $customerChatUuid,
'customer_chat_name' => $customerChatName,
'customer_chat_avatar' => '/bs/image/default.jpeg',
'group_chat_name' => $group_chat_name,
'group_chat_uuid' => $group_chat_uuid,
]); ]);
} catch (\Exception $exception) { } catch (\Exception $exception) {
return $this->toData('100500', 'The system is busy.', [$exception->getMessage(), $exception->getTrace()]); return $this->toData('100500', 'The system is busy.', [$exception->getMessage(), $exception->getTrace()]);

1330
app/home/service/UserService.php.backup

File diff suppressed because it is too large
Loading…
Cancel
Save