Ejemplo n.º 1
0
        public void HandleEvent(EIMSResumeReturnPointMessage eventMessage)
        {
            //是否撤销扣减积分
            bool isBack = eventMessage.IsComeBackPoint;

            EIMSMessage <IppAttachInfo> eims = new EIMSMessage <IppAttachInfo>();
            IppAttachInfo ippAttachInfo      = new IppAttachInfo();

            ippAttachInfo.InvoiceNumber = eventMessage.PM_ReturnPointSysNo;
            ippAttachInfo.IppNumber     = eventMessage.VendorSettleSysNo;

            ippAttachInfo.UseInvoiceAmount = isBack ? 0 - eventMessage.UsingReturnPoint : eventMessage.UsingReturnPoint;

            ippAttachInfo.UseTime  = DateTime.Now;
            ippAttachInfo.PostTime = DateTime.Now;

            ippAttachInfo.IppStatus = isBack ? "2" : "3";

            ippAttachInfo.IppType      = "002";
            ippAttachInfo.ExtendedInfo = eventMessage.SettleID;
            ippAttachInfo.AttacheUser  = eventMessage.AuditUserSysNo.ToString();
            eims.Body = ippAttachInfo;
            EIMSMessageHeader eimsHeader = new EIMSMessageHeader();

            eimsHeader.CompanyCode = "8601";
            eimsHeader.UserID      = eventMessage.AuditUserSysNo.ToString();
            eims.Header            = eimsHeader;

            IEIMSInterfaceService service = WCFAdapter <IEIMSInterfaceService> .GetProxy();

            EIMSMessageResult result = service.PostEIMSReceivedAmountFromIPP(eims);

            eventMessage.Error     = result.Error;
            eventMessage.IsSucceed = result.IsSucceed;
        }
        public void HandleEvent(PurchaseOrderCancelVerifyMessage eventMessage)
        {
            eventMessage.CompanyCode = eventMessage.CompanyCode.Trim();
            IPOService service = WCFAdapter <IPOService> .GetProxy();

            int result = service.MerchantHoldPORequest(eventMessage.PONumber, eventMessage.CompanyCode.Trim());

            if (result != 1)
            {
                var message = result == -1 ?
                              "Hold PO失败,请两分钟后重试,如多次重试后仍有问题,请与管理员联系。" :
                              "PO存在,但是已经开始处理,不能Hold";
                throw new ThirdPartBizException(message);
            }
        }
Ejemplo n.º 3
0
        public void HandleEvent(EIMSInvoiceInfoMessage eventMessage)
        {
            if (eventMessage.IsPage)
            {
                //分页查询返点信息
                InvoiceCriteria msg = new InvoiceCriteria();
                msg.PM             = eventMessage.PMSysNo.ToString();
                msg.VendorNumber   = eventMessage.VendorSysNo.ToString();
                msg.CompanyCode    = eventMessage.CompanyCode;
                msg.ShowLineNumber = eventMessage.PageSize;
                msg.CurrentPage    = eventMessage.PageIndex + 1;
                msg.ReceiveType    = eventMessage.ReceiveType;

                IEIMSInterfaceService service = WCFAdapter <IEIMSInterfaceService> .GetProxy();

                EIMSInvoiceResult result = service.GetEIMSInvoiceListForIPP(msg);

                eventMessage.ResultList = new List <ReturnPointMsg>();
                if (result.EIMSInvoiceList.Count > 0)
                {
                    result.EIMSInvoiceList.ForEach(a =>
                                                   eventMessage.ResultList.Add(new ReturnPointMsg()
                    {
                        SysNo              = a.InvoiceNumber,
                        ReturnPointName    = a.InvoiceName,
                        ReturnPoint        = a.OriginalAmount,
                        RemnantReturnPoint = a.CurrentAmount
                    })
                                                   );
                }
                eventMessage.TotalCount = result.Records;
            }
            else
            {
                //根据sysno查询返点信息
                IEIMSInterfaceService service = WCFAdapter <IEIMSInterfaceService> .GetProxy();

                EIMSInvoiceInfo result = service.GetEIMSInvoiceInfo(eventMessage.InvoiceNumber, eventMessage.CompanyCode);
                eventMessage.Result = new ReturnPointMsg()
                {
                    SysNo              = result.InvoiceNumber,
                    ReturnPointName    = result.InvoiceName,
                    ReturnPoint        = result.OriginalAmount,
                    RemnantReturnPoint = result.CurrentAmount
                };
            }
        }
        public void HandleEvent(EIMSInvoiceInfoForConsignMessage eventMessage)
        {
            IEIMSInterfaceService service = WCFAdapter <IEIMSInterfaceService> .GetProxy();

            EIMSInvoiceInfo result = service.GetEIMSInvoiceInfoByInvoiceNumberAndReceiveType(eventMessage.InvoiceNumber, eventMessage.CompanyCode, eventMessage.ReceiveType);

            if (result != null)
            {
                eventMessage.IsError            = false;
                eventMessage.PM                 = result.PM;
                eventMessage.RemnantReturnPoint = result.CurrentAmount;
                eventMessage.SysNo              = result.InvoiceNumber;
                eventMessage.ReturnPointName    = result.InvoiceName;
                eventMessage.VendorSysNo        = result.VendorNumber;
            }
            else
            {
                eventMessage.IsError = true;
            }
        }