Browse Source

基础配置

master
张彭杰 1 year ago
parent
commit
67ff9d73f6
5 changed files with 42 additions and 0 deletions
  1. 12
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/marriagebounty/entity/MarriageBountyOrder.java
  2. 17
      dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/marriagebounty/event/MarriageBountyOrderCancelledMQ.java
  3. 10
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/paymentorderrefund/PaymentOrderRefundEventHandler.java
  4. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/marriagebounty/MarriageBountyOrderApplicationService.java
  5. 1
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java

12
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/marriagebounty/entity/MarriageBountyOrder.java

@ -10,8 +10,10 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@Data
@EqualsAndHashCode(callSuper = true)
@ -24,6 +26,9 @@ public class MarriageBountyOrder extends Entity<MarriageBountyOrder> {
@ApiModelProperty("征婚资料标识")
private Long miId;
@ApiModelProperty("奖励金额")
private BigDecimal rewardAmount;
@ApiModelProperty("状态")
private MarriageBountyOrderStatusEnum status;
@ -48,4 +53,11 @@ public class MarriageBountyOrder extends Entity<MarriageBountyOrder> {
marriageBountyOrder.setMiId(miId);
return marriageBountyOrder;
}
public void calculateRewardAmount() {
if (Objects.nonNull(orderRewardList)) {
rewardAmount = orderRewardList.stream().map(MarriageBountyOrderReward::getRewardAmount)
.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
}
}
}

17
dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/marriagebounty/event/MarriageBountyOrderCancelledMQ.java

@ -0,0 +1,17 @@
package com.qniao.dam.domian.aggregate.marriagebounty.event;
import lombok.Data;
import java.io.Serializable;
@Data
public class MarriageBountyOrderCancelledMQ implements Serializable {
//悬赏订单标识
private Long marriageBountyOrderId;
private Long userId;
private Long miId;
}

10
dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/paymentorderrefund/PaymentOrderRefundEventHandler.java

@ -3,12 +3,16 @@ package com.qniao.dam.application.handler.paymentorderrefund;
import com.qniao.dam.domain.aggregate.marriagebounty.MarriageBountyOrderAggregate;
import com.qniao.dam.domain.aggregate.marriagebounty.entity.MarriageBountyOrder;
import com.qniao.dam.domain.aggregate.marriagebounty.valueobj.MarriageBountyOrderRel;
import com.qniao.dam.domian.aggregate.marriagebounty.event.MarriageBountyOrderCancelledMQ;
import com.qniao.dam.domian.aggregate.paymentorderrefund.constant.PaymentOrderRefundStatusEnum;
import com.qniao.dam.domian.aggregate.paymentorderrefund.event.PaymentOrderRefundRefundedEvent;
import com.qniao.dam.infrastructure.constant.MqExchange;
import com.qniao.dam.query.marriagebounty.MarriageBountyOrderQueryService;
import com.qniao.dam.query.paymentorderrefund.PaymentOrderRefundQueryService;
import com.qniao.domain.BaseApplicationService;
import com.qniao.framework.utils.TypeConvertUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@ -26,6 +30,8 @@ public class PaymentOrderRefundEventHandler extends BaseApplicationService {
private PaymentOrderRefundQueryService paymentOrderRefundQueryService;
@Resource
private MarriageBountyOrderAggregate marriageBountyOrderAggregate;
@Resource
private AmqpTemplate amqpTemplate;
/**
* 付款单已退款事件
@ -41,6 +47,10 @@ public class PaymentOrderRefundEventHandler extends BaseApplicationService {
refundMarriageBountyOrder.setId(marriageBountyOrder.getId());
marriageBountyOrderAggregate.refund(refundMarriageBountyOrder);
//todo 主动发起退款
MarriageBountyOrderCancelledMQ cancelledMQ = TypeConvertUtils.convert(marriageBountyOrder, MarriageBountyOrderCancelledMQ.class);
cancelledMQ.setMarriageBountyOrderId(event.getId());
// 发送mq事件
amqpTemplate.convertAndSend(MqExchange.MARRIAGE_BOUNTY_ORDER_CREATED, null, cancelledMQ);
}
}
}

2
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/marriagebounty/MarriageBountyOrderApplicationService.java

@ -80,6 +80,7 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
marriageBountyOrder.setProductRecordList(Collections.singletonList(productRecord));
marriageBountyOrder.setOrderRewardList(orderRewardList);
marriageBountyOrder.setInsertOrderRewardList(orderRewardList);
marriageBountyOrder.calculateRewardAmount();
BaseDomainEvent event = marriageBountyOrderAggregate.create(marriageBountyOrder);
this.sendEvent(event);
} else {
@ -106,6 +107,7 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
marriageBountyOrder.getUpdateOrderRewardList().add(orderReward);
}
}
marriageBountyOrder.calculateRewardAmount();
marriageBountyOrderAggregate.update(marriageBountyOrder);
}
}

1
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java

@ -4,4 +4,5 @@ public interface MqExchange {
String MARRIAGE_BOUNTY_ORDER_CREATED = "fanout.marriageBountyOrderCreated";
String MARRIAGE_BOUNTY_ORDER_CANCELLED = "fanout.marriageBountyOrderCancelled";
}
Loading…
Cancel
Save