Browse Source

玫瑰

master
张彭杰 3 months ago
parent
commit
589340e302
2 changed files with 22 additions and 10 deletions
  1. 16
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/order/OrderApplicationService.java
  2. 16
      dating-agency-mall-server/src/main/java/com/qniao/dam/domain/service/order/SubmitOrderDomainService.java

16
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/order/OrderApplicationService.java

@ -149,10 +149,13 @@ public class OrderApplicationService extends BaseApplicationService {
}
public PaymentOrder makePaymentOrder(Order order) {
PaymentOrder paymentOrder = new PaymentOrder();
paymentOrder.setPayableAmount(order.getSettlementAmount());
paymentOrder.setUnpaidAmount(paymentOrder.getPayableAmount());
paymentOrder.setPaidAmount(BigDecimal.ZERO);
PaymentOrder paymentOrder = null;
if (order.getSettlementAmount().compareTo(BigDecimal.ZERO) > 0) {
paymentOrder = new PaymentOrder();
paymentOrder.setPayableAmount(order.getSettlementAmount());
paymentOrder.setUnpaidAmount(paymentOrder.getPayableAmount());
paymentOrder.setPaidAmount(BigDecimal.ZERO);
}
return paymentOrder;
}
@ -508,8 +511,9 @@ public class OrderApplicationService extends BaseApplicationService {
order.setOrderCode(snowFlakeUtil.getSnowflakeOrderCode());
//4. 组织付款单信息
PaymentOrder paymentOrder = makePaymentOrder(order);
submitOrderDomainService.handle(order, paymentOrder);
return new UserSubmitOrderVo(order.getId(), paymentOrder.getId(), false);
BaseDomainEvent event = submitOrderDomainService.handle(order, paymentOrder);
this.sendEvent(event);
return new UserSubmitOrderVo(order.getId(), paymentOrder.getId(), order.getSettlementAmount().compareTo(BigDecimal.ZERO) == 0);
}
private void checkLiveDuration(Order order,

16
dating-agency-mall-server/src/main/java/com/qniao/dam/domain/service/order/SubmitOrderDomainService.java

@ -5,10 +5,12 @@ import com.qniao.dam.domain.aggregate.order.entity.Order;
import com.qniao.dam.domain.aggregate.paymentorder.PaymentOrderAggregate;
import com.qniao.dam.domain.aggregate.paymentorder.entity.PaymentOrder;
import com.qniao.dam.domian.aggregate.paymentorder.constant.PaymentOrderStatusEnum;
import com.qniao.domain.BaseDomainEvent;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
@Service
public class SubmitOrderDomainService {
@ -19,9 +21,15 @@ public class SubmitOrderDomainService {
private PaymentOrderAggregate paymentOrderAggregate;
@Transactional(rollbackFor = Exception.class)
public void handle(Order order, PaymentOrder paymentOrder) {
orderAggregate.submit(order);
paymentOrder.setOrderId(order.getId());
paymentOrderAggregate.create(paymentOrder);
public BaseDomainEvent handle(Order order, PaymentOrder paymentOrder) {
BaseDomainEvent event = null;
if (order.getSettlementAmount().compareTo(BigDecimal.ZERO) == 0) {
event = orderAggregate.complete(order);
} else {
orderAggregate.submit(order);
paymentOrder.setOrderId(order.getId());
paymentOrderAggregate.create(paymentOrder);
}
return event;
}
}
Loading…
Cancel
Save