Commit 9788f32e by 姜海波

退单增加 是否退运费配置

parent dfba8230
...@@ -63,4 +63,9 @@ public class CancelOrderRequest extends BaseConfig { ...@@ -63,4 +63,9 @@ public class CancelOrderRequest extends BaseConfig {
//操作人 //操作人
private String operator; private String operator;
/**
* 是否退配送费
*/
private boolean isRefundDeliveryAmount;
} }
...@@ -465,6 +465,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -465,6 +465,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setCreateEvent(cancelOrderRequest.getCreateEvent()); request.setCreateEvent(cancelOrderRequest.getCreateEvent());
request.setAfterSerialNo(cancelOrderRequest.getRefundSerialNo()); request.setAfterSerialNo(cancelOrderRequest.getRefundSerialNo());
request.setOperator(cancelOrderRequest.getOperator()); request.setOperator(cancelOrderRequest.getOperator());
request.setRefundDeliveryAmount(cancelOrderRequest.isRefundDeliveryAmount());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo()); com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response); return orderSdkAdapter.convent2BaseOrderResponse(response);
} }
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<artifactId>assortment-ordercenter-sdk</artifactId> <artifactId>assortment-ordercenter-sdk</artifactId>
<version>1.3.9.RELEASE</version> <version>1.4.1.RELEASE</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
......
...@@ -18,7 +18,8 @@ public enum OrderRefundEnum { ...@@ -18,7 +18,8 @@ public enum OrderRefundEnum {
REFUND_DATA_RANGE("refundDateRange", "退款允许日期"), REFUND_DATA_RANGE("refundDateRange", "退款允许日期"),
TAKEORDER_REFUND("takeOrderRefund", "未接单是否支持退款"), TAKEORDER_REFUND("takeOrderRefund", "未接单是否支持退款"),
RECEIPTORDER_REFUND("receiptOrderRefund", "已接单是否支持退款"), RECEIPTORDER_REFUND("receiptOrderRefund", "已接单是否支持退款"),
COMPLETEMAKEORDER_REFUND("completeMakeOrderRefund", "制作完成是否支持退款"); COMPLETEMAKEORDER_REFUND("completeMakeOrderRefund", "制作完成是否支持退款"),
REFUND_DELIVERY_FEE_ENABLE("refundShippingFee","商家同意退款时是否退配送费");
private String keyValue; private String keyValue;
......
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: OrderType
* @Package cn.freemud.enums
* @Description: 订单状态
* @author: liming.guo
* @date: 2018/5/21 14:43
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package cn.freemud.enums;
public enum PayChannel {
SVC("10102", "svc卡支付");
private String code;
private String desc;
PayChannel(String code, String desc) {
this.code = code;
this.desc = desc;
}
public static PayChannel getByCode(String code) {
for (PayChannel payType : values()) {
if (payType.getCode().equals(code)) {
return payType;
}
}
return null;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
...@@ -52,16 +52,14 @@ import cn.freemud.utils.*; ...@@ -52,16 +52,14 @@ import cn.freemud.utils.*;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentCloudPrinter; import com.freemud.api.assortment.datamanager.entity.db.*;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerConfig;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformWxapp;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformWxappAuthorizer;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo; import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.api.assortment.datamanager.manager.AssortmentCloudPrinterManager; import com.freemud.api.assortment.datamanager.manager.AssortmentCloudPrinterManager;
import com.freemud.api.assortment.datamanager.enums.IappIdType; import com.freemud.api.assortment.datamanager.enums.IappIdType;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerConfigManager; import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerConfigManager;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappAuthorizerManager; import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappAuthorizerManager;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappManager; import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappManager;
import com.freemud.api.assortment.datamanager.manager.cache.CacheOpenPlatformPartnerWxappConfigManager;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager; import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.api.assortment.datamanager.meal.MealCacheManager; import com.freemud.api.assortment.datamanager.meal.MealCacheManager;
import com.freemud.application.sdk.api.constant.ResponseConstant; import com.freemud.application.sdk.api.constant.ResponseConstant;
...@@ -117,6 +115,7 @@ import org.apache.commons.collections4.CollectionUtils; ...@@ -117,6 +115,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -127,6 +126,8 @@ import java.util.concurrent.TimeUnit; ...@@ -127,6 +126,8 @@ import java.util.concurrent.TimeUnit;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static cn.freemud.constant.OrderRefundConstant.ALLOW_REFUND;
@Service @Service
@Slf4j @Slf4j
public class OrderServiceImpl implements Orderservice { public class OrderServiceImpl implements Orderservice {
...@@ -217,7 +218,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -217,7 +218,8 @@ public class OrderServiceImpl implements Orderservice {
private PaymentNewClient paymentNewClient; private PaymentNewClient paymentNewClient;
@Autowired @Autowired
private MallOrderServiceImpl mallOrderService; private MallOrderServiceImpl mallOrderService;
@Autowired
private CacheOpenPlatformPartnerWxappConfigManager cacheOpenPlatformPartnerWxappConfigManager;
@Override @Override
...@@ -1167,6 +1169,20 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1167,6 +1169,20 @@ public class OrderServiceImpl implements Orderservice {
// var1.setOperator(orderBean.getUserName()); // var1.setOperator(orderBean.getUserName());
// BaseOrderResponse baseResponseDto = orderCenterSdkService.orderRefund(var1); // BaseOrderResponse baseResponseDto = orderCenterSdkService.orderRefund(var1);
List<AssortmentOpenPlatformPartnerWxappConfig> partnerWxappConfigs = cacheOpenPlatformPartnerWxappConfigManager.cacheSelectDefaultPage(userInfo.getWxAppId(), "2");
Map<String, AssortmentOpenPlatformPartnerWxappConfig> configMap = partnerWxappConfigs.stream().collect(Collectors.toMap(AssortmentOpenPlatformPartnerWxappConfig::getAppKey, Function.identity()));
boolean isRefundDeliveryFee = false;
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
&& ALLOW_REFUND.equals(refundDeliveryFeeConfig.getAppValue())
&& !PayChannel.SVC.getCode().equals(orderBean.getPayChannel())) {
isRefundDeliveryFee = true;
}
CancelOrderRequest cancelOrderRequest = new CancelOrderRequest(); CancelOrderRequest cancelOrderRequest = new CancelOrderRequest();
cancelOrderRequest.setPartnerId(orderBean.getCompanyId()); cancelOrderRequest.setPartnerId(orderBean.getCompanyId());
cancelOrderRequest.setStoreId(orderBean.getShopId()); cancelOrderRequest.setStoreId(orderBean.getShopId());
...@@ -1182,6 +1198,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1182,6 +1198,7 @@ public class OrderServiceImpl implements Orderservice {
cancelOrderRequest.setReqRemark(orderRefundVo.getRemarks()); cancelOrderRequest.setReqRemark(orderRefundVo.getRemarks());
cancelOrderRequest.setOperator(orderBean.getUserName()); cancelOrderRequest.setOperator(orderBean.getUserName());
cancelOrderRequest.setTrackingNo(LogTreadLocal.getTrackingNo()); cancelOrderRequest.setTrackingNo(LogTreadLocal.getTrackingNo());
cancelOrderRequest.setRefundDeliveryAmount(isRefundDeliveryFee);
BaseOrderResponse baseResponseDto = orderCenterSdkService.orderCancel(cancelOrderRequest); BaseOrderResponse baseResponseDto = orderCenterSdkService.orderCancel(cancelOrderRequest);
if (!RESPONSE_SUCCESS_CODE.equals(baseResponseDto.getErrcode())) { if (!RESPONSE_SUCCESS_CODE.equals(baseResponseDto.getErrcode())) {
......
...@@ -59,4 +59,9 @@ public class OrderCancelReq { ...@@ -59,4 +59,9 @@ public class OrderCancelReq {
//操作人 //操作人
private String operator; private String operator;
/**
* 是否退配送费
*/
private boolean isRefundDeliveryAmount;
} }
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