123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package logic
- import (
- quitl "app.yhyue.com/moapp/jybase/common"
- "app.yhyue.com/moapp/jybase/encrypt"
- "app.yhyue.com/moapp/jybase/fsw"
- "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/api/messagecenter/internal/svc"
- "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/api/messagecenter/internal/types"
- "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/rpc/messagecenter/messagecenter"
- "context"
- "github.com/microcosm-cc/bluemonday"
- "github.com/zeromicro/go-zero/core/logx"
- )
- type MessageAddLogic struct {
- logx.Logger
- ctx context.Context
- svcCtx *svc.ServiceContext
- }
- func NewMessageAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MessageAddLogic {
- return &MessageAddLogic{
- Logger: logx.WithContext(ctx),
- ctx: ctx,
- svcCtx: svcCtx,
- }
- }
- var (
- htmlFilter = bluemonday.NewPolicy()
- )
- func init() {
- htmlFilter.AllowStandardURLs()
- htmlFilter.AllowAttrs("href").OnElements("a")
- htmlFilter.AllowAttrs("src").OnElements("img")
- }
- func (l *MessageAddLogic) MessageAdd(req *types.MessageEntity) (*types.CommonRes, error) {
- resp, err := l.svcCtx.Message.SaveMessage(l.ctx, &messagecenter.MessageEntity{
- OwnType: req.OwnType,
- Title: req.Title,
- SendId: quitl.Int64All(encrypt.SE.Decode4Hex(req.SendId)),
- Content: quitl.If(req.OwnType == 1, fsw.Repl(req.Content), htmlFilter.Sanitize(fsw.Repl(req.Content))).(string), //因知识库内容包含标签,改为仅过滤用户输入
- Item: req.Item,
- Type: req.Type,
- Link: req.Link,
- Appid: req.Appid,
- ItemType: req.ItemType,
- ReceiveId: quitl.Int64All(encrypt.SE.Decode4Hex(req.ReceiveId)),
- NewUserId: req.NewUserId,
- EntUserId: req.EntUserId,
- })
- if err != nil {
- return nil, err
- }
- return &types.CommonRes{
- Error_msg: resp.ErrorMsg,
- Error_code: int(resp.ErrorCode),
- Data: resp.Data,
- }, nil
- }
|