add 演示Demo增加自定义分页接口案例

This commit is contained in:
疯狂的狮子li 2021-07-21 12:07:12 +08:00
parent ed197ce7ac
commit 85376e8d6e
7 changed files with 74 additions and 9 deletions

View File

@ -48,7 +48,17 @@ public class TestDemoController extends BaseController {
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("导出测试单表列表")

View File

@ -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 @@ import org.apache.ibatis.annotations.CacheNamespace;
@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);
}

View File

@ -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 @@ public interface ITestDemoService extends IServicePlus<TestDemo> {
* 查询列表
*/
TableDataInfo<TestDemoVo> queryPageList(TestDemoQueryBo bo);
/**
* 自定义分页查询
*/
TableDataInfo<TestDemoVo> customPageList(TestDemoQueryBo bo);
/**
* 查询列表
*/
List<TestDemoVo> queryList(TestDemoQueryBo bo);

View File

@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
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 @@ public class TestDemoServiceImpl extends ServicePlusImpl<TestDemoMapper, TestDem
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) {

View File

@ -18,6 +18,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<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>
</mapper>

View File

@ -9,6 +9,15 @@ export function listDemo(query) {
})
}
// 自定义分页接口
export function pageDemo(query) {
return request({
url: '/demo/demo/page',
method: 'get',
params: query
})
}
// 查询测试单表详细
export function getDemo(id) {
return request({
@ -50,4 +59,4 @@ export function exportDemo(query) {
method: 'get',
params: query
})
}
}

View File

@ -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 @@ export default {
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 @@ export default {
this.queryParams.pageNum = 1;
this.getList();
},
/** 搜索按钮操作 */
handlePage() {
this.queryParams.pageNum = 1;
this.getPage();
},
/** 重置按钮操作 */
resetQuery() {
this.daterangeCreateTime = [];