private void ReWrite() { CPowerCardWriteAgain writeAgain = new CPowerCardWriteAgain(); _transResult = writeAgain.WritePowerCardAgain(); Log.Debug("补写卡交易返回:" + writeAgain.ReturnCode); }
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; } }
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; //} } }