13 changed files with 205 additions and 9 deletions
Split View
Diff Options
-
8dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/prc/constant/PointRewardConfigTypeEnum.java
-
6dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductSubCategoryEnum.java
-
22dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/pointaccount/entity/PointAccountRecord.java
-
20dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/puc/event/MatchmakerPointUpgradeExchangedMQ.java
-
20dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/puc/event/PointUpgradeConfigExchangedEvent.java
-
9dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/PointUpgradeConfigUserCommandController.java
-
15dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/puc/user/request/UserExchangeMatchmakerPointUpgradeDto.java
-
45dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/puc/PointUpgradeConfigEventHandler.java
-
55dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/puc/PointUpgradeConfigApplicationService.java
-
1dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/pointaccount/PointAccountAggregate.java
-
4dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java
-
2dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/ProductQueryService.java
-
7dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/impl/ProductQueryServiceImpl.java
@ -0,0 +1,20 @@ |
|||
package com.qniao.dam.domian.aggregate.puc.event; |
|||
|
|||
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
@Data |
|||
public class MatchmakerPointUpgradeExchangedMQ implements Serializable { |
|||
|
|||
|
|||
private Long matchMakerId; |
|||
|
|||
@ApiModelProperty("升级类型") |
|||
private ProductSubCategoryEnum upgradeType; |
|||
|
|||
private Integer validityPeriodDays; |
|||
|
|||
} |
|||
@ -0,0 +1,20 @@ |
|||
package com.qniao.dam.domian.aggregate.puc.event; |
|||
|
|||
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; |
|||
import com.qniao.domain.BaseDomainEvent; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
@Data |
|||
@AllArgsConstructor |
|||
@NoArgsConstructor |
|||
public class PointUpgradeConfigExchangedEvent extends BaseDomainEvent { |
|||
|
|||
private Long matchMakerId; |
|||
|
|||
@ApiModelProperty("升级类型") |
|||
private ProductSubCategoryEnum upgradeType; |
|||
|
|||
} |
|||
@ -0,0 +1,15 @@ |
|||
package com.qniao.dam.api.command.puc.user.request; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
|
|||
@Data |
|||
public class UserExchangeMatchmakerPointUpgradeDto { |
|||
|
|||
@ApiModelProperty("积分升级配置标识") |
|||
@NotNull(message = "积分升级配置标识不能为空") |
|||
private Long pointUpgradeConfigId; |
|||
|
|||
} |
|||
@ -0,0 +1,45 @@ |
|||
package com.qniao.dam.application.handler.puc; |
|||
|
|||
import com.google.common.eventbus.Subscribe; |
|||
import com.qniao.dam.domain.aggregate.product.entity.Product; |
|||
import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec; |
|||
import com.qniao.dam.domain.aggregate.productspec.valueobj.ProductSpecTerm; |
|||
import com.qniao.dam.domian.aggregate.productspec.constant.ProductSpecTermNameEnum; |
|||
import com.qniao.dam.domian.aggregate.puc.event.MatchmakerPointUpgradeExchangedMQ; |
|||
import com.qniao.dam.domian.aggregate.puc.event.PointUpgradeConfigExchangedEvent; |
|||
import com.qniao.dam.infrastructure.constant.MqExchange; |
|||
import com.qniao.dam.query.product.ProductQueryService; |
|||
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; |
|||
import java.util.List; |
|||
import java.util.Objects; |
|||
|
|||
@Component |
|||
@Slf4j |
|||
public class PointUpgradeConfigEventHandler extends BaseApplicationService { |
|||
|
|||
@Resource |
|||
private AmqpTemplate amqpTemplate; |
|||
@Resource |
|||
private ProductQueryService productQueryService; |
|||
|
|||
@Subscribe |
|||
private void handle(PointUpgradeConfigExchangedEvent event) { |
|||
MatchmakerPointUpgradeExchangedMQ mq = TypeConvertUtils.convert(event, MatchmakerPointUpgradeExchangedMQ.class); |
|||
//4.红娘对应等级的有效期查询 |
|||
Product product = productQueryService.queryBy(event.getUpgradeType()); |
|||
List<ProductSpec> productSpecList = productQueryService.listProductSpecBy(product.getId()); |
|||
int validityPeriodDays = 0; |
|||
ProductSpecTerm term = productQueryService.getTermByName(productSpecList.get(0).getProductSpecTermList(), ProductSpecTermNameEnum.VALIDITY_PERIOD); |
|||
if (Objects.nonNull(term)) { |
|||
validityPeriodDays = Integer.parseInt(term.getValue()); |
|||
} |
|||
mq.setValidityPeriodDays(validityPeriodDays); |
|||
amqpTemplate.convertAndSend(MqExchange.MATCHMAKER_POINT_UPGRADE_EXCHANGED, null, mq); |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save