Commit a596fad0 by 徐康

退款时间间隔限制

parent 44994408
......@@ -105,6 +105,8 @@ public class OrderAdapter {
@Value("${mccafe.partner.id}")
private String mcCafePartnerId;
@Value("${mcCafe.refund.interval}")
private String mccafeRefundInterval;
@Value("${saas.reverseNotifyiDcUrl}")
private String reverseNotifyiDcUrl;
......@@ -1155,14 +1157,53 @@ public class OrderAdapter {
}
if (ordersBean.getHasRefund() != null && ordersBean.getHasRefund() && CollectionUtils.isNotEmpty(ordersBean.getRefundList())) {
if (CollectionUtils.isNotEmpty(ordersBean.getRefundList())) {
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);
if(mcCafePartnerId.equals(ordersBean.getCompanyId())) {
QueryOrdersResponse.DataBean.OrderBean.RefundBean latestRefundBean = ordersBean.getRefundList().get(0);
for(int i=0;i<ordersBean.getRefundList().size();i++) {
QueryOrdersResponse.DataBean.OrderBean.RefundBean refundBean = ordersBean.getRefundList().get(i);
if (RefundStatus.COMPLETE_REFUND.getCode().equals(refundBean.getStatus())
|| RefundStatus.APPLY_REFUND.getCode().equals(refundBean.getStatus())) {
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 {
* 订单是否可申请退款 可申请退款条件 :1 .支付未接单 2. 已接单,制作完成,配送中 ,用户可申请退款
*/
private Boolean enableRefund;
/**
* 订单是否可再次申请退款 必须经过规定的间隔时间才可以再次申请
*/
private Boolean afterRefundInterval;
private List<ProductVo> products;
......
......@@ -1083,7 +1083,8 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
if (RefundStatus.APPLY_REFUND.getCode().equals(refundBean.getStatus())) {
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(), "退款请求太频繁,请稍后再试");
}
}
......
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