//调用委托 private async Task <AmpMessage> ProcessGetAPaperAsync(AmpMessage req) { GetAPaperReq request = null; if (req.Data == null) { request = new GetAPaperReq(); } else { request = GetAPaperReq.Parser.ParseFrom(req.Data); } req.FriendlyServiceName = "APaperInnerService.GetAPaper"; var result = await GetAPaperAsync(request); var response = AmpMessage.CreateResponseMessage(req.ServiceId, req.MessageId); response.FriendlyServiceName = "APaperInnerService.GetAPaper"; response.Code = result.Code; if (result.Data != null) { response.Data = result.Data.ToByteArray(); } return(response); }
public async Task <RpcResult <APaperRsp> > GetAPaperAsync(GetAPaperReq req, int timeOut = 3000) { AmpMessage message = AmpMessage.CreateRequestMessage(20002, 3); message.FriendlyServiceName = "APaperService.GetAPaper"; message.Data = req.ToByteArray(); var response = await base.CallInvoker.AsyncCall(message, timeOut); if (response == null) { throw new RpcException("error,response is null !"); } var result = new RpcResult <APaperRsp>(); if (response.Code != 0) { result.Code = response.Code; } if (response.Data == null) { result.Data = new APaperRsp(); } else { result.Data = APaperRsp.Parser.ParseFrom(response.Data); } return(result); }
//同步方法 public RpcResult <APaperRsp> GetAPaper(GetAPaperReq req) { AmpMessage message = AmpMessage.CreateRequestMessage(20002, 3); message.FriendlyServiceName = "APaperService.GetAPaper"; message.Data = req.ToByteArray(); var response = base.CallInvoker.BlockingCall(message); if (response == null) { throw new RpcException("error,response is null !"); } var result = new RpcResult <APaperRsp>(); if (response.Code != 0) { result.Code = response.Code; } if (response.Data == null) { result.Data = new APaperRsp(); } else { result.Data = APaperRsp.Parser.ParseFrom(response.Data); } return(result); }
//抽象方法 public abstract Task <RpcResult <APaperRsp> > GetAPaperAsync(GetAPaperReq req);
/// <summary> /// 获取答卷详情 /// </summary> /// <param name="request"></param> /// <returns></returns> public override async Task <RpcResult <APaperRsp> > GetAPaperAsync(GetAPaperReq request) { var res = new RpcResult <APaperRsp>(); res.Data = new APaperRsp(); var apaper = await this._apaperRepo.GetAPaper(request.PaperId); if (apaper == null) // 问卷不存在 { res.Code = ErrorCodes.DATA_NOT_FOUND; res.Data.ReturnMessage = "答卷不存在"; return(res); } var answers = await this._apaperRepo.GetAnswersByPaperId(request.PaperId); var qpaperService = _proxy.GetClient <QPaperInnerServiceClient>(); GetQPaperReq getQPRep = new GetQPaperReq(); getQPRep.XRequestId = request.XRequestId; getQPRep.Identity = request.Identity; getQPRep.ClientIp = request.ClientIp; getQPRep.CheckRole = request.CheckRole; getQPRep.QpaperId = apaper.QpaperId; var getQPRes = await qpaperService.GetQPaperFullAsync(getQPRep); if (getQPRes.Code != 0) { res.Code = getQPRes.Code; if (getQPRes.Data != null) { res.Data.ReturnMessage = getQPRes.Data.ReturnMessage; } return(res); } //答卷信息 res.Data.Apaper = new DTOAPaperWithAnswers(); res.Data.Apaper.ApaperId = apaper.PaperId; res.Data.Apaper.CreateTime = apaper.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"); res.Data.Apaper.QpaperId = apaper.QpaperId; res.Data.Apaper.UserId = apaper.UserId; res.Data.Apaper.Remark = apaper.Remark ?? ""; //rsp.Apaper.Answers if (answers != null && answers.Count > 0) { foreach (var a in answers) { res.Data.Apaper.Answers.Add(new DTOAnswer() { AnswerId = a.AnswerId, ApaperId = a.ApaperId, ObjectiveAnswer = a.ObjectiveAnswer, SubjectiveAnswer = a.SubjectiveAnswer, QuestionId = a.QuestionId }); } } //rsp.Apaper.Answers; //问卷数据 res.Data.Qpaper = getQPRes.Data.Qpaper; return(res); }
public override Task <RpcResult <APaperRsp> > GetAPaperAsync(GetAPaperReq request) { var client = _proxy.GetClient <APaperInnerServiceClient>(); return(client.GetAPaperAsync(request)); }