From 1c45155cf6c6473abe53de242860227e06af5a96 Mon Sep 17 00:00:00 2001 From: "WIN-C27C5MSVTPO\\16961" <1696136552@qq.com> Date: Tue, 9 Sep 2025 11:03:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=AF=E5=8F=A3=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/service/SysPortService.php | 18 +++++++ app/admin/service/VehColorService.php | 18 +++++++ app/common/model/SysPortTranslation.php | 49 +++++++++++++++++++ app/common/model/VehColorTranslation.php | 49 +++++++++++++++++++ app/common/utils/translation/config/trans.php | 8 +++ 5 files changed, 142 insertions(+) create mode 100644 app/common/model/SysPortTranslation.php create mode 100644 app/common/model/VehColorTranslation.php diff --git a/app/admin/service/SysPortService.php b/app/admin/service/SysPortService.php index 6e8774c..a487848 100644 --- a/app/admin/service/SysPortService.php +++ b/app/admin/service/SysPortService.php @@ -5,6 +5,8 @@ namespace app\admin\service; use app\admin\validate\SysPortValidate; use app\common\traits\crud\CrudServiceTrait; use app\common\model\SysPort; +use app\common\utils\translation\service\TranslationService; +use app\queue\utils\Translat; use support\Request; class SysPortService @@ -22,6 +24,8 @@ class SysPortService */ protected $validator = SysPortValidate::class; + public $translatFields = ['port_name','description']; + /** * 获取验证器 */ @@ -97,6 +101,20 @@ class SysPortService return $data; } + public function afterServiceStore($res) + { + $sourceLocale = locale(); + $data = $res->toArray(); + $traitsourceFields = Translat::extractSourceFields($data, $this->translatFields); + + (new TranslationService())->queueTranslations( + 'sys_port_translation', + $res['id'], + $sourceLocale, + $traitsourceFields + ); + } + /** * 添加前置处理 */ diff --git a/app/admin/service/VehColorService.php b/app/admin/service/VehColorService.php index a701ef4..a50a262 100644 --- a/app/admin/service/VehColorService.php +++ b/app/admin/service/VehColorService.php @@ -5,6 +5,8 @@ namespace app\admin\service; use app\admin\validate\VehColorValidate; use app\common\traits\crud\CrudServiceTrait; use app\common\model\VehColor; +use app\common\utils\translation\service\TranslationService; +use app\queue\utils\Translat; class VehColorService { @@ -21,6 +23,8 @@ class VehColorService */ protected $validator = VehColorValidate::class; + public $translatFields = ['color_text']; + /** * 获取验证器 */ @@ -28,4 +32,18 @@ class VehColorService { return new $this->validator; } + + public function afterServiceStore($res) + { + $sourceLocale = locale(); + $data = $res->toArray(); + $traitsourceFields = Translat::extractSourceFields($data, $this->translatFields); + + (new TranslationService())->queueTranslations( + 'veh_color_translation', + $res['id'], + $sourceLocale, + $traitsourceFields + ); + } } \ No newline at end of file diff --git a/app/common/model/SysPortTranslation.php b/app/common/model/SysPortTranslation.php new file mode 100644 index 0000000..8724caf --- /dev/null +++ b/app/common/model/SysPortTranslation.php @@ -0,0 +1,49 @@ + app\common\model\SysDictItemTranslation::class, 'foreign_key' => 'dict_item_id', ], + 'sys_port_translation' => [ + 'translation_model' => app\common\model\SysPortTranslation::class, + 'foreign_key' => 'port_id', + ], + 'veh_color_translation' => [ + 'translation_model' => app\common\model\VehColorTranslation::class, + 'foreign_key' => 'color_id', + ], ], // 默认支持的目标语种列表