123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- package logic
- import (
- "app.yhyue.com/moapp/MessageCenter/api/internal/svc"
- "app.yhyue.com/moapp/MessageCenter/api/internal/types"
- "app.yhyue.com/moapp/MessageCenter/entity"
- "app.yhyue.com/moapp/MessageCenter/rpc/messageclient"
- "context"
- "github.com/zeromicro/go-zero/core/logx"
- )
- type MessageListLogic struct {
- logx.Logger
- ctx context.Context
- svcCtx *svc.ServiceContext
- }
- func NewMessageListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MessageListLogic {
- return &MessageListLogic{
- Logger: logx.WithContext(ctx),
- ctx: ctx,
- svcCtx: svcCtx,
- }
- }
- func (l *MessageListLogic) MessageList(req *types.MessageListReq) (resp *types.MessageListResp, err error) {
- // todo: add your logic here and delete this line
- result := new(types.MessageListResp)
- lsi := l.svcCtx.MessageCenter
- res, err := lsi.UserMsgList(l.ctx, &messageclient.UserMsgListReq{
- MsgType: req.MsgType,
- Appid: req.AppId,
- SortSize: req.SortSize,
- UserId: req.UserId,
- Read: req.IsRead,
- OffSet: req.Offset,
- PageSize: req.Size,
- IsColumn: req.IsColumn,
- IsColumnNewMsg: req.IsColumnNewMsg,
- IsMsgList: req.IsMsgList,
- PositionId: req.PositionId,
- NewUserId: req.NewUserId,
- IsContainLetter: req.IsContainLetter,
- IsClassSearch: req.IsClassSearch,
- })
- if err != nil {
- return nil, err
- }
- result.Code = res.Code
- result.Message = res.Message
- result.Total = res.Count
- result.Unread = res.Unread
- if res.List != nil && len(res.List) > 0 {
- for _, v := range res.List {
- result.Data = append(result.Data, map[string]interface{}{
- "id": v.Id,
- "appid": v.Appid,
- "receive_name": v.ReceiveName,
- "send_userid": v.SendUserId,
- "send_name": v.SendName,
- "createtime": v.Createtime,
- "title": v.Title,
- "msg_type": v.MsgType,
- "link": v.Link,
- "cite_id": v.CiteId,
- "content": v.Content,
- "isRead": v.IsRead,
- "msgLogId": v.MsgLogId,
- "url": v.Url,
- })
- }
- }
- if res.Last != nil {
- result.Last = map[string]interface{}{
- "id": res.Last.Id,
- "appid": res.Last.Appid,
- "receive_name": res.Last.ReceiveName,
- "send_userid": res.Last.SendUserId,
- "send_name": res.Last.SendName,
- "createtime": res.Last.Createtime,
- "title": res.Last.Title,
- "msg_type": res.Last.MsgType,
- "link": res.Last.Link,
- "cite_id": res.Last.CiteId,
- "content": res.Last.Content,
- "isRead": res.Last.IsRead,
- "msgLogId": res.Last.MsgLogId,
- "url": res.Last.Url,
- }
- }
- if res.Column != nil && len(res.Column) > 0 {
- var columns []map[string]interface{}
- for _, vs := range res.Column {
- var column = map[string]interface{}{
- "name": vs.Name,
- "img": vs.Img,
- "msg_type": vs.MsgType,
- "unreadMessages": vs.UnreadMessages,
- "IsClassSearch": vs.IsClassSearch,
- }
- var cn []map[string]interface{}
- for _, v := range vs.Data {
- cn = append(cn, map[string]interface{}{
- "id": v.Id,
- "appid": v.Appid,
- "receive_name": v.ReceiveName,
- "send_userid": v.SendUserId,
- "send_name": v.SendName,
- "createtime": v.Createtime,
- "title": v.Title,
- "msg_type": v.MsgType,
- "link": v.Link,
- "cite_id": v.CiteId,
- "content": v.Content,
- "isRead": v.IsRead,
- "msgLogId": v.MsgLogId,
- })
- }
- column["msgData"] = cn
- columns = append(columns, column)
- }
- result.Column = columns
- }
- result.RollingTiming = entity.RollingTiming
- return result, nil
- }
|