Commit a596fad0 by 徐康

退款时间间隔限制

parent 44994408
...@@ -105,6 +105,8 @@ public class OrderAdapter { ...@@ -105,6 +105,8 @@ public class OrderAdapter {
@Value("${mccafe.partner.id}") @Value("${mccafe.partner.id}")
private String mcCafePartnerId; private String mcCafePartnerId;
@Value("${mcCafe.refund.interval}")
private String mccafeRefundInterval;
@Value("${saas.reverseNotifyiDcUrl}") @Value("${saas.reverseNotifyiDcUrl}")
private String reverseNotifyiDcUrl; private String reverseNotifyiDcUrl;
...@@ -1155,14 +1157,53 @@ public class OrderAdapter { ...@@ -1155,14 +1157,53 @@ public class OrderAdapter {
} }
if (ordersBean.getHasRefund() != null && ordersBean.getHasRefund() && CollectionUtils.isNotEmpty(ordersBean.getRefundList())) { if (ordersBean.getHasRefund() != null && ordersBean.getHasRefund() && CollectionUtils.isNotEmpty(ordersBean.getRefundList())) {
if (CollectionUtils.isNotEmpty(ordersBean.getRefundList())) { if (CollectionUtils.isNotEmpty(ordersBean.getRefundList())) {
QueryOrdersResponse.DataBean.OrderBean.RefundBean refundBean = ordersBean.getRefundList().get(0); if(mcCafePartnerId.equals(ordersBean.getCompanyId())) {
responseVo.setRid(refundBean.getRid());
responseVo.setRefundStatus(refundBean.getStatus()); QueryOrdersResponse.DataBean.OrderBean.RefundBean latestRefundBean = ordersBean.getRefundList().get(0);
responseVo.setRefundStatusDesc(Optional.ofNullable(RefundStatus.getByCode(refundBean.getStatus())) for(int i=0;i<ordersBean.getRefundList().size();i++) {
.map(RefundStatus::getDesc).orElse("")); QueryOrdersResponse.DataBean.OrderBean.RefundBean refundBean = ordersBean.getRefundList().get(i);
responseVo.setRefundReason(refundBean.getReason()); if (RefundStatus.COMPLETE_REFUND.getCode().equals(refundBean.getStatus())
String refundCreateTime = DateUtil.convert2String(new Date(Long.parseLong(refundBean.getCreateTime())),DateUtil.FORMAT_YYYY_MM_DD_HHMMSS); || RefundStatus.APPLY_REFUND.getCode().equals(refundBean.getStatus())) {
responseVo.setRefundCreateTime(refundCreateTime); responseVo.setRid(refundBean.getRid());
responseVo.setRefundStatus(refundBean.getStatus());
responseVo.setRefundStatusDesc(Optional.ofNullable(RefundStatus.getByCode(refundBean.getStatus()))
.map(RefundStatus::getDesc).orElse(""));
responseVo.setRefundReason(refundBean.getReason());
String refundCreateTime = DateUtil.convert2String(new Date(Long.parseLong(refundBean.getCreateTime())),DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
responseVo.setRefundCreateTime(refundCreateTime);
break;
} else {
if(DateUtil.convert2Date(refundBean.getCreateTime(), "yyyy-MM-dd HH:mm:ss")
.after(DateUtil.convert2Date(latestRefundBean.getCreateTime(), "yyyy-MM-dd HH:mm:ss"))) {
latestRefundBean = refundBean;
}
}
}
if(StringUtils.isNotBlank(responseVo.getRid())) {
responseVo.setRid(latestRefundBean.getRid());
responseVo.setRefundStatus(latestRefundBean.getStatus());
responseVo.setRefundStatusDesc(Optional.ofNullable(RefundStatus.getByCode(latestRefundBean.getStatus()))
.map(RefundStatus::getDesc).orElse(""));
responseVo.setRefundReason(latestRefundBean.getReason());
String refundCreateTime = DateUtil.convert2String(new Date(Long.parseLong(latestRefundBean.getCreateTime())),DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
responseVo.setRefundCreateTime(refundCreateTime);
if(new Date().getTime() - DateUtil.convert2Date(latestRefundBean.getCreateTime(), "yyyy-MM-dd HH:mm:ss").getTime()
> Long.valueOf(mccafeRefundInterval)) {
responseVo.setAfterRefundInterval(true);
}
}
} else {
QueryOrdersResponse.DataBean.OrderBean.RefundBean refundBean = ordersBean.getRefundList().get(0);
responseVo.setRid(refundBean.getRid());
responseVo.setRefundStatus(refundBean.getStatus());
responseVo.setRefundStatusDesc(Optional.ofNullable(RefundStatus.getByCode(refundBean.getStatus()))
.map(RefundStatus::getDesc).orElse(""));
responseVo.setRefundReason(refundBean.getReason());
String refundCreateTime = DateUtil.convert2String(new Date(Long.parseLong(refundBean.getCreateTime())),DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
responseVo.setRefundCreateTime(refundCreateTime);
}
} }
} }
//商品信息转换 //商品信息转换
......
...@@ -260,6 +260,10 @@ public class QueryOrderResponseVo { ...@@ -260,6 +260,10 @@ public class QueryOrderResponseVo {
* 订单是否可申请退款 可申请退款条件 :1 .支付未接单 2. 已接单,制作完成,配送中 ,用户可申请退款 * 订单是否可申请退款 可申请退款条件 :1 .支付未接单 2. 已接单,制作完成,配送中 ,用户可申请退款
*/ */
private Boolean enableRefund; private Boolean enableRefund;
/**
* 订单是否可再次申请退款 必须经过规定的间隔时间才可以再次申请
*/
private Boolean afterRefundInterval;
private List<ProductVo> products; private List<ProductVo> products;
......
...@@ -1083,7 +1083,8 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1083,7 +1083,8 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
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(new Date().getTime() - DateUtil.convert2Date(refundBean.getCreateTime(), "yyyy-MM-dd HH:mm:ss").getTime() > Long.valueOf(mccafeRefundInterval)) { if(new Date().getTime() - DateUtil.convert2Date(refundBean.getCreateTime(), "yyyy-MM-dd HH:mm:ss").getTime()
< Long.valueOf(mccafeRefundInterval)) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "退款请求太频繁,请稍后再试"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "退款请求太频繁,请稍后再试");
} }
} }
......
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