5 changed files with 77 additions and 17 deletions
Split View
Diff Options
-
16dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/order/entity/Order.java
-
17dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/order/entity/OrderItem.java
-
28dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/order/OrderApplicationService.java
-
5dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/OrderDiscountConfigQueryService.java
-
28dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/impl/OrderDiscountConfigQueryServiceImpl.java
@ -1,24 +1,52 @@ |
|||
package com.qniao.dam.query.odc.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.qniao.dam.api.query.odc.user.request.UserPageOrderDiscountConfigQueryParams; |
|||
import com.qniao.dam.api.query.odc.user.response.UserPageOrderDiscountConfigVo; |
|||
import com.qniao.dam.domain.aggregate.odc.entity.OrderDiscountConfig; |
|||
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; |
|||
import com.qniao.dam.infrastructure.persistent.dao.odc.OrderDiscountConfigDao; |
|||
import com.qniao.dam.query.account.AccountQueryService; |
|||
import com.qniao.dam.query.odc.OrderDiscountConfigQueryService; |
|||
import com.qniao.dau.domain.aggregate.account.entity.Account; |
|||
import com.qniao.dau.domian.aggregate.account.constant.AccountTypeEnum; |
|||
import com.qniao.framework.utils.PageUtil; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.math.BigDecimal; |
|||
import java.util.Objects; |
|||
|
|||
@Service |
|||
public class OrderDiscountConfigQueryServiceImpl implements OrderDiscountConfigQueryService { |
|||
|
|||
@Resource |
|||
private OrderDiscountConfigDao orderDiscountConfigDao; |
|||
@Resource |
|||
private AccountQueryService accountQueryService; |
|||
|
|||
@Override |
|||
public IPage<UserPageOrderDiscountConfigVo> pageOrderDiscountConfig(UserPageOrderDiscountConfigQueryParams queryParams, |
|||
PageUtil pageUtil) { |
|||
return orderDiscountConfigDao.page(pageUtil.toPageWithoutOrders(), queryParams); |
|||
} |
|||
|
|||
@Override |
|||
public BigDecimal queryBy(Long userId, ProductSubCategoryEnum subCategory) { |
|||
BigDecimal discountAmount = BigDecimal.ZERO; |
|||
Account phoneAccount = accountQueryService.queryByUserIdAndType(userId, AccountTypeEnum.MOBILE); |
|||
if (Objects.nonNull(phoneAccount)) { |
|||
OrderDiscountConfig orderDiscountConfig = orderDiscountConfigDao.selectOne(new LambdaQueryWrapper<OrderDiscountConfig>() |
|||
.eq(OrderDiscountConfig::getPhone, phoneAccount.getTid()) |
|||
.eq(OrderDiscountConfig::getSubCategory, subCategory) |
|||
.eq(OrderDiscountConfig::getEnable, true) |
|||
.orderByDesc(OrderDiscountConfig::getCreateTime) |
|||
.last("limit 1")); |
|||
if (Objects.nonNull(orderDiscountConfig)) { |
|||
discountAmount = orderDiscountConfig.getDiscountAmount(); |
|||
} |
|||
} |
|||
return discountAmount; |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save