diff --git a/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductMainCategoryEnum.java b/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductMainCategoryEnum.java index 9f285d0..a043bc2 100644 --- a/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductMainCategoryEnum.java +++ b/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductMainCategoryEnum.java @@ -18,7 +18,7 @@ public enum ProductMainCategoryEnum { UNLOCKING_INFORMATION(3, "解锁信息"), OFFLINE_SERVICES(4, "线下服务"), CHAT_CARD(5,"聊天卡"), - VPI(6, "会员"); + VIP(6, "会员"); @EnumValue @JsonValue private final Integer value; diff --git a/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductSubCategoryEnum.java b/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductSubCategoryEnum.java index 834317a..356248b 100644 --- a/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductSubCategoryEnum.java +++ b/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductSubCategoryEnum.java @@ -24,7 +24,7 @@ public enum ProductSubCategoryEnum { CHAT_CARD(501,"聊天卡"), - VPI(601, "会员"); + VIP(601, "会员"); @EnumValue @JsonValue diff --git a/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/right/constant/RightTypeEnum.java b/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/right/constant/RightTypeEnum.java index e09837d..452ef6f 100644 --- a/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/right/constant/RightTypeEnum.java +++ b/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/right/constant/RightTypeEnum.java @@ -22,7 +22,7 @@ public enum RightTypeEnum { CHAT_CARD(501,"聊天卡"), - VPI(601, "会员"); + VIP(601, "会员"); @EnumValue diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/activity/user/response/ActivityProductListVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/activity/user/response/ActivityProductListVo.java index b9c114d..51ce70e 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/activity/user/response/ActivityProductListVo.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/activity/user/response/ActivityProductListVo.java @@ -17,4 +17,10 @@ public class ActivityProductListVo extends UserPageProductByOperatorVo { @ApiModelProperty("活动售价") private BigDecimal activityUnitSellingPrice; + + @ApiModelProperty("购买次数") + private String purchaseTimeValue; + + @ApiModelProperty("单日使用上限") + private String dailyUseLimitValue; } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/activity/ActivityApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/activity/ActivityApplicationService.java index 192208d..069c27c 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/activity/ActivityApplicationService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/activity/ActivityApplicationService.java @@ -8,6 +8,7 @@ import com.qniao.dam.api.query.activity.user.response.ActivityDetailsVo; import com.qniao.dam.api.query.activity.user.response.ActivityProductListVo; import com.qniao.dam.api.query.activity.user.response.ActivityVo; import com.qniao.dam.api.query.product.user.request.UserPageProductByOperatorQueryParam; +import com.qniao.dam.api.query.product.user.response.UserGetProductDetailByOperatorVo; import com.qniao.dam.domain.aggregate.activity.ActivityAggregate; import com.qniao.dam.domain.aggregate.activity.entity.Activity; import com.qniao.dam.domain.aggregate.activity.entity.ActivityProduct; @@ -15,6 +16,7 @@ import com.qniao.dam.domian.aggregate.activity.constant.ActivityStatusEnum; import com.qniao.dam.infrastructure.persistent.dao.activity.ActivityDao; import com.qniao.dam.infrastructure.persistent.dao.activity.ActivityProductDao; import com.qniao.dam.infrastructure.persistent.dao.view.ProductViewDao; +import com.qniao.dam.query.product.ProductQueryService; import com.qniao.domain.BaseApplicationService; import com.qniao.domain.QnPage; import com.qniao.framework.exception.BizException; @@ -47,6 +49,9 @@ public class ActivityApplicationService extends BaseApplicationService { @Resource private ActivityProductDao activityProductDao; + @Resource + private ProductQueryService productQueryService; + public String saveActivity(Activity activity){ Map> listMap = activity.getActivityProductList().stream().collect(Collectors.groupingBy(ActivityProduct::getProductId)); listMap.forEach((k,v)->{ @@ -77,6 +82,9 @@ public class ActivityApplicationService extends BaseApplicationService { v.setFreebie(av.getFreebie()); v.setActivityUnitOriginalPrice(av.getActivityUnitOriginalPrice()); v.setActivityUnitSellingPrice(av.getActivityUnitSellingPrice()); + UserGetProductDetailByOperatorVo operatorVo = productQueryService.getProductDetailByOperator(v.getProductId()); + v.setPurchaseTimeValue(operatorVo.getPurchaseTimeValue()); + v.setDailyUseLimitValue(operatorVo.getDailyUseLimitValue()); }); vo.setActivityProductListVos(activityProductListVo); return vo; diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/product/ProductApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/product/ProductApplicationService.java index 76aefb2..b71a905 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/product/ProductApplicationService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/product/ProductApplicationService.java @@ -8,6 +8,7 @@ import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec; import com.qniao.dam.domain.service.product.CreateProductDomainService; import com.qniao.dam.domain.service.product.EditProductDomainService; import com.qniao.dam.domian.aggregate.product.constant.ProductStatusEnum; +import com.qniao.dam.infrastructure.persistent.dao.activity.ActivityDao; import com.qniao.dam.infrastructure.persistent.dao.domain.ProductDao; import com.qniao.framework.exception.BizException; import org.springframework.stereotype.Service; @@ -27,6 +28,8 @@ public class ProductApplicationService { private ProductRepository productRepository; @Resource private ProductDao productDao; + @Resource + private ActivityDao activityDao; public Long create(Product product, ProductSpec productSpec) { createProductDomainService.handle(product, productSpec); @@ -34,6 +37,9 @@ public class ProductApplicationService { } public void edit(Product product, ProductSpec productSpec) { + if(activityDao.checkProductActivity(product.getId()) > 0){ + throw new BizException("该产品已经参与活动,活动并已开启!"); + } editProductDomainService.handle(product, productSpec); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/activity/ActivityDao.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/activity/ActivityDao.java index cbfbb63..a429d18 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/activity/ActivityDao.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/activity/ActivityDao.java @@ -21,4 +21,6 @@ public interface ActivityDao extends BaseMapper { @Param("dto") ActivityQueryDto dto, @Param("userId") Long userId, @Param("orgId") Long orgId); + + Integer checkProductActivity(@Param("productId") Long productId); } diff --git a/dating-agency-mall-server/src/main/resources/mapper/activity/ActivityMapper.xml b/dating-agency-mall-server/src/main/resources/mapper/activity/ActivityMapper.xml index 3a9c182..f121405 100644 --- a/dating-agency-mall-server/src/main/resources/mapper/activity/ActivityMapper.xml +++ b/dating-agency-mall-server/src/main/resources/mapper/activity/ActivityMapper.xml @@ -25,4 +25,9 @@ AND start_time < NOW() AND end_time < NOW() + +