示例#1
0
        public void UploadPolicy(SearchPolicyRequest request, List <string> lstQunarCodes)
        {
            UploadPolicyResponse rep = new UploadPolicyResponse();


            switch (request.pType)
            {
            case PolicyService.Enums.PurchaserType.Qunar:
            {
                IUploadPolicy uplload = new QunarUpLoadPolicy();
                uplload.OnWoking += uplload_OnWoking;
                QunarUploadPolicyRequest qunarRequest = new QunarUploadPolicyRequest()
                {
                    FormatFilePath    = ConfigurationManager.AppSettings["FormatQunarFilePath"].ToString(),     //xml文件路径
                    FormatZipFilePath = ConfigurationManager.AppSettings["FormatQunarZipFilePath"].ToString(),  //压缩包文件路径
                    //IsPrintSql = Convert.ToBoolean(ConfigurationManager.AppSettings["IsPrintSql"].ToString()),
                    MaxTaskCount = int.Parse(ConfigurationManager.AppSettings["MaxTaskCount"].ToString()),
                    PerTaskCount = int.Parse(ConfigurationManager.AppSettings["PerTaskCount"].ToString()),
                    //PageSize = request.PageSize <= 0 ? 50 : request.PageSize,
                    PolicyType = request.PolicyType,
                    SqlWhere   = request.SqlWhere,
                    UploadType = request.UType,
                    //QunarUpLoadUrl = ConfigurationManager.AppSettings["QunarUpLoadUrl"].ToString(),
                    CommisionMoney      = request.CommisionMoney == null ? 0 : request.CommisionMoney,
                    CommsionPoint       = request.CommsionPoint == null ? 0 : request.CommsionPoint,
                    OperName            = request.OperName,
                    LstQunarCodes       = lstQunarCodes,
                    PageSize            = request.PageSize,
                    DefaultUploadConfig = CoreHelper.LoadQunarUploadConfig()
                };
                if (request.UType == UploadType.Incremental)
                {
                    rep = uplload.UpLoadIncrementPolicy(qunarRequest);
                }
                else if (request.UType == UploadType.FullUpload)
                {
                    rep = uplload.UploadFullPolicy(qunarRequest);
                }
            }
            break;

            case PolicyService.Enums.PurchaserType.TaoBao:
                MessageBox.Show("暂未开通淘宝上传接口");
                return;

                break;

            default:
                MessageBox.Show("未知的上传平台");
                return;

                break;
            }
            MessageBox.Show("操作成功!");
        }
示例#2
0
        private void btnUpload_Click_1(object sender, EventArgs e)
        {
            SearchPolicyRequest request = FillSearchPolicyRequest();

            if (request == null)
            {
                return;
            }
            this.lstBoxLog.Items.Clear();
            request.IsUpload = true;
            if (MessageBox.Show("确定要上传吗?请认真核对!", "上传提示", MessageBoxButtons.OKCancel) == System.Windows.Forms.DialogResult.OK)
            {
                // EmptyResponse rep = ClientFactory<IUpload>.CreateService().Upload(request);

                //string searchContent = CoreHelper.DoPost(System.Configuration.ConfigurationManager.AppSettings["SearchPolicyUrl"].ToString(), request);
                //SearchPolicyResponse rep = JsonConvert.DeserializeObject<SearchPolicyResponse>(searchContent);//先查询一遍,获取要上传的政策
                //if (rep.lstPolicies.Count <= 0)
                //{
                //    this.lbTotalCount.Text = "总条数:";
                //    dataGridView1.DataBindings.Clear();
                //    MessageBox.Show("未找到符合条件的政策!");
                //    return;
                //}
                List <string> lstQunarCodes = new List <string>();
                foreach (var item in this.lbQunarCodes.Items)
                {
                    lstQunarCodes.Add(item.ToString().Replace("\r\n", ""));
                }
                Task.Factory.StartNew(() =>
                {
                    UploadPolicy(request, lstQunarCodes);
                });



                //UploadResponse rep = JsonConvert.DeserializeObject<UploadResponse>(responseContent);
                //if (rep.ErrCode == ResultType.Failed)
                //{
                //    MessageBox.Show("上传失败:错误消息:" + rep.ErrMsg + "\r\n异常:" + rep.Excption);
                //    return;
                //}


                // MessageBox.Show("已提交上传请求,请稍后政策上传记录去查看上传状态!");
                //this.lbUploadStatusId.Tag = rep.UploadStatusId;
                //.lbUploadStatusId.Text = "点击查看上传状态!";
            }
        }
示例#3
0
        public ND.PolicyUploadService.DtoModel.SearchPolicyResponse SearchPolicy(SearchPolicyRequest request)
        {
            SearchPolicyResponse rep       = new SearchPolicyResponse();
            PolicySyncRecLib     syncLib   = new PolicySyncRecLib();
            UpLoadRecordLib      recLib    = new UpLoadRecordLib();
            PolicyRecord         policyRec = new PolicyRecord();
            //if (!request.IsUpload)//如果只是查询走初始值
            //{
            //   policyRec = new PolicyRecord
            //    {
            //        LastPolicyId = 0,
            //        LastUpdateTime =Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 0:00:00")
            //    };
            //}
            //else//上传的话读取最新一次更新的记录
            //{

            //   // if(!request.IsRealTimeUpload)//是否实时更新到去哪儿,不是
            //   // {

            //        policyRec = recLib.GetLastUploadRecored(request.pType, request.UType);//查询最新一次更新的记录
            //    //}
            //    //else//是,实时更新到去哪儿
            //    //{
            //    //    IRealTimeUpload realTimeUpload = new DefaultRealTimeUpload();
            //    //    SearchRealTimeUploadResponse realTimeRep= realTimeUpload.SearchRealTimeUploadRecord(new DtoModel.RealTimeUpload.SearchRealTimeUploadRequest() { LockPerson=request.OperName,Purchaser =request.pType});
            //    //    if(realTimeRep.ErrCode == PolicyService.Enums.ResultType.Failed)
            //    //    {
            //    //        return new SearchPolicyResponse { lstPolicies = new List<Policies>(), LastPolicyRecord = new PolicyRecord(), TotalCount = 0 };
            //    //    }
            //    //    policyRec = realTimeRep.PolicyRec;
            //    //}


            //}

            string          selectSql      = "";
            int             totalCount     = 0;
            int             pageSize       = request.PageSize <= 0 ? 100:request.PageSize;
            List <Policies> lstAddPolicies = syncLib.LoadPolicy(policyRec, request.CommisionMoney, request.CommsionPoint, pageSize, request.SqlWhere, ref selectSql, ref totalCount, request.UType, request.IsSearchTotalCount, request.IsUpload);//获取要上传的政策

            rep.lstPolicies      = lstAddPolicies;
            rep.TotalCount       = totalCount;
            rep.LastPolicyRecord = policyRec;
            return(rep);
        }
示例#4
0
        private void btnSearch_Click_1(object sender, EventArgs e)
        {
            this.lbTotalCount.Text = "总条数:";
            dataGridView1.DataBindings.Clear();
            SearchPolicyRequest request = FillSearchPolicyRequest();

            if (request == null)
            {
                return;
            }
            request.IsUpload           = false;
            request.IsSearchTotalCount = true;

            Task.Factory.StartNew(() =>
            {
                //  SearchPolicyResponse rep= ClientFactory<ISearchPolicy>.CreateService().SearchPolicy(request);
                string responseContent = CoreHelper.DoPost(System.Configuration.ConfigurationManager.AppSettings["SearchPolicyUrl"].ToString(), request);
                if (string.IsNullOrEmpty(responseContent))
                {
                    // MessageBox.Show("未找到符合条件的政策!");
                    return;
                }
                SearchPolicyResponse rep = JsonConvert.DeserializeObject <SearchPolicyResponse>(responseContent);
                if (rep.lstPolicies.Count <= 0)
                {
                    this.lbTotalCount.Text = "总条数:";

                    // dataGridView1.Rows.Clear();
                    ClearDataGirdViewRecord();
                    MessageBox.Show("未找到符合条件的政策!");
                    return;
                }


                DataTable dt = ListToDataTable(rep.lstPolicies);
                //this.Invoke(showPolicy, dt, rep.lstPolicies.Count);
                ShowPolicyData(dt, rep.TotalCount);
            });
        }
        public override void Invoke(IHandlerContext context)
        {
            try
            {
                OnMiddlewareWorking(new EventMsg {
                    Status = RunStatus.Normal, Msg = "开始获取去哪儿增量更新包..."
                });
                QunarUploadPolicyRequest qunarIncrementRequest = CoreHelper.ChangeToChild <UpLoadPolicyRequest, QunarUploadPolicyRequest>(context.Request);


                #region 查询增量政策
                SearchPolicyRequest request = new SearchPolicyRequest()
                {
                    CommisionMoney     = qunarIncrementRequest.CommisionMoney,
                    CommsionPoint      = qunarIncrementRequest.CommsionPoint,
                    IsUpload           = true,
                    OperName           = qunarIncrementRequest.OperName,
                    PageSize           = qunarIncrementRequest.PageSize,
                    PolicyType         = qunarIncrementRequest.PolicyType,
                    pType              = PurchaserType.Qunar,
                    SqlWhere           = qunarIncrementRequest.SqlWhere,
                    UType              = qunarIncrementRequest.UploadType,
                    IsSearchTotalCount = false,
                };
                #region 如果是实时上传则根据上传过的去哪儿记录过滤要上传的记录
                //if (qunarIncrementRequest.IsRealTimeUpload)
                //{
                //   // OnMiddlewareWorking(new EventMsg { Status = RunStatus.Normal, Msg = "开始获取实时更新时间..." });
                //    request.IsRealTimeUpload = true;//是否实时更新


                //    //SearchRealTimeUploadResponse realTimeRep = JsonConvert.DeserializeObject<SearchRealTimeUploadResponse>(CoreHelper.DoPost(System.Configuration.ConfigurationManager.AppSettings["SearchRealTimeUploadUrl"].ToString(), request));//获取实时上传的记录
                //    //if(realTimeRep.ErrCode == ResultType.Failed)
                //    //{
                //    //    return;
                //    //}
                //    //request.RealTimePolicyRec = realTimeRep.PolicyRec;
                //    //OnMiddlewareWorking(new EventMsg { Status = RunStatus.Normal, Msg = "获取到实时更新时间:" + realTimeRep.PolicyRec.LastUpdateTime.ToString("yyyy-MM-dd HH:mm:ss.fff") });
                //}
                #endregion
                string searchContent           = CoreHelper.DoPost(System.Configuration.ConfigurationManager.AppSettings["SearchPolicyUrl"].ToString(), request);
                string selectSql               = "";
                int    totalCount              = 0;
                SearchPolicyResponse rep       = JsonConvert.DeserializeObject <SearchPolicyResponse>(searchContent);//先查询一遍,获取要上传的政策
                PolicyRecord         policyRec = rep.LastPolicyRecord;
                context.UploadResponse.BeforePolicyRecord = policyRec;
                if (rep.lstPolicies.Count <= 0)
                {
                    OnMiddlewareWorking(new EventMsg {
                        Status = RunStatus.Normal, Msg = "暂时没有收到增量更新包"
                    });
                    return;
                }
                #endregion

                OnMiddlewareWorking(new EventMsg {
                    Status = RunStatus.Normal, Msg = "收到增量更新包:" + rep.lstPolicies.Count + "条,开始过滤..."
                });
                List <Policies> lstPoliciesOrgin = rep.lstPolicies;
                #region 如果是实时上传则根据上传过的去哪儿记录过滤要上传的记录
                //if (qunarIncrementRequest.IsRealTimeUpload)
                //{
                //    OnMiddlewareWorking(new EventMsg { Status = RunStatus.Normal, Msg = "获取上次更新时间:" + rep.LastPolicyRecord.LastUpdateTime.ToString("yyyy-MM-dd HH:mm:ss.fff") });
                //    //更新到的政策里面去筛选出已经上传的政策Id
                //  CompleteUploadPolicyResponse completePolicyRep = JsonConvert.DeserializeObject<CompleteUploadPolicyResponse>(CoreHelper.DoPost(System.Configuration.ConfigurationManager.AppSettings["SearchCompleteUploadUrl"].ToString(), request));
                //    //把没有上传的政策删除掉
                //  if (completePolicyRep.ErrCode == ResultType.Failed || completePolicyRep.CompleteUploadPolicyCollection.Count <= 0)
                //  {
                //      OnMiddlewareWorking(new EventMsg { Status = RunStatus.Normal, Msg = "该更新包不在上传去哪儿的上传列表中,不用更新" });
                //      return;
                //  }
                //  lstPoliciesOrgin = CoreHelper.ReserveHaveUploadPolicy(lstPoliciesOrgin, completePolicyRep.CompleteUploadPolicyCollection);
                //    if(lstPoliciesOrgin.Count <= 0)
                //    {
                //        OnMiddlewareWorking(new EventMsg { Status = RunStatus.Normal, Msg = "该更新包不在上传去哪儿的上传列表中,不用更新" });
                //        return;
                //    }
                //}
                #endregion
                selectSql = context.Request.IsPrintSql ? "\r\n去哪儿获取增量数据sql:" + selectSql + "\r\n" : "";

                if (lstPoliciesOrgin.Count <= 0)
                {
                    OnMiddlewareWorking(new EventMsg {
                        Status = RunStatus.Normal, Msg = selectSql + "暂时没有增量政策更新包!"
                    });
                    return;
                }
                qunarIncrementRequest.PolicyDataOrgin     = lstPoliciesOrgin;
                context.UploadResponse.BeforePolicyRecord = rep.LastPolicyRecord;
                context.SetRequest(qunarIncrementRequest);
                Next.Invoke(context);
                #region 旧代码
                //#region 过滤政策
                //bool isHaveAll = false;
                //List<Policies> lstFiltedPolicy = CoreHelper.FilterPolicy(qunarIncrementRequest.LstQunarCodes, lstPoliciesOrgin, ref isHaveAll);
                //if (lstFiltedPolicy.Count <= 0)
                //{
                //    OnMiddlewareWorking(new EventMsg { Status = RunStatus.Normal, Msg = "经过去哪儿三子码过滤后未筛选到要上传的政策" });
                //    return;
                //}
                //#endregion

                //OnMiddlewareWorking(new EventMsg { Status = RunStatus.Normal, Msg = "过滤完成,政策数量:" + lstFiltedPolicy.Count + "条,开始拆分..." });

                //#region 拆分政策
                //List<Policies> lstIncrementalPolicies = CoreHelper.SplitPolicy(request.pType, lstFiltedPolicy, qunarIncrementRequest.LstQunarCodes);
                //qunarIncrementRequest.UploadCount = lstIncrementalPolicies.Count;

                //selectSql = context.Request.IsPrintSql ? "\r\n去哪儿获取增量数据sql:" + selectSql + "\r\n" : "";

                //if (lstIncrementalPolicies.Count <= 0)
                //{
                //    OnMiddlewareWorking(new EventMsg { Status = RunStatus.Normal, Msg = selectSql + "暂时没有增量政策更新包!" });
                //    return;
                //}
                //#endregion



                //OnMiddlewareWorking(new EventMsg { Status = RunStatus.Normal, Msg = selectSql + "收到拆分政策" + lstIncrementalPolicies.Count.ToString() + "条增量政策更新包!开始上传..." });
                //Policies policy = lstIncrementalPolicies.LastOrDefault();
                //PolicyRecord lastPolicyRec = new PolicyRecord() { LastPolicyId = 0, LastUpdateTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")) };
                //context.UploadResponse.PolicyRec[UploadType.Incremental] = lastPolicyRec;//保存上次更新记录

                //#region 判断是否分批并交由下个中间件处理
                //int upLoadCount = System.Configuration.ConfigurationManager.AppSettings["MaxUploadCount"] == null ? 1000 : int.Parse(System.Configuration.ConfigurationManager.AppSettings["MaxUploadCount"].ToString());
                //if (lstIncrementalPolicies.Count < upLoadCount)//小于10000,自动上传
                //{
                //    OnMiddlewareWorking(new EventMsg { Status = RunStatus.Normal, Msg = "当前增量政策为" + lstIncrementalPolicies.Count + "条,小于最高限制条数:" + upLoadCount + "条,不用分批上传" });
                //    List<Policies> lstAddPolicies = lstIncrementalPolicies.Where(x => x.DelDegree == 1).ToList();
                //    List<Policies> lstDelPolicies = lstIncrementalPolicies.Where(x => x.DelDegree == 0).ToList();
                //    qunarIncrementRequest.PolicyData.Add(UploadTypeDetail.IncrementalAdd, lstAddPolicies);
                //    qunarIncrementRequest.PolicyData.Add(UploadTypeDetail.IncrementalDelete, lstDelPolicies);
                //    context.SetRequest(qunarIncrementRequest);
                //    Next.Invoke(context);

                //}
                //else
                //{
                //    OnMiddlewareWorking(new EventMsg { Status = RunStatus.Normal, Msg = "当前增量政策为" + lstIncrementalPolicies.Count + "条,大于最高限制条数:" + upLoadCount + "条,开始分批上传.." });
                //    int index = 1;
                //    while (lstIncrementalPolicies.Count > 0)
                //    {
                //        List<Policies> lstPolicies = new List<Policies>();
                //        lstPolicies = lstIncrementalPolicies.Take(upLoadCount).ToList();//取一万条先上传
                //        qunarIncrementRequest.UploadCount = lstPolicies.Count;
                //        if (lstPolicies.Count > 0)
                //        {
                //            lstIncrementalPolicies.RemoveRange(0, lstPolicies.Count);
                //        }
                //        OnMiddlewareWorking(new EventMsg { Status = RunStatus.Normal, Msg = "收到增量政策数量:" + lstPolicies.Count + "条,开始第" + index + "次分批上传" });
                //        List<Policies> lstAddPolicies = lstIncrementalPolicies.Where(x => x.DelDegree == 1).ToList();
                //        List<Policies> lstDelPolicies = lstIncrementalPolicies.Where(x => x.DelDegree == 0).ToList();
                //        PolicyRecord rec = new PolicyRecord() { LastPolicyId = lstPolicies.LastOrDefault().Id, LastUpdateTime = lstPolicies.LastOrDefault().UpdateTime };
                //        context.UploadResponse.BeforePolicyRecord = rec;//每次都保留上回更新的记录
                //        qunarIncrementRequest.PolicyData.Remove(UploadTypeDetail.IncrementalAdd);//先移除后添加,防止key冲突
                //        qunarIncrementRequest.PolicyData.Remove(UploadTypeDetail.IncrementalDelete);
                //        qunarIncrementRequest.PolicyData.Add(UploadTypeDetail.IncrementalAdd, lstAddPolicies);
                //        qunarIncrementRequest.PolicyData.Add(UploadTypeDetail.IncrementalDelete, lstDelPolicies);
                //        context.SetRequest(qunarIncrementRequest);
                //        Next.Invoke(context);
                //        index++;
                //    }
                //}
                //#endregion
                #endregion
            }
            catch (Exception ex)
            {
                OnMiddlewareWorking(new EventMsg()
                {
                    Status = ND.PolicyService.Enums.RunStatus.Exception, Msg = "QunarLoadIncrementalPolicyMiddleware:" + ex.Message, Exception = ex, PurchaserType = ND.PolicyService.Enums.PurchaserType.Qunar
                });
                context.UploadResponse = new UploadPolicyResponse()
                {
                    ErrCode = ND.PolicyService.Enums.ResultType.Failed, ErrMsg = ex.Message, Excption = ex
                };
                return;
            }
        }
示例#6
0
        public SearchPolicyRequest FillSearchPolicyRequest()
        {
            try
            {
                StringBuilder sqlWhere = new StringBuilder();
                sqlWhere.Append(" 1=1 ");
                if (this.txtDptCode.Text.Length > 0)
                {
                    sqlWhere.Append(" and  pd.DptCity like '%" + this.txtDptCode.Text + "%'  ");//DptCity = " + this.txtDptCode.Text
                }
                if (this.txtArrCode.Text.Length > 0)
                {
                    sqlWhere.Append(" and pd.ArrCity like '%" + this.txtArrCode.Text + "%'");
                }
                if (this.txtSeatCode.Text.Length > 0)
                {
                    sqlWhere.Append(" and pd.Seat like '%" + this.txtSeatCode.Text + "%'");
                }
                if (this.txtCommsionPointMin.Text.Length > 0)
                {
                    sqlWhere.Append(" and pd.CommisionPoint >= " + this.txtCommsionPointMin.Text);
                }
                if (this.txtCommsionPointMax.Text.Length > 0)
                {
                    sqlWhere.Append(" and pd.CommisionPoint <= " + this.txtCommsionPointMax.Text);
                }
                if (this.txtMoneyMin.Text.Length > 0)
                {
                    sqlWhere.Append(" and pd.CommisionMoney >= " + this.txtMoneyMin.Text);
                }
                if (this.txtMoneyMax.Text.Length > 0)
                {
                    sqlWhere.Append(" and pd.CommisionMoney <= " + this.txtMoneyMax.Text);
                }
                if (this.txtPolicyId.Text.Length > 0)
                {
                    sqlWhere.Append(" and ps.Id = " + this.txtPolicyId.Text);
                }
                if (!this.cmbAirCode.SelectedItem.ToString().Contains("全部"))
                {
                    //if (this.cmbAirCode.SelectedItem.ToString().ToUpper() == "G5")
                    //{
                    //    sqlWhere.Append("id IN(SELECT TOP 1 id from dbo.PolicyDetail WHERE CommisionPoint=( SELECT MAX(CommisionPoint) FROM dbo.PolicyDetail WHERE AirlineCode='G5' )UNIONSELECT TOP 1 id FROM dbo.PolicyDetail where Seat =(SELECT TOP 1 Seat FROM dbo.PolicyDetail  WHERE AirlineCode='G5' GROUP BY Seat ORDER BY MAX(LEN(Seat)) desc))");
                    //}
                    //else
                    //{
                    sqlWhere.Append(" and pd.AirlineCode = '" + this.cmbAirCode.SelectedItem.ToString() + "'");
                    //}
                }
                UploadType uType = new UploadType();
                switch (cmbUploadType.SelectedItem.ToString())
                {
                case "全量上传":
                    uType = UploadType.FullUpload;
                    break;

                case "增量上传":
                    uType = UploadType.Incremental;
                    break;

                default:
                    uType = UploadType.FullUpload;
                    break;
                }
                PurchaserType pType = new PurchaserType();
                switch (cmbPlatform.SelectedItem.ToString())
                {
                case "淘宝":
                    pType = PurchaserType.TaoBao;
                    break;

                case "去哪儿":
                    pType = PurchaserType.Qunar;
                    break;

                default:
                    pType = PurchaserType.Qunar;
                    break;
                }
                int pageSize = 100;
                if (this.txtPageSize.Text.Length > 0)
                {
                    pageSize = int.Parse(this.txtPageSize.Text);
                }
                decimal addCommsionPoint = 0;
                if (this.txtAddCommsionPoint.Text.Length > 0)
                {
                    addCommsionPoint = decimal.Parse(this.txtAddCommsionPoint.Text);
                }
                decimal addMoney = 0;
                if (this.txtAddMoney.Text.Length > 0)
                {
                    addMoney = decimal.Parse(this.txtAddMoney.Text);
                }
                QunarPolicyType policyType = new QunarPolicyType();
                switch (cmbPolicyType.SelectedItem.ToString())
                {
                case "单程普通政策":
                    policyType = QunarPolicyType.COMMON;
                    break;

                case "单程预付政策":
                    policyType = QunarPolicyType.PREPAY;
                    break;

                default:
                    break;
                }
                if (this.txtUploadName.Text.Length <= 0)
                {
                    MessageBox.Show("上传和查询人员姓名不能为空!");
                    return(null);
                }
                SearchPolicyRequest request = new SearchPolicyRequest()
                {
                    PageSize       = pageSize,
                    SqlWhere       = sqlWhere.ToString(),
                    UType          = uType,
                    pType          = pType,
                    CommisionMoney = addMoney,
                    CommsionPoint  = addCommsionPoint,
                    PolicyType     = policyType,
                    OperName       = this.txtUploadName.Text
                };

                return(request);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return(null);
            }
        }
示例#7
0
        public IActionResult Find([FromBody] SearchPolicyRequest searchPolicyRequest)
        {
            var result = policyService.SearchPolicies(searchPolicyRequest);

            return(Ok(result));
        }
        public override void Invoke(IHandlerContext context)
        {
            try
            {
                QunarUploadPolicyRequest qunarRequest = CoreHelper.ChangeToChild <UpLoadPolicyRequest, QunarUploadPolicyRequest>(context.Request);

                OnMiddlewareWorking(new EventMsg {
                    Status = RunStatus.Normal, Msg = "开始获取去哪儿全量更新包..."
                });
                //PolicySyncRecLib syncLib = new PolicySyncRecLib();
                //PolicyRecord policyRec = CoreHelper.GetLastUpTimeAndId("Qunar\\QunarFullPolicyRecLog");//去哪儿全量选择日志
                #region 查询政策
                SearchPolicyRequest request = new SearchPolicyRequest()
                {
                    CommisionMoney     = qunarRequest.CommisionMoney,
                    CommsionPoint      = qunarRequest.CommsionPoint,
                    IsUpload           = true,
                    OperName           = qunarRequest.OperName,
                    PageSize           = qunarRequest.PageSize,
                    PolicyType         = qunarRequest.PolicyType,
                    pType              = PurchaserType.Qunar,
                    SqlWhere           = qunarRequest.SqlWhere,
                    UType              = qunarRequest.UploadType,
                    IsSearchTotalCount = false
                };
                string searchContent           = CoreHelper.DoPost(System.Configuration.ConfigurationManager.AppSettings["SearchPolicyUrl"].ToString(), request);
                SearchPolicyResponse rep       = JsonConvert.DeserializeObject <SearchPolicyResponse>(searchContent);//先查询一遍,获取要上传的政策
                PolicyRecord         policyRec = rep.LastPolicyRecord;
                context.UploadResponse.BeforePolicyRecord = policyRec;
                OnMiddlewareWorking(new EventMsg {
                    Status = RunStatus.Normal, Msg = "载入上次更新记录,更新时间:" + policyRec.LastUpdateTime.ToString("yyyy-MM-dd HH:mm:ss.fff") + ",上次最后一条更新id:" + policyRec.LastPolicyId.ToString() + ",收到全量政策包:" + rep.lstPolicies.Count + "条"
                });
                qunarRequest.PolicyDataOrgin = rep.lstPolicies;
                context.SetRequest(qunarRequest);
                Next.Invoke(context);
                #endregion
                #region 注释
                //bool isHaveAll = false;
                ////过滤政策
                //#region 过滤政策
                //int count = rep.lstPolicies == null ? 0 : rep.lstPolicies.Count;
                //OnMiddlewareWorking(new EventMsg { Status = RunStatus.Normal, Msg = "查询到政策数量:" + count + " 条,开始过滤..." });
                //List<Policies> lstFiltedPolicy = CoreHelper.FilterPolicy(qunarRequest.LstQunarCodes, rep.lstPolicies, ref isHaveAll);
                //if (lstFiltedPolicy.Count <= 0)
                //{
                //    OnMiddlewareWorking(new EventMsg { Status = RunStatus.Normal, Msg = "经过去哪儿三子码过滤后未筛选到要上传的政策" });
                //    return;
                //}
                ////if (isHaveAll)
                ////{
                ////  return;
                ////DialogResult dr = MessageBox.Show("当前上传的政策有全国对全国的政策,是否继续上传", "提示", MessageBoxButtons.OKCancel);
                ////if (dr == DialogResult.Cancel)
                ////{
                ////    return;
                ////}
                ////}
                //#endregion
                //List<Policies> lstAddPolicies = CoreHelper.SplitPolicy(request.pType, lstFiltedPolicy, qunarRequest.LstQunarCodes);//拆分政策
                //qunarRequest.UploadCount = lstAddPolicies.Count;
                //context.UploadResponse.BeforePolicyRecord = policyRec;
                //// List<Policies> lstAddPolicies = syncLib.LoadPolicy(context.Request.PageSize, policyRec, context.Request.SqlWhere, PurchaserType.Qunar, ref selectSql,ref totalCount, UploadType.FullUpload, context.Request.CommisionMoney, context.Request.CommsionPoint);//获取要上传的政策
                //// List<Policies> lstAddPolicies = syncLib.LoadPolicy(policyRec, context.Request.CommisionMoney, context.Request.CommsionPoint, context.Request.PageSize, context.Request.SqlWhere, ref selectSql, ref totalCount, UploadType.FullUpload);//获取要上传的政策


                ////if(!context.Request.IsPrintSql)
                ////{
                ////    selectSql = "";
                ////}
                ////selectSql = context.Request.IsPrintSql ? "\r\n筛选sql为:\r\n" + selectSql+"\r\n" : "";
                //if (lstAddPolicies.Count <= 0)
                //{
                //    OnMiddlewareWorking(new EventMsg { Status = RunStatus.Normal, Msg = "未筛选到要上传的政策,或者筛选的政策已经上传!" });
                //    context.UploadResponse = new UploadPolicyResponse() { ErrCode = ResultType.Failed, ErrMsg = "未筛选到要上传的政策,或者筛选的政策已经上传!" };
                //    return;
                //}
                #endregion
            }
            catch (Exception ex)
            {
                OnMiddlewareWorking(new EventMsg()
                {
                    Status = ND.PolicyService.Enums.RunStatus.Exception, Msg = "QunarLoadFullPolicyMiddleware:" + ex.Message, Exception = ex, PurchaserType = ND.PolicyService.Enums.PurchaserType.Qunar
                });
                context.UploadResponse = new UploadPolicyResponse()
                {
                    ErrCode = ND.PolicyService.Enums.ResultType.Failed, ErrMsg = ex.Message, Excption = ex
                };
                return;
            }
        }