public IHttpActionResult ChatroomStatusSync([FromUri] ChatroomStatusSyncDto inputDto) { var body = Request.Content.ReadAsStringAsync().Result; var ret = _rongCloudService.ChatroomStatusSync(inputDto, body); return(Ok(ret)); }
/// <summary> /// 融云-聊天室 状态同步 /// </summary> public dynamic ChatroomStatusSync(ChatroomStatusSyncDto inputDto, string body) { var bodys = RongJsonUtil.JsonStringToObj <List <RongCloudChatroomStatusDto> >(body); string appKey = ConfigurationManager.AppSettings["RongCloudAppKey"]; string appSecret = ConfigurationManager.AppSettings["RongCloudAppSecret"]; string signature = RongHttpClient.GetHash(appSecret + inputDto.Nonce + inputDto.SignTimestamp); if (signature.ToUpper() != inputDto.Signature.ToUpper()) { var massage = string.Format("[ChatroomStatusSync]:Error {0}==>{1},{2}", inputDto.Signature, signature, RongJsonUtil.ObjToJsonString(inputDto)); LoggerHelper.Error(massage); return(new { pass = "******" }); } List <RongCloudChatroomStatus> rongCloudChatroomStatus = new List <RongCloudChatroomStatus>(); foreach (var item in bodys) { if (item.UserIds.Count > 0) { foreach (var user in item.UserIds) { var doctor = _rep.FirstOrDefault <WxUserModel>(s => s != null && s.IsDeleted != 1 && s.Id == user); if (doctor != null) { rongCloudChatroomStatus.Add(new RongCloudChatroomStatus { Id = Guid.NewGuid().ToString(), CreateTime = DateTime.UtcNow.AddHours(8), ChatRoomId = item.ChatRoomId, UserId = doctor.Id, Status = item.Status, Type = item.Type, Time = item.Time, UserName = doctor.UserName, HospitalName = doctor.HospitalName, }); } } } else { rongCloudChatroomStatus.Add(new RongCloudChatroomStatus { Id = Guid.NewGuid().ToString(), CreateTime = DateTime.UtcNow.AddHours(8), ChatRoomId = item.ChatRoomId, Status = item.Status, Type = item.Type, Time = item.Time, //UserName = doctor.UserName, //HospitalName = doctor.HospitalName, }); } } //var doctor = _rep.FirstOrDefault<WxUserModel>(s => s != null && s.IsDeleted != 1 && s.Id == toUserId); _rep.InsertList <RongCloudChatroomStatus>(rongCloudChatroomStatus); _rep.SaveChanges(); return(new { pass = "******" }); }