Browse Source

虚拟账号

master
188814092560 2 weeks ago
parent
commit
c26d458bc0
3 changed files with 71 additions and 0 deletions
  1. 3
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/eso/entity/EntrustServiceOrder.java
  2. 3
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/eso/EntrustServiceOrderApplicationService.java
  3. 65
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/task/EntrustServiceOrderTask.java

3
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/eso/entity/EntrustServiceOrder.java

@ -58,6 +58,9 @@ public class EntrustServiceOrder extends Entity<EntrustServiceOrder> {
@ApiModelProperty("付款状态") @ApiModelProperty("付款状态")
private EntrustServicePaymentStatusEnum paymentStatus; private EntrustServicePaymentStatusEnum paymentStatus;
@ApiModelProperty("接受截至时间")
private LocalDateTime acceptanceDeadline;
@ApiModelProperty("接收时间") @ApiModelProperty("接收时间")
private LocalDateTime acceptedTime; private LocalDateTime acceptedTime;

3
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/eso/EntrustServiceOrderApplicationService.java

@ -71,6 +71,8 @@ public class EntrustServiceOrderApplicationService extends BaseApplicationServic
entrustServiceOrder.setPaidAmount(entrustServiceOrder.getRewardAmount()); entrustServiceOrder.setPaidAmount(entrustServiceOrder.getRewardAmount());
entrustServiceOrder.setStatus(EntrustServiceStatusEnum.PENDING_ACCEPT); entrustServiceOrder.setStatus(EntrustServiceStatusEnum.PENDING_ACCEPT);
entrustServiceOrder.setPaymentStatus(EntrustServicePaymentStatusEnum.PAID); entrustServiceOrder.setPaymentStatus(EntrustServicePaymentStatusEnum.PAID);
//接受截至时间 创建时间+7天
entrustServiceOrder.setAcceptanceDeadline(LocalDateTime.now().plusDays(7));
//服务红娘配置 //服务红娘配置
MatchmakerMarriageInformation matchmakerMarriageInformation = matchmakerMarriageInformationQueryService.queryByRecommend(entrustServiceOrder.getTargetUserId()); MatchmakerMarriageInformation matchmakerMarriageInformation = matchmakerMarriageInformationQueryService.queryByRecommend(entrustServiceOrder.getTargetUserId());
if (Objects.nonNull(matchmakerMarriageInformation)) { if (Objects.nonNull(matchmakerMarriageInformation)) {
@ -105,6 +107,7 @@ public class EntrustServiceOrderApplicationService extends BaseApplicationServic
//状态判断 退款时间要求 //状态判断 退款时间要求
EntrustServiceOrder existEntrustServiceOrder = entrustServiceOrderDao.selectById(entrustServiceOrder.getId()); EntrustServiceOrder existEntrustServiceOrder = entrustServiceOrderDao.selectById(entrustServiceOrder.getId());
checkRefundPossible(existEntrustServiceOrder); checkRefundPossible(existEntrustServiceOrder);
entrustServiceOrder.setOriginalStatus(existEntrustServiceOrder.getStatus());
entrustServiceOrder.setStatus(EntrustServiceStatusEnum.CANCELED); entrustServiceOrder.setStatus(EntrustServiceStatusEnum.CANCELED);
entrustServiceOrder.setPaymentStatus(EntrustServicePaymentStatusEnum.BEING_REFUNDED); entrustServiceOrder.setPaymentStatus(EntrustServicePaymentStatusEnum.BEING_REFUNDED);

65
dating-agency-mall-server/src/main/java/com/qniao/dam/application/task/EntrustServiceOrderTask.java

@ -0,0 +1,65 @@
package com.qniao.dam.application.task;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qniao.dam.domain.aggregate.eso.EntrustServiceOrderAggregate;
import com.qniao.dam.domain.aggregate.eso.entity.EntrustServiceOrder;
import com.qniao.dam.domain.aggregate.mica.entity.MarriageInformationContactApply;
import com.qniao.dam.domain.aggregate.ora.entity.OrderRefundApplication;
import com.qniao.dam.domain.service.eso.RefundEntrustServiceOrderDomainService;
import com.qniao.dam.domian.aggregate.eso.constant.EntrustServicePaymentStatusEnum;
import com.qniao.dam.domian.aggregate.eso.constant.EntrustServiceStatusEnum;
import com.qniao.dam.domian.aggregate.mica.constant.MarriageInformationContactApplyStatusEnum;
import com.qniao.dam.domian.aggregate.ora.constant.OrderRefundApplicationStatus;
import com.qniao.dam.domian.aggregate.ora.constant.RefundOrderTypeEnum;
import com.qniao.dam.infrastructure.persistent.dao.eso.EntrustServiceOrderDao;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author Zpj
* @date 2026/3/17
*/
@Component
@Slf4j
public class EntrustServiceOrderTask {
@Resource
private EntrustServiceOrderDao entrustServiceOrderDao;
@Resource
private RefundEntrustServiceOrderDomainService refundEntrustServiceOrderDomainService;
@Scheduled(cron = "0 0 * * * *")
public void handle() {
try {
log.error("委托服务接受到期退款任务开始");
List<EntrustServiceOrder> list = entrustServiceOrderDao.selectList(new LambdaQueryWrapper<EntrustServiceOrder>()
.eq(EntrustServiceOrder::getStatus, EntrustServiceStatusEnum.PENDING_ACCEPT)
.le(EntrustServiceOrder::getAcceptanceDeadline, LocalDateTime.now()));
if (CollUtil.isNotEmpty(list)) {
for (EntrustServiceOrder entrustServiceOrder : list) {
entrustServiceOrder.setOriginalStatus(entrustServiceOrder.getStatus());
entrustServiceOrder.setStatus(EntrustServiceStatusEnum.CANCELED);
entrustServiceOrder.setPaymentStatus(EntrustServicePaymentStatusEnum.BEING_REFUNDED);
entrustServiceOrder.setRemark("红娘未接单自动取消");
OrderRefundApplication orderRefundApplication = OrderRefundApplication.build(entrustServiceOrder.getId(), RefundOrderTypeEnum.ENTRUST_SERVICE,
entrustServiceOrder.getPaidAmount(), entrustServiceOrder.getPaidAmount());
orderRefundApplication.setOperationStatus(OrderRefundApplicationStatus.UNAUDITED);
orderRefundApplication.setStatus(OrderRefundApplicationStatus.UNAUDITED);
refundEntrustServiceOrderDomainService.handle(entrustServiceOrder, orderRefundApplication);
}
}
log.error("委托服务接受到期退款任务结束");
} catch (Exception e) {
log.error("委托服务接受到期退款任务异常", e);
}
}
}
Loading…
Cancel
Save