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 (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 (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 (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
|
-- Dump completed on 2025-02-14 15:26:56
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ const (
|
|||||||
CACHE_RATE_LIMIT = "rate_limit"
|
CACHE_RATE_LIMIT = "rate_limit"
|
||||||
// CACHE_PWD_ERR_COUNT 登录账户密码错误次数
|
// CACHE_PWD_ERR_COUNT 登录账户密码错误次数
|
||||||
CACHE_PWD_ERR_COUNT = "pwd_err_count"
|
CACHE_PWD_ERR_COUNT = "pwd_err_count"
|
||||||
// CACHE_I18N 多语言
|
// CACHE_I18N 国际化语言管理
|
||||||
CACHE_I18N = "i18n"
|
CACHE_I18N = "i18n"
|
||||||
// CACHE_NE_INFO 网元信息管理
|
// CACHE_NE_INFO 网元信息管理
|
||||||
CACHE_NE_INFO = "ne_info"
|
CACHE_NE_INFO = "ne_info"
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package controller
|
package controller
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"be.ems/src/framework/constants"
|
"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.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.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.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_info"), constants.CACHE_NE_INFO),
|
||||||
model.NewNames(i18n.TKey(language, "cache.name.ne_data"), constants.CACHE_NE_DATA),
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
cacheValue, err := redis.Get("", query.CacheName+":"+query.CacheKey)
|
key := query.CacheName + ":" + query.CacheKey
|
||||||
if err != nil {
|
|
||||||
c.JSON(200, resp.ErrMsg(err.Error()))
|
var cacheValue string
|
||||||
return
|
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)
|
sysCache := model.NewValue(query.CacheName, query.CacheKey, cacheValue)
|
||||||
c.JSON(200, resp.OkData(sysCache))
|
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.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.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.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_info"), constants.CACHE_NE_INFO),
|
||||||
model.NewNames(i18n.TKey(language, "cache.name.ne_data"), constants.CACHE_NE_DATA),
|
model.NewNames(i18n.TKey(language, "cache.name.ne_data"), constants.CACHE_NE_DATA),
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user