public async Task <ResponseMessage> BuildingsOnSiteCallback([FromBody] ExamineResponse examineResponse) { Logger.Trace($"指派驻场回调(BuildingsOnSiteCallback):\r\n请求参数为:\r\n" + (examineResponse != null ? JsonHelper.ToJson(examineResponse) : "")); ResponseMessage response = new ResponseMessage(); if (!ModelState.IsValid) { response.Code = ResponseCodeDefines.ModelStateInvalid; response.Message = ModelState.GetAllErrors(); Logger.Warn("模型验证失败:\r\n{0}", response.Message ?? ""); return(response); } if (examineResponse.ContentType != "BuildingsOnSite") { response.Code = ResponseCodeDefines.ServiceError; response.Message = "该回调实现不支持BuildingsOnSite的内容类型"; Logger.Warn("指派驻场业务层回调失败:\r\n{0}", response.Message ?? ""); return(response); } try { var onsite = JsonHelper.ToObject <BuildingsOnSiteRequest>(examineResponse.Content); if (examineResponse.ExamineStatus == ExamineStatus.Examined) { await _buildingsManager.SaveResidentUserAsync("", onsite); //发送通知消息 SendMessageRequest sendMessageRequest = new SendMessageRequest(); sendMessageRequest.MessageTypeCode = "BuildingsOnSite"; MessageItem messageItem = new MessageItem(); messageItem.UserIds = new List <string>(); if (!string.IsNullOrEmpty(onsite.ResidentUser1)) { messageItem.UserIds.Add(onsite.ResidentUser1); } if (!string.IsNullOrEmpty(onsite.ResidentUser2)) { messageItem.UserIds.Add(onsite.ResidentUser2); } if (!string.IsNullOrEmpty(onsite.ResidentUser3)) { messageItem.UserIds.Add(onsite.ResidentUser3); } if (!string.IsNullOrEmpty(onsite.ResidentUser4)) { messageItem.UserIds.Add(onsite.ResidentUser4); } messageItem.MessageTypeItems = new List <TypeItem> { new TypeItem { Key = "NAME", Value = onsite.Name }, new TypeItem { Key = "TIME", Value = DateTime.Now.ToString("MM-dd hh:mm") } }; sendMessageRequest.MessageList = new List <MessageItem> { messageItem }; try { MessageLogger.Info("发送通知消息协议:\r\n{0}", JsonHelper.ToJson(sendMessageRequest)); _restClient.Post(ApplicationContext.Current.MessageServerUrl, sendMessageRequest, "POST", new NameValueCollection()); } catch (Exception e) { MessageLogger.Error("发送通知消息出错:\r\n{0}", e.ToString()); } } } catch (Exception e) { response.Code = ResponseCodeDefines.ServiceError; response.Message = e.ToString(); Logger.Error("指派驻场回调失败:\r\n{0}", e.ToString()); } return(response); }