Merge branch 'dev' of https://git.118im.com/im_team/im_manager into dev
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
package sys
|
||||
|
||||
import (
|
||||
"context"
|
||||
"hotgo/api/admin/immessageencryption"
|
||||
"hotgo/internal/model/input/sysin"
|
||||
"hotgo/internal/service"
|
||||
)
|
||||
|
||||
var ImMessageEncryption = cImMessageEncryption{}
|
||||
|
||||
type cImMessageEncryption struct{}
|
||||
|
||||
func (c *cImMessageEncryption) List(ctx context.Context, req *immessageencryption.ListReq) (res *immessageencryption.ListRes, err error) {
|
||||
list, total, err := service.SysImMessageEncryption().List(ctx, &req.ImMessageEncryptionListInp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if list == nil {
|
||||
list = []*sysin.ImMessageEncryptionListModel{}
|
||||
}
|
||||
res = new(immessageencryption.ListRes)
|
||||
res.List = list
|
||||
res.PageRes.Pack(req, total)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (c *cImMessageEncryption) Initialize(ctx context.Context, req *immessageencryption.InitializeReq) (res *immessageencryption.InitializeRes, err error) {
|
||||
err = service.SysImMessageEncryption().Initialize(ctx, &req.ImMessageEncryptionActionInp)
|
||||
return
|
||||
}
|
||||
|
||||
func (c *cImMessageEncryption) Rotate(ctx context.Context, req *immessageencryption.RotateReq) (res *immessageencryption.RotateRes, err error) {
|
||||
err = service.SysImMessageEncryption().Rotate(ctx, &req.ImMessageEncryptionActionInp)
|
||||
return
|
||||
}
|
||||
|
||||
func (c *cImMessageEncryption) Switch(ctx context.Context, req *immessageencryption.SwitchReq) (res *immessageencryption.SwitchRes, err error) {
|
||||
err = service.SysImMessageEncryption().Switch(ctx, &req.ImMessageEncryptionSwitchInp)
|
||||
return
|
||||
}
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"hotgo/internal/library/immoderation"
|
||||
"hotgo/internal/library/imtenant"
|
||||
"hotgo/internal/model/entity"
|
||||
"hotgo/internal/model/input/sysin"
|
||||
"hotgo/internal/service"
|
||||
"strings"
|
||||
|
||||
@@ -302,6 +303,29 @@ func (c *cConfig) SecurityPolicy(ctx context.Context, req *api.SecurityPolicyReq
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (c *cConfig) RealnamePolicy(ctx context.Context, req *api.RealnamePolicyReq) (res *api.RealnamePolicyRes, err error) {
|
||||
tenant, err := getTenant(ctx, dao.ImTenant.Columns().Id, req.Id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
res = defaultRealnamePolicy(tenant.Id)
|
||||
var row *struct {
|
||||
RealnameReviewPolicy int `json:"realname_review_policy"`
|
||||
}
|
||||
if err = imtenant.RegistryDB().Model(dao.ImTenantConfig.Table()).Safe().Ctx(ctx).
|
||||
Fields("realname_review_policy").
|
||||
Where(dao.ImTenantConfig.Columns().TenantId, tenant.Id).Scan(&row); err != nil {
|
||||
return nil, gerror.Wrap(err, "获取租户实名认证策略失败")
|
||||
}
|
||||
if row == nil {
|
||||
return res, nil
|
||||
}
|
||||
if row.RealnameReviewPolicy == 1 {
|
||||
res.RealnameReviewPolicy = 1
|
||||
}
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func parseStringArray(raw string) []string {
|
||||
values := []string{}
|
||||
if strings.TrimSpace(raw) == "" {
|
||||
@@ -359,6 +383,27 @@ func (c *cConfig) SensitiveWords(ctx context.Context, req *api.SensitiveWordsReq
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (c *cConfig) MessageKeyActive(ctx context.Context, req *api.MessageKeyActiveReq) (res *api.MessageKeyActiveRes, err error) {
|
||||
key, err := service.SysImMessageEncryption().GetKey(ctx, &sysin.ImMessageKeyGetInp{TenantCode: req.TenantCode})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &api.MessageKeyActiveRes{ImMessageKeyModel: key}, nil
|
||||
}
|
||||
|
||||
func (c *cConfig) MessageKeyVersion(ctx context.Context, req *api.MessageKeyVersionReq) (res *api.MessageKeyVersionRes, err error) {
|
||||
key, err := service.SysImMessageEncryption().GetKey(ctx, &sysin.ImMessageKeyGetInp{TenantCode: req.TenantCode, Version: req.Version})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &api.MessageKeyVersionRes{ImMessageKeyModel: key}, nil
|
||||
}
|
||||
|
||||
func (c *cConfig) MessageKeyAck(ctx context.Context, req *api.MessageKeyAckReq) (res *api.MessageKeyAckRes, err error) {
|
||||
err = service.SysImMessageEncryption().Ack(ctx, &sysin.ImMessageKeyAckInp{TenantCode: req.TenantCode, Version: req.Version})
|
||||
return
|
||||
}
|
||||
|
||||
func defaultModerationPolicy(tenant *entity.ImTenant) *api.ModerationPolicyRes {
|
||||
return &api.ModerationPolicyRes{TenantID: tenant.Id, TenantCode: tenant.Code, Enabled: false,
|
||||
AliyunEnabled: false, LocalWordsEnabled: false, Scenes: cloneBoolMap(defaultModerationScenes),
|
||||
@@ -366,6 +411,13 @@ func defaultModerationPolicy(tenant *entity.ImTenant) *api.ModerationPolicyRes {
|
||||
BlockMessage: "内容不符合平台规范,请修改后重试"}
|
||||
}
|
||||
|
||||
func defaultRealnamePolicy(tenantID int64) *api.RealnamePolicyRes {
|
||||
return &api.RealnamePolicyRes{
|
||||
TenantID: tenantID,
|
||||
RealnameReviewPolicy: 0,
|
||||
}
|
||||
}
|
||||
|
||||
func cloneBoolMap(src map[string]bool) map[string]bool {
|
||||
dst := make(map[string]bool, len(src))
|
||||
for k, v := range src {
|
||||
|
||||
Reference in New Issue
Block a user