Browse Source

基础配置

release
张彭杰 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.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -24,6 +26,9 @@ public class MarriageBountyOrder extends Entity<MarriageBountyOrder> {
@ApiModelProperty("征婚资料标识") @ApiModelProperty("征婚资料标识")
private Long miId; private Long miId;
@ApiModelProperty("奖励金额")
private BigDecimal rewardAmount;
@ApiModelProperty("状态") @ApiModelProperty("状态")
private MarriageBountyOrderStatusEnum status; private MarriageBountyOrderStatusEnum status;
@ -48,4 +53,11 @@ public class MarriageBountyOrder extends Entity<MarriageBountyOrder> {
marriageBountyOrder.setMiId(miId); marriageBountyOrder.setMiId(miId);
return marriageBountyOrder; 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.MarriageBountyOrderAggregate;
import com.qniao.dam.domain.aggregate.marriagebounty.entity.MarriageBountyOrder; import com.qniao.dam.domain.aggregate.marriagebounty.entity.MarriageBountyOrder;
import com.qniao.dam.domain.aggregate.marriagebounty.valueobj.MarriageBountyOrderRel; 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.constant.PaymentOrderRefundStatusEnum;
import com.qniao.dam.domian.aggregate.paymentorderrefund.event.PaymentOrderRefundRefundedEvent; 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.marriagebounty.MarriageBountyOrderQueryService;
import com.qniao.dam.query.paymentorderrefund.PaymentOrderRefundQueryService; import com.qniao.dam.query.paymentorderrefund.PaymentOrderRefundQueryService;
import com.qniao.domain.BaseApplicationService; import com.qniao.domain.BaseApplicationService;
import com.qniao.framework.utils.TypeConvertUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -26,6 +30,8 @@ public class PaymentOrderRefundEventHandler extends BaseApplicationService {
private PaymentOrderRefundQueryService paymentOrderRefundQueryService; private PaymentOrderRefundQueryService paymentOrderRefundQueryService;
@Resource @Resource
private MarriageBountyOrderAggregate marriageBountyOrderAggregate; private MarriageBountyOrderAggregate marriageBountyOrderAggregate;
@Resource
private AmqpTemplate amqpTemplate;
/** /**
* 付款单已退款事件 * 付款单已退款事件
@ -41,6 +47,10 @@ public class PaymentOrderRefundEventHandler extends BaseApplicationService {
refundMarriageBountyOrder.setId(marriageBountyOrder.getId()); refundMarriageBountyOrder.setId(marriageBountyOrder.getId());
marriageBountyOrderAggregate.refund(refundMarriageBountyOrder); marriageBountyOrderAggregate.refund(refundMarriageBountyOrder);
//todo 主动发起退款 //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.setProductRecordList(Collections.singletonList(productRecord));
marriageBountyOrder.setOrderRewardList(orderRewardList); marriageBountyOrder.setOrderRewardList(orderRewardList);
marriageBountyOrder.setInsertOrderRewardList(orderRewardList); marriageBountyOrder.setInsertOrderRewardList(orderRewardList);
marriageBountyOrder.calculateRewardAmount();
BaseDomainEvent event = marriageBountyOrderAggregate.create(marriageBountyOrder); BaseDomainEvent event = marriageBountyOrderAggregate.create(marriageBountyOrder);
this.sendEvent(event); this.sendEvent(event);
} else { } else {
@ -106,6 +107,7 @@ public class MarriageBountyOrderApplicationService extends BaseApplicationServic
marriageBountyOrder.getUpdateOrderRewardList().add(orderReward); marriageBountyOrder.getUpdateOrderRewardList().add(orderReward);
} }
} }
marriageBountyOrder.calculateRewardAmount();
marriageBountyOrderAggregate.update(marriageBountyOrder); 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_CREATED = "fanout.marriageBountyOrderCreated";
String MARRIAGE_BOUNTY_ORDER_CANCELLED = "fanout.marriageBountyOrderCancelled";
} }
Loading…
Cancel
Save