diff --git a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/externalproduct/valueobj/ExternalProductRel.java b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/externalproduct/valueobj/ExternalProductRel.java new file mode 100644 index 0000000..f8c6f89 --- /dev/null +++ b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/externalproduct/valueobj/ExternalProductRel.java @@ -0,0 +1,20 @@ +package com.qniao.dam.domain.aggregate.externalproduct.valueobj; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.qniao.domain.ValueObject; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("da_external_product_rel") +public class ExternalProductRel extends ValueObject { + + @ApiModelProperty("外部标识") + private Long externalId; + + @ApiModelProperty("产品标识") + private Long productId; + +} diff --git a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/product/entity/Product.java b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/product/entity/Product.java index 602c897..5925c46 100644 --- a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/product/entity/Product.java +++ b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/product/entity/Product.java @@ -24,6 +24,9 @@ public class Product extends Entity { @ApiModelProperty("征婚资料标识") private Long miId; + @ApiModelProperty("是否需要管理") + private Boolean manageEnable; + @ApiModelProperty("产品类型(实物、虚拟物品)") private ProductTypeEnum productType; diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/request/UserSubmitMarriageBountyOrderDto.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/request/UserSubmitMarriageBountyOrderDto.java index 16c938c..119f5e1 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/request/UserSubmitMarriageBountyOrderDto.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/request/UserSubmitMarriageBountyOrderDto.java @@ -47,6 +47,7 @@ public class UserSubmitMarriageBountyOrderDto implements Trans2DomainAssembler productIds; + @ApiModelProperty("是否需要管理") + private Boolean manageEnable; + } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/product/ProductEventHandler.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/product/ProductEventHandler.java new file mode 100644 index 0000000..fddabc5 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/product/ProductEventHandler.java @@ -0,0 +1,36 @@ +package com.qniao.dam.application.handler.product; + +import com.qniao.dam.domain.aggregate.product.ProductAggregate; +import com.qniao.dam.domain.aggregate.product.entity.Product; +import com.qniao.dam.infrastructure.constant.MqExchange; +import com.qniao.dam.infrastructure.constant.MqQueue; +import com.qniao.das.domian.aggregate.siteactivity.event.SiteActivityCreatedMQEvent; +import com.qniao.domain.BaseApplicationService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.core.ExchangeTypes; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +@Component +@Slf4j +public class ProductEventHandler extends BaseApplicationService { + + @Resource + private ProductAggregate productAggregate; + + @RabbitListener(bindings = @QueueBinding(value = @Queue(MqQueue.SITE_ACTIVITY_CREATED), + exchange = @Exchange(value = MqExchange.SITE_ACTIVITY_CREATED, + type = ExchangeTypes.FANOUT))) + public void handleConfirmMatch(SiteActivityCreatedMQEvent event) { + try { + Product product = new Product(); + }catch (Exception e){ + log.error("线下活动事件已创建处理异常:", e); + } + } +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java index 04b93b8..b68c08c 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqExchange.java @@ -9,4 +9,6 @@ public interface MqExchange { String REWARD_SELECTED_GUEST = "fanout.rewardSelectedGuest"; String REWARD_MATCH_SUCCESSFULLY = "fanout.rewardMatchSuccessfully"; + + String SITE_ACTIVITY_CREATED = "fanout.siteActivityCreated"; } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqQueue.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqQueue.java index 8e5cad2..a7b2243 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqQueue.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/constant/MqQueue.java @@ -12,4 +12,6 @@ public interface MqQueue { String REWARD_MATCH_SUCCESSFULLY = MqExchange.REWARD_MATCH_SUCCESSFULLY + serviceName; + String SITE_ACTIVITY_CREATED = MqExchange.SITE_ACTIVITY_CREATED + serviceName; + } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/ExternalProductRelDao.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/ExternalProductRelDao.java new file mode 100644 index 0000000..682c911 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/ExternalProductRelDao.java @@ -0,0 +1,7 @@ +package com.qniao.dam.infrastructure.persistent.dao.domain; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qniao.dam.domain.aggregate.externalproduct.valueobj.ExternalProductRel; + +public interface ExternalProductRelDao extends BaseMapper { +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/impl/ProductQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/impl/ProductQueryServiceImpl.java index c6a06e7..ed86aed 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/impl/ProductQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/impl/ProductQueryServiceImpl.java @@ -50,6 +50,7 @@ public class ProductQueryServiceImpl implements ProductQueryService { @Override public IPage pageProductByOperator(PageUtil pageUtil, UserPageProductByOperatorQueryParam queryParam) { + queryParam.setManageEnable(true); return productViewDao.pageProductByOperator(pageUtil.toPageWithoutOrders(), queryParam); } diff --git a/dating-agency-mall-server/src/main/resources/mapper/product/WalletAccountAssociateOrderRecordDao.xml b/dating-agency-mall-server/src/main/resources/mapper/product/WalletAccountAssociateOrderRecordDao.xml index 99cca0e..6b8b539 100644 --- a/dating-agency-mall-server/src/main/resources/mapper/product/WalletAccountAssociateOrderRecordDao.xml +++ b/dating-agency-mall-server/src/main/resources/mapper/product/WalletAccountAssociateOrderRecordDao.xml @@ -24,6 +24,9 @@ LEFT JOIN da_product_spec_term as dpst1 on dpst1.is_delete=0 and dpst1.product_spec_id =dps.id and dpst1.`name`=1 LEFT JOIN da_product_spec_term as dpst2 on dpst2.is_delete=0 and dpst2.product_spec_id =dps.id and dpst2.`name`=3 where dp.is_delete=0 + + AND dp.manage_enable = #{queryParam.manageEnable} + AND dp.main_category = #{queryParam.mainCategory}