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

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(); PEISService peisService = new PEISService();
String refundDesc = "取消预约 体检订单号:" + noticeOrderNo; 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()) { if (result.isOK()) {
peisService.cancelPEISReserve(noticeOrderNo, "OK", ""); peisService.cancelPEISReserve(noticeOrderNo, "OK", "");
} }

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

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

Loading…
Cancel
Save