体检预约新增退费原因记录

debug
王绍全 2 days ago
parent 3b61627b61
commit 06d53b2204
  1. 2
      src/main/java/com/ynxbd/common/action/pay/PayAction.java
  2. 9
      src/main/java/com/ynxbd/common/dao/peis/PEISDao.java
  3. 11
      src/main/java/com/ynxbd/common/service/PEISService.java

@ -925,7 +925,7 @@ public class PayAction extends BaseAction {
PEISService peisService = new PEISService();
String refundDesc = "取消预约 体检订单号:" + noticeOrderNo;
Result result = peisService.refundPEIS(merchantEnum, noticeOrderNo, outTradeNo, totalFee, refundDesc, new Date(), openid);
Result result = peisService.refundPEIS(merchantEnum, noticeOrderNo, outTradeNo, totalFee, "取消预约", refundDesc, new Date(), openid);
if (result.isOK()) {
peisService.cancelPEISReserve(noticeOrderNo, "OK", "");
}

@ -77,13 +77,14 @@ public class PEISDao {
* @param refundResult 退款描述
* @return 是否成功
*/
public boolean updateRefundResult(String outTradeNo, String noticeOrderNo, String refundResult, Integer refundStatus) {
String sql = "update peis_reserve set refundTime=now(), refundResult=?, refundStatus=? where outTradeNo=? and noticeOrderNo=?";
public boolean updateRefundResult(String outTradeNo, String noticeOrderNo, String refundResult, Integer refundStatus, String noticeResult) {
String sql = "update peis_reserve set refundTime=now(), refundResult=?, refundStatus=?, noticeResult=? where outTradeNo=? and noticeOrderNo=? and (refundResult is null or refundResult != 'OK')";
return DataBase.update(sql, ps -> {
ps.setString(1, refundResult);
ps.setInt(2, refundStatus);
ps.setString(3, outTradeNo);
ps.setString(4, noticeOrderNo);
ps.setString(3, noticeResult);
ps.setString(4, outTradeNo);
ps.setString(5, noticeOrderNo);
}) > 0;
}

@ -100,11 +100,6 @@ public class PEISService {
return;
}
if (order.hasNoticeStatusPaid()) {
log.info("[体检预约]订单已支付 outTradeNo={}, bankTransNo={}, noticeOrderNo={}", outTradeNo, bankTransNo, noticeOrderNo);
return;
}
JsonResult jsonResult = postForm(XBDHelper.XBD_PEIS + "/wxUse/wxPay", params -> {
params.put("orderNo", noticeOrderNo);
params.put("payStatus", "OK");
@ -125,7 +120,7 @@ public class PEISService {
message = "";
}
String refundDesc = "体检订单号:" + noticeOrderNo + " 通知体检系统异常:" + message;
refundPEIS(merchantEnum, noticeOrderNo, outTradeNo, totalFee, refundDesc, new Date(), openid);
refundPEIS(merchantEnum, noticeOrderNo, outTradeNo, totalFee, message, refundDesc, new Date(), openid);
return;
}
@ -164,7 +159,7 @@ public class PEISService {
* @param tradeDate 退费时间
* @param openid openid
*/
public Result refundPEIS(MerchantEnum merchantEnum, String noticeOrderNo, String outTradeNo, BigDecimal totalFee, String refundDesc, Date tradeDate, String openid) {
public Result refundPEIS(MerchantEnum merchantEnum, String noticeOrderNo, String outTradeNo, BigDecimal totalFee, String noticeResult, String refundDesc, Date tradeDate, String openid) {
try {
if (totalFee.compareTo(BigDecimal.ZERO) == 0) {
log.info("{} [体检预约]订单金额为0无需退费 outTradeNo={}, noticeOrderNo={}, totalFee={}", merchantEnum.NAME, outTradeNo, noticeOrderNo, totalFee);
@ -205,7 +200,7 @@ public class PEISService {
}
Integer refundStatus = "OK".equals(refundResult) ? 1 : -1;
boolean isUpdate = peisDao.updateRefundResult(outTradeNo, noticeOrderNo, refundResult, refundStatus);
boolean isUpdate = peisDao.updateRefundResult(outTradeNo, noticeOrderNo, refundResult, refundStatus, noticeResult);
if (!isUpdate) {
log.info("{} [体检预约][退费错误]退费信息更新失败 noticeOrderNo={}", merchantEnum.NAME, noticeOrderNo);
}

Loading…
Cancel
Save