feat: 多语言缓存管理
This commit is contained in:
@@ -688,5 +688,6 @@ INSERT INTO `sys_i18n` VALUES (665, '0', 'system', 1699348237468, 'system', 1699
|
||||
INSERT INTO `sys_i18n` VALUES (666, '0', 'system', 1699348237468, 'system', 1699348237468, 'menu.config.neOverview', '网元概览', 'NE Overview');
|
||||
INSERT INTO `sys_i18n` VALUES (667, '0', 'system', 1699348237468, 'system', 1699348237468, 'menu.config.neOverviewRemark', '显示所有网元状态配置和license等概览信息', 'Displays overview information such as status, configuration and license of all network elements');
|
||||
INSERT INTO `sys_i18n` VALUES (668, '0', 'system', 1699348237468, 'system', 1699348237468, 'job.exportSGWCCDR', '定期从漫游数据话单表导出文件至指定目录', 'Export regularly from Roaming Data CDR table');
|
||||
INSERT INTO `sys_i18n` VALUES (669, '0', 'system', 1699348237468, 'system', 1699348237468, 'cache.name.i18n', '国际化语言管理', 'Internationalized Language Management');
|
||||
|
||||
-- Dump completed on 2025-02-14 15:26:56
|
||||
|
||||
@@ -16,7 +16,7 @@ const (
|
||||
CACHE_RATE_LIMIT = "rate_limit"
|
||||
// CACHE_PWD_ERR_COUNT 登录账户密码错误次数
|
||||
CACHE_PWD_ERR_COUNT = "pwd_err_count"
|
||||
// CACHE_I18N 多语言
|
||||
// CACHE_I18N 国际化语言管理
|
||||
CACHE_I18N = "i18n"
|
||||
// CACHE_NE_INFO 网元信息管理
|
||||
CACHE_NE_INFO = "ne_info"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
|
||||
"be.ems/src/framework/constants"
|
||||
@@ -54,6 +55,7 @@ func (s SysCacheController) Names(c *gin.Context) {
|
||||
model.NewNames(i18n.TKey(language, "cache.name.repeat_submit"), constants.CACHE_REPEAT_SUBMIT),
|
||||
model.NewNames(i18n.TKey(language, "cache.name.rate_limit"), constants.CACHE_RATE_LIMIT),
|
||||
model.NewNames(i18n.TKey(language, "cache.name.pwd_err_cnt"), constants.CACHE_PWD_ERR_COUNT),
|
||||
model.NewNames(i18n.TKey(language, "cache.name.i18n"), constants.CACHE_I18N),
|
||||
model.NewNames(i18n.TKey(language, "cache.name.ne_info"), constants.CACHE_NE_INFO),
|
||||
model.NewNames(i18n.TKey(language, "cache.name.ne_data"), constants.CACHE_NE_DATA),
|
||||
}
|
||||
@@ -96,11 +98,33 @@ func (s SysCacheController) Value(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
cacheValue, err := redis.Get("", query.CacheName+":"+query.CacheKey)
|
||||
key := query.CacheName + ":" + query.CacheKey
|
||||
|
||||
var cacheValue string
|
||||
var err error
|
||||
|
||||
if constants.CACHE_I18N == query.CacheName {
|
||||
// i18n 多语言的hash对象
|
||||
m, err := redis.GetHashBatch("", []string{key})
|
||||
if err != nil {
|
||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
||||
return
|
||||
}
|
||||
b, err := json.Marshal(m[key])
|
||||
if err != nil {
|
||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
||||
return
|
||||
}
|
||||
cacheValue = string(b)
|
||||
} else {
|
||||
// 其他的字符串对象
|
||||
cacheValue, err = redis.Get("", query.CacheName+":"+query.CacheKey)
|
||||
if err != nil {
|
||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
sysCache := model.NewValue(query.CacheName, query.CacheKey, cacheValue)
|
||||
c.JSON(200, resp.OkData(sysCache))
|
||||
}
|
||||
@@ -116,6 +140,7 @@ func (s SysCacheController) CleanNames(c *gin.Context) {
|
||||
model.NewNames(i18n.TKey(language, "cache.name.repeat_submit"), constants.CACHE_REPEAT_SUBMIT),
|
||||
model.NewNames(i18n.TKey(language, "cache.name.rate_limit"), constants.CACHE_RATE_LIMIT),
|
||||
model.NewNames(i18n.TKey(language, "cache.name.pwd_err_cnt"), constants.CACHE_PWD_ERR_COUNT),
|
||||
model.NewNames(i18n.TKey(language, "cache.name.i18n"), constants.CACHE_I18N),
|
||||
model.NewNames(i18n.TKey(language, "cache.name.ne_info"), constants.CACHE_NE_INFO),
|
||||
model.NewNames(i18n.TKey(language, "cache.name.ne_data"), constants.CACHE_NE_DATA),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user