|
|
|
@ -8,20 +8,24 @@ import com.qniao.dam.domain.aggregate.marriagebounty.repository.MarriageBountyOr |
|
|
|
import com.qniao.dam.domain.aggregate.marriagebounty.valueobj.MarriageBountyOrderRel; |
|
|
|
import com.qniao.dam.domain.aggregate.product.entity.Product; |
|
|
|
import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec; |
|
|
|
import com.qniao.dam.domain.aggregate.rewardconfig.entity.RewardConfig; |
|
|
|
import com.qniao.dam.domian.aggregate.marriagebount.constant.MarriageBountyOrderPaymentStatusEnum; |
|
|
|
import com.qniao.dam.domian.aggregate.marriagebount.constant.MarriageBountyOrderStatusEnum; |
|
|
|
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; |
|
|
|
import com.qniao.dam.domian.aggregate.rewardconfig.constant.RewardTypeEnum; |
|
|
|
import com.qniao.dam.infrastructure.persistent.dao.domain.MarriageBountyOrderDao; |
|
|
|
import com.qniao.dam.infrastructure.persistent.dao.domain.MarriageBountyOrderRelDao; |
|
|
|
import com.qniao.dam.infrastructure.persistent.dao.domain.MarriageBountyOrderRewardDao; |
|
|
|
import com.qniao.dam.query.marriagebounty.MarriageBountyOrderQueryService; |
|
|
|
import com.qniao.dam.query.ora.OrderRefundApplicationQueryService; |
|
|
|
import com.qniao.dam.query.product.ProductQueryService; |
|
|
|
import com.qniao.dam.query.rewardconfig.RewardConfigQueryService; |
|
|
|
import com.qniao.framework.utils.TypeConvertUtils; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Objects; |
|
|
|
|
|
|
|
@ -37,7 +41,7 @@ public class MarriageBountyOrderQueryServiceImpl implements MarriageBountyOrderQ |
|
|
|
@Resource |
|
|
|
private MarriageBountyOrderRewardDao marriageBountyOrderRewardDao; |
|
|
|
@Resource |
|
|
|
private OrderRefundApplicationQueryService orderRefundApplicationQueryService; |
|
|
|
private RewardConfigQueryService rewardConfigQueryService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public MarriageBountyOrder queryBy(Long userId, Long miId, MarriageBountyOrderStatusEnum status, |
|
|
|
@ -75,10 +79,16 @@ public class MarriageBountyOrderQueryServiceImpl implements MarriageBountyOrderQ |
|
|
|
refundableResultGift = refundableResultGift.add(orderReward.getRewardAmount()); |
|
|
|
} |
|
|
|
} |
|
|
|
refundInfoVo.setRefundableMeetingFee(refundableMeetingFee); |
|
|
|
refundInfoVo.setRefundableMeetingQuantity(refundableMeetingQuantity); |
|
|
|
refundInfoVo.setRefundableResultGift(refundableResultGift); |
|
|
|
refundInfoVo.setRefundable(refundableMeetingFee.compareTo(BigDecimal.ZERO) > 0 || refundableResultGift.compareTo(BigDecimal.ZERO) > 0); |
|
|
|
} |
|
|
|
refundInfoVo.setRefundableMeetingFee(refundableMeetingFee); |
|
|
|
refundInfoVo.setRefundableMeetingQuantity(refundableMeetingQuantity); |
|
|
|
refundInfoVo.setRefundableResultGift(refundableResultGift); |
|
|
|
refundInfoVo.setRefundable(refundableMeetingFee.compareTo(BigDecimal.ZERO) > 0 || refundableResultGift.compareTo(BigDecimal.ZERO) > 0); |
|
|
|
//服务退款有效期校验 |
|
|
|
RewardTypeEnum rewardType = marriageBountyOrder.getRewardType(); |
|
|
|
RewardConfig rewardConfig = rewardConfigQueryService.queryByRewardType(rewardType); |
|
|
|
if (Objects.nonNull(rewardConfig)&&LocalDateTime.now().isBefore(rewardConfig.getRefundableTime(marriageBountyOrder.getCreateTime()))) { |
|
|
|
refundInfoVo.setRefundable(false); |
|
|
|
} |
|
|
|
} |
|
|
|
return refundInfoVo; |
|
|
|
|