分帐后也能同意退款,但是退款0元
This commit is contained in:
parent
0a82851e2c
commit
777178cc45
|
|
@ -134,7 +134,7 @@ public class AfterServiceRecordController extends BaseController {
|
|||
public AjaxResult editSave(@RequestBody AfterServiceRecord afterServiceRecord) {
|
||||
logger.info("修改售后记录:{}", afterServiceRecord);
|
||||
try {
|
||||
return toAjax(afterServiceRecordService.updateAfterServiceRecord(afterServiceRecord));
|
||||
return afterServiceRecordService.updateAfterServiceRecord(afterServiceRecord);
|
||||
} catch (Exception exception) {
|
||||
logger.error(ExceptionUtils.getStackTrace(exception));
|
||||
return AjaxResult.error(exception.getMessage());
|
||||
|
|
|
|||
|
|
@ -1,23 +1,24 @@
|
|||
package com.ghy.order.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.ghy.common.core.domain.AjaxResult;
|
||||
import com.ghy.order.domain.AfterServiceRecord;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 售后记录Service接口
|
||||
*
|
||||
* @author clunt
|
||||
* @date 2022-09-25
|
||||
*/
|
||||
public interface IAfterServiceRecordService
|
||||
{
|
||||
public interface IAfterServiceRecordService {
|
||||
/**
|
||||
* 查询售后记录
|
||||
*
|
||||
* @param id 售后记录主键
|
||||
* @return 售后记录
|
||||
*/
|
||||
public AfterServiceRecord selectAfterServiceRecordById(String id);
|
||||
AfterServiceRecord selectAfterServiceRecordById(String id);
|
||||
|
||||
/**
|
||||
* 查询售后记录列表
|
||||
|
|
@ -25,7 +26,7 @@ public interface IAfterServiceRecordService
|
|||
* @param afterServiceRecord 售后记录
|
||||
* @return 售后记录集合
|
||||
*/
|
||||
public List<AfterServiceRecord> selectAfterServiceRecordList(AfterServiceRecord afterServiceRecord);
|
||||
List<AfterServiceRecord> selectAfterServiceRecordList(AfterServiceRecord afterServiceRecord);
|
||||
|
||||
/**
|
||||
* 新增售后记录
|
||||
|
|
@ -33,7 +34,7 @@ public interface IAfterServiceRecordService
|
|||
* @param afterServiceRecord 售后记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertAfterServiceRecord(AfterServiceRecord afterServiceRecord);
|
||||
int insertAfterServiceRecord(AfterServiceRecord afterServiceRecord);
|
||||
|
||||
/**
|
||||
* 修改售后记录
|
||||
|
|
@ -41,7 +42,7 @@ public interface IAfterServiceRecordService
|
|||
* @param afterServiceRecord 售后记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateAfterServiceRecord(AfterServiceRecord afterServiceRecord) throws Exception;
|
||||
AjaxResult updateAfterServiceRecord(AfterServiceRecord afterServiceRecord) throws Exception;
|
||||
|
||||
/**
|
||||
* 批量删除售后记录
|
||||
|
|
@ -49,7 +50,7 @@ public interface IAfterServiceRecordService
|
|||
* @param ids 需要删除的售后记录主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteAfterServiceRecordByIds(String ids);
|
||||
int deleteAfterServiceRecordByIds(String ids);
|
||||
|
||||
/**
|
||||
* 删除售后记录信息
|
||||
|
|
@ -57,5 +58,5 @@ public interface IAfterServiceRecordService
|
|||
* @param id 售后记录主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteAfterServiceRecordById(String id);
|
||||
int deleteAfterServiceRecordById(String id);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.ghy.order.service.impl;
|
|||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.ghy.common.adapay.model.AdapayStatusEnum;
|
||||
import com.ghy.common.core.domain.AjaxResult;
|
||||
import com.ghy.common.core.text.Convert;
|
||||
import com.ghy.common.enums.PayStatus;
|
||||
import com.ghy.common.enums.RefundType;
|
||||
|
|
@ -126,23 +127,32 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int updateAfterServiceRecord(AfterServiceRecord param) throws BaseAdaPayException {
|
||||
public AjaxResult updateAfterServiceRecord(AfterServiceRecord param) throws BaseAdaPayException {
|
||||
AfterServiceRecord afterServiceRecord = this.selectAfterServiceRecordById(param.getId());
|
||||
Assert.notNull(afterServiceRecord, "售后记录不存在!");
|
||||
if (Long.valueOf(1L).equals(param.getCustomerFinalCheck()) && Long.valueOf(1L).equals(afterServiceRecord.getWorkerFeedbackResult())) {
|
||||
// 客户同意退款
|
||||
afterServiceRecord.setCustomerFinalCheck(1L);
|
||||
return agreeRefund(afterServiceRecord);
|
||||
afterServiceRecord.setRefundApplyTime(new Date());
|
||||
OrderDetail orderDetail = orderDetailService.selectById(afterServiceRecord.getOrderDetailId());
|
||||
// DrawCashTime不为空说明已经发起过分账
|
||||
if (orderDetail.getDrawCashTime() != null) {
|
||||
log.warn("子单[{}]已发起分账,不能退款", afterServiceRecord.getOrderDetailId());
|
||||
afterServiceRecord.setOriginalRefund(BigDecimal.ZERO);
|
||||
afterServiceRecordMapper.updateAfterServiceRecord(afterServiceRecord);
|
||||
return AjaxResult.error("本单已划款,师傅/服务人员已到帐或即将到帐,双方达成退款的,请对方线下支付后点“对方已退款”");
|
||||
} else {
|
||||
agreeRefund(afterServiceRecord);
|
||||
}
|
||||
} else {
|
||||
return afterServiceRecordMapper.updateAfterServiceRecord(param);
|
||||
afterServiceRecordMapper.updateAfterServiceRecord(param);
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
private int agreeRefund(AfterServiceRecord afterServiceRecord) throws BaseAdaPayException {
|
||||
OrderDetail orderDetail = orderDetailService.selectById(afterServiceRecord.getOrderDetailId());
|
||||
Assert.notNull(orderDetail, "子单不存在!");
|
||||
// DrawCashTime不为空说明已经发起过分账
|
||||
Assert.isTrue(orderDetail.getDrawCashTime() == null, "子单已发起分账,请联系师傅处理线下售后!");
|
||||
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(afterServiceRecord.getOrderDetailId());
|
||||
Assert.notNull(financialDetail, "财务子单不存在!");
|
||||
OrderMaster orderMaster = orderMasterService.selectById(orderDetail.getOrderMasterId());
|
||||
|
|
@ -190,7 +200,7 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
financialMasterService.updateFinancialMaster(financialMaster);
|
||||
|
||||
// 发起支付撤销
|
||||
if(payReverse){
|
||||
if (payReverse) {
|
||||
payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), reverseAmt);
|
||||
}
|
||||
} else {
|
||||
|
|
@ -201,7 +211,7 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
financialMasterService.updateFinancialMaster(financialMaster);
|
||||
String reverseAmt = AdapayUtils.bigDecimalToString(refundMoney);
|
||||
// 发起支付撤销
|
||||
if(payReverse){
|
||||
if (payReverse) {
|
||||
payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), reverseAmt);
|
||||
}
|
||||
}
|
||||
|
|
@ -220,7 +230,7 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
financialDetailService.updateFinancialDetail(financialDetail);
|
||||
|
||||
// 发起支付撤销
|
||||
if(payReverse){
|
||||
if (payReverse) {
|
||||
String reverseAmt = AdapayUtils.bigDecimalToString(financialMaster.getServerMoney());
|
||||
payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), reverseAmt);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue