feat: 添加联系我们配置接口和字典配置缓存

1. 新增DictionaryItem字典配置结构体
2. 添加字典配置缓存及失效逻辑
3. 实现联系我们接口的业务逻辑和测试用例
4. 注册联系我们API路由
5. 集成字典配置到admin内部客户端
6. 处理字典配置更新的kafka事件
This commit is contained in:
Austin
2026-09-21 13:11:42 +08:00
parent c891afba73
commit 7829990180
8 changed files with 196 additions and 0 deletions
+13
View File
@@ -168,6 +168,19 @@ func (c *adminInternalClient) ThirdPartyConfig(group string, keys ...string) (ma
return wrapper.Values, nil
}
func (c *adminInternalClient) DictionaryConfig(dictType string) ([]types.DictionaryItem, error) {
var wrapper struct {
Items []types.DictionaryItem `json:"items"`
}
if err := c.getJSON("/internal/im-config/dictionary/"+url.PathEscape(strings.TrimSpace(dictType)), nil, &wrapper); err != nil {
return nil, err
}
if wrapper.Items == nil {
wrapper.Items = []types.DictionaryItem{}
}
return wrapper.Items, nil
}
func (c *adminInternalClient) ModerationProvider() (*types.ModerationProviderConfig, error) {
var result types.ModerationProviderConfig
if err := c.getJSON("/internal/im-config/moderation/provider", nil, &result); err != nil {