|
|
|
@ -57,7 +57,7 @@ public class MarriageBountyOrderQueryServiceImpl implements MarriageBountyOrderQ |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public UserGetMarriageBountyOrderPreRefundInfoVo getMarriageBountyOrderPreRefundInfo(Long marriageBountyOrderId) { |
|
|
|
public UserGetMarriageBountyOrderPreRefundInfoVo getMarriageBountyOrderPreRefundInfo(Long marriageBountyOrderId, boolean management) { |
|
|
|
UserGetMarriageBountyOrderPreRefundInfoVo refundInfoVo = new UserGetMarriageBountyOrderPreRefundInfoVo(); |
|
|
|
MarriageBountyOrder marriageBountyOrder = marriageBountyOrderRepository.load(marriageBountyOrderId); |
|
|
|
if (Objects.nonNull(marriageBountyOrder) && MarriageBountyOrderPaymentStatusEnum.PAID.equals(marriageBountyOrder.getPaymentStatus())) { |
|
|
|
@ -81,14 +81,16 @@ public class MarriageBountyOrderQueryServiceImpl implements MarriageBountyOrderQ |
|
|
|
refundInfoVo.setRefundableResultGift(refundableResultGift); |
|
|
|
refundInfoVo.setRefundableAmount(refundableMeetingFee.multiply(BigDecimal.valueOf(refundableMeetingQuantity)).add(refundableResultGift)); |
|
|
|
refundInfoVo.setRefundable(refundInfoVo.getRefundableAmount().compareTo(BigDecimal.ZERO) > 0); |
|
|
|
//服务退款有效期校验 |
|
|
|
RewardTypeEnum rewardType = marriageBountyOrder.getValidityPeriodType(); |
|
|
|
RewardConfig rewardConfig = rewardConfigQueryService.queryByRewardType(rewardType); |
|
|
|
if (Objects.nonNull(rewardConfig) && LocalDateTime.now().isBefore(rewardConfig.getRefundableTime(marriageBountyOrder.getCreateTime()))) { |
|
|
|
refundInfoVo.setRefundable(false); |
|
|
|
//补充因有效期原因无法撤销原因 悬赏-包牵手(6月)正在服务中,无法撤销,如有疑问或特殊情况请联系客服处理; |
|
|
|
refundInfoVo.setNonRefundableReason(marriageBountyOrder.getType().getDesc() + "(" + rewardConfig.getValue() + "月)" |
|
|
|
+ "正在服务中,无法撤销,如有疑问或特殊情况请联系客服处理"); |
|
|
|
//服务退款有效期校验,管理员退款不需要校验时间 |
|
|
|
if (!management) { |
|
|
|
RewardTypeEnum rewardType = marriageBountyOrder.getValidityPeriodType(); |
|
|
|
RewardConfig rewardConfig = rewardConfigQueryService.queryByRewardType(rewardType); |
|
|
|
if (Objects.nonNull(rewardConfig) && LocalDateTime.now().isBefore(rewardConfig.getRefundableTime(marriageBountyOrder.getCreateTime()))) { |
|
|
|
refundInfoVo.setRefundable(false); |
|
|
|
//补充因有效期原因无法撤销原因 悬赏-包牵手(6月)正在服务中,无法撤销,如有疑问或特殊情况请联系客服处理; |
|
|
|
refundInfoVo.setNonRefundableReason(marriageBountyOrder.getType().getDesc() + "(" + rewardConfig.getValue() + "月)" |
|
|
|
+ "正在服务中,无法撤销,如有疑问或特殊情况请联系客服处理"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return refundInfoVo; |
|
|
|
|