//add by brucezhang,2019-05-09,聊天时不用更新瓶子预览文案,页面的预览文案从聊天记录中直接取 public ACT_ChatRecord Add(ACT_ChatRecord request) { try { var entity = commonDal.Add(request); if (entity != null && !string.IsNullOrEmpty(entity.ID)) { //聊天记录新增一条,对应瓶子列表的聊天预览文案也要更新 var bittleBiz = new BottleBiz(); var bottle = bittleBiz.Query <ACT_Bottle>(request.BottleID); if (request.ChatType == 1) { bottle.BottleDesc = "[图片消息]"; } else if (request.ChatType == 2) { bottle.BottleDesc = "[语音消息]"; } else if (request.ChatType == 3) { bottle.BottleDesc = "[视频消息]"; } else { bottle.BottleDesc = request.ChatText; } bottle.UpdateTime = DateTime.Now; bottle.UpdateUserID = request.SenderID; new BottleBiz().Update(bottle); } return(entity); } catch (Exception ex) { var message = $"ChatRecordBiz Add 出错 -> 错误信息:{ex.Message}, 堆栈信息:{ex.StackTrace}, 请求参数:{JsonConvert.SerializeObject(request)}"; WriteLog(message); return(null); } }
public HttpResponseMessage Add(ACT_ChatRecord request) { //保存图片 if (request.ChatType == 1) { if (string.IsNullOrEmpty(request.ChatText)) { return(ErrorToJson("未检测到图片")); } var fileFullPath = ""; try { var fileName = DateTime.Now.Ticks + AppConst.ImgExtion; var imgFolder = AppConfig.ImgChatFolder + request.BottleID + "/"; var directFolder = AppConfig.ImgRootPath + imgFolder; fileFullPath = directFolder + fileName; var success = ImageUtil.SaveImageToLocal(request.ChatText, directFolder, fileName); if (success) { request.ChatText = AppConfig.ImgRootUrl + imgFolder + fileName; } } catch (Exception ex) { var message = $"聊天图片保存 出错 -> 错误信息:{ex.Message}, 堆栈信息:{ex.StackTrace}, 物理地址:{fileFullPath}"; WriteLog(message); return(ErrorToJson("发送图片失败")); } } request.ID = Guid.NewGuid().ToString(); request.UpdateTime = DateTime.Now; request.CreatedTime = DateTime.Now; request.CreatedUserID = request.SenderID; request.UpdateUserID = request.SenderID; var entity = chatRecordBiz.Add(request); return(EntityToJson(entity)); }
public HttpResponseMessage ThrowBottle(BottleRequest request) { if (request == null || string.IsNullOrEmpty(request.BottleDesc)) { return(ErrorToJson("瓶子内容为空,请重试!")); } //ConvertBaseRequest(request); var bottleInfo = new ACT_Bottle { ThrowUserID = request.ThrowUserID, BottleDesc = request.BottleDesc, CreatedUserID = request.ThrowUserID, UpdateUserID = request.ThrowUserID, }; var bottleEntity = bottleBiz.Add(bottleInfo); //异步记录瓶子聊天记录和位置 Task.Run(() => { //插入第一条聊天记录 var chatInfo = new ACT_ChatRecord { ID = Guid.NewGuid().ToString(), BottleID = bottleEntity.ID, ChatText = request.BottleDesc, SenderID = request.ThrowUserID, Remark = "扔瓶子时同步聊天记录", CreatedTime = DateTime.Now, UpdateTime = DateTime.Now, CreatedUserID = request.ThrowUserID, UpdateUserID = request.ThrowUserID, }; new ChatRecordBiz().Add(chatInfo); var positionInfo = new ACT_User_Position { UserID = request.ThrowUserID, BottleID = bottleEntity.ID, Longitude = request.Longitude, Latitude = request.Latitude, CreatedUserID = request.ThrowUserID, UpdateUserID = request.ThrowUserID, Province = request.Province, City = request.City, District = request.District, Street = request.Street, StreetNumber = request.StreetNumber, AddressDetail = request.AddressDetail, }; new PositionBiz().Add(positionInfo); }); if (bottleEntity == null) { commonBiz.WriteRequestLog(request.ThrowUserID, (int)EnumModel.LogType.Bottle_Throw, "", "扔瓶子失败"); return(ErrorToJson("瓶子没扔出去,重新试下吧!")); } commonBiz.WriteRequestLog(request.ThrowUserID, (int)EnumModel.LogType.Bottle_Throw, bottleEntity.ID.ToString()); return(EntityToJson(bottleEntity)); }