/// <summary> /// 获取地图景点简介信息 /// </summary> public GeneralResult ViewSpotInfo(ViewSpotInfoInput input) { var result = new GeneralResult(); try { result.Data = bll.ViewSpotInfo(input); result.State = 0; result.Msg = "操作成功"; } catch (RTException e) { result = RTExceptionHandle(e); } catch (Exception e1) { result = ExceptionHandle(e1); } return(result); }
/// <summary> /// 获取地图景点简介信息 /// </summary> public ViewSpotInfoOutput ViewSpotInfo(ViewSpotInfoInput input) { if (input == null) { throw new RTException("输入参数不能为空"); } var result = new ViewSpotInfoOutput(); using (var db = new RTDbContext()) { var viewPort = db.WisdomGuideViewSpots.FirstOrDefault(p => p.Id == input.Id); if (viewPort == null) { throw new RTException("所选数据不存在"); } #region 根据经纬度计算距离 double distance = 0; string distanceDescription = ""; distance = LongitudeAndLatitudeToDistance.GetDistance(input.Longitude, input.Latitude, viewPort.Longitude, viewPort.Latitude); if (distance > 1000) { distanceDescription = string.Format("距我{0}km", (distance / 1000).ToString("f2")); } else { distanceDescription = string.Format("距我{0}m", distance.ToString("f0")); } #endregion result.ViewSpotName = viewPort.ViewSpotName; //result.ViewSpotDescribe = viewPort.ViewSpotDescribe; result.Position = viewPort.Position; result.Phone = viewPort.Phone; result.Distance = distance; result.ImgUrl = viewPort.ImgUrl; result.Longitude = viewPort.Longitude; result.Latitude = viewPort.Latitude; result.DistanceDescription = distanceDescription; var map = db.WisdomGuideMaps.FirstOrDefault(p => p.WisdomGuideId == viewPort.WisdomGuideId); if (map != null) { result.MapImgUrl = map.ImgUrl; } #region 详情 var detail = _detail.GetDetail(new GetDetailInput { ProjectId = viewPort.Id }, db); if (detail == null) { return(result); } result.BigImgUrl = detail.ImgUrl; result.Contents = detail.Paragraphs; #endregion result.HasMoreView = false; var videoList = db.WisdomGuideViewSpotVideos.Where(p => p.WisdomGuideViewSpotId == viewPort.Id).ToList(); if (videoList != null && videoList.Count != 0) { var video = videoList.FirstOrDefault(); result.FirstVoice = new ViewSpotVideoDto(); result.FirstVoice.ImgUrl = video.ImgUrl; result.FirstVoice.VoiceUrl = video.VoiceUrl; result.FirstVoice.VoiceName = video.VoiceName; result.FirstVoice.WisdomGuideViewSpotId = video.WisdomGuideViewSpotId; if (videoList.Count > 1) { result.HasMoreView = true; result.VoiceList = new List <ViewSpotVideoDto>(); videoList.ForEach(item => { result.VoiceList.Add(new ViewSpotVideoDto { ImgUrl = item.ImgUrl, VoiceName = item.VoiceName, VoiceUrl = item.VoiceUrl, WisdomGuideViewSpotId = item.WisdomGuideViewSpotId }); }); } } } return(result); }