private void ReWrite()
        {
            CPowerCardWriteAgain writeAgain = new CPowerCardWriteAgain();

            _transResult = writeAgain.WritePowerCardAgain();
            Log.Debug("补写卡交易返回:" + writeAgain.ReturnCode);
        }
示例#2
0
        protected override void HandleResult(Result result)
        {
            PowerEntity entity = GetBusinessEntity() as PowerEntity;

            switch (result)
            {
            case Result.Success:
            {
                ReportSync("PowerWriteCard");
                //System.Threading.Thread.Sleep(5000);
                if (!new CPowerCard().WritePowerCard(entity.PowerCardData))
                {
                    //自动调用补写卡操作
                    ReportSync("PowerWriteCardAgain");
                    //System.Threading.Thread.Sleep(5000);
                    TransResult transR = new CPowerCardWriteAgain().WritePowerCardAgain();
                    if (transR != TransResult.E_SUCC)
                    {
                        goto case Result.Fail;
                    }
                }

                if (ReceiptPrinter.ExistError())
                {
                    StartActivity("电力支付交易完成");
                }
                else
                {
                    StartActivity("电力支付交易成功是否打印");
                }
            }
            break;

            case Result.HardwareError:
            case Result.Fail:
            case Result.Cancel:
            case Result.TimeOut:
                StartActivity("电力支付写卡失败");
                break;
            }
        }
示例#3
0
        protected override void HandleResult(Result result)
        {
            int nTryConfirm = 3;
            PowerEntity entity = GetBusinessEntity() as PowerEntity;

            CPowerCard powerCard = new CPowerCard();
            if (!powerCard.ReadPowerCard(entity.PowerCardData))
            {
                StartActivity("电力支付写卡失败");//
                return;
            }
            CONFIRM:
            //缴费成功,发起确认销账
            retConfirm = TransResult.E_RECV_FAIL;
            //PostAsync(ConfirmTrans);
            ConfirmTrans();
            if (retConfirm != TransResult.E_SUCC)//如果返回失败结果,超时有重复3次
            {
                //超时无响应循环发送确认报文
                if (nTryConfirm != 0 && (retConfirm == TransResult.E_RECV_FAIL))
                {
                    nTryConfirm--;
                    goto CONFIRM;
                }

                //销账失败
                //缴费确认未成功,48小时内系统会自动处理,请耐心等待,不要重复缴费
                string temp0 = "银行卡扣款成功,但销账失败,由系统自行处理CardNo={0},凭证号={1},系统参考号={2},缴费流水号={3}";
                string temp = string.Format(temp0, CommonData.BankCardNum, entity.PayTraceNo,
                    entity.PayReferenceNo, entity.PayFlowNo);
                Log.Warn(temp);
                StartActivity("电力支付销账失败");//
            }
            else
            {
                Log.Info("用户号:" + entity.PowerCardNo + "银联商户订单号:" + entity.PowerPayConfirmCode);
                ReportSync("PowerWriteCard");
                //System.Threading.Thread.Sleep(5000);
                //if (!new CPowerCard().WritePowerCard(entity.PowerCardData))
                //{
                    //自动调用补写卡操作
                    //ReportSync("PowerWriteCardAgain");
                System.Threading.Thread.Sleep(10000);
                for (int i = 0; i < 4; i++)
                {
                    TransResult transRet = new CPowerCardWriteAgain().WritePowerCardAgain();
                    if (transRet != TransResult.E_SUCC && i==2)
                    {
                        StartActivity("电力支付写卡失败");
                        return;
                    }
                    if (transRet == TransResult.E_SUCC)
                    {
                        if (ReceiptPrinter.ExistError())
                            StartActivity("电力支付交易完成");
                        else
                            StartActivity("电力支付交易成功是否打印");
                        break;
                    }
                    System.Threading.Thread.Sleep(500);
                }
                //}
                //if (!powerCard.ReadPowerCard(entity.PowerCardData))
                //{
                //    StartActivity("电力支付写卡失败");//
                //    return;
                //}
                //写卡成功
                //for (int i = 0; i < 3; i++)
                //{
                //    //购电校验
                //    ReportSync("PowerCheckAmount");
                //    retConfirm = ConfirmBillProcess();
                //    if (retConfirm == TransResult.E_SUCC)
                //    {
                //        Log.Info("entity.CheckBuyAmount:" + double.Parse(Utility.StringToAmount(entity.CheckWriteAmount)) + " entity.PowerPayAmount:" + CommonData.Amount + " entity.CheckWriteCardAmount:" + double.Parse(Utility.StringToAmount(entity.CheckRechargeAmount)));
                //        if ((double.Parse(Utility.StringToAmount(entity.CheckWriteAmount)) == CommonData.Amount) || (double.Parse(Utility.StringToAmount(entity.CheckRechargeAmount)) == CommonData.Amount))
                //        {
                //            //校验成功
                //            if (ReceiptPrinter.ExistError())
                //                StartActivity("电力支付交易完成");
                //            else
                //                StartActivity("电力支付交易成功是否打印");
                //            break;
                //        }
                //        else
                //        {
                //            //校验失败,进行补写卡
                //            if (i < 2)
                //            {
                //                ReportSync("PowerWriteCardAgain");
                //                //System.Threading.Thread.Sleep(5000);
                //                TransResult transR = new CPowerCardWriteAgain().WritePowerCardAgain();
                //                if (transR != TransResult.E_SUCC)
                //                {
                //                    StartActivity("电力支付写卡失败");
                //                    break;
                //                }
                //                continue;
                //            }
                //            else
                //            {
                //                ShowMessageAndGotoMain("购电校验失败, 请到柜台处理");
                //                break;
                //            }
                //        }
                //    }
                //    if (retConfirm == TransResult.E_RECV_FAIL)
                //    {
                //        //交易超时,再次校验
                //        if (i < 2)
                //        {
                //            continue;
                //        }
                //        else
                //        {
                //            ShowMessageAndGotoMain("购电校验超时, 请到柜台处理");
                //            break;
                //        }
                //    }
                //    else
                //        break;
                //}
            }
            
        }