20 changed files with 551 additions and 21 deletions
Unified View
Diff Options
-
36dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/odc/entity/OrderDiscountConfig.java
-
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
-
43dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/odc/user/OrderDiscountConfigUserCommandController.java
-
33dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/odc/user/request/UserCreateOrderDiscountConfigDto.java
-
12dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/odc/user/request/UserDeleteOrderDiscountConfigDto.java
-
39dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/odc/user/request/UserEditOrderDiscountConfigDto.java
-
12dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/odc/user/request/UserEnableOrderDiscountConfigDto.java
-
31dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/odc/user/OrderDiscountConfigUserQueryController.java
-
19dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/odc/user/request/UserPageOrderDiscountConfigQueryParams.java
-
38dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/odc/user/response/UserPageOrderDiscountConfigVo.java
-
39dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/odc/OrderDiscountConfigApplicationService.java
-
36dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/order/OrderApplicationService.java
-
31dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/odc/OrderDiscountConfigAggregate.java
-
12dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/odc/repository/OrderDiscountConfigRepository.java
-
21dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/odc/OrderDiscountConfigDao.java
-
41dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/OrderDiscountConfigRepositoryImpl.java
-
16dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/OrderDiscountConfigQueryService.java
-
52dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/impl/OrderDiscountConfigQueryServiceImpl.java
-
28dating-agency-mall-server/src/main/resources/mapper/odc/OrderDiscountConfigMapper.xml
@ -0,0 +1,36 @@ |
|||||
|
package com.qniao.dam.domain.aggregate.odc.entity; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||
|
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
import lombok.EqualsAndHashCode; |
||||
|
import com.qniao.domain.Entity; |
||||
|
import java.math.BigDecimal; |
||||
|
|
||||
|
/** |
||||
|
* 订单优惠配置 |
||||
|
* |
||||
|
* @date 2024/12/07 |
||||
|
*/ |
||||
|
@Data |
||||
|
@EqualsAndHashCode(callSuper = true) |
||||
|
@TableName("da_order_discount_config") |
||||
|
public class OrderDiscountConfig extends Entity<OrderDiscountConfig> { |
||||
|
|
||||
|
|
||||
|
@ApiModelProperty("手机号码") |
||||
|
private String phone; |
||||
|
|
||||
|
@ApiModelProperty("产品次分类") |
||||
|
private ProductSubCategoryEnum subCategory; |
||||
|
|
||||
|
@ApiModelProperty("折扣金额") |
||||
|
private BigDecimal discountAmount; |
||||
|
|
||||
|
@ApiModelProperty("启用") |
||||
|
private Boolean enable; |
||||
|
|
||||
|
@ApiModelProperty("备注") |
||||
|
private String remark; |
||||
|
} |
||||
@ -0,0 +1,43 @@ |
|||||
|
package com.qniao.dam.api.command.odc.user; |
||||
|
|
||||
|
import com.qniao.dam.api.command.odc.user.request.*; |
||||
|
import com.qniao.dam.application.service.odc.OrderDiscountConfigApplicationService; |
||||
|
import io.swagger.annotations.Api; |
||||
|
import io.swagger.annotations.ApiOperation; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
import javax.annotation.Resource; |
||||
|
import javax.validation.Valid; |
||||
|
|
||||
|
@Api(tags = "订单优惠配置") |
||||
|
@RestController |
||||
|
@RequestMapping("user") |
||||
|
public class OrderDiscountConfigUserCommandController { |
||||
|
|
||||
|
@Resource |
||||
|
private OrderDiscountConfigApplicationService orderDiscountConfigApplicationService; |
||||
|
|
||||
|
@ApiOperation("用户创建订单优惠配置") |
||||
|
@PostMapping("create/order-discount-config") |
||||
|
public void userCreateOrderDiscountConfig(@RequestBody @Valid UserCreateOrderDiscountConfigDto dto) { |
||||
|
orderDiscountConfigApplicationService.create(dto.trans2Domain()); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("用户编辑订单优惠配置") |
||||
|
@PostMapping("edit/order-discount-config") |
||||
|
public void userEditOrderDiscountConfig(@RequestBody @Valid UserEditOrderDiscountConfigDto dto) { |
||||
|
orderDiscountConfigApplicationService.edit(dto.trans2Domain()); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("用户删除订单优惠配置") |
||||
|
@PostMapping("delete/order-discount-config") |
||||
|
public void userDeleteOrderDiscountConfig(@RequestBody @Valid UserDeleteOrderDiscountConfigDto dto) { |
||||
|
orderDiscountConfigApplicationService.delete(dto.getId()); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("用户启停订单优惠配置") |
||||
|
@PostMapping("enable/order-discount-config") |
||||
|
public void userEnableOrderDiscountConfig(@RequestBody @Valid UserEnableOrderDiscountConfigDto dto) { |
||||
|
orderDiscountConfigApplicationService.enable(dto.getId()); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,33 @@ |
|||||
|
package com.qniao.dam.api.command.odc.user.request; |
||||
|
|
||||
|
import com.qniao.dam.domain.aggregate.odc.entity.OrderDiscountConfig; |
||||
|
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; |
||||
|
import com.qniao.domain.Trans2DomainAssembler; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import com.qniao.framework.utils.TypeConvertUtils; |
||||
|
import java.math.BigDecimal; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Data |
||||
|
public class UserCreateOrderDiscountConfigDto implements Trans2DomainAssembler<OrderDiscountConfig> { |
||||
|
|
||||
|
@ApiModelProperty("手机号码") |
||||
|
private String phone; |
||||
|
|
||||
|
@ApiModelProperty("产品次分类") |
||||
|
private ProductSubCategoryEnum subCategory; |
||||
|
|
||||
|
@ApiModelProperty("折扣金额") |
||||
|
private BigDecimal discountAmount; |
||||
|
|
||||
|
@ApiModelProperty("启用") |
||||
|
private Boolean enable; |
||||
|
|
||||
|
@ApiModelProperty("备注") |
||||
|
private String remark; |
||||
|
|
||||
|
@Override |
||||
|
public OrderDiscountConfig trans2Domain() { |
||||
|
return TypeConvertUtils.convert(this, OrderDiscountConfig.class); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,12 @@ |
|||||
|
package com.qniao.dam.api.command.odc.user.request; |
||||
|
|
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Data |
||||
|
public class UserDeleteOrderDiscountConfigDto { |
||||
|
|
||||
|
@ApiModelProperty("唯一标识") |
||||
|
private Long id; |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,39 @@ |
|||||
|
package com.qniao.dam.api.command.odc.user.request; |
||||
|
|
||||
|
import com.qniao.dam.domain.aggregate.odc.entity.OrderDiscountConfig; |
||||
|
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; |
||||
|
import com.qniao.domain.Trans2DomainAssembler; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import com.qniao.framework.utils.TypeConvertUtils; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.validation.constraints.NotNull; |
||||
|
|
||||
|
@Data |
||||
|
public class UserEditOrderDiscountConfigDto implements Trans2DomainAssembler<OrderDiscountConfig> { |
||||
|
|
||||
|
|
||||
|
@ApiModelProperty("唯一标识") |
||||
|
@NotNull(message = "唯一标识不能为空") |
||||
|
private Long id; |
||||
|
|
||||
|
@ApiModelProperty("手机号码") |
||||
|
private String phone; |
||||
|
|
||||
|
@ApiModelProperty("产品次分类") |
||||
|
private ProductSubCategoryEnum subCategory; |
||||
|
|
||||
|
@ApiModelProperty("折扣金额") |
||||
|
private BigDecimal discountAmount; |
||||
|
|
||||
|
@ApiModelProperty("备注") |
||||
|
private String remark; |
||||
|
|
||||
|
@Override |
||||
|
public OrderDiscountConfig trans2Domain() { |
||||
|
return TypeConvertUtils.convert(this, OrderDiscountConfig.class); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,12 @@ |
|||||
|
package com.qniao.dam.api.command.odc.user.request; |
||||
|
|
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Data |
||||
|
public class UserEnableOrderDiscountConfigDto { |
||||
|
|
||||
|
@ApiModelProperty("唯一标识") |
||||
|
private Long id; |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,31 @@ |
|||||
|
package com.qniao.dam.api.query.odc.user; |
||||
|
|
||||
|
import com.qniao.dam.api.query.odc.user.request.UserPageOrderDiscountConfigQueryParams; |
||||
|
import com.qniao.dam.api.query.odc.user.response.UserPageOrderDiscountConfigVo; |
||||
|
import com.qniao.dam.query.odc.OrderDiscountConfigQueryService; |
||||
|
import com.qniao.domain.QnPage; |
||||
|
import com.qniao.framework.utils.PageUtil; |
||||
|
import io.swagger.annotations.Api; |
||||
|
import io.swagger.annotations.ApiOperation; |
||||
|
import org.springframework.web.bind.annotation.GetMapping; |
||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||
|
import org.springframework.web.bind.annotation.RestController; |
||||
|
|
||||
|
import javax.annotation.Resource; |
||||
|
|
||||
|
@Api(tags = "订单优惠配置") |
||||
|
@RestController |
||||
|
@RequestMapping("user") |
||||
|
public class OrderDiscountConfigUserQueryController { |
||||
|
|
||||
|
@Resource |
||||
|
private OrderDiscountConfigQueryService orderDiscountConfigQueryService; |
||||
|
|
||||
|
@GetMapping("page/order-discount-config") |
||||
|
@ApiOperation("用户查询订单优惠配置分页") |
||||
|
public QnPage<UserPageOrderDiscountConfigVo> userPageOrderDiscountConfig(PageUtil pageUtil, |
||||
|
UserPageOrderDiscountConfigQueryParams queryParams) { |
||||
|
return PageUtil.convert(orderDiscountConfigQueryService.pageOrderDiscountConfig(queryParams, pageUtil), UserPageOrderDiscountConfigVo.class); |
||||
|
} |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,19 @@ |
|||||
|
package com.qniao.dam.api.query.odc.user.request; |
||||
|
|
||||
|
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Data |
||||
|
public class UserPageOrderDiscountConfigQueryParams { |
||||
|
|
||||
|
@ApiModelProperty("手机号码") |
||||
|
private String phone; |
||||
|
|
||||
|
@ApiModelProperty("产品次分类") |
||||
|
private ProductSubCategoryEnum subCategory; |
||||
|
|
||||
|
@ApiModelProperty("启用") |
||||
|
private Boolean enable; |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,38 @@ |
|||||
|
package com.qniao.dam.api.query.odc.user.response; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; |
||||
|
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
import java.time.LocalDateTime; |
||||
|
|
||||
|
@Data |
||||
|
public class UserPageOrderDiscountConfigVo { |
||||
|
|
||||
|
@ApiModelProperty("唯一标识") |
||||
|
@JsonSerialize(using = ToStringSerializer.class) |
||||
|
private Long id; |
||||
|
|
||||
|
@ApiModelProperty("手机号码") |
||||
|
private String phone; |
||||
|
|
||||
|
@ApiModelProperty("产品次分类") |
||||
|
private ProductSubCategoryEnum subCategory; |
||||
|
|
||||
|
@ApiModelProperty("折扣金额") |
||||
|
private BigDecimal discountAmount; |
||||
|
|
||||
|
@ApiModelProperty("启用") |
||||
|
private Boolean enable; |
||||
|
|
||||
|
@ApiModelProperty("备注") |
||||
|
private String remark; |
||||
|
|
||||
|
@ApiModelProperty("创建时间") |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
||||
|
private LocalDateTime createTime; |
||||
|
} |
||||
@ -0,0 +1,39 @@ |
|||||
|
package com.qniao.dam.application.service.odc; |
||||
|
|
||||
|
import com.qniao.dam.domain.aggregate.odc.OrderDiscountConfigAggregate; |
||||
|
import com.qniao.dam.domain.aggregate.odc.entity.OrderDiscountConfig; |
||||
|
import com.qniao.dam.domain.aggregate.odc.repository.OrderDiscountConfigRepository; |
||||
|
import com.qniao.dam.infrastructure.persistent.dao.odc.OrderDiscountConfigDao; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import javax.annotation.Resource; |
||||
|
import java.util.Objects; |
||||
|
|
||||
|
@Service |
||||
|
public class OrderDiscountConfigApplicationService { |
||||
|
|
||||
|
@Resource |
||||
|
private OrderDiscountConfigAggregate orderDiscountConfigAggregate; |
||||
|
@Resource |
||||
|
private OrderDiscountConfigRepository orderDiscountConfigRepository; |
||||
|
|
||||
|
public void create(OrderDiscountConfig orderDiscountConfig) { |
||||
|
orderDiscountConfigAggregate.create(orderDiscountConfig); |
||||
|
} |
||||
|
|
||||
|
public void edit(OrderDiscountConfig orderDiscountConfig) { |
||||
|
orderDiscountConfigAggregate.edit(orderDiscountConfig); |
||||
|
} |
||||
|
|
||||
|
public void delete(Long id) { |
||||
|
orderDiscountConfigAggregate.delete(id); |
||||
|
} |
||||
|
|
||||
|
public void enable(Long id) { |
||||
|
OrderDiscountConfig orderDiscountConfig = orderDiscountConfigRepository.load(id); |
||||
|
if (Objects.nonNull(orderDiscountConfig)) { |
||||
|
orderDiscountConfig.setEnable(!orderDiscountConfig.getEnable()); |
||||
|
orderDiscountConfigRepository.save(orderDiscountConfig); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,31 @@ |
|||||
|
package com.qniao.dam.domain.aggregate.odc; |
||||
|
|
||||
|
import com.qniao.dam.domain.aggregate.odc.entity.OrderDiscountConfig; |
||||
|
import com.qniao.dam.domain.aggregate.odc.repository.OrderDiscountConfigRepository; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import javax.annotation.Resource; |
||||
|
|
||||
|
/** |
||||
|
* 订单优惠配置 |
||||
|
* |
||||
|
* @date 2024/12/07 |
||||
|
*/ |
||||
|
@Service |
||||
|
public class OrderDiscountConfigAggregate { |
||||
|
|
||||
|
@Resource |
||||
|
private OrderDiscountConfigRepository repository; |
||||
|
|
||||
|
public void create(OrderDiscountConfig entity) { |
||||
|
repository.save(entity); |
||||
|
} |
||||
|
|
||||
|
public void edit(OrderDiscountConfig entity) { |
||||
|
repository.save(entity); |
||||
|
} |
||||
|
|
||||
|
public void delete(Long id) { |
||||
|
repository.delete(id); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,12 @@ |
|||||
|
package com.qniao.dam.domain.aggregate.odc.repository; |
||||
|
|
||||
|
import com.qniao.dam.domain.aggregate.odc.entity.OrderDiscountConfig; |
||||
|
import com.qniao.domain.Repository; |
||||
|
|
||||
|
/** |
||||
|
* 订单优惠配置 |
||||
|
* |
||||
|
* @date 2024/12/07 |
||||
|
*/ |
||||
|
public interface OrderDiscountConfigRepository extends Repository<OrderDiscountConfig, Long> { |
||||
|
} |
||||
@ -0,0 +1,21 @@ |
|||||
|
package com.qniao.dam.infrastructure.persistent.dao.odc; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
|
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 org.apache.ibatis.annotations.Param; |
||||
|
|
||||
|
/** |
||||
|
* 订单优惠配置 |
||||
|
* |
||||
|
* @date 2024/12/07 |
||||
|
*/ |
||||
|
public interface OrderDiscountConfigDao extends BaseMapper<OrderDiscountConfig> { |
||||
|
|
||||
|
IPage<UserPageOrderDiscountConfigVo> page(Page<Object> pageWithoutOrders, |
||||
|
@Param("queryParams") UserPageOrderDiscountConfigQueryParams queryParams); |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,41 @@ |
|||||
|
package com.qniao.dam.infrastructure.persistent.repository.impl; |
||||
|
|
||||
|
import com.qniao.dam.domain.aggregate.odc.entity.OrderDiscountConfig; |
||||
|
import com.qniao.dam.domain.aggregate.odc.repository.OrderDiscountConfigRepository; |
||||
|
import com.qniao.dam.infrastructure.persistent.dao.odc.OrderDiscountConfigDao; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import javax.annotation.Resource; |
||||
|
import java.util.Objects; |
||||
|
|
||||
|
/** |
||||
|
* 订单优惠配置 |
||||
|
* |
||||
|
* @date 2024/12/07 |
||||
|
*/ |
||||
|
@Service |
||||
|
public class OrderDiscountConfigRepositoryImpl implements OrderDiscountConfigRepository { |
||||
|
|
||||
|
@Resource |
||||
|
private OrderDiscountConfigDao dao; |
||||
|
|
||||
|
@Override |
||||
|
public OrderDiscountConfig load(Long id) { |
||||
|
return dao.selectById(id); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Long save(OrderDiscountConfig entity) { |
||||
|
if (Objects.isNull(entity) || Objects.isNull(dao.selectById(entity.getId()))) { |
||||
|
dao.insert(entity); |
||||
|
} else { |
||||
|
dao.updateById(entity); |
||||
|
} |
||||
|
return entity.getId(); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void delete(Long id) { |
||||
|
dao.deleteById(id); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,16 @@ |
|||||
|
package com.qniao.dam.query.odc; |
||||
|
|
||||
|
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.domian.aggregate.product.constant.ProductSubCategoryEnum; |
||||
|
import com.qniao.framework.utils.PageUtil; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
|
||||
|
public interface OrderDiscountConfigQueryService { |
||||
|
|
||||
|
IPage<UserPageOrderDiscountConfigVo> pageOrderDiscountConfig(UserPageOrderDiscountConfigQueryParams queryParams, PageUtil pageUtil); |
||||
|
|
||||
|
BigDecimal queryBy(Long userId, ProductSubCategoryEnum subCategory); |
||||
|
} |
||||
@ -0,0 +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; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,28 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
|
<mapper namespace="com.qniao.dam.infrastructure.persistent.dao.odc.OrderDiscountConfigDao"> |
||||
|
|
||||
|
<select id="page" resultType="com.qniao.dam.api.query.odc.user.response.UserPageOrderDiscountConfigVo"> |
||||
|
SELECT |
||||
|
daodc.id, |
||||
|
daodc.phone, |
||||
|
daodc.sub_category, |
||||
|
daodc.discount_amount, |
||||
|
daodc.`enable`, |
||||
|
daodc.remark, |
||||
|
daodc.create_time |
||||
|
from da_order_discount_config as daodc |
||||
|
where daodc.is_delete=0 |
||||
|
<if test="queryParams.enable != null"> |
||||
|
and daodc.`enable` = #{queryParams.enable} |
||||
|
</if> |
||||
|
<if test="queryParams.subCategory != null"> |
||||
|
and daodc.sub_category = #{queryParams.subCategory} |
||||
|
</if> |
||||
|
<if test="queryParams.phone != null and queryParams.phone != '' "> |
||||
|
AND daodc.phone LIKE CONCAT('%', TRIM(#{queryParams.phone}), '%') |
||||
|
</if> |
||||
|
ORDER BY daodc.create_time desc |
||||
|
</select> |
||||
|
|
||||
|
</mapper> |
||||
Write
Preview
Loading…
Cancel
Save