流程e+确认发起判断

This commit is contained in:
kuang.yife 2023-04-26 22:52:03 +08:00
parent bc24d8d243
commit 83754b9d2c
3 changed files with 26 additions and 0 deletions

View File

@ -770,6 +770,11 @@ public class OrderDetailController extends BaseController {
@Transactional(rollbackFor = Exception.class)
public AjaxResult applyFinishOrder(@RequestBody OrderProcessRequest request) {
logger.info("师傅发起完单,orderDetailId={}", request.getOrderDetailId());
// 判断是否有未完成的售后记录,如果有则不允许完单
AfterServiceRecord unfinishedByOrderDetailId = afterServiceRecordService.getUnfinishedByOrderDetailId(request.getOrderDetailId());
if(unfinishedByOrderDetailId != null){
return AjaxResult.error("存在未处理完的售后,不允许申请完单!");
}
// 判断工单状态是否为服务中以及是否已支付
OrderDetail orderDetail = orderDetailService.selectById(request.getOrderDetailId());
OrderMaster orderMaster = orderMasterService.selectById(orderDetail.getOrderMasterId());

View File

@ -44,6 +44,8 @@ public interface IAfterServiceRecordService {
*/
AjaxResult updateAfterServiceRecord(AfterServiceRecord afterServiceRecord) throws Exception;
public AfterServiceRecord getUnfinishedByOrderDetailId(Long orderDetailId);
/**
* 批量删除售后记录
*

View File

@ -4,6 +4,7 @@ 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.OrderStatus;
import com.ghy.common.enums.PayStatus;
import com.ghy.common.enums.RefundType;
import com.ghy.common.exception.base.BaseException;
@ -119,6 +120,10 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
return afterServiceRecordMapper.unfinished(orderDetailId);
}
public AfterServiceRecord getUnfinishedByOrderDetailId(Long orderDetailId) {
return afterServiceRecordMapper.unfinished(orderDetailId);
}
/**
* 修改售后记录
*
@ -129,6 +134,7 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
@Transactional(rollbackFor = Exception.class)
public AjaxResult updateAfterServiceRecord(AfterServiceRecord param) throws BaseAdaPayException {
Long one = 1L;
Long two = 2L;
AfterServiceRecord afterServiceRecord = this.selectAfterServiceRecordById(param.getId());
Assert.notNull(afterServiceRecord, "售后记录不存在!");
OrderDetail orderDetail = orderDetailService.selectById(afterServiceRecord.getOrderDetailId());
@ -152,6 +158,19 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
afterServiceRecordMapper.updateAfterServiceRecord(param);
return drawCash ? AjaxResult.error("本单银联已确认货款结算完毕(订单支付完成),款项已到达或即将到达您所绑定帐户,需同意退款的同意后您线下与客户另行操作,系统无法提供原路返回退款!") : AjaxResult.success();
} else {
if(two.equals(param.getCustomerFinalCheck())){
// 客户不同意师傅的意见,如果订单是确认中,则需要将订单改为服务中
if(orderDetail.getOrderStatus() == OrderStatus.FINISH_CHECK.code() && orderDetail.getDrawCashTime()!= null ){
orderDetail.setOrderStatus(OrderStatus.SERVER.code());
orderDetailService.updateOrderDetail(orderDetail);
// 如果发现是唯一子单,则需要将主单也更新为服务中
OrderMaster orderMaster = orderMasterService.selectById(orderDetail.getOrderMasterId());
if(orderMaster.getOrderStatus() == OrderStatus.FINISH_CHECK.code()){
orderMaster.setOrderStatus(OrderStatus.SERVER.code());
orderMasterService.updateOrderMaster(orderMaster);
}
}
}
afterServiceRecordMapper.updateAfterServiceRecord(param);
}
return AjaxResult.success();