diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/odc/user/OrderDiscountConfigUserQueryController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/odc/user/OrderDiscountConfigUserQueryController.java new file mode 100644 index 0000000..b70e760 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/odc/user/OrderDiscountConfigUserQueryController.java @@ -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 userPageOrderDiscountConfig(PageUtil pageUtil, + UserPageOrderDiscountConfigQueryParams queryParams) { + return PageUtil.convert(orderDiscountConfigQueryService.pageOrderDiscountConfig(queryParams, pageUtil), UserPageOrderDiscountConfigVo.class); + } + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/odc/user/request/UserPageOrderDiscountConfigQueryParams.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/odc/user/request/UserPageOrderDiscountConfigQueryParams.java new file mode 100644 index 0000000..26abb06 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/odc/user/request/UserPageOrderDiscountConfigQueryParams.java @@ -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; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/odc/user/response/UserPageOrderDiscountConfigVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/odc/user/response/UserPageOrderDiscountConfigVo.java new file mode 100644 index 0000000..5f30b5d --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/odc/user/response/UserPageOrderDiscountConfigVo.java @@ -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; +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/odc/OrderDiscountConfigDao.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/odc/OrderDiscountConfigDao.java index 80a1807..03a2327 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/odc/OrderDiscountConfigDao.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/odc/OrderDiscountConfigDao.java @@ -1,7 +1,12 @@ 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; /** * 订单优惠配置 @@ -9,4 +14,8 @@ import com.qniao.dam.domain.aggregate.odc.entity.OrderDiscountConfig; * @date 2024/12/07 */ public interface OrderDiscountConfigDao extends BaseMapper { + + IPage page(Page pageWithoutOrders, + @Param("queryParams") UserPageOrderDiscountConfigQueryParams queryParams); + } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/OrderDiscountConfigQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/OrderDiscountConfigQueryService.java index 1f58ed8..14ff2e0 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/OrderDiscountConfigQueryService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/OrderDiscountConfigQueryService.java @@ -1,5 +1,11 @@ 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.framework.utils.PageUtil; + public interface OrderDiscountConfigQueryService { + IPage pageOrderDiscountConfig(UserPageOrderDiscountConfigQueryParams queryParams, PageUtil pageUtil); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/impl/OrderDiscountConfigQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/impl/OrderDiscountConfigQueryServiceImpl.java index 402114d..b2bcff2 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/impl/OrderDiscountConfigQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/odc/impl/OrderDiscountConfigQueryServiceImpl.java @@ -1,9 +1,24 @@ package com.qniao.dam.query.odc.impl; +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.infrastructure.persistent.dao.odc.OrderDiscountConfigDao; import com.qniao.dam.query.odc.OrderDiscountConfigQueryService; +import com.qniao.framework.utils.PageUtil; import org.springframework.stereotype.Service; +import javax.annotation.Resource; + @Service public class OrderDiscountConfigQueryServiceImpl implements OrderDiscountConfigQueryService { + @Resource + private OrderDiscountConfigDao orderDiscountConfigDao; + + @Override + public IPage pageOrderDiscountConfig(UserPageOrderDiscountConfigQueryParams queryParams, + PageUtil pageUtil) { + return orderDiscountConfigDao.page(pageUtil.toPageWithoutOrders(), queryParams); + } } \ No newline at end of file diff --git a/dating-agency-mall-server/src/main/resources/mapper/odc/OrderDiscountConfigMapper.xml b/dating-agency-mall-server/src/main/resources/mapper/odc/OrderDiscountConfigMapper.xml new file mode 100644 index 0000000..97c7d78 --- /dev/null +++ b/dating-agency-mall-server/src/main/resources/mapper/odc/OrderDiscountConfigMapper.xml @@ -0,0 +1,28 @@ + + + + + + + \ No newline at end of file