예제 #1
0
        /// <summary>
        /// 开始FP验证
        /// </summary>
        /// <param name="jobContext">Job运行上下文</param>
        void Check()
        {
            //提取验证的订单列表
            List <SOInfo> tmpSOENtityList = m_soDA.GetFPCheckSOList(m_topCount, m_companyCode);

            //无新单时退出
            if (null == tmpSOENtityList ||
                tmpSOENtityList.Count == 0)
            {
                //jobContext.Message += "没有附合条件的订单记录" + Environment.NewLine;
                //WriteLog("没有附合条件的订单记录");
                return;
            }

            //提前取得所有支付方式的列表
            m_payTypeList = ExternalDomainBroker.GetPayTypeList(m_companyCode);

            //提前取得一个月内被物流拒收过单拒的客户编号
            m_autoRMACustomers = m_soDA.GetAutoRMASOInfoListInTime(m_companyCode);

            //提取FP检查项列表
            m_fPCheckMasterList = ExternalDomainBroker.GetFPCheckList(m_companyCode);

            //提取FP检查项列表明细项
            m_fPCheckItemList = new List <FPCheckItem>();
            m_fPCheckMasterList.ForEach(p => {
                m_fPCheckItemList.AddRange(p.FPCheckItemList);
            });

            //提前取得是否进行可疑订单检测是标识符
            m_isCheckKeYi = GetFPCheckKeYiFlag();

            //提前取得是否进行串单检测标识符
            m_isCheckChuanHuo = GetFPCheckChuanHuoFlag();

            //提前取得是否进行炒货订单检测标识符
            m_isCheckChaoHuo = GetFPCheckChaoHuoFlag();

            //提前获取是否进行重复订单检测标识符
            m_isCheckChongFu = GetCheckChongFuFlag();

            foreach (var x in tmpSOENtityList)
            {
                CheckSingle(x);
            }
        }