예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }