Browse Source

悬赏招亲

master
张彭杰 1 year ago
parent
commit
a18c2bd83a
2 changed files with 21 additions and 5 deletions
  1. 6
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rewardconfig/entity/RewardConfig.java
  2. 20
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/marriagebounty/impl/MarriageBountyOrderQueryServiceImpl.java

6
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rewardconfig/entity/RewardConfig.java

@ -10,6 +10,8 @@ import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.time.chrono.ChronoLocalDateTime;
@Data
@EqualsAndHashCode(callSuper = true)
@ -35,4 +37,8 @@ public class RewardConfig extends Entity<RewardConfig> {
return amount.multiply(new BigDecimal(value)).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
}
}
public LocalDateTime getRefundableTime(LocalDateTime time) {
return time.plusMonths(Long.parseLong(value));
}
}

20
dating-agency-mall-server/src/main/java/com/qniao/dam/query/marriagebounty/impl/MarriageBountyOrderQueryServiceImpl.java

@ -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;

Loading…
Cancel
Save