5 changed files with 77 additions and 17 deletions
Unified 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; |
package com.qniao.dam.query.odc.impl; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
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.request.UserPageOrderDiscountConfigQueryParams; |
||||
import com.qniao.dam.api.query.odc.user.response.UserPageOrderDiscountConfigVo; |
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.infrastructure.persistent.dao.odc.OrderDiscountConfigDao; |
||||
|
import com.qniao.dam.query.account.AccountQueryService; |
||||
import com.qniao.dam.query.odc.OrderDiscountConfigQueryService; |
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 com.qniao.framework.utils.PageUtil; |
||||
import org.springframework.stereotype.Service; |
import org.springframework.stereotype.Service; |
||||
|
|
||||
import javax.annotation.Resource; |
import javax.annotation.Resource; |
||||
|
import java.math.BigDecimal; |
||||
|
import java.util.Objects; |
||||
|
|
||||
@Service |
@Service |
||||
public class OrderDiscountConfigQueryServiceImpl implements OrderDiscountConfigQueryService { |
public class OrderDiscountConfigQueryServiceImpl implements OrderDiscountConfigQueryService { |
||||
|
|
||||
@Resource |
@Resource |
||||
private OrderDiscountConfigDao orderDiscountConfigDao; |
private OrderDiscountConfigDao orderDiscountConfigDao; |
||||
|
@Resource |
||||
|
private AccountQueryService accountQueryService; |
||||
|
|
||||
@Override |
@Override |
||||
public IPage<UserPageOrderDiscountConfigVo> pageOrderDiscountConfig(UserPageOrderDiscountConfigQueryParams queryParams, |
public IPage<UserPageOrderDiscountConfigVo> pageOrderDiscountConfig(UserPageOrderDiscountConfigQueryParams queryParams, |
||||
PageUtil pageUtil) { |
PageUtil pageUtil) { |
||||
return orderDiscountConfigDao.page(pageUtil.toPageWithoutOrders(), queryParams); |
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