Example #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("操作成功!");
        }
Example #2
0
        public void UploadPolicy(List <Policies> lstPolicies, string queueName, string queueHost)
        {
            // Task.Factory.StartNew(() =>
            //{
            List <string>             lstQunarCodes = CoreHelper.ReadQunarCodes();
            QunarUploadConfigResponse config        = CoreHelper.LoadQunarUploadConfig();
            IUploadPolicy             uplload       = new QunarUpLoadPolicy();

            uplload.OnWoking += uplload_OnWoking;
            QunarUploadPolicyRequest qunarRequest = new QunarUploadPolicyRequest()
            {
                FormatFilePath    = ConfigurationManager.AppSettings["FormatQunarFilePath"].ToString(),    //xml文件路径
                FormatZipFilePath = ConfigurationManager.AppSettings["FormatQunarZipFilePath"].ToString(), //压缩包文件路径
                MaxTaskCount      = int.Parse(ConfigurationManager.AppSettings["MaxTaskCount"].ToString()),
                PerTaskCount      = int.Parse(ConfigurationManager.AppSettings["PerTaskCount"].ToString()),
                PolicyType        = QunarPolicyType.COMMON,
                SqlWhere          = "",
                UploadType        = UploadType.Incremental,
                //QunarUpLoadUrl = ConfigurationManager.AppSettings["QunarUpLoadUrl"].ToString(),
                CommisionMoney      = 0,
                CommsionPoint       = 0,
                OperName            = "system",
                LstQunarCodes       = lstQunarCodes,
                PageSize            = 99999,
                PolicyDataOrgin     = lstPolicies,
                DefaultUploadConfig = config
            };

            UploadPolicyResponse rep = uplload.UpLoadIncrementPolicy(qunarRequest, false);

            if (rep.ErrCode == ResultType.Failed)
            {
                lstPolicies.ForEach(x =>   //统一加1
                {
                    x.Id += 1;
                });
                new MessageQueueHelper().SendMsgToQueue(queueName, lstPolicies, MessagePriority.Normal, queueHost);
                ShowRunningLog(DateTime.Now + ":上传失败,更新失败次数并重新发回队列成功!");
            }


            // });
        }
        /// <summary>
        /// 开始任务
        /// </summary>
        /// <param name="timeSpan"></param>
        /// <returns></returns>
        public EmptyResponse StartWork(object request)
        {
            QunarUploadPolicyRequest qunarRequest = CoreHelper.ChangeToChild <object, QunarUploadPolicyRequest>(request);
            var task = Task <UploadPolicyResponse> .Factory.StartNew(() => {
                IUploadPolicy upload = new QunarUpLoadPolicy();
                upload.OnWoking     += upload_OnWoking;
                return(upload.UpLoadIncrementPolicy(qunarRequest));
            }, ct.Token);

            Task.WaitAll(task);
            if (task.Result.ErrCode == PolicyService.Enums.ResultType.Failed)
            {
                return(new EmptyResponse {
                    ErrCode = PolicyService.Enums.ResultType.Failed, ErrMsg = task.Result.ErrMsg, Excption = task.Result.Excption
                });
            }
            return(new EmptyResponse {
                ErrCode = PolicyService.Enums.ResultType.Sucess, ErrMsg = ""
            });
        }