13 changed files with 205 additions and 9 deletions
Unified 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