コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="_obj"></param>
        /// <param name="过滤信息">输出过滤掉的案例</param>
        /// <returns></returns>
        public static bool 发布需要整理的数据到服务器(VIEW_案例信息_城市表_网站表 _obj, out 案例库上传信息过滤表 过滤信息, out int fxtId, FxtAPIClientExtend _fxtApi = null)
        {
            fxtId = 0;
            bool result = true;
            Dictionary <long, int>   dic      = new Dictionary <long, int>();
            List <VIEW_案例信息_城市表_网站表> _list    = new List <VIEW_案例信息_城市表_网站表>();
            List <案例库上传信息过滤表>        过滤信息List = new List <案例库上传信息过滤表>();

            过滤信息 = null;
            if (_obj == null)
            {
                return(true);
            }
            _list.Add(_obj);
            FxtAPIClientExtend fxtApi = new FxtAPIClientExtend(_fxtApi);

            try
            {
                result = 发布需要整理的数据到服务器(_list, out 过滤信息List, out dic, _fxtApi: fxtApi);
                if (过滤信息List != null && 过滤信息List.Count > 0)
                {
                    过滤信息 = 过滤信息List[0];
                }
                if (dic.ContainsKey(_obj.ID))
                {
                    fxtId = dic[_obj.ID];
                }
                fxtApi.Abort();
            }
            catch (Exception ex)
            {
                log.Error("发布需要整理的数据到服务器(VIEW_案例信息_城市表_网站表 _obj, out 案例库上传信息过滤表 过滤信息,out int fxtId)", ex);
                fxtApi.Abort();
                return(false);
            }
            return(result);
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="_list"></param>
        /// <param name="caseIds">输出过滤掉的案例ID</param>
        /// <returns></returns>
        public static bool 发布需要整理的数据到服务器(List <VIEW_案例信息_城市表_网站表> _list, out List <案例库上传信息过滤表> 过滤信息, out Dictionary <long, int> 原始库ID对应成功的房讯通ID, FxtAPIClientExtend _fxtApi = null)
        {
            原始库ID对应成功的房讯通ID = new Dictionary <long, int>();
            过滤信息            = new List <案例库上传信息过滤表>();
            string json     = "";
            string nowIp    = WcfCheck.GetWcfCheckIp();
            string validate = WcfCheck.GetWcfCheckValidData();

            if (_list == null || _list.Count < 1)
            {
                return(true);
            }
            FxtAPIClientExtend fxtServer = new FxtAPIClientExtend(_fxtApi);

            try
            {
                json = _list.FxtApi_GetJson();
                if (string.IsNullOrEmpty(json))
                {
                    fxtServer.Abort();
                    return(true);
                }


                string name    = "SpiderExport";
                var    para    = new { data = json };
                string jsonStr = Convert.ToString(EntranceApi.Entrance_FxtSpider(name, para.ToJSONjss(), _fxtApi: fxtServer));

                List <SpiderExportResult> list = JsonHelp.ParseJSONList <SpiderExportResult>(jsonStr);
                foreach (SpiderExportResult obj in list)
                {
                    if (obj.Success.ToLower().Equals("false"))
                    {
                        VIEW_案例信息_城市表_网站表 obj2 = _list.Find(delegate(VIEW_案例信息_城市表_网站表 _obj2) { return(_obj2.ID == Convert.ToInt64(obj.ID)); });
                        if (obj2 != null)
                        {
                            int    错误类型ID = StaticValue.其他_ID;
                            string 错误说明   = "";
                            if (obj.Remark.Equals(SpiderExportResult.Remark_楼盘名不存在))
                            {
                                错误类型ID = StaticValue.楼盘名不存在_ID;
                                错误说明   = "楼盘名不存在";
                            }
                            else if (obj.Remark.Equals(SpiderExportResult.Remark_系统异常))
                            {
                                错误类型ID = StaticValue.系统异常_ID;
                                错误说明   = "系统异常";
                            }
                            else
                            {
                                错误类型ID = StaticValue.其他_ID;
                                错误说明   = obj.Remark;
                            }
                            案例库上传信息过滤表 obj3 = new 案例库上传信息过滤表 {
                                案例ID = obj2.ID, 城市ID = obj2.城市ID, 网站ID = obj2.网站ID, 错误类型ID = 错误类型ID, 错误说明 = 错误说明, 过滤时间 = DateTime.Now
                            };
                            过滤信息.Add(obj3);
                        }
                    }
                    else
                    {
                        原始库ID对应成功的房讯通ID.Add(Convert.ToInt64(obj.ID), obj.FxtId);
                    }
                }
                fxtServer.Abort();
            }
            catch (Exception ex)
            {
                log.Error("发布需要整理的数据到服务器(List<VIEW_案例信息_城市表_网站表> _list, out List<案例库上传信息过滤表> 过滤信息,out Dictionary<long,int> 原始库ID对应成功的房讯通ID)", ex);
                fxtServer.Abort();
                return(false);
            }
            return(true);
        }
コード例 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="list"></param>
        /// <param name="failList">返回失败的案例</param>
        /// <returns></returns>
        public static bool ImportCase(List <VIEW_案例信息_城市表_网站表> list, out List <VIEW_案例信息_城市表_网站表> failList, out string message)
        {
            message  = "";
            failList = new List <VIEW_案例信息_城市表_网站表>();
            List <案例库上传信息过滤表>      过滤案例List = null;
            Dictionary <long, int> dic      = new Dictionary <long, int>();

            if (!CaseApi.发布需要整理的数据到服务器(list, out 过滤案例List, out dic))
            {
                message = "fxt服务异常";
                log.Debug(string.Format("发布需要整理的数据到服务器_异常:(案例ID个数:{0})", list.Count));
                return(false);
            }
            using (DataClassesDataContext db = new DataClassesDataContext())
            {
                db.Connection.Open();
                //开始事务
                var tran = db.Connection.BeginTransaction();
                try
                {
                    db.Transaction = tran;

                    //删除此次案例的滤记录
                    List <long> caseIdList = new List <long>();
                    if (list != null)
                    {
                        foreach (VIEW_案例信息_城市表_网站表 caseView in list)
                        {
                            caseIdList.Add(caseView.ID);
                        }
                        if (!CaseFilterLogManager.DeleteCaseFilterByCaseIds(caseIdList.ToArray(), db: db))
                        {
                            message = "系统异常";
                            log.Debug(string.Format("删除此次案例的滤记录_异常:(案例ID个数:{0},过滤ID数组个数:{1})",
                                                    list.Count, 过滤案例List.Count));
                            tran.Rollback();
                            return(false);
                        }
                    }

                    //记录过滤掉的案例ID
                    if (过滤案例List != null && 过滤案例List.Count > 0)
                    {
                        foreach (案例库上传信息过滤表 obj in 过滤案例List)
                        {
                            VIEW_案例信息_城市表_网站表 obj2 = list.Find(delegate(VIEW_案例信息_城市表_网站表 obj3) { return(obj3.ID == obj.案例ID); });
                            if (obj2 != null)
                            {
                                failList.Add(obj2);
                            }
                        }
                        if (!CaseFilterLogManager.将上传时被过滤的信息记录到表中(过滤案例List, db))
                        {
                            message = "将上传时被过滤的信息记录到表中_系统异常";
                            log.Debug(string.Format("将上传时被过滤的信息记录到表中_异常:(案例ID个数:{0},过滤ID数组个数:{1})",
                                                    list.Count, 过滤案例List.Count));
                            tran.Rollback();
                            return(false);
                        }
                    }
                    //统计入库失败的案例个数
                    if (!ProjectCaseCountManager.UpdateNotImportCaseCount(list, 过滤案例List, out message, new DAL.DB.DataClass(db)))
                    {
                        log.Debug(string.Format("统计入库失败的案例个数_系统异常:(案例ID个数{0})", list.Count));
                        tran.Rollback();
                        return(false);
                    }
                    //记录上传成功的案例ID
                    if (!CaseLogManager.将当前已经整理入库的案例记录表中(list, dic, db))
                    {
                        message = "将当前已经整理入库的案例记录表中_系统异常";
                        log.Debug(string.Format("将当前已经整理入库的案例记录表中_系统异常:(案例ID个数{0})", list.Count));
                        tran.Rollback();
                        return(false);
                    }

                    db.Transaction.Commit();
                }
                catch (Exception ex)
                {
                    message = "系统异常";
                    log.Error(string.Format("系统异常ImportCase(List<VIEW_案例信息_城市表_网站表> list, out List<VIEW_案例信息_城市表_网站表> failList)", list.Count), ex);
                    tran.Rollback();
                    return(false);
                }
            }

            return(true);
        }
コード例 #4
0
 /// <summary>
 /// 设置案例楼盘ID,行政区ID,片区ID
 /// </summary>
 /// <param name="_list"></param>
 /// <param name="_dc"></param>
 /// <returns></returns>
 public static List <VIEW_案例信息_城市表_网站表> SetProjectId(List <VIEW_案例信息_城市表_网站表> _list, DataClass _dc = null)
 {
     if (_list != null && _list.Count > 0)
     {
         List <long> longs = new List <long>();
         _list.ForEach(delegate(VIEW_案例信息_城市表_网站表 obj)
         {
             if ((!string.IsNullOrEmpty(obj.楼盘名.TrimBlank()) && obj.ProjectId == null) ||
                 (!string.IsNullOrEmpty(obj.行政区.TrimBlank()) && obj.AreaId == null) ||
                 !string.IsNullOrEmpty(obj.片区.TrimBlank()) && obj.SubAreaId == null)
             {
                 longs.Add(obj.ID);
             }
         });
         if (longs != null && longs.Count > 0)
         {
             DataClass   dc   = new DataClass(_dc);
             List <案例信息> list = dc.DB.案例信息.Where(p => longs.Contains(p.ID)).ToList();
             list.ForEach(delegate(案例信息 obj)
             {
                 if (!string.IsNullOrEmpty(obj.楼盘名.TrimBlank()) && obj.ProjectId == null)
                 {
                     SysData_Project project = ProjectManager.GetProjectByProjectNameAndCityId(obj.楼盘名.TrimBlank(), obj.城市ID, _db: dc);
                     if (project == null)
                     {
                         project = ProjectManager.InsertProject(obj.楼盘名, obj.城市ID, Convert.ToInt32(obj.网站ID), _db: dc);
                     }
                     obj.ProjectId = project.ID;
                     obj.楼盘名       = null;
                 }
                 if (!string.IsNullOrEmpty(obj.行政区.TrimBlank()) && obj.AreaId == null)
                 {
                     SysData_Area areaObj = AreaManager.GetAreaByAreaNameLikeByCityId(obj.行政区, obj.城市ID, _db: dc);
                     if (areaObj == null)
                     {
                         areaObj = AreaManager.InsertArea(obj.行政区, obj.城市ID, Convert.ToInt32(obj.网站ID), _db: dc);
                     }
                     obj.AreaId = areaObj.ID;
                     obj.行政区    = null;
                 }
                 else if (string.IsNullOrEmpty(obj.行政区.TrimBlank()) && obj.AreaId == null)
                 {
                     obj.AreaId = 0;
                     obj.行政区    = null;
                 }
                 if (!string.IsNullOrEmpty(obj.片区.TrimBlank()) && obj.SubAreaId == null)
                 {
                     SysData_SubArea subAreaObj = SubAreaManager.GetAreaByAreaNameByCityId(obj.片区, obj.城市ID, _db: dc);
                     if (subAreaObj == null)
                     {
                         subAreaObj = SubAreaManager.InsertArea(obj.片区, obj.城市ID, Convert.ToInt32(obj.网站ID), _db: dc);
                     }
                     obj.SubAreaId = subAreaObj.ID;
                     obj.片区        = null;
                 }
                 VIEW_案例信息_城市表_网站表 vObj = _list.Where(p => p.ID == obj.ID).FirstOrDefault();
                 if (vObj != null)
                 {
                     vObj.ProjectId = obj.ProjectId;
                     vObj.楼盘名       = obj.楼盘名;
                     vObj.AreaId    = obj.AreaId;
                     vObj.行政区       = obj.行政区;
                     vObj.SubAreaId = obj.SubAreaId;
                     vObj.片区        = obj.片区;
                 }
             });
             dc.DB.SubmitChanges();
             dc.Connection_Close();
             dc.Dispose();
         }
     }
     return(_list);
 }
コード例 #5
0
ファイル: FxtApiJsonHelp.cs プロジェクト: kingshhh/fxtcode
        public static string FxtApi_GetJson(this VIEW_案例信息_城市表_网站表 view)
        {
            if (view == null)
            {
                return(null);
            }
            string projectName = "";
            string areaName    = "";
            string subAreaName = "";

            if (view.ProjectName == null)
            {
                if (!string.IsNullOrEmpty(view.楼盘名))
                {
                    projectName = view.楼盘名;
                }
            }
            else
            {
                projectName = view.ProjectName;
            }
            if (view.AreaName == null)
            {
                if (!string.IsNullOrEmpty(view.行政区))
                {
                    areaName = view.行政区;
                }
            }
            else
            {
                areaName = view.AreaName;
            }
            if (view.SubAreaName == null)
            {
                if (!string.IsNullOrEmpty(view.片区))
                {
                    subAreaName = view.片区;
                }
            }
            else
            {
                subAreaName = view.SubAreaName;
            }
            StringBuilder sb = new StringBuilder();

            sb.Append("{");
            sb.Append("\"ID\":\"").Append(view.ID.ToString()).Append("\",");
            sb.Append("\"楼盘名\":\"").Append(projectName).Append("\",");
            sb.Append("\"案例时间\":\"").Append(view.案例时间 == null ? "" : view.案例时间.ToString()).Append("\",");
            sb.Append("\"行政区\":\"").Append(areaName).Append("\",");
            sb.Append("\"片区\":\"").Append(subAreaName).Append("\",");
            sb.Append("\"楼栋\":\"").Append(view.楼栋 == null ? "" : view.楼栋).Append("\",");
            sb.Append("\"房号\":\"").Append(view.房号 == null ? "" : view.房号.ToString()).Append("\",");
            sb.Append("\"用途\":\"").Append(view.SysData用途 == null ? "" : view.SysData用途.ToString()).Append("\",");
            sb.Append("\"面积\":\"").Append(view.面积 == null ? "" : Convert.ToString(view.面积)).Append("\",");
            sb.Append("\"单价\":\"").Append(view.单价 == null ? "" : Convert.ToString(view.单价)).Append("\",");
            sb.Append("\"案例类型\":\"").Append(view.SysData案例类型 == null ? "" : view.SysData案例类型).Append("\",");
            sb.Append("\"结构\":\"").Append(view.SysData结构 == null ? "" : view.SysData结构).Append("\",");
            sb.Append("\"建筑类型\":\"").Append(view.SysData建筑类型 == null ? "" : view.SysData建筑类型).Append("\",");
            sb.Append("\"总价\":\"").Append(view.总价 == null ? "" : Convert.ToString(view.总价)).Append("\",");
            sb.Append("\"所在楼层\":\"").Append(view.所在楼层 == null ? "" : Convert.ToString(view.所在楼层)).Append("\",");
            sb.Append("\"总楼层\":\"").Append(view.总楼层 == null ? "" : Convert.ToString(view.总楼层)).Append("\",");
            sb.Append("\"户型\":\"").Append(view.SysData户型 == null ? "" : view.SysData户型.Replace("房", "室")).Append("\",");
            sb.Append("\"朝向\":\"").Append(view.SysData朝向 == null ? "" : view.SysData朝向).Append("\",");
            sb.Append("\"装修\":\"").Append(view.SysData装修 == null ? "" : view.SysData装修).Append("\",");
            sb.Append("\"建筑年代\":\"").Append(view.建筑年代 == null ? "" : view.建筑年代).Append("\",");
            sb.Append("\"信息\":\"").Append(view.信息 == null ? "" : view.信息).Append("\",");
            sb.Append("\"电话\":\"").Append(view.电话 == null ? "" : view.电话).Append("\",");
            sb.Append("\"URL\":\"").Append(view.URL == null ? "" : view.URL).Append("\",");
            sb.Append("\"币种\":\"").Append(view.SysData币种 == null ? "" : view.SysData币种).Append("\",");
            sb.Append("\"地址\":\"").Append(view.地址 == null ? "" : view.地址).Append("\",");
            sb.Append("\"创建时间\":\"").Append(view.创建时间 == null ? "" : view.创建时间.ToString()).Append("\",");
            sb.Append("\"建筑形式\":\"").Append(view.建筑形式 == null ? "" : view.建筑形式).Append("\",");
            sb.Append("\"花园面积\":\"").Append(view.花园面积 == null ? "" : Convert.ToString(view.花园面积)).Append("\",");
            sb.Append("\"厅结构\":\"").Append(view.厅结构 == null ? "" : view.厅结构).Append("\",");
            sb.Append("\"车位数量\":\"").Append(view.车位数量 == null ? "" : Convert.ToString(view.车位数量)).Append("\",");
            sb.Append("\"配套设施\":\"").Append(view.配套设施 == null ? "" : view.配套设施).Append("\",");
            sb.Append("\"地下室面积\":\"").Append(view.地下室面积 == null ? "" : Convert.ToString(view.地下室面积)).Append("\",");
            sb.Append("\"城市\":\"").Append(view.城市 == null ? "" : view.城市).Append("\",");
            sb.Append("\"网站\":\"").Append(view.网站 == null ? "" : view.网站).Append("\"");
            sb.Append("}");
            return(sb.ToString());
        }
コード例 #6
0
ファイル: WebJsonHelp.cs プロジェクト: kingshhh/fxtcode
        public static string Web_GetJson(this VIEW_案例信息_城市表_网站表 view)
        {
            if (view == null)
            {
                return(null);
            }
            string projectName = "";
            string areaName    = "";
            string subAreaName = "";

            if (view.ProjectName == null)
            {
                if (!string.IsNullOrEmpty(view.楼盘名))
                {
                    projectName = view.楼盘名;
                }
            }
            else
            {
                projectName = view.ProjectName;
            }
            if (view.AreaName == null)
            {
                if (!string.IsNullOrEmpty(view.行政区))
                {
                    areaName = view.行政区;
                }
            }
            else
            {
                areaName = view.AreaName;
            }
            if (view.SubAreaName == null)
            {
                if (!string.IsNullOrEmpty(view.片区))
                {
                    subAreaName = view.片区;
                }
            }
            else
            {
                subAreaName = view.SubAreaName;
            }
            StringBuilder sb = new StringBuilder();

            sb.Append("{");
            sb.Append("\"ID\":\"").Append(view.ID.ToString()).Append("\",");
            sb.Append("\"projectName\":\"").Append(JsonHelp.EncodeField(projectName)).Append("\",");
            sb.Append("\"caseDate\":\"").Append(JsonHelp.EncodeField(view.案例时间 == null ? "" : view.案例时间.ToString())).Append("\",");
            sb.Append("\"areaName\":\"").Append(JsonHelp.EncodeField(areaName)).Append("\",");
            sb.Append("\"areaName2\":\"").Append(JsonHelp.EncodeField(subAreaName)).Append("\",");
            sb.Append("\"building\":\"").Append(JsonHelp.EncodeField(view.楼栋 == null ? "" : view.楼栋)).Append("\",");
            sb.Append("\"houseNumber\":\"").Append(JsonHelp.EncodeField(view.房号 == null ? "" : view.房号.ToString())).Append("\",");
            sb.Append("\"purpose\":\"").Append(JsonHelp.EncodeField(view.SysData用途 == null ? "" : view.SysData用途)).Append("\",");
            sb.Append("\"are\":\"").Append(JsonHelp.EncodeField(view.面积 == null ? "" : Convert.ToString(view.面积))).Append("\",");
            sb.Append("\"unitPrice\":\"").Append(JsonHelp.EncodeField(view.单价 == null ? "" : Convert.ToString(view.单价))).Append("\",");
            sb.Append("\"caseType\":\"").Append(JsonHelp.EncodeField(view.SysData案例类型 == null ? "" : view.SysData案例类型)).Append("\",");
            sb.Append("\"structure\":\"").Append(JsonHelp.EncodeField(view.SysData结构 == null ? "" : view.SysData结构)).Append("\",");
            sb.Append("\"buildingType\":\"").Append(JsonHelp.EncodeField(view.SysData建筑类型 == null ? "" : view.SysData建筑类型)).Append("\",");
            sb.Append("\"totalPrice\":\"").Append(JsonHelp.EncodeField(view.总价 == null ? "" : Convert.ToString(view.总价))).Append("\",");
            sb.Append("\"floorNumber\":\"").Append(JsonHelp.EncodeField(view.所在楼层 == null ? "" : Convert.ToString(view.所在楼层))).Append("\",");
            sb.Append("\"totalFloor\":\"").Append(JsonHelp.EncodeField(view.总楼层 == null ? "" : Convert.ToString(view.总楼层))).Append("\",");
            sb.Append("\"houseType\":\"").Append(JsonHelp.EncodeField(view.SysData户型 == null ? "" : view.SysData户型)).Append("\",");
            sb.Append("\"front\":\"").Append(JsonHelp.EncodeField(view.SysData朝向 == null ? "" : view.SysData朝向)).Append("\",");
            sb.Append("\"fitment\":\"").Append(JsonHelp.EncodeField(view.SysData装修 == null ? "" : view.SysData装修)).Append("\",");
            sb.Append("\"buildingDate\":\"").Append(JsonHelp.EncodeField(view.建筑年代 == null ? "" : view.建筑年代)).Append("\",");
            sb.Append("\"title\":\"").Append(JsonHelp.EncodeField(view.信息 == null ? "" : view.信息)).Append("\",");
            sb.Append("\"phone\":\"").Append(JsonHelp.EncodeField(view.电话 == null ? "" : view.电话)).Append("\",");
            sb.Append("\"url\":\"").Append(JsonHelp.EncodeField(view.URL == null ? "" : view.URL)).Append("\",");
            sb.Append("\"moneyUnit\":\"").Append(JsonHelp.EncodeField(view.SysData币种 == null ? "" : view.SysData币种)).Append("\",");
            sb.Append("\"address\":\"").Append(JsonHelp.EncodeField(view.地址 == null ? "" : view.地址)).Append("\",");
            sb.Append("\"createDate\":\"").Append(JsonHelp.EncodeField(view.创建时间 == null ? "" : view.创建时间.ToString())).Append("\",");
            sb.Append("\"xingshi\":\"").Append(JsonHelp.EncodeField(view.建筑形式 == null ? "" : view.建筑形式)).Append("\",");
            sb.Append("\"huayuan\":\"").Append(JsonHelp.EncodeField(view.花园面积 == null ? "" : Convert.ToString(view.花园面积))).Append("\",");
            sb.Append("\"tingjiegou\":\"").Append(JsonHelp.EncodeField(view.厅结构 == null ? "" : view.厅结构)).Append("\",");
            sb.Append("\"chewei\":\"").Append(JsonHelp.EncodeField(view.车位数量 == null ? "" : Convert.ToString(view.车位数量))).Append("\",");
            sb.Append("\"peitao\":\"").Append(JsonHelp.EncodeField(view.配套设施 == null ? "" : view.配套设施)).Append("\",");
            sb.Append("\"dixiashi\":\"").Append(JsonHelp.EncodeField(view.地下室面积 == null ? "" : Convert.ToString(view.地下室面积))).Append("\",");
            sb.Append("\"city\":\"").Append(JsonHelp.EncodeField(view.城市 == null ? "" : view.城市)).Append("\",");
            sb.Append("\"web\":\"").Append(JsonHelp.EncodeField(view.网站 == null ? "" : view.网站)).Append("\",");
            sb.Append("\"count\":\"").Append(JsonHelp.EncodeField(view.动态排序字段 == null ? "" : view.动态排序字段.ToString())).Append("\",");
            sb.Append("\"fxtId\":\"").Append(view.fxtId == null ? "" : view.fxtId.ToString()).Append("\"");
            sb.Append("}");
            return(sb.ToString());
        }