Commit fa310263 by ping.wu

Merge branch 'feature/20221021_小程序外卖单取消订单同步取消配送单_wuping' of…

Merge branch 'feature/20221021_小程序外卖单取消订单同步取消配送单_wuping' of https://gitlab.freemud.com/order-group-application/order-group
parents f840612e f4df913b
......@@ -2170,7 +2170,7 @@ public class OrderServiceImpl implements Orderservice {
@Override
public BaseResponse getNewRefundReason(GetRefundReasonVo getRefundReasonVo) {
AssortmentCustomerInfoVo userInfo = customerInfoManager.getCustomerInfoByObject(getRefundReasonVo.getSessionId());
if (userInfo != null && userInfo.getMemberId() == null) {
if (userInfo == null || userInfo.getMemberId() == null) {
throw new ServiceException(ResponseResult.NOT_LOGIN);
}
String oid = getRefundReasonVo.getOid();
......@@ -2180,7 +2180,6 @@ public class OrderServiceImpl implements Orderservice {
GetRefundResonResponseVo result = new GetRefundResonResponseVo();
List<RefundReasonResponseVo> refundReasonResponseVos = getRefundReasonResponseVos(getRefundReasonVo);
result.setRefundReasons(refundReasonResponseVos);
assert userInfo != null;
String refundDocument = buildRefundDocument(oid, userInfo.getPartnerId());
result.setRefundDocument(refundDocument);
return ResponseUtil.success(result);
......
......@@ -21,6 +21,7 @@ import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService;
import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.NewOrderStatus;
import com.freemud.application.sdk.api.ordercenter.util.LogUtil;
import com.freemud.application.sdk.api.service.EmailAlertService;
import org.apache.commons.collections4.CollectionUtils;
......@@ -124,6 +125,9 @@ public class DeliveryHandle {
* @return
*/
public BaseResponse cancelDelivery(OrderBeanV1 data, OrderManagerRequest request) {
if(Objects.equals(NewOrderStatus.PLACE_AN_ORDER.getIndex(),data.getStatusV2())){
return ResponseUtil.success();
}
if (data.getOrderType() == 1 && data.getAddInfo() != null && ObjectUtils.equals(data.getAddInfo().getDeliveryType(), THIRD)) {
Integer deliverStatus = data.getAddInfo().getDeliverStatus();
//运单异常或取消时,无需作废三方配送运单
......
......@@ -324,7 +324,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
List<Integer> newOrderStatusList = Arrays.asList(OrderStatusV1.RECEIPT.getV2Code(), OrderStatusV1.COMPLETE.getV2Code(), OrderStatusV1.COMPLETE_MAKE.getV2Code());
List<String> sourceList = Arrays.asList(OrderSourceV1.SAAS.getCode(), OrderSourceV1.ALIPAY.getCode(), OrderSourceV1.APP.getCode());
if (sourceList.contains(orderBean.getSource()) && newOrderStatusList.contains(orderBean.getStatusV2())) {
return executeRefund(request, orderBean, OperateType.ORDER_REJECT.getOpType());
return cancelDeliveryAndOrder(request, orderBean);
} else if (OrderSourceV1.MEAL.getCode().equals(orderBean.getSource())) {
if (OrderStatusV1.WAIT_PAY.getV2Code().equals(orderBean.getStatusV2()) || PayType.CASH_ON_DELIVERY.getCode().compareTo(orderBean.getPayType()) == 0) {
return executeCancel(request, orderBean, PayRefundStatus.SUCCESS.getCode(), AfterSalesType.SYSTEM_CANCEL.getIndex(), Integer.valueOf(orderBean.getOrderClient()));
......@@ -367,6 +367,29 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
}
/**
* 小程序订单,取消订单
* 1 外卖单取消配送,2退款,3取消订单
*/
private BaseResponse<OrderManagerResponse> cancelDeliveryAndOrder(OrderManagerRequest request, OrderBeanV1 orderBean) {
//取消配送单
BaseResponse cancelDeliveryResponse = deliveryHandle.cancelDelivery(orderBean, request);
if (!Objects.equals(ResponseResult.SUCCESS.getCode(),cancelDeliveryResponse.getCode())) {
return cancelDeliveryResponse;
}
//调用oms拒绝订单
BaseResponse<OrderManagerResponse> baseResponse = this.orderReject(request, orderBean);
if (null == baseResponse || !ObjectUtils.equals(SUCCESS, Integer.valueOf(baseResponse.getCode()))) {
if (PAY_RETURN_FILTER_CODES.contains(baseResponse.getCode())) {
return ResponseUtil.error(ResponseResult.getResponseResult(baseResponse.getCode()));
}
emailAlertService.sendEmailAlert("商家取消订单失败", "请求json:" + JSONObject.toJSONString(orderBean) + "返回msg:" + baseResponse.getMessage());
return ResponseUtil.error(ResponseResult.PARTNER_ORDER_CANCEL_ERROR);
}
return ResponseUtil.success();
}
/**
* 拒单在支付退款后的取消订单操作
*
* @param order 订单详情
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment