From eee9cee2e31af4bd70f64025f30e1379556674ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=98=8A=E5=A4=A9?= <442384644@qq.com> Date: Wed, 21 Sep 2022 09:50:45 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E7=A8=8B=E5=BA=8F=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E3=80=91=E6=9B=B4=E6=96=B0=E6=B8=85=E9=99=A4=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E7=BC=93=E5=AD=98=E6=96=B9=E6=B3=95=EF=BC=8C=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=8F=91=E9=80=81=E5=9B=BE=E6=96=87=E6=B6=88=E6=81=AF=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crmeb/app/services/kefu/KefuServices.php | 2 +- .../services/system/lang/LangCodeServices.php | 25 ++++++++++++++++--- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/crmeb/app/services/kefu/KefuServices.php b/crmeb/app/services/kefu/KefuServices.php index db828df89..5f24a946a 100644 --- a/crmeb/app/services/kefu/KefuServices.php +++ b/crmeb/app/services/kefu/KefuServices.php @@ -220,7 +220,7 @@ class KefuServices extends BaseServices ->setTrigger('crmeb_chat')->send('mssage_num', [ 'uid' => $userInfo['uid'], 'num' => $num, - 'recored' => $data['recored'] + 'recored' => $data['record'] ], [$toUid]); ChannelService::instance() ->setTrigger('crmeb_chat')->send('reply', $data, [$toUid]); diff --git a/crmeb/app/services/system/lang/LangCodeServices.php b/crmeb/app/services/system/lang/LangCodeServices.php index 53f319b6e..6bcb9a037 100644 --- a/crmeb/app/services/system/lang/LangCodeServices.php +++ b/crmeb/app/services/system/lang/LangCodeServices.php @@ -5,6 +5,7 @@ namespace app\services\system\lang; use app\dao\system\lang\LangCodeDao; use app\services\BaseServices; use crmeb\exceptions\AdminException; +use crmeb\services\CacheService; class LangCodeServices extends BaseServices { @@ -57,11 +58,11 @@ class LangCodeServices extends BaseServices */ public function langCodeInfo($code) { - $list = $this->dao->selectList(['code' => $code], '*', 0, 0, '', true)->toArray(); - if (!$list) throw new AdminException(100026); + if (!$code) throw new AdminException(100026); /** @var LangTypeServices $langTypeServices */ $langTypeServices = app()->make(LangTypeServices::class); $typeList = $langTypeServices->getColumn([['status', '=', 1], ['is_del', '=', 0]], 'language_name,file_name,id', 'id'); + $list = $this->dao->selectList([['code', '=', $code], ['type_id', 'in', array_column($typeList, 'id')]])->toArray(); foreach ($list as &$item) { $item['language_name'] = $typeList[$item['type_id']]['language_name'] . '(' . $typeList[$item['type_id']]['file_name'] . ')'; } @@ -91,6 +92,7 @@ class LangCodeServices extends BaseServices } } $this->dao->saveAll($saveData); + $this->clearLangCache(); return true; } @@ -103,7 +105,24 @@ class LangCodeServices extends BaseServices { $code = $this->dao->value(['id' => $id], 'code'); $res = $this->dao->delete(['code' => $code]); - if($res) return true; + $this->clearLangCache(); + if ($res) return true; throw new AdminException(100008); } + + /** + * 清除语言缓存 + * @return bool + */ + public function clearLangCache() + { + /** @var LangTypeServices $langTypeServices */ + $langTypeServices = app()->make(LangTypeServices::class); + $typeList = $langTypeServices->getColumn(['status' => 1, 'is_del' => 0], 'file_name'); + foreach ($typeList as $value) { + $langStr = 'api_lang_' . str_replace('-', '_', $value); + CacheService::redisHandler()->delete($langStr); + } + return true; + } } \ No newline at end of file