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', + ], ], // 默认支持的目标语种列表