From 5bd28dc03951da10af8862a7fa51049959a9323a Mon Sep 17 00:00:00 2001 From: Hawking Date: Thu, 20 Apr 2023 22:44:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E5=B8=90=E5=90=8E=E4=B9=9F=E8=83=BD?= =?UTF-8?q?=E5=90=8C=E6=84=8F=E9=80=80=E6=AC=BE=EF=BC=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E8=AF=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/AfterServiceRecordServiceImpl.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/AfterServiceRecordServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/AfterServiceRecordServiceImpl.java index 20e22b1b..cb094931 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/AfterServiceRecordServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/AfterServiceRecordServiceImpl.java @@ -128,15 +128,18 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService @Override @Transactional(rollbackFor = Exception.class) public AjaxResult updateAfterServiceRecord(AfterServiceRecord param) throws BaseAdaPayException { + Long one = 1L; AfterServiceRecord afterServiceRecord = this.selectAfterServiceRecordById(param.getId()); Assert.notNull(afterServiceRecord, "售后记录不存在!"); - if (Long.valueOf(1L).equals(param.getCustomerFinalCheck()) && Long.valueOf(1L).equals(afterServiceRecord.getWorkerFeedbackResult())) { - // 客户同意退款 + OrderDetail orderDetail = orderDetailService.selectById(afterServiceRecord.getOrderDetailId()); + boolean drawCash = orderDetail.getDrawCashTime() != null; + if (one.equals(param.getCustomerFinalCheck()) && one.equals(afterServiceRecord.getWorkerFeedbackResult())) { + // 师傅同意 且 客户同意退款 afterServiceRecord.setCustomerFinalCheck(1L); afterServiceRecord.setRefundApplyTime(new Date()); - OrderDetail orderDetail = orderDetailService.selectById(afterServiceRecord.getOrderDetailId()); + // DrawCashTime不为空说明已经发起过分账 - if (orderDetail.getDrawCashTime() != null) { + if (drawCash) { log.warn("子单[{}]已发起分账,不能退款", afterServiceRecord.getOrderDetailId()); afterServiceRecord.setOriginalRefund(BigDecimal.ZERO); afterServiceRecordMapper.updateAfterServiceRecord(afterServiceRecord); @@ -144,6 +147,10 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService } else { agreeRefund(afterServiceRecord); } + } else if (one.equals(afterServiceRecord.getWorkerFeedbackResult()) && param.getCustomerFinalCheck() == null) { + // 师傅同意 且 客户未处理 + afterServiceRecordMapper.updateAfterServiceRecord(param); + return drawCash ? AjaxResult.error("本单银联已确认货款结算完毕(订单支付完成),款项已到达或即将到达您所绑定帐户,需同意退款的同意后您线下与客户另行操作,系统无法提供原路返回退款!") : AjaxResult.success(); } else { afterServiceRecordMapper.updateAfterServiceRecord(param); }