Esempio n. 1
0
        public OperationResult Post3rdPointsBySiteLocation(Boolean isPost3rdPointsBySiteLocation, thirdparty param)
        {
            var result = new OperationResult();
            var ip     = HostIP.GetHostAddress();

            //CommomMethods.visitLog(2, param.bankID, userID);
            try
            {
                using (var db = new HeatMapEntities())
                {
                    var data = db.Pro_GetAnywhere3rdData(param.lat, param.lng, param.radius, (int)PointType.Work).ToList().Select(x => new
                    {
                        lng         = x.Longitude,
                        lat         = x.Latitude,
                        thirdParty  = Convert.ToInt32(x.UserCount),
                        CMBAPPCount = x.CMBAPPCount
                    });
                    result.ReturnData = data;
                    result.ReturnCode = 1;
                }
            }
            catch (Exception ex)
            {
                result.Message    = ex.Message;
                result.ReturnCode = 0;
                Logger.Log.Error(ex.StackTrace);
            }
            return(result);
        }
Esempio n. 2
0
        public OperationResult PostPointsBySiteWithDimension(Boolean isGetPointsBySiteWithDimension, string userID, siteParams param)
        {
            var result = new OperationResult();
            var ip     = HostIP.GetHostAddress();

            CommomMethods.visitLog(2, param.bankID, userID);
            try
            {
                using (var db = new HeatMapEntities())
                {
                    var data = db.Pro_GetUserPropertyData(param.bankID, param.type, param.AUMLevel, param.dimension).ToList().Select(x => new HeatmapPoint
                    {
                        lng       = x.Longitude,
                        lat       = x.Latitude,
                        userCount = Convert.ToInt32(x.UserCount)
                    });
                    result.ReturnData = data;
                    result.ReturnCode = 1;
                }
            }
            catch (Exception ex)
            {
                result.Message    = ex.Message;
                result.ReturnCode = 0;
                Logger.Log.Error(ex.StackTrace);
            }
            return(result);
        }
Esempio n. 3
0
 public void GetlogBrowseHeatmap(int bankID)
 {
     using (var db = new HeatMapEntities())
     {
         //记录下载记录
         var logItem = new Logs();
         logItem.PK_ID      = Guid.NewGuid();
         logItem.CreateTime = DateTime.Now;
         logItem.ClientIP   = HostIP.GetHostAddress();
         logItem.TypeID     = 2;//typeID:1-访问页面,2-浏览支行热力图,3-下载支行热力图
         logItem.BankID     = bankID;
         logItem.UserID     = null;
         db.Logs.Add(logItem);
         db.SaveChanges();
     }
 }
Esempio n. 4
0
        public HttpResponseMessage DownloadImg(string imgUrl, string bankID)
        {
            try
            {
                HttpResponseMessage response = new HttpResponseMessage();
                string filePath = HttpContext.Current.Server.MapPath(imgUrl);

                //以字符流的形式下载文件
                FileStream fs    = new FileStream(filePath, FileMode.Open);
                byte[]     bytes = new byte[(int)fs.Length];
                fs.Read(bytes, 0, bytes.Length);
                fs.Close();

                response.Content = new ByteArrayContent(bytes);
                response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");

                var fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + imgUrl.Substring(imgUrl.LastIndexOf('.'));


                response.Content.Headers.ContentDisposition.FileName = fileName;
                response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
                using (var db = new HeatMapEntities())
                {
                    //记录下载记录
                    var logItem = new Logs();
                    logItem.PK_ID      = Guid.NewGuid();
                    logItem.CreateTime = DateTime.Now;
                    logItem.ClientIP   = HostIP.GetHostAddress();
                    logItem.TypeID     = 3;//typeID:1-访问页面,2-浏览支行热力图,3-下载支行热力图
                    logItem.BankID     = Convert.ToInt32(bankID);
                    logItem.UserID     = null;
                    db.Logs.Add(logItem);
                    db.SaveChanges();
                }
                return(response);
            }
            catch (Exception ex)
            {
                Logger.Log.Error(ex.StackTrace);
                return(new HttpResponseMessage(HttpStatusCode.NoContent));
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 暂时弃用
        /// </summary>
        /// <param name="isPostPointsByBounds"></param>
        /// <param name="args"></param>
        /// <returns></returns>
        public OperationResult PostPointsByBounds(Boolean isPostPointsByBounds, polygonBounds args)
        {
            var result    = new OperationResult();
            var dataList  = new List <HeatmapPoint>();
            var isContain = false;
            var pathList  = args.path;
            var ip        = HostIP.GetHostAddress();

            try
            {
                using (var db = new HeatMapEntities())
                {
                    var data = db.Pro_GetAnywhereData((decimal)args.lat, (decimal)args.lng, (decimal)args.radius).ToList().Select(x => new HeatmapPoint
                    {
                        lng       = x.Longitude,
                        lat       = x.Latitude,
                        userCount = x.UserCount
                    });
                    foreach (var point in data)
                    {
                        isContain = CommomMethods.IsInside(new lnglat {
                            lat = (decimal)point.lat, lng = (decimal)point.lng
                        }, pathList);

                        if (isContain)
                        {
                            dataList.Add(point);
                        }
                    }
                    result.ReturnData = dataList;
                    result.ReturnCode = 1;
                }
            }
            catch (Exception ex)
            {
                result.Message    = ex.Message;
                result.ReturnCode = 0;
                Logger.Log.Error(ex.StackTrace);
            }
            return(result);
        }
Esempio n. 6
0
        /// <summary>
        /// 获取网点相关数据
        /// </summary>
        /// <param name="isGetPointsBySite"></param>
        /// <param name="userID"></param>
        /// <param name="param"></param>
        /// <returns></returns>
        public OperationResult PostPointsBySite(Boolean isGetPointsBySite, string userID, siteParams param)
        {
            var result = new OperationResult();
            List <HeatmapPoint>    CMBData       = new List <HeatmapPoint>();
            List <_3rdPartyPoints> _3rdPartyData = new List <_3rdPartyPoints>();
            var ip = HostIP.GetHostAddress();
            int aum11 = 0, aum12 = 0, aum13 = 0, aum14 = 0, aum15 = 0, aum16 = 0, ump21 = 0, ump22 = 0, ump23 = 0, tCount = 0;
            var AumStatisticList = new List <Pro_GetAnywhereAUMStatisticsData_Result>();
            var UmpStatisticList = new List <Pro_GetAnywhereUMPStatisticsData_Result>();

            CommomMethods.visitLog(2, param.bankID, userID);
            try
            {
                using (var db = new HeatMapEntities())
                {
                    CMBData = db.Pro_GetBankData(param.bankID, param.type, param.isAum, param.AUMLevel, param.UMPLlevel, param.isNoDF, param.isCheck, param.distance).Select(x => new HeatmapPoint
                    {
                        lng       = x.Longitude,
                        lat       = x.Latitude,
                        userCount = x.UserCount,
                        aumCount  = x.AUMMoney,
                        deposit   = x.DepositMoney,
                        Distance  = x.Distance,
                        AUM_level = x.AUM_level,
                        UMP_level = x.UMP_level
                    }).ToList();

                    var statisticData = db.Pro_GetBankStatistics(param.bankID, param.isAum, param.AUMLevel, param.UMPLlevel, param.isNoDF).ToList();
                    if (param.type == 1 || param.type == 2)
                    {
                        tCount = (int)db.Pro_GetTwoBranchUserCount(param.bankID).FirstOrDefault().UserCount;
                        foreach (var point in statisticData)
                        {
                            //AUM统计
                            switch (point.AUM_level)
                            {
                            case 11: aum11 += (int)point.UserCount; break;

                            case 12: aum12 += (int)point.UserCount; break;

                            case 13: aum13 += (int)point.UserCount; break;

                            case 14: aum14 += (int)point.UserCount; break;

                            case 15: aum15 += (int)point.UserCount; break;

                            case 16: aum16 += (int)point.UserCount; break;

                            default: break;
                            }
                            //UMP统计
                            switch (point.UMP_level)
                            {
                            case 21: ump21 += (int)point.UserCount; break;

                            case 22: ump22 += (int)point.UserCount; break;

                            case 23: ump23 += (int)point.UserCount; break;

                            default: break;
                            }
                        }
                    }
                    else if (param.type == 3 || param.type == 4)
                    {
                        tCount = (int)CMBData.Sum(x => x.userCount);
                        foreach (var point in CMBData)
                        {
                            //AUM统计
                            switch (point.AUM_level)
                            {
                            case 11: aum11 += (int)point.userCount; break;

                            case 12: aum12 += (int)point.userCount; break;

                            case 13: aum13 += (int)point.userCount; break;

                            case 14: aum14 += (int)point.userCount; break;

                            case 15: aum15 += (int)point.userCount; break;

                            case 16: aum16 += (int)point.userCount; break;

                            default: break;
                            }
                            //UMP统计
                            switch (point.UMP_level)
                            {
                            case 21: ump21 += (int)point.userCount; break;

                            case 22: ump22 += (int)point.userCount; break;

                            case 23: ump23 += (int)point.userCount; break;

                            default: break;
                            }
                        }
                    }
                    AumStatisticList.Add(new Pro_GetAnywhereAUMStatisticsData_Result {
                        AUM_level = 11, AUM_Name = "零资产", UserCount = aum11, Total = tCount, Percent = aum11 * 100 / (decimal)tCount
                    });
                    AumStatisticList.Add(new Pro_GetAnywhereAUMStatisticsData_Result {
                        AUM_level = 12, AUM_Name = "非零不达标基客", UserCount = aum12, Total = tCount, Percent = aum12 * 100 / (decimal)tCount
                    });
                    AumStatisticList.Add(new Pro_GetAnywhereAUMStatisticsData_Result {
                        AUM_level = 13, AUM_Name = "达标基客", UserCount = aum13, Total = tCount, Percent = aum13 * 100 / (decimal)tCount
                    });
                    AumStatisticList.Add(new Pro_GetAnywhereAUMStatisticsData_Result {
                        AUM_level = 14, AUM_Name = "金卡", UserCount = aum14, Total = tCount, Percent = aum14 * 100 / (decimal)tCount
                    });
                    AumStatisticList.Add(new Pro_GetAnywhereAUMStatisticsData_Result {
                        AUM_level = 15, AUM_Name = "金葵花", UserCount = aum15, Total = tCount, Percent = aum15 * 100 / (decimal)tCount
                    });
                    AumStatisticList.Add(new Pro_GetAnywhereAUMStatisticsData_Result {
                        AUM_level = 16, AUM_Name = "私钻", UserCount = aum16, Total = tCount, Percent = aum16 * 100 / (decimal)tCount
                    });
                    UmpStatisticList.Add(new Pro_GetAnywhereUMPStatisticsData_Result {
                        UMP_level = 21, UMP_Name = "潜力金卡", UserCount = ump21, Total = tCount, Percent = ump21 * 100 / (decimal)tCount
                    });
                    UmpStatisticList.Add(new Pro_GetAnywhereUMPStatisticsData_Result {
                        UMP_level = 22, UMP_Name = "潜力金葵花", UserCount = ump22, Total = tCount, Percent = ump22 * 100 / (decimal)tCount
                    });
                    UmpStatisticList.Add(new Pro_GetAnywhereUMPStatisticsData_Result {
                        UMP_level = 23, UMP_Name = "潜力私钻", UserCount = ump23, Total = tCount, Percent = ump23 * 100 / (decimal)tCount
                    });
                    var PoiStatisticData = CommomMethods.GetSitePoiStatisticData(param.bankID);
                    if (param.type == 3 || param.type == 4)
                    {
                        _3rdPartyData = db.Pro_GetAnywhere3rdData(param.lat, param.lng, param.distance, (int)PointType.Work).Select(x => new _3rdPartyPoints
                        {
                            lng        = x.Longitude,
                            lat        = x.Latitude,
                            thirdParty = Convert.ToInt32(x.UserCount),
                            Distance   = x.Distance
                        }).ToList();
                        var sitePonetranceList = CommomMethods.CalSiteRelPonetrance(CMBData, _3rdPartyData);
                        result.ReturnData = new
                        {
                            CMBData            = CMBData,
                            _3rdPartyData      = _3rdPartyData,
                            PoiStatisticData   = PoiStatisticData,
                            sitePonetranceData = sitePonetranceList,
                            AumStatisticList   = AumStatisticList,
                            UmpStatisticList   = UmpStatisticList
                        };
                    }
                    else
                    {
                        result.ReturnData = new
                        {
                            CMBData          = CMBData,
                            PoiStatisticData = PoiStatisticData,
                            AumStatisticList = AumStatisticList,
                            UmpStatisticList = UmpStatisticList
                        };
                    }
                    result.ReturnCode = 1;
                }
            }
            catch (Exception ex)
            {
                result.Message    = ex.Message;
                result.ReturnCode = 0;
                Logger.Log.Error(ex.StackTrace);
            }
            return(result);
        }