From 85376e8d6e56a7b7588dc556303ec16d45c5a7f3 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期三, 21 七月 2021 12:07:12 +0800
Subject: [PATCH] add 演示Demo增加自定义分页接口案例
---
ruoyi-ui/src/api/demo/demo.js | 11 +++++
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java | 12 +++++
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java | 11 +++++
ruoyi-ui/src/views/demo/demo/index.vue | 22 ++++++++++
ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestDemoService.java | 16 +++++--
ruoyi-demo/src/main/resources/mapper/demo/TestDemoMapper.xml | 5 ++
ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/TestDemoMapper.java | 6 +++
7 files changed, 74 insertions(+), 9 deletions(-)
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
index 2ac99d6..9ba8a2a 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
@@ -48,7 +48,17 @@
return iTestDemoService.queryPageList(bo);
}
- /**
+ /**
+ * 鑷畾涔夊垎椤垫煡璇�
+ */
+ @ApiOperation("鑷畾涔夊垎椤垫煡璇�")
+ @PreAuthorize("@ss.hasPermi('demo:demo:list')")
+ @GetMapping("/page")
+ public TableDataInfo<TestDemoVo> page(@Validated TestDemoQueryBo bo) {
+ return iTestDemoService.customPageList(bo);
+ }
+
+ /**
* 瀵煎嚭娴嬭瘯鍗曡〃鍒楄〃
*/
@ApiOperation("瀵煎嚭娴嬭瘯鍗曡〃鍒楄〃")
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/TestDemoMapper.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/TestDemoMapper.java
index aceaf6d..45dc539 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/TestDemoMapper.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/TestDemoMapper.java
@@ -1,9 +1,13 @@
package com.ruoyi.demo.mapper;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
import com.ruoyi.demo.domain.TestDemo;
+import com.ruoyi.demo.vo.TestDemoVo;
import org.apache.ibatis.annotations.CacheNamespace;
+import org.apache.ibatis.annotations.Param;
/**
* 娴嬭瘯鍗曡〃Mapper鎺ュ彛
@@ -15,4 +19,6 @@
@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class)
public interface TestDemoMapper extends BaseMapperPlus<TestDemo> {
+ Page<TestDemoVo> customPageList(@Param("page") Page<TestDemo> page, @Param("ew") Wrapper<TestDemo> wrapper);
+
}
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestDemoService.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestDemoService.java
index c011325..2676703 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestDemoService.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/ITestDemoService.java
@@ -1,12 +1,12 @@
package com.ruoyi.demo.service;
-import com.ruoyi.demo.domain.TestDemo;
-import com.ruoyi.demo.vo.TestDemoVo;
-import com.ruoyi.demo.bo.TestDemoQueryBo;
-import com.ruoyi.demo.bo.TestDemoAddBo;
-import com.ruoyi.demo.bo.TestDemoEditBo;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.demo.bo.TestDemoAddBo;
+import com.ruoyi.demo.bo.TestDemoEditBo;
+import com.ruoyi.demo.bo.TestDemoQueryBo;
+import com.ruoyi.demo.domain.TestDemo;
+import com.ruoyi.demo.vo.TestDemoVo;
import java.util.Collection;
import java.util.List;
@@ -29,7 +29,13 @@
* 鏌ヨ鍒楄〃
*/
TableDataInfo<TestDemoVo> queryPageList(TestDemoQueryBo bo);
+
/**
+ * 鑷畾涔夊垎椤垫煡璇�
+ */
+ TableDataInfo<TestDemoVo> customPageList(TestDemoQueryBo bo);
+
+ /**
* 鏌ヨ鍒楄〃
*/
List<TestDemoVo> queryList(TestDemoQueryBo bo);
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java
index 4d35efe..552c70d 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java
@@ -4,6 +4,7 @@
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.PagePlus;
@@ -43,6 +44,16 @@
return PageUtils.buildDataInfo(result);
}
+ /**
+ * 鑷畾涔夊垎椤垫煡璇�
+ */
+ @DataScope(isUser = true)
+ @Override
+ public TableDataInfo<TestDemoVo> customPageList(TestDemoQueryBo bo) {
+ Page<TestDemoVo> result = baseMapper.customPageList(PageUtils.buildPage(), buildQueryWrapper(bo));
+ return PageUtils.buildDataInfo(result);
+ }
+
@DataScope(isUser = true)
@Override
public List<TestDemoVo> queryList(TestDemoQueryBo bo) {
diff --git a/ruoyi-demo/src/main/resources/mapper/demo/TestDemoMapper.xml b/ruoyi-demo/src/main/resources/mapper/demo/TestDemoMapper.xml
index ec433d6..bfec5a0 100644
--- a/ruoyi-demo/src/main/resources/mapper/demo/TestDemoMapper.xml
+++ b/ruoyi-demo/src/main/resources/mapper/demo/TestDemoMapper.xml
@@ -18,6 +18,9 @@
<result property="updateBy" column="update_by"/>
<result property="delFlag" column="del_flag"/>
</resultMap>
+ <select id="customPageList" resultType="com.ruoyi.demo.vo.TestDemoVo">
+ SELECT * FROM test_demo ${ew.customSqlSegment}
+ </select>
-</mapper>
\ No newline at end of file
+</mapper>
diff --git a/ruoyi-ui/src/api/demo/demo.js b/ruoyi-ui/src/api/demo/demo.js
index fc9937d..c7195af 100644
--- a/ruoyi-ui/src/api/demo/demo.js
+++ b/ruoyi-ui/src/api/demo/demo.js
@@ -9,6 +9,15 @@
})
}
+// 鑷畾涔夊垎椤垫帴鍙�
+export function pageDemo(query) {
+ return request({
+ url: '/demo/demo/page',
+ method: 'get',
+ params: query
+ })
+}
+
// 鏌ヨ娴嬭瘯鍗曡〃璇︾粏
export function getDemo(id) {
return request({
@@ -50,4 +59,4 @@
method: 'get',
params: query
})
-}
\ No newline at end of file
+}
diff --git a/ruoyi-ui/src/views/demo/demo/index.vue b/ruoyi-ui/src/views/demo/demo/index.vue
index a6679f3..c2ef2e0 100644
--- a/ruoyi-ui/src/views/demo/demo/index.vue
+++ b/ruoyi-ui/src/views/demo/demo/index.vue
@@ -33,6 +33,7 @@
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="handlePage">鎼滅储(鑷畾涔夊垎椤垫帴鍙�)</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
</el-form-item>
</el-form>
@@ -168,7 +169,7 @@
</template>
<script>
-import { listDemo, getDemo, delDemo, addDemo, updateDemo, exportDemo } from "@/api/demo/demo";
+import { listDemo, pageDemo, getDemo, delDemo, addDemo, updateDemo, exportDemo } from "@/api/demo/demo";
export default {
name: "Demo",
@@ -239,6 +240,20 @@
this.loading = false;
});
},
+ /** 鑷畾涔夊垎椤垫煡璇� */
+ getPage() {
+ this.loading = true;
+ this.queryParams.params = {};
+ if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
+ this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
+ this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
+ }
+ pageDemo(this.queryParams).then(response => {
+ this.demoList = response.rows;
+ this.total = response.total;
+ this.loading = false;
+ });
+ },
// 鍙栨秷鎸夐挳
cancel() {
this.open = false;
@@ -267,6 +282,11 @@
this.queryParams.pageNum = 1;
this.getList();
},
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handlePage() {
+ this.queryParams.pageNum = 1;
+ this.getPage();
+ },
/** 閲嶇疆鎸夐挳鎿嶄綔 */
resetQuery() {
this.daterangeCreateTime = [];
--
Gitblit v1.9.3