Browse Source

基础配置

master
张彭杰 1 year ago
parent
commit
5682250bec
4 changed files with 63 additions and 7 deletions
  1. 36
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/order/constant/OrderBelongingEnum.java
  2. 13
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/order/entity/Order.java
  3. 11
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/order/OrderEventHandler.java
  4. 10
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/order/OrderApplicationService.java

36
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/order/constant/OrderBelongingEnum.java

@ -0,0 +1,36 @@
package com.qniao.dam.domian.aggregate.order.constant;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
@Getter
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum OrderBelongingEnum {
CUSTOMER(1, "客户"),
MATCHMAKER(2, "红娘");
@EnumValue
@JsonValue
private final Integer value;
private final String desc;
OrderBelongingEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
@JsonCreator
public static OrderBelongingEnum get(Object code) {
for (OrderBelongingEnum e : OrderBelongingEnum.values()) {
if (e.getValue().equals(code)) {
return e;
}
}
return null;
}
}

13
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/order/entity/Order.java

@ -1,7 +1,9 @@
package com.qniao.dam.domain.aggregate.order.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qniao.dam.domian.aggregate.order.constant.OrderBelongingEnum;
import com.qniao.dam.domian.aggregate.order.constant.OrderStatusEnum;
import com.qniao.dam.domian.aggregate.product.constant.ProductTypeEnum;
import com.qniao.domain.Entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -22,6 +24,9 @@ public class Order extends Entity<Order> {
@ApiModelProperty("征婚资料标识")
private Long miId;
@ApiModelProperty("订单归属(客户、红娘)")
private OrderBelongingEnum orderBelonging;
@ApiModelProperty("订单号")
private String orderCode;
@ -39,4 +44,12 @@ public class Order extends Entity<Order> {
private transient Integer groupType;
private transient Long activityId;
public OrderBelongingEnum transformBelonging(ProductTypeEnum productType) {
OrderBelongingEnum orderBelonging = OrderBelongingEnum.CUSTOMER;
if (ProductTypeEnum.MATCHMAKER_VIRTUAL.equals(productType)){
orderBelonging = OrderBelongingEnum.MATCHMAKER;
}
return orderBelonging;
}
}

11
dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/order/OrderEventHandler.java

@ -12,8 +12,10 @@ import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec;
import com.qniao.dam.domain.aggregate.productspec.repository.ProductSpecRepository;
import com.qniao.dam.domain.aggregate.right.RightAggregate;
import com.qniao.dam.domain.aggregate.right.entity.Right;
import com.qniao.dam.domian.aggregate.order.constant.OrderBelongingEnum;
import com.qniao.dam.domian.aggregate.order.event.OrderCompletedEvent;
import com.qniao.dam.domian.aggregate.product.constant.ProductTypeEnum;
import com.qniao.dau.application.UecServerApplicationService;
import com.qniao.domain.BaseApplicationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -38,6 +40,8 @@ public class OrderEventHandler extends BaseApplicationService {
private RightApplicationService rightApplicationService;
@Resource
private RightAggregate rightAggregate;
@Resource
private UecServerApplicationService uecServerApplicationService;
/**
* 订单已完成事件 -> 兑换权益
@ -58,13 +62,14 @@ public class OrderEventHandler extends BaseApplicationService {
if (Objects.nonNull(right)) {
rightList.add(right);
}
} else if (ProductTypeEnum.MATCHMAKER_VIRTUAL.equals(orderItem.getProductType())) {
//红娘加盟费
}
}
batchCreate(rightList);
}
//红娘加盟费
if (OrderBelongingEnum.MATCHMAKER.equals(order.getOrderBelonging())) {
uecServerApplicationService.userPaidMatchmakerFee(order.getUserId());
}
} catch (Exception e) {
log.error("订单已完成事件处理异常");
}

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

@ -12,6 +12,7 @@ import com.qniao.dam.domain.aggregate.product.repository.ProductRepository;
import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec;
import com.qniao.dam.domain.aggregate.productspec.repository.ProductSpecRepository;
import com.qniao.dam.domain.service.order.SubmitOrderDomainService;
import com.qniao.dam.domian.aggregate.order.constant.OrderBelongingEnum;
import com.qniao.dam.domian.aggregate.product.constant.ProductTypeEnum;
import com.qniao.dam.infrastructure.persistent.dao.activity.ActivityProductDao;
import com.qniao.dam.infrastructure.utils.SnowFlakeUtil;
@ -88,14 +89,15 @@ public class OrderApplicationService {
orderItem.setProductTitle(product.getProductTitle());
orderItem.setProductDesc(product.getProductDesc());
orderItem.setUnitSettlementPrice(productSpec.getUnitSellingPrice());
if(order.getGroupType() != null && order.getGroupType() == 1){
order.setOrderBelonging(order.transformBelonging(product.getProductType()));
if (order.getGroupType() != null && order.getGroupType() == 1) {
ActivityProduct activityProduct = activityProductDao.selectOne(Wrappers.lambdaQuery(new ActivityProduct())
.eq(ActivityProduct::getActivityId,order.getActivityId())
.eq(ActivityProduct::getProductSpecId,orderItem.getProductSpecId()));
.eq(ActivityProduct::getActivityId, order.getActivityId())
.eq(ActivityProduct::getProductSpecId, orderItem.getProductSpecId()));
orderItem.setUnitSettlementPrice(activityProduct.getActivityUnitSellingPrice());
}
//1.1. 同类型权益不同规格限制购买和提醒
if(order.getGroupType() == null || order.getGroupType() == 0) {
if (order.getGroupType() == null || order.getGroupType() == 0) {
if (ProductTypeEnum.CUSTOMER_VIRTUAL.equals(product.getProductType())) {
boolean diffFlag = orderQueryService.checkDiffSpecRight(order, orderItem, productSpec);
if (diffFlag) {

Loading…
Cancel
Save