Browse Source

新增vpi接口

master
996472796@qq.com 2 years ago
parent
commit
b152d67350
8 changed files with 30 additions and 3 deletions
  1. 2
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductMainCategoryEnum.java
  2. 2
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/product/constant/ProductSubCategoryEnum.java
  3. 2
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/right/constant/RightTypeEnum.java
  4. 6
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/activity/user/response/ActivityProductListVo.java
  5. 8
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/activity/ActivityApplicationService.java
  6. 6
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/product/ProductApplicationService.java
  7. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/activity/ActivityDao.java
  8. 5
      dating-agency-mall-server/src/main/resources/mapper/activity/ActivityMapper.xml

2
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;

2
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

2
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

6
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;
}

8
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<Long,List<ActivityProduct>> 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;

6
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);
}

2
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<Activity> {
@Param("dto") ActivityQueryDto dto,
@Param("userId") Long userId,
@Param("orgId") Long orgId);
Integer checkProductActivity(@Param("productId") Long productId);
}

5
dating-agency-mall-server/src/main/resources/mapper/activity/ActivityMapper.xml

@ -25,4 +25,9 @@
AND start_time &lt; NOW() AND end_time &lt; NOW()
</if>
</select>
<select id="checkProductActivity" resultType="java.lang.Integer">
SELECT count(a.id) FROM da_activity a LEFT JOIN da_activity_product ap ON a.id = ap.activity_id
WHERE a.start_time &lt;= NOW() AND a.end_time >= NOW() AND ap.product_id = #{productId}
</select>
</mapper>
Loading…
Cancel
Save