diff --git a/server/internal/controller/internalapi/imconfig/im_config.go b/server/internal/controller/internalapi/imconfig/im_config.go index 60e6d79..8fed9b0 100644 --- a/server/internal/controller/internalapi/imconfig/im_config.go +++ b/server/internal/controller/internalapi/imconfig/im_config.go @@ -162,12 +162,19 @@ func (c *cConfig) ModerationPolicy(ctx context.Context, req *api.ModerationPolic PolicyVersion uint `json:"policy_version"` SensitiveWordPolicy string `json:"sensitive_word_policy"` } - if err = imtenant.RegistryDB().Model(dao.ImSecurityPolicy.Table()).Safe().Ctx(ctx). + record, err := imtenant.RegistryDB().Model(dao.ImSecurityPolicy.Table()).Safe().Ctx(ctx). Fields(columns.PolicyVersion, "CAST("+columns.SensitiveWordPolicy+" AS CHAR) sensitive_word_policy"). Where(columns.TenantId, tenant.Id).Where(columns.PublishStatus, consts.ImSecurityPublishPublished). - WhereNull(columns.DeletedAt).OrderDesc(columns.PolicyVersion).Limit(1).Scan(&row); err != nil { + WhereNull(columns.DeletedAt).OrderDesc(columns.PolicyVersion).One() + if err != nil { return nil, gerror.Wrap(err, "获取商户内容审核策略失败") } + if record.IsEmpty() { + return res, nil + } + if err = record.Struct(&row); err != nil { + return nil, gerror.Wrap(err, "解析商户内容审核策略失败") + } if row.PolicyVersion == 0 || strings.TrimSpace(row.SensitiveWordPolicy) == "" { return res, nil }