Ejemplo n.º 1
0
        private StoreSDTO MongoToDto3(StoreMgDTO entity, decimal lat, decimal lon)
        {
            StoreSDTO store = MongoToDto(entity);

            store.Distance = (decimal)DistanceHelper.GetGreatCircleDistance((double)lat, (double)lon, entity.Location[1], entity.Location[0]);
            return(store);
        }
Ejemplo n.º 2
0
        private ResultDTO GetLocationByAddress(StoreMgDTO smgDto)
        {
            ResultDTO result = new ResultDTO();
            bool      isll   = false;

            try
            {
                string   llStr = AampHelper.GetLongLatitudeByAddress(smgDto.Address, smgDto.CityCode);
                string[] llArr = llStr.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                if (llArr != null && llArr.Length > 1)
                {
                    smgDto.Location = new double[2] {
                        double.Parse(llArr[0]), double.Parse(llArr[1])
                    };
                    isll = true;
                }
            }
            catch
            {
                isll = false;
            }
            if (!isll)
            {
                result.Message    = "未找到门店地址,请确认后再保存!";
                result.ResultCode = 1;
            }
            return(result);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 修改门店
        /// </summary>
        /// <param name="storeDTO">门店实体</param>
        public ResultDTO UpdateStoreExt(Jinher.AMP.BTP.Deploy.StoreDTO storeDTO)
        {
            try
            {
                StoreMgDTO storeMg = new StoreMgDTO();
                storeMg.FillWith(storeDTO);
                storeMg.Location = new double[] { (double)storeDTO.XAxis, (double)storeDTO.YAxis };
                WriteConcernResult wcResult = MongoCollections.Store.Save(storeMg);
                //var ub = Update.Set("Id",storeDTO.Id);
                //var storeQuery = Query<StoreMgDTO>.Where(c => c.Id == storeDTO.Id);
                //_collection.FindAndModify(storeQuery, SortBy.Null, ub);
                //_collection.Update(storeQuery,);
            }
            catch (Exception ex)
            {
                LogHelper.Error(string.Format("修改门店服务异常。storeDTO:{0}", JsonHelper.JsonSerializer(storeDTO)), ex);
                return(new ResultDTO {
                    ResultCode = 1, Message = "Error"
                });
            }



            return(new ResultDTO {
                ResultCode = 0, Message = "Success"
            });
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 得到门店详细信息
        /// </summary>
        /// <param name="id">门店ID</param>
        /// <returns></returns>
        public Jinher.AMP.BTP.Deploy.StoreDTO GetStoreDTOExt(System.Guid id, Guid appid)
        {
            var storeQuery = Query <StoreMgDTO> .Where(c => c.Id == id);

            StoreMgDTO smg   = MongoCollections.Store.FindOneAs <StoreMgDTO>(storeQuery);
            StoreDTO   store = MongoToDto(smg);

            return(store);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 将mongodb返回的结果StoreMgDTO转为StoreDTO
        /// </summary>
        /// <param name="storeMg">mongo store dto</param>
        /// <returns></returns>
        private StoreDTO MongoToDto(StoreMgDTO storeMg)
        {
            StoreDTO storeDto = new StoreDTO();

            storeDto.FillWith(storeMg);
            if (storeMg.Location != null &&
                storeMg.Location.Length > 1)
            {
                storeDto.XAxis = (decimal)storeMg.Location[0];
                storeDto.YAxis = (decimal)storeMg.Location[1];
            }
            return(storeDto);
        }
Ejemplo n.º 6
0
        public void InitMongoFromSqlExt()
        {
            try
            {
                ContextSession contextSession = ContextFactory.CurrentThreadContext;
                int            pageSize       = 20;
                int            pageIndex      = 1;

                while (true)
                {
                    var storeQuery = from s in BE.Store.ObjectSet()
                                     orderby s.SubTime ascending
                                     select s;
                    List <BE.Store> storeList = storeQuery.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
                    foreach (BE.Store store in storeList)
                    {
                        StoreMgDTO storeMG = new StoreMgDTO();
                        storeMG.FillWith(store);
                        GetLocationByAddress(storeMG);

                        var q1 = Query <StoreMgDTO> .Where(s => s.Id == store.Id);

                        StoreMgDTO smg = MongoCollections.Store.FindOneAs <StoreMgDTO>(q1);
                        if (smg != null)
                        {
                            continue;
                        }
                        MongoCollections.Store.Save(storeMG);
                    }

                    if (storeList.Count < pageSize)
                    {
                        return;
                    }
                    pageIndex++;
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("InitMongoFromSqlExt异常,异常信息:", ex);
            }
        }
Ejemplo n.º 7
0
        public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.StoreSDTO> GetOnlyStoreInAppExt(System.Guid appId)
        {
            Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Jinher.AMP.BTP.Deploy.CustomDTO.StoreSDTO> storeResult = new ResultDTO <StoreSDTO>();

            try
            {
                if (appId == Guid.Empty)
                {
                    storeResult.Message    = "参数错误,appId不能为空!";
                    storeResult.ResultCode = 1;
                    return(storeResult);
                }

                var q = Query <StoreMgDTO> .Where(c => c.AppId == appId);

                long len = MongoCollections.Store.Count(q);
                if (len > 1)
                {
                    storeResult.Message    = "有多个门店";
                    storeResult.ResultCode = 2;
                }
                else if (len == 1)
                {
                    StoreMgDTO smgDto = MongoCollections.Store.FindOneAs <StoreMgDTO>(q);
                    if (smgDto != null)
                    {
                        StoreSDTO ssDto = MongoToDto(smgDto);
                        storeResult.Data = ssDto;
                    }
                    storeResult.Message    = "只有一个门店";
                    storeResult.ResultCode = 3;
                }
                return(storeResult);
            }
            catch (Exception ex)
            {
                LogHelper.Error("GetOnlyStoreInAppExt异常,异常信息:", ex);
            }
            return(storeResult);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 添加门店
        /// </summary>
        /// <param name="storeDTO">门店实体</param>
        public ResultDTO AddStoreExt(Jinher.AMP.BTP.Deploy.StoreDTO storeDTO)
        {
            ResultDTO result = new ResultDTO();

            try
            {
                StoreMgDTO smgDto = new StoreMgDTO();
                smgDto.FillWith(storeDTO);
                smgDto.Location = new double[] { (double)storeDTO.XAxis, (double)storeDTO.YAxis };
                MongoCollections.Store.Save(smgDto);
            }
            catch (Exception ex)
            {
                LogHelper.Error(string.Format("添加门店服务异常。storeDTO:{0}", JsonHelper.JsonSerializer(storeDTO)), ex);
                return(new ResultDTO {
                    ResultCode = 1, Message = "Error"
                });
            }

            return(new ResultDTO {
                ResultCode = 0, Message = "Success"
            });
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 将mongodb返回的结果转为StoreSDTO
        /// </summary>
        /// <param name="storeMg">mongo store dto</param>
        /// <returns></returns>
        private StoreSDTO MongoToDto(StoreMgDTO storeMg)
        {
            StoreSDTO storeDto = new StoreSDTO();

            storeDto.FillWith(storeMg);
            storeDto.StoreName = storeMg.Name;
            storeDto.PicPath   = storeMg.picture;
            storeDto.Phone     = new List <PhoneSDTO>();
            string[] phones = storeMg.Phone.Split(";;,,".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            foreach (string p in phones)
            {
                storeDto.Phone.Add(new PhoneSDTO()
                {
                    PhoneNumber = p
                });
            }
            try
            {
                storeDto.XAxis = (decimal)storeMg.Location[0];
                storeDto.YAxis = (decimal)storeMg.Location[1];
            }
            catch { }
            return(storeDto);
        }