diff --git a/cloud-market-common/pom.xml b/cloud-market-common/pom.xml index 53a2aa3..c30b770 100644 --- a/cloud-market-common/pom.xml +++ b/cloud-market-common/pom.xml @@ -23,6 +23,12 @@ com.muyu cloud-common-core + + org.springdoc + springdoc-openapi-starter-common + 2.0.4 + compile + diff --git a/cloud-market-common/src/main/java/com/muyu/market/domian/config/PageParam.java b/cloud-market-common/src/main/java/com/muyu/market/domian/config/PageParam.java new file mode 100644 index 0000000..04f0df4 --- /dev/null +++ b/cloud-market-common/src/main/java/com/muyu/market/domian/config/PageParam.java @@ -0,0 +1,129 @@ + +package com.muyu.market.domian.config; + +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; +import io.swagger.v3.oas.annotations.Hidden; +import io.swagger.v3.oas.annotations.media.Schema; +import org.springdoc.core.annotations.ParameterObject; + +import java.util.Collections; +import java.util.List; + +/** + * 分页参数 + * @author yami + */ +@Schema +@ParameterObject +public class PageParam extends PageDTO { + + private static final int PAGE_LIMIT = 100; + /** + * 每页显示条数,默认 10 + */ + @Schema(description = "每页大小,默认10") + private long size = 10; + + /** + * 当前页 + */ + @Schema(description = "当前页,默认1") + private long current = 1; + + /** + * 查询数据列表 + */ + @Hidden + private List records; + /** + * 总数 + */ + @Hidden + private long total = 0; + + + /** + * 是否进行 count 查询 + */ + @Hidden + private boolean searchCount = true; + + @Hidden + private String countId; + @Hidden + private Long maxLimit; + @Hidden + private boolean optimizeCountSql; + @Hidden + private List orders; + + @Override + public List getRecords() { + return this.records; + } + + @Override + public Page setRecords(List records) { + this.records = records; + return this; + } + + @Override + public long getTotal() { + return this.total; + } + + @Override + public Page setTotal(long total) { + this.total = total; + return this; + } + + @Hidden + public boolean searchCount() { + if (total < 0) { + return false; + } + return searchCount; + } + + @Override + public Page setSearchCount(boolean searchCount) { + this.searchCount = searchCount; + return this; + } + + @Override + public long getSize() { + return this.size; + } + + @Override + public Page setSize(long size) { + if (size > PAGE_LIMIT) { + this.size = PAGE_LIMIT; + } else { + this.size = size; + } + return this; + } + + @Override + public long getCurrent() { + return this.current; + } + + @Override + public Page setCurrent(long current) { + this.current = current; + return this; + } + + @Override + public void setOrders(List orders) { + super.setOrders(Collections.emptyList()); + } + +} diff --git a/cloud-market-server/src/main/java/com/muyu/master/controller/DefinedController.java b/cloud-market-server/src/main/java/com/muyu/master/controller/DefinedController.java index bd67cde..0c4c060 100644 --- a/cloud-market-server/src/main/java/com/muyu/master/controller/DefinedController.java +++ b/cloud-market-server/src/main/java/com/muyu/master/controller/DefinedController.java @@ -1,21 +1,24 @@ package com.muyu.master.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.dtflys.forest.springboot.annotation.ForestScannerRegister; import com.muyu.common.core.domain.Result; import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.market.domian.Defined; +import com.muyu.market.domian.config.PageParam; import com.muyu.market.domian.req.DefinedReq; import com.muyu.master.service.DefinedService; +import io.micrometer.common.util.StringUtils; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.stream.Collectors; /** * @Author:ChenYan @@ -42,15 +45,39 @@ public class DefinedController { @Autowired private DefinedService definedService; + + /** * 接口列表 */ @RequestMapping(path = "/list",method = RequestMethod.POST) @Operation(summary = "查询",description = "根据接口的名称、编码,是否开启等可以进行筛选") - public Result> selectList( - @Validated @RequestBody DefinedReq definedReq) { + public Result> selectList(PageParam page, + @Validated @RequestBody DefinedReq definedReq) { + + /**模糊查询 名称**/ + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like( + StringUtils.isNotEmpty(definedReq.getDefinedName()), + Defined::getDefinedName,definedReq.getDefinedName() + ); + + /**模糊查询 有效期**/ + queryWrapper.like( + StringUtils.isNotEmpty(String.valueOf(definedReq.getDefinedDateValidity())), + Defined::getDefinedDateValidity, + definedReq.getDefinedDateValidity() + ); + + PageParampageDTO=definedService.page(page,queryWrapper); + List list = pageDTO.getRecords(); + + list.stream() + .map(Defined::getDefinedId) + .collect(Collectors.toList()); + return Result.success( - definedService.selectList(definedReq) + pageDTO ); }