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); }