|
|
|
@@ -119,7 +119,7 @@ public class WxPayBillServiceImpl implements WxPayBillService { |
|
|
|
record.setPayBillNo(payBillNo); |
|
|
|
record.setPayAmount((Integer) bill.get("owe")); |
|
|
|
record.setPayVendor(EnumPayWay.PAY_WAY_WEAPP.getCode()); |
|
|
|
record.setPayBillStatus(EnumPayStatus.PAY_WAY_WAIT.getCode()); |
|
|
|
record.setPayBillStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); |
|
|
|
record.setShare(isShare.getCode()); |
|
|
|
|
|
|
|
int sqlRow = wxPayBillMapper.insertSelective(record); |
|
|
|
@@ -133,7 +133,7 @@ public class WxPayBillServiceImpl implements WxPayBillService { |
|
|
|
record = list.get(0); |
|
|
|
record.setShare(isShare.getCode()); |
|
|
|
//更新订单状态为支付中 |
|
|
|
record.setPayBillStatus(EnumPayStatus.PAY_WAY_WAIT.getCode()); |
|
|
|
record.setPayBillStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); |
|
|
|
record.setUpdateTime(currentDate); |
|
|
|
int sqlRow = wxPayBillMapper.updateByPrimaryKeySelective(record); |
|
|
|
if (sqlRow != 1) { |
|
|
|
@@ -348,13 +348,13 @@ public class WxPayBillServiceImpl implements WxPayBillService { |
|
|
|
//USERPAYING--用户支付中 |
|
|
|
//PAYERROR--支付失败(其他原因,如银行返回失败) |
|
|
|
if ("SUCCESS".equals(trade_state)) { |
|
|
|
record.setPayBillStatus(EnumPayStatus.PAY_WAY_SUCCESS.getCode()); |
|
|
|
record.setPayBillStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); |
|
|
|
handlePayBillStatusUpdate(record); |
|
|
|
} else if ("USERPAYING".equals(trade_state)) { |
|
|
|
record.setPayBillStatus(EnumPayStatus.PAY_WAY_WAIT.getCode()); |
|
|
|
record.setPayBillStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); |
|
|
|
handlePayBillStatusUpdate(record); |
|
|
|
} else { |
|
|
|
record.setPayBillStatus(EnumPayStatus.PAY_WAY_FAIL.getCode()); |
|
|
|
record.setPayBillStatus(EnumPayStatus.PAY_STATUS_FAIL.getCode()); |
|
|
|
handlePayBillStatusUpdate(record); |
|
|
|
} |
|
|
|
return new ResultData(Result.SUCCESS, "订单查询成功", returnMap); |
|
|
|
@@ -439,7 +439,7 @@ public class WxPayBillServiceImpl implements WxPayBillService { |
|
|
|
String result_code = returnMap.get("result_code"); |
|
|
|
if ("SUCCESS".equals(result_code)) { |
|
|
|
try { |
|
|
|
record.setPayBillStatus(EnumPayStatus.PAY_WAY_CANCEL.getCode()); |
|
|
|
record.setPayBillStatus(EnumPayStatus.PAY_STATUS_CANCEL.getCode()); |
|
|
|
wxPayBillMapper.updateByPrimaryKeySelective(record); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("pay bill update error: " + record.toString()); |
|
|
|
@@ -620,7 +620,7 @@ public class WxPayBillServiceImpl implements WxPayBillService { |
|
|
|
Date currentDate = new Date(); |
|
|
|
EnumPayStatus payStatus = EnumPayStatus.getEnum(record.getPayBillStatus()); |
|
|
|
// 判断支付状态 |
|
|
|
if (payStatus == EnumPayStatus.PAY_WAY_SUCCESS) { |
|
|
|
if (payStatus == EnumPayStatus.PAY_STATUS_SUCCESS) { |
|
|
|
// 已经是成功状态,只更新transactionId |
|
|
|
try { |
|
|
|
record.setUpdateTime(currentDate); |
|
|
|
@@ -654,7 +654,7 @@ public class WxPayBillServiceImpl implements WxPayBillService { |
|
|
|
updateBill.setId(record.getId()); |
|
|
|
updateBill.setBillId(record.getBillId()); |
|
|
|
updateBill.setUpdateTime(currentDate); |
|
|
|
updateBill.setPayBillStatus(EnumPayStatus.PAY_WAY_SUCCESS.getCode()); |
|
|
|
updateBill.setPayBillStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); |
|
|
|
updateBill.setTransactionId(transactionId); |
|
|
|
try { |
|
|
|
wxPayBillMapper.updateByPrimaryKeySelective(updateBill); |
|
|
|
@@ -677,7 +677,7 @@ public class WxPayBillServiceImpl implements WxPayBillService { |
|
|
|
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) |
|
|
|
public void handlePayBillStatusUpdate(WxPayBill record) { |
|
|
|
// 判断支付状态 |
|
|
|
if (record.getPayBillStatus().equals(EnumPayStatus.PAY_WAY_WAIT.getCode())) { |
|
|
|
if (record.getPayBillStatus().equals(EnumPayStatus.PAY_STATUS_WAIT.getCode())) { |
|
|
|
logger.error("pay handle, payBill " + record.getPayBillNo() + |
|
|
|
"is complete, billId : " + record.getBillId()); |
|
|
|
return; |
|
|
|
@@ -714,7 +714,7 @@ public class WxPayBillServiceImpl implements WxPayBillService { |
|
|
|
throw new MallinkException(ErrorCode.PAY_ORDER_NOT_FOUND); |
|
|
|
} |
|
|
|
|
|
|
|
if (record.getPayBillStatus().equals(EnumPayStatus.PAY_WAY_FAIL.getCode())) { |
|
|
|
if (record.getPayBillStatus().equals(EnumPayStatus.PAY_STATUS_FAIL.getCode())) { |
|
|
|
// 支付订单取消 |
|
|
|
if (updateBill.getPayAmount() > 0) { |
|
|
|
payBillQ = new WxPayBill(); |
|
|
|
@@ -729,7 +729,7 @@ public class WxPayBillServiceImpl implements WxPayBillService { |
|
|
|
} |
|
|
|
} else { |
|
|
|
// 支付订单成功? |
|
|
|
if (updateBill.getPayBillStatus().equals(EnumPayStatus.PAY_WAY_SUCCESS.getCode())) { |
|
|
|
if (updateBill.getPayBillStatus().equals(EnumPayStatus.PAY_STATUS_SUCCESS.getCode())) { |
|
|
|
if (!StringUtils.isBlank(updateBill.getTransactionId())) { |
|
|
|
// 回调已设置成功 |
|
|
|
// 继续修改订单状态 |
|
|
|
@@ -737,7 +737,7 @@ public class WxPayBillServiceImpl implements WxPayBillService { |
|
|
|
// 回调异常 |
|
|
|
throw new MallinkException(ErrorCode.PAY_ORDER_ERROR.getCode(), "transactionId未获取"); |
|
|
|
} |
|
|
|
} else if (updateBill.getPayBillStatus().equals(EnumPayStatus.PAY_WAY_WAIT.getCode())) { |
|
|
|
} else if (updateBill.getPayBillStatus().equals(EnumPayStatus.PAY_STATUS_WAIT.getCode())) { |
|
|
|
// 回调未返回,主动检查支付订单状态 |
|
|
|
try { |
|
|
|
record.setPayBillNo(String.valueOf(record.getId())); |
|
|
|
|