/// <summary> /// 获取已回复消息 查询已回复消息 需要判断是否已回复过消息 /// </summary> /// <param name="request"></param> /// <returns></returns> public PageResponse <string> getHaveRelied(QueryMessageRequest request) { var query = Db.Queryable <Comment, Users, Users>((c, u1, u2) => new object[] { JoinType.Left, c.SubmitterId == u1.userId, JoinType.Left, c.TargetId == u2.userId }).Where((c, u1, u2) => c.Content.Contains(request.key) && c.Type == request.type && c.TargetId == user.UserId && c.SubmitterId == user.UserId); if (!string.IsNullOrEmpty(request.startTime) && !string.IsNullOrEmpty(request.endTime)) { query = query.Where((c, u1, u2) => SqlFunc.Between(c.CreateTime, request.startTime, request.endTime)); } var total = 0; var json = query.Select((c, u1, u2) => new { id = c.Id, submitterName = u1.userName, content = c.Content, type = c.Type, createTime = c.CreateTime, attachment = c.Attachment, targetName = u2.userName, docId = c.DocId, haveRead = c.HaveRead }).ToPageList(request.page, request.limit, ref total).ToJson(); var pageResponse = new PageResponse <string> { Total = total, Result = json }; return(pageResponse); }
public PageResponse <string> getHaveRelied(QueryMessageRequest request) { var result = new PageResponse <string>(); try { result = _service.getHaveRelied(request); } catch (Exception ex) { result.Code = 500; result.Message = ex.Message; } return(result); }
public QueryMessageResponse QueryMessages(string topic, int?queueId, int?code, string routingKey, int pageIndex, int pageSize) { var request = new QueryMessageRequest(topic, queueId, code, routingKey, pageIndex, pageSize); var requestData = _binarySerializer.Serialize(request); var remotingRequest = new RemotingRequest((int)RequestCode.QueryMessage, requestData); var remotingResponse = _remotingClient.InvokeSync(remotingRequest, 30000); if (remotingResponse.Code == (int)ResponseCode.Success) { return(_binarySerializer.Deserialize <QueryMessageResponse>(remotingResponse.Body)); } else { throw new Exception(string.Format("QueryMessages failed, errorMessage: {0}", Encoding.UTF8.GetString(remotingResponse.Body))); } }