Commit 6a7531d7 by 徐康

申请退款取消配送单和退款逻辑修改

parent f3da443b
...@@ -6,9 +6,8 @@ import java.math.BigDecimal; ...@@ -6,9 +6,8 @@ import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
* 查询省份对应配送费价格响应对象
* @version V1.0 * @version V1.0
* @author: kai.ding * @author:
* @date: * @date:
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved. * @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* All rights Reserved, Designed By www.freemud.cn * All rights Reserved, Designed By www.freemud.cn
...@@ -17,40 +16,14 @@ import java.util.List; ...@@ -17,40 +16,14 @@ import java.util.List;
@Data @Data
public class CancelDeliveryResponseDto { public class CancelDeliveryResponseDto {
public final static String notCollectMsg = "取消成功";
public final static String hasCollectMsg = "发起审核请求成功";
private Integer code; private Integer code;
private String msg; private String msg;
private Object data; private Object data;
@Data
public static class QueryDeliveryAmountResult {
private Long id;
/**
* 商户ID
*/
private String partnerId;
/**
* 配送费 单位:分
*/
private BigDecimal deliveryAmount;
/**
* 收件人省份编码
*/
private String provinceCode;
/**
* 收件人省份
*/
private String sendProvince;
/**
* 状态 1启用 2禁用
*/
private Integer status;
}
} }
...@@ -1031,10 +1031,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1031,10 +1031,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
} }
} }
// if (OrderStatus.DISTRIBUTION.getCode().equals(orderBean.getStatus())) {
// return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单配送中,退款请联系售后!");
// }
/** /**
* 已接单,制作完成,配送中,未接单,用户可申请退款 * 已接单,制作完成,配送中,未接单,用户可申请退款
* *
...@@ -1073,8 +1069,19 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1073,8 +1069,19 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
isRefundDeliveryFee = false; isRefundDeliveryFee = false;
} }
// 未接单 //申请取消配送单/取消配送单
if (OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())) { BaseResponseDto deliveryBaseResponse = new BaseResponseDto();
if(OldOrderType.TAKE_OUT.getCode().equals(orderBean.getOrderType())) {
deliveryBaseResponse = cancelDelivery(orderBean);
if(!ResponseConstant.SUCCESS_RESPONSE_CODE.equals(deliveryBaseResponse.getErrcode())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "取消配送单,退款失败");
}
}
//
if ((OldOrderType.TAKE_OUT.getCode().equals(orderBean.getOrderType()) && CancelDeliveryResponseDto.notCollectMsg.equals(deliveryBaseResponse.getErrmsg()))
|| OldOrderType.COLLECT_GOODS.getCode().equals(orderBean.getOrderType())
|| OldOrderType.EAT_IN.getCode().equals(orderBean.getOrderType())) {
//商家未接单逻辑处理 1.调用支付退款 2.根据支付退款返回状态组装订单取消参数,调用订单取消接口 //商家未接单逻辑处理 1.调用支付退款 2.根据支付退款返回状态组装订单取消参数,调用订单取消接口
BaseResponse baseResponse = partnerNoTakeOrder(orderRefundVo, orderBean, orderId,AfterSalesType.USER_CANCEL,isRefundDeliveryFee); BaseResponse baseResponse = partnerNoTakeOrder(orderRefundVo, orderBean, orderId,AfterSalesType.USER_CANCEL,isRefundDeliveryFee);
if (baseResponse != null) { if (baseResponse != null) {
...@@ -1082,15 +1089,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1082,15 +1089,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
} }
// 删除订单 通知活动添加商品库存 // 删除订单 通知活动添加商品库存
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
} else { } else if(OldOrderType.TAKE_OUT.getCode().equals(orderBean.getOrderType()) && CancelDeliveryResponseDto.hasCollectMsg.equals(deliveryBaseResponse.getErrmsg())) {
//申请取消配送单
if(OldOrderType.TAKE_OUT.getCode().equals(orderBean.getOrderType())) {
BaseResponseDto deliveryBaseResponse = cancelDelivery(orderBean, ReceiveOrderEnum.RECEIVED_ORDER.getDesc());
if(!ResponseConstant.SUCCESS_RESPONSE_CODE.equals(deliveryBaseResponse.getErrcode())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "申请取消配送单失败,退款失败");
}
}
CancelOrderRequest cancelOrderRequest = new CancelOrderRequest(); CancelOrderRequest cancelOrderRequest = new CancelOrderRequest();
cancelOrderRequest.setPartnerId(orderBean.getCompanyId()); cancelOrderRequest.setPartnerId(orderBean.getCompanyId());
...@@ -1110,13 +1109,15 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1110,13 +1109,15 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
if (!RESPONSE_SUCCESS_CODE.equals(baseResponseDto.getErrcode())) { if (!RESPONSE_SUCCESS_CODE.equals(baseResponseDto.getErrcode())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), baseResponseDto.getErrmsg()); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), baseResponseDto.getErrmsg());
} }
if (orderBean.getAmount() > 0) { // if (orderBean.getAmount() > 0) {
sendPosMessage(partnerId, orderBean.getShopId()); // sendPosMessage(partnerId, orderBean.getShopId());
} // }
//通知小助手发送申请退款公众号订阅消息 //通知小助手发送申请退款公众号订阅消息
sendApplyRefundSubscriptionNotice(orderBean, orderRefundVo); sendApplyRefundSubscriptionNotice(orderBean, orderRefundVo);
//已接单可发起退款申请,查询门店有无云打印机,有则打印退款申请小票 //已接单可发起退款申请,查询门店有无云打印机,有则打印退款申请小票
printApplyRefundSmallTicket(orderBean, orderRefundVo); printApplyRefundSmallTicket(orderBean, orderRefundVo);
} else {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单状态异常,退款失败");
} }
} }
return ResponseUtil.success(); return ResponseUtil.success();
...@@ -1134,14 +1135,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1134,14 +1135,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
String partnerId = orderBean.getCompanyId(); String partnerId = orderBean.getCompanyId();
int state = PayRefundStatus.SUCCESS.getCode(); int state = PayRefundStatus.SUCCESS.getCode();
//取消配送单
if(OldOrderType.TAKE_OUT.getCode().equals(orderBean.getOrderType())) {
BaseResponseDto deliveryBaseResponse = cancelDelivery(orderBean, ReceiveOrderEnum.NOT_RECEIVE_ORDER.getDesc());
if(!ResponseConstant.SUCCESS_RESPONSE_CODE.equals(deliveryBaseResponse.getErrcode())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "取消配送单失败,退款失败");
}
}
if (orderBean.getAmount() != 0) { if (orderBean.getAmount() != 0) {
//调用支付退款 //调用支付退款
com.freemud.sdk.api.assortment.payment.request.OrderRefundRequest orderPayRefundRequest = orderAdapter.getOrderPayRefundRequest(orderBean, refundId, fatherOrderId); com.freemud.sdk.api.assortment.payment.request.OrderRefundRequest orderPayRefundRequest = orderAdapter.getOrderPayRefundRequest(orderBean, refundId, fatherOrderId);
...@@ -1174,10 +1167,9 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1174,10 +1167,9 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
* 取消配送 * 取消配送
* *
* @param orderBean * @param orderBean
* @param receiveOrderType
* @return * @return
*/ */
public BaseResponseDto cancelDelivery(OrderBean orderBean, String receiveOrderType) { public BaseResponseDto cancelDelivery(OrderBean orderBean) {
BaseResponseDto baseResponseDto = new BaseResponseDto(); BaseResponseDto baseResponseDto = new BaseResponseDto();
baseResponseDto.setErrcode(100); baseResponseDto.setErrcode(100);
if (orderBean.getType() == 1 && orderBean.getAddInfo() != null) { if (orderBean.getType() == 1 && orderBean.getAddInfo() != null) {
...@@ -1196,16 +1188,14 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1196,16 +1188,14 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
.storeId(orderBean.getShopId()) .storeId(orderBean.getShopId())
.deliveryId(orderBean.getAddInfo().getDeliveryId()) .deliveryId(orderBean.getAddInfo().getDeliveryId())
.reviewId(orderBean.getOid().substring(0, 20)) .reviewId(orderBean.getOid().substring(0, 20))
.receiveOrderType(receiveOrderType).build(); .build();
CancelDeliveryResponseDto deliveryBaseResponse = deliveryFeiginMCCafeClient.cancelRequest(cancelDeliveryRequest); CancelDeliveryResponseDto deliveryBaseResponse = deliveryFeiginMCCafeClient.cancelRequest(cancelDeliveryRequest);
if (deliveryBaseResponse == null || !ResponseConstant.SUCCESS_RESPONSE_CODE.equals(deliveryBaseResponse.getCode())) { if (deliveryBaseResponse == null || !ResponseConstant.SUCCESS_RESPONSE_CODE.equals(deliveryBaseResponse.getCode())) {
LogUtil.error("申请取消配送单失败", cancelDeliveryRequest, deliveryBaseResponse); LogUtil.error("申请取消配送单失败", cancelDeliveryRequest, deliveryBaseResponse);
baseResponseDto.setErrcode(100); baseResponseDto.setErrcode(deliveryBaseResponse.getCode());
baseResponseDto.setErrcode(baseResponseDto.getErrcode()); baseResponseDto.setErrmsg(deliveryBaseResponse.getMsg());
baseResponseDto.setErrmsg(baseResponseDto.getErrmsg());
return baseResponseDto; return baseResponseDto;
// return cn.freemud.management.util.ResponseUtil.error(cn.freemud.management.enums.ResponseResult.DELIVERY_CANCEL_ORDER_ERROR);
} }
} }
return baseResponseDto; return baseResponseDto;
......
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