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