判断修改
diff --git a/src/main/java/com/supwisdom/dlpay/bus/service/impl/QrcodeConsumeServiceImpl.java b/src/main/java/com/supwisdom/dlpay/bus/service/impl/QrcodeConsumeServiceImpl.java
index 61bf880..b233471 100644
--- a/src/main/java/com/supwisdom/dlpay/bus/service/impl/QrcodeConsumeServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/bus/service/impl/QrcodeConsumeServiceImpl.java
@@ -78,8 +78,10 @@
public TThirdpartQrcodeTransdtl saveQRcodeTransdtl(String appid, String billno, String cardno, long amount, String transdate, String transtime, String qrcode, String tac, String termdesc, String shopaccno, boolean offlineflag) throws Exception {
TThirdpartQrcodeTransdtl transdtl = thirdpartQrcodeTransdtlDao.getByBillnoWithLock(billno, appid);
if (null != transdtl) {
- if (cardno.equals(transdtl.getCardno()) && amount == transdtl.getAmount() && transdate.equals(transdtl.getTransdate())
- && transtime.equals(transdtl.getTranstime()) && qrcode.equals(transdtl.getQrcode()) && tac.equals(transdtl.getTac())) {
+ if (amount == transdtl.getAmount() && transdate.equals(transdtl.getTransdate()) && transtime.equals(transdtl.getTranstime()) && qrcode.equals(transdtl.getQrcode()) &&
+ ((cardno == null && tac == null && transdtl.getCardno() == null && transdtl.getTac() == null) //联机
+ || (cardno != null && tac != null && cardno.equals(transdtl.getCardno()) && tac.equals(transdtl.getTac()))) //脱机
+ ) {
if (BusConstant.STATUS_TRANSDTL_INIT.equals(transdtl.getStatus()) && StringUtil.isEmpty(transdtl.getRefno())) {
return transdtl; //重复请求
} else {