Commit b3848887 by 姜海波

Merge branch 'feature-2020/5/12-1.9.22-退单增加配送费选项-海波' into qa

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
parents e1338a9b eb08e70d
...@@ -15,6 +15,7 @@ package com.freemud.sdk.api.assortment.order.request.order; ...@@ -15,6 +15,7 @@ package com.freemud.sdk.api.assortment.order.request.order;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType; import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType; import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.sdk.api.assortment.order.config.BaseConfig; import com.freemud.sdk.api.assortment.order.config.BaseConfig;
import lombok.Builder;
import lombok.Data; import lombok.Data;
@Data @Data
...@@ -67,5 +68,6 @@ public class CancelOrderRequest extends BaseConfig { ...@@ -67,5 +68,6 @@ public class CancelOrderRequest extends BaseConfig {
/** /**
* 是否退配送费 * 是否退配送费
*/ */
private boolean isRefundDeliveryAmount; @Builder.Default
private boolean isRefundDeliveryAmount = false;
} }
...@@ -1120,10 +1120,24 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1120,10 +1120,24 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER_NOT_ALLOW_REFUND.getCode(), ResponseResult.ORDER_NOT_ALLOW_REFUND.getMessage()); return ResponseUtil.error(ResponseResult.ORDER_NOT_ALLOW_REFUND.getCode(), ResponseResult.ORDER_NOT_ALLOW_REFUND.getMessage());
} }
} }
List<AssortmentOpenPlatformPartnerWxappConfig> partnerWxappConfigs = cacheOpenPlatformPartnerWxappConfigManager.cacheSelectDefaultPage(userInfo.getWxAppId(), "2");
Map<String, AssortmentOpenPlatformPartnerWxappConfig> configMap = partnerWxappConfigs.stream().collect(Collectors.toMap(AssortmentOpenPlatformPartnerWxappConfig::getAppKey, Function.identity()));
boolean isRefundDeliveryFee = true;
AssortmentOpenPlatformPartnerWxappConfig refundDeliveryFeeConfig = configMap.get(OrderRefundEnum.REFUND_DELIVERY_FEE_ENABLE.getKeyValue());
log.info("refundAgree.refundShippingFee of oid:{}, {}", orderBean.getOid(), (null != refundDeliveryFeeConfig ? ToStringBuilder.reflectionToString(refundDeliveryFeeConfig) : null));
// 0、null表示 关闭 ; 1 表示开启
if (null != refundDeliveryFeeConfig
&& Arrays.asList(OrderStatus.DISTRIBUTION.getCode(),OrderStatus.COMPLETE.getCode()).contains(orderBean.getStatus())
&& (!ALLOW_REFUND.equals(refundDeliveryFeeConfig.getAppValue())||PayChannel.SVC.getCode().equals(orderBean.getPayChannel()))) {
isRefundDeliveryFee = false;
}
// 未接单 // 未接单
if (OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())) { if (OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())) {
//商家未接单逻辑处理 1.调用支付退款 2.根据支付退款返回状态组装订单取消参数,调用订单取消接口 //商家未接单逻辑处理 1.调用支付退款 2.根据支付退款返回状态组装订单取消参数,调用订单取消接口
BaseResponse baseResponse = partnerNoTakeOrder(orderRefundVo, orderBean, orderId,AfterSalesType.USER_CANCEL); BaseResponse baseResponse = partnerNoTakeOrder(orderRefundVo, orderBean, orderId,AfterSalesType.USER_CANCEL,isRefundDeliveryFee);
if (baseResponse != null) { if (baseResponse != null) {
return baseResponse; return baseResponse;
} }
...@@ -1183,7 +1197,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1183,7 +1197,7 @@ public class OrderServiceImpl implements Orderservice {
* @param orderRefundVo * @param orderRefundVo
* @param orderBean * @param orderBean
*/ */
private BaseResponse partnerNoTakeOrder(OrderRefundVo orderRefundVo, OrderBean orderBean, String fatherOrderId,AfterSalesType afterSalesType) { private BaseResponse partnerNoTakeOrder(OrderRefundVo orderRefundVo, OrderBean orderBean, String fatherOrderId,AfterSalesType afterSalesType,Boolean isRefundDeliveryFee) {
com.freemud.application.sdk.api.base.BaseResponse<OrderRefundResponse> response = null; com.freemud.application.sdk.api.base.BaseResponse<OrderRefundResponse> response = null;
Long refundId = System.currentTimeMillis(); Long refundId = System.currentTimeMillis();
String partnerId = orderBean.getCompanyId(); String partnerId = orderBean.getCompanyId();
...@@ -1210,6 +1224,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1210,6 +1224,7 @@ public class OrderServiceImpl implements Orderservice {
cancelOrderRequest.setCreateEvent(AfterSalesOrderCreateEventEnum.REFUND_COMPLETE.getCreateEvent()); cancelOrderRequest.setCreateEvent(AfterSalesOrderCreateEventEnum.REFUND_COMPLETE.getCreateEvent());
} }
cancelOrderRequest.setReqRemark(orderRefundVo.getRemarks()); cancelOrderRequest.setReqRemark(orderRefundVo.getRemarks());
cancelOrderRequest.setRefundDeliveryAmount(isRefundDeliveryFee);
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderCancel(cancelOrderRequest); BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderCancel(cancelOrderRequest);
if (baseOrderResponse == null || baseOrderResponse.getData() == null || !ObjectUtils.equals(ResponseConstant.SUCCESS_RESPONSE_CODE, baseOrderResponse.getErrcode())) { if (baseOrderResponse == null || baseOrderResponse.getData() == null || !ObjectUtils.equals(ResponseConstant.SUCCESS_RESPONSE_CODE, baseOrderResponse.getErrcode())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "orderRefund_failed"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "orderRefund_failed");
...@@ -1560,7 +1575,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1560,7 +1575,7 @@ public class OrderServiceImpl implements Orderservice {
orderRefundVo.setPartnerId(orderBean.getCompanyId()); orderRefundVo.setPartnerId(orderBean.getCompanyId());
orderRefundVo.setReason(refundReason); orderRefundVo.setReason(refundReason);
//系统异常取消订单 //系统异常取消订单
partnerNoTakeOrder(orderRefundVo, orderBean, oid,AfterSalesType.SYSTEM_CANCEL); partnerNoTakeOrder(orderRefundVo, orderBean, oid,AfterSalesType.SYSTEM_CANCEL,true);
// 发送消息到消息中心推送给pos前端 // 发送消息到消息中心推送给pos前端
PushMessageNoticeDto pushMessageNoticeDto = messageNoticeAdapter.convent2PushMessageNoticeDto(2, partnerId, storeId, PushMessageNoticeDto pushMessageNoticeDto = messageNoticeAdapter.convent2PushMessageNoticeDto(2, partnerId, storeId,
null, null, null, null); null, null, null, null);
......
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