From a65ac8f9eb976ac139040ed7005b75a6cb55e0e1 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Wed, 26 Feb 2025 17:55:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9B=B4=E6=96=B0=E5=A4=9A=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E5=88=B7=E6=96=B0=E7=BC=93=E5=AD=98=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/system/model/sys_i18n.go | 18 +++++++++--------- src/modules/system/repository/sys_i18n.go | 4 ++-- src/modules/system/service/sys_i18n.go | 22 ++++++++++++++++------ 3 files changed, 27 insertions(+), 17 deletions(-) diff --git a/src/modules/system/model/sys_i18n.go b/src/modules/system/model/sys_i18n.go index 32e56720..9acf7200 100644 --- a/src/modules/system/model/sys_i18n.go +++ b/src/modules/system/model/sys_i18n.go @@ -2,15 +2,15 @@ package model // SysI18n 系统_多语言 sys_i18n type SysI18n struct { - ID int64 `json:"id" gorm:"column:config_id;primaryKey;autoIncrement"` // ID - DelFlag string `json:"delFlag" gorm:"column:del_flag"` // 删除标记(0存在 1删除) - CreateBy string `json:"createBy" gorm:"column:create_by"` // 创建者 - CreateTime int64 `json:"createTime" gorm:"column:create_time"` // 创建时间 - UpdateBy string `json:"updateBy" gorm:"column:update_by"` // 更新者 - UpdateTime int64 `json:"updateTime" gorm:"column:update_time"` // 更新时间 - Key string `json:"key" gorm:"column:key"` // 多语言属性名 - ValueZh string `json:"valueZh" gorm:"column:value_zh"` // 中文 - ValueEn string `json:"valueEn" gorm:"column:value_en"` // 英文 + ID int64 `json:"id" gorm:"column:id;primaryKey;autoIncrement"` // ID + DelFlag string `json:"delFlag" gorm:"column:del_flag"` // 删除标记(0存在 1删除) + CreateBy string `json:"createBy" gorm:"column:create_by"` // 创建者 + CreateTime int64 `json:"createTime" gorm:"column:create_time"` // 创建时间 + UpdateBy string `json:"updateBy" gorm:"column:update_by"` // 更新者 + UpdateTime int64 `json:"updateTime" gorm:"column:update_time"` // 更新时间 + KeyLable string `json:"key" gorm:"column:key_lable"` // 多语言属性名 + ValueZh string `json:"valueZh" gorm:"column:value_zh"` // 中文 + ValueEn string `json:"valueEn" gorm:"column:value_en"` // 英文 } // TableName 表名称 diff --git a/src/modules/system/repository/sys_i18n.go b/src/modules/system/repository/sys_i18n.go index 98708f52..03f64745 100644 --- a/src/modules/system/repository/sys_i18n.go +++ b/src/modules/system/repository/sys_i18n.go @@ -19,8 +19,8 @@ func (r SysI18n) Select(param model.SysI18n) []model.SysI18n { tx := db.DB("").Model(&model.SysI18n{}) tx = tx.Where("del_flag = '0'") // 查询条件拼接 - if param.Key != "" { - tx = tx.Where("key = ?", param.Key) + if param.KeyLable != "" { + tx = tx.Where("key_lable = ?", param.KeyLable) } if param.ValueZh != "" { tx = tx.Where("value_zh = ?", param.ValueZh) diff --git a/src/modules/system/service/sys_i18n.go b/src/modules/system/service/sys_i18n.go index ac45f7c3..93b2a90f 100644 --- a/src/modules/system/service/sys_i18n.go +++ b/src/modules/system/service/sys_i18n.go @@ -71,7 +71,7 @@ func (s SysI18n) CheckUniqueByKey(key string, id int64) bool { // UpdateKeyValue 更新键对应的值 func (s SysI18n) UpdateKeyValue(language, key, value string) bool { rows := s.sysI18nRepository.Select(model.SysI18n{ - Key: key, + KeyLable: key, }) if len(rows) != 1 { return false @@ -90,19 +90,29 @@ func (s SysI18n) UpdateKeyValue(language, key, value string) bool { if language == "en" { item.ValueEn = value } - return s.sysI18nRepository.Update(item) > 0 + if s.sysI18nRepository.Update(item) > 0 { + key := constants.CACHE_I18N + ":" + key + _ = redis.Del("", key) + value := map[string]any{ + "zh": item.ValueZh, + "en": item.ValueEn, + } + _ = redis.SetHash("", key, value) + return true + } + return false } // CacheLoad 加载多语言数据 传入*查询全部 func (s SysI18n) CacheLoad(langKey string) { param := model.SysI18n{ - DelFlag: constants.STATUS_NO, - Key: langKey, + DelFlag: constants.STATUS_NO, + KeyLable: langKey, } // 指定属性名 if langKey == "*" || langKey == "" { - param.Key = "" + param.KeyLable = "" } arr := s.sysI18nRepository.Select(param) @@ -112,7 +122,7 @@ func (s SysI18n) CacheLoad(langKey string) { // 放入缓存 for _, v := range arr { - key := constants.CACHE_I18N + ":" + v.Key + key := constants.CACHE_I18N + ":" + v.KeyLable _ = redis.Del("", key) value := map[string]any{ "zh": v.ValueZh,