Commit 8238ccab by zhiheng.zhang

Merge branch 'feature/20210513-申请退款按钮关闭-张志恒'

parents 5e14d013 d02569c3
...@@ -64,6 +64,7 @@ import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq; ...@@ -64,6 +64,7 @@ import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto; import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq; import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
import com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse; import com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO; import com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO;
import com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest; import com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest;
...@@ -88,6 +89,7 @@ import org.apache.commons.collections4.CollectionUtils; ...@@ -88,6 +89,7 @@ import org.apache.commons.collections4.CollectionUtils;
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.time.FastDateFormat; import org.apache.commons.lang.time.FastDateFormat;
import org.junit.After;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -1490,10 +1492,9 @@ public class OrderAdapter { ...@@ -1490,10 +1492,9 @@ public class OrderAdapter {
responseVo.setRefundMode(afterOrderExtInfoDto.getRefundMode()); responseVo.setRefundMode(afterOrderExtInfoDto.getRefundMode());
} }
} }
// responseVo.setRefundButtonDisable(AfterSalesStatus.CANCEL.getIndex() == ordersBean.getAfterSalesOrderResp().getAfterSalesStatus() ? false : true);
//有售后单不显示按钮
responseVo.setRefundButtonDisable(false);
} }
//是否展示申请退款按钮 true 展示 false 不展示
responseVo.setRefundButtonDisable(getRefundButtonDisable(ordersBean));
responseVo.setExpressChannelCode(ordersBean.getExpressChannelCode()); responseVo.setExpressChannelCode(ordersBean.getExpressChannelCode());
responseVo.setExpressChannelName(ordersBean.getExpressChannelName()); responseVo.setExpressChannelName(ordersBean.getExpressChannelName());
responseVo.setExpressNo(ordersBean.getExpressNo()); responseVo.setExpressNo(ordersBean.getExpressNo());
...@@ -4389,4 +4390,41 @@ public class OrderAdapter { ...@@ -4389,4 +4390,41 @@ public class OrderAdapter {
} }
return refundStatusDesc; return refundStatusDesc;
} }
private boolean getRefundButtonDisable(QueryOrdersResponse.DataBean.OrderBean orderBean){
boolean refundButtonDisable = true;
//订单状态为 2:已支付 3:已接单 4:已发货 5:已收货/已完成(C端展示的订单状态),这些状态订单展示申请退款按钮(未有售后单或者售后单已经取消)
// 正常订单,未发生售后单的订单,以发货的时间节点为基准,30天后,关闭C端申请退款入口(未有售后单或者售后单已经取消)
//以最新的发起售后单的时间节点为基准(售后单最后申请的时间,同意申请不会更新申请的时间),30天后,关闭订单状态为已完成,退款状态为未处理的退款单,B端不展示退款处理按钮
//未发货订单,申请退款商家未处理,以售后单发起时间+30天后,自动退款。
//校验有没有售后单,一笔订单只会存在一笔售后单,售后单展示为取消展示申请退款按钮
AfterSalesOrderResp afterSalesOrderResp = orderBean.getAfterSalesOrderResp();
List<Integer> orderStatusList = Arrays.asList(OrderStatus.WAIT_PAY.getCode(),OrderStatus.RECEIPT.getCode(),OrderStatus.DISTRIBUTION.getCode(),OrderStatus.COMPLETE.getCode());
List<Integer> afterSaleStatusList = Arrays.asList(AfterSalesStatus.PENDING.getIndex(),AfterSalesStatus.COMPLETE.getIndex(),AfterSalesStatus.REJECTED.getIndex());
//已发货
if(null != orderBean.getGmtDelivery()){
if(orderStatusList.contains(orderBean.getStatus()) && (null == afterSalesOrderResp || (null !=afterSalesOrderResp && AfterSalesStatus.CANCEL.getIndex() == afterSalesOrderResp.getAfterSalesStatus()))){
refundButtonDisable = true;
}
if(null == orderBean.getAfterSalesOrderResp() && null != orderBean.getGmtDelivery() && (DateUtil.addDays(new Date(orderBean.getGmtDelivery()),30)).compareTo(new Date()) == -1){
refundButtonDisable = false;
}
if(null != orderBean.getAfterSalesOrderResp() && afterSaleStatusList.contains( orderBean.getAfterSalesOrderResp().getAfterSalesStatus())){
refundButtonDisable = false;
}
if(null == orderBean.getAfterSalesOrderResp() && (DateUtil.addDays(new Date(orderBean.getGmtDelivery()),30)).compareTo(new Date()) == -1){
refundButtonDisable = false;
}
}else{
List<Integer> noDeliveryAfterSalesStatus = Arrays.asList(AfterSalesStatus.PENDING.getIndex(),AfterSalesStatus.COMPLETE.getIndex());
if(orderStatusList.contains(orderBean.getStatus()) && (null == afterSalesOrderResp || (null !=afterSalesOrderResp && AfterSalesStatus.CANCEL.getIndex() == afterSalesOrderResp.getAfterSalesStatus()))){
refundButtonDisable = true;
}
if(null != orderBean.getAfterSalesOrderResp() && noDeliveryAfterSalesStatus.contains( orderBean.getAfterSalesOrderResp().getAfterSalesStatus())){
refundButtonDisable = false;
}
}
return refundButtonDisable;
}
} }
...@@ -1053,6 +1053,7 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -1053,6 +1053,7 @@ public class MallOrderServiceImpl implements MallOrderService {
request.setOrderCode(baseQueryOrderRequest.getOrderId()); request.setOrderCode(baseQueryOrderRequest.getOrderId());
request.setOrderState(NewOrderStatus.COMPLETE.getIndex()); request.setOrderState(NewOrderStatus.COMPLETE.getIndex());
request.setOperator(assortmentCustomerInfoVo.getNickName()); request.setOperator(assortmentCustomerInfoVo.getNickName());
request.setTaskType(Arrays.asList((byte) 5));
request.setRemark("已完成"); request.setRemark("已完成");
orderSdkService.updateOrderState(request, baseQueryOrderRequest.getTrackingNo()); orderSdkService.updateOrderState(request, baseQueryOrderRequest.getTrackingNo());
orderSdkService.completeBookingTask(request, baseQueryOrderRequest.getTrackingNo()); orderSdkService.completeBookingTask(request, baseQueryOrderRequest.getTrackingNo());
......
...@@ -2220,7 +2220,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2220,7 +2220,8 @@ public class OrderServiceImpl implements Orderservice {
if (RefundStatus.APPLY_REFUND.getCode().equals(refundBean.getStatus())) { if (RefundStatus.APPLY_REFUND.getCode().equals(refundBean.getStatus())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "商家正在处理中,请稍后……"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "商家正在处理中,请稍后……");
} }
if (RefundStatus.REFUSE_REFUND.getCode().equals(refundBean.getStatus())) { //商城订单可二次发起退款
if (!com.freemud.sdk.api.assortment.order.enums.OrderSourceType.SAASMALL.getCode().equalsIgnoreCase(orderBean.getSource()) && RefundStatus.REFUSE_REFUND.getCode().equals(refundBean.getStatus())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "您的申请已被商家拒绝,请联系门店沟通。"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "您的申请已被商家拒绝,请联系门店沟通。");
} }
} }
...@@ -2239,7 +2240,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2239,7 +2240,6 @@ public class OrderServiceImpl implements Orderservice {
boolean isRefundDeliveryFee = true; boolean isRefundDeliveryFee = true;
//商城查询配送费 //商城查询配送费
if (com.freemud.sdk.api.assortment.order.enums.OrderSourceType.SAASMALL.getCode().equalsIgnoreCase(orderBean.getSource()) && StringUtils.isNotEmpty(orderBean.getExtInfo())){ if (com.freemud.sdk.api.assortment.order.enums.OrderSourceType.SAASMALL.getCode().equalsIgnoreCase(orderBean.getSource()) && StringUtils.isNotEmpty(orderBean.getExtInfo())){
JSONObject extInfoJsonObject = JSONObject.parseObject(orderBean.getExtInfo()); JSONObject extInfoJsonObject = JSONObject.parseObject(orderBean.getExtInfo());
OrderExtInfoDto orderExtInfoDto = extInfoJsonObject.toJavaObject(OrderExtInfoDto.class); OrderExtInfoDto orderExtInfoDto = extInfoJsonObject.toJavaObject(OrderExtInfoDto.class);
if(null != orderExtInfoDto && null != orderExtInfoDto.getProvince()){ if(null != orderExtInfoDto && null != orderExtInfoDto.getProvince()){
......
package com.freemud.application.sdk.api.ordercenter.request; package com.freemud.application.sdk.api.ordercenter.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* All rights Reserved, Designed By www.freemud.com * All rights Reserved, Designed By www.freemud.com
* *
...@@ -21,4 +24,8 @@ public class OrderChangeStateReq { ...@@ -21,4 +24,8 @@ public class OrderChangeStateReq {
private String remark; private String remark;
//操作人 //操作人
private String operator; private String operator;
@ApiModelProperty(value = "操作任务类型")
private List<Byte> taskType;
} }
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