package logic import ( "app.yhyue.com/moapp/MessageCenter/rpc/messageclient" "app.yhyue.com/moapp/MessageCenter/util" "context" "log" "strconv" "app.yhyue.com/moapp/MessageCenter/api/internal/svc" "app.yhyue.com/moapp/MessageCenter/api/internal/types" "github.com/tal-tech/go-zero/core/logx" ) type MultipleSaveMsgLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewMultipleSaveMsgLogic(ctx context.Context, svcCtx *svc.ServiceContext) MultipleSaveMsgLogic { return MultipleSaveMsgLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *MultipleSaveMsgLogic) MultipleSaveMsg(req types.MultipleSaveMsgReq) (*types.MultipleSaveMsgResp, error) { // todo: add your logic here and delete this line log.Println("请求参数:", req) //var reqData = []map[string]interface{}{} //err := json.Unmarshal([]byte(req.SaveData), reqData) //if err != nil { // return &types.MultipleSaveMsgResp{ // Code: 0, // Message: "失败", // ErrCount: 0, // }, nil //} errCount := 0 lsi := l.svcCtx.MessageCenter var userIdList []map[string]interface{} for _, val := range req.SaveData { msgType_, err := strconv.Atoi(util.ObjToString(val["msgType"])) msgType := int64(msgType_) var CiteId int64 if val["citeId"] != nil { CiteId_, err := strconv.Atoi(util.ObjToString(val["citeId"])) CiteId = int64(CiteId_) log.Println(err) } _, err = lsi.SendUserMsg(l.ctx, &messageclient.SendMsgRequest{ Appid: util.ObjToString(val["appid"]), ReceiveUserId: util.ObjToString(val["receiveUserId"]), ReceiveName: util.ObjToString(val["receiveName"]), SendUserId: util.ObjToString(val["sendUserId"]), SendName: util.ObjToString(val["sendName"]), Title: util.ObjToString(val["title"]), Content: util.ObjToString(val["content"]), MsgType: msgType, Link: util.ObjToString(val["link"]), CiteId: CiteId, }) if err != nil { errCount++ } } return &types.MultipleSaveMsgResp{ Code: 1, Message: "保存成功", ErrCount: int64(errCount), Data: userIdList, }, nil }