Browse Source

代码重构

dev-V1.0.1
庄锐波 7 months ago
parent
commit
62e8ea94e8
  1. 16
      ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/TestEnfDemoController.java
  2. 24
      ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/TestEnfDemoMapper.java
  3. 18
      ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ITestEnfDemoService.java
  4. 34
      ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/TestEnfDemoServiceImpl.java
  5. 23
      ruoyi-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/TestEnfDemoMapper.xml

16
ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/TestEnfDemoController.java

@ -45,6 +45,22 @@ public class TestEnfDemoController extends BaseController {
return testEnfDemoService.queryPageList(bo, pageQuery); return testEnfDemoService.queryPageList(bo, pageQuery);
} }
/**
* 自定义SQL分页查询enf测试单列表(方式二demo)
*/
@GetMapping("/customList")
public TableDataInfo<TestEnfDemoVo> customList(TestEnfDemoBo bo, PageQuery pageQuery) {
return testEnfDemoService.customPageList(bo, pageQuery);
}
/**
* 全手动分页查询enf测试单列表(方案A demo,完全绕过拦截器)
*/
@GetMapping("/manualList")
public TableDataInfo<TestEnfDemoVo> manualList(TestEnfDemoBo bo, PageQuery pageQuery) {
return testEnfDemoService.manualPageList(bo, pageQuery);
}
/** /**
* 导出enf测试单列表 * 导出enf测试单列表
*/ */

24
ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/TestEnfDemoMapper.java

@ -1,15 +1,39 @@
package com.zdxt.enforcementcode.mapper; package com.zdxt.enforcementcode.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zdxt.enforcementcode.domain.TestEnfDemo; import com.zdxt.enforcementcode.domain.TestEnfDemo;
import com.zdxt.enforcementcode.domain.vo.TestEnfDemoVo; import com.zdxt.enforcementcode.domain.vo.TestEnfDemoVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import java.util.List;
/** /**
* enf测试单Mapper接口 * enf测试单Mapper接口
* *
* @author Lion Li * @author Lion Li
* @date 2026-04-18 * @date 2026-04-18
*/ */
@Mapper
public interface TestEnfDemoMapper extends BaseMapperPlus<TestEnfDemo, TestEnfDemoVo> { public interface TestEnfDemoMapper extends BaseMapperPlus<TestEnfDemo, TestEnfDemoVo> {
/**
* 自定义SQL分页查询
*/
Page<TestEnfDemoVo> customPageList(@Param("page") Page<TestEnfDemo> page, @Param("ew") Wrapper<TestEnfDemo> wrapper);
/**
* 手动分页 - 查询总数(不经过拦截器)
*/
Long manualCount(@Param("ew") Wrapper<TestEnfDemo> wrapper);
/**
* 手动分页 - 查询当前页数据(SQL中自带LIMIT,不经过拦截器)
*/
List<TestEnfDemoVo> manualSelectList(@Param("ew") Wrapper<TestEnfDemo> wrapper,
@Param("offset") int offset,
@Param("pageSize") int pageSize);
} }

18
ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ITestEnfDemoService.java

@ -33,6 +33,24 @@ public interface ITestEnfDemoService {
*/ */
TableDataInfo<TestEnfDemoVo> queryPageList(TestEnfDemoBo bo, PageQuery pageQuery); TableDataInfo<TestEnfDemoVo> queryPageList(TestEnfDemoBo bo, PageQuery pageQuery);
/**
* 自定义SQL分页查询enf测试单列表(方式二demo)
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return enf测试单分页列表
*/
TableDataInfo<TestEnfDemoVo> customPageList(TestEnfDemoBo bo, PageQuery pageQuery);
/**
* 全手动分页查询enf测试单列表(方案A demo,完全绕过拦截器)
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return enf测试单分页列表
*/
TableDataInfo<TestEnfDemoVo> manualPageList(TestEnfDemoBo bo, PageQuery pageQuery);
/** /**
* 查询符合条件的enf测试单列表 * 查询符合条件的enf测试单列表
* *

34
ruoyi-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/TestEnfDemoServiceImpl.java

@ -58,6 +58,38 @@ public class TestEnfDemoServiceImpl implements ITestEnfDemoService {
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
/**
* 自定义SQL分页查询enf测试单列表(方式二demo)
*/
@Override
public TableDataInfo<TestEnfDemoVo> customPageList(TestEnfDemoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<TestEnfDemo> lqw = buildQueryWrapper(bo);
Page<TestEnfDemoVo> result = baseMapper.customPageList(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 全手动分页(方案A demo)
* 完全绕过PaginationInnerInterceptor拦截器,自己控制COUNT和LIMIT
*/
@Override
public TableDataInfo<TestEnfDemoVo> manualPageList(TestEnfDemoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<TestEnfDemo> lqw = buildQueryWrapper(bo);
// 1. 手动查询总数
Long total = baseMapper.manualCount(lqw);
if (total == null || total == 0) {
return TableDataInfo.build();
}
// 2. 手动计算offset
int pageNum = pageQuery.getPageNum() != null ? pageQuery.getPageNum() : 1;
int pageSize = pageQuery.getPageSize() != null ? pageQuery.getPageSize() : 10;
int offset = (pageNum - 1) * pageSize;
// 3. 查询当前页数据(SQL中自带LIMIT,不传IPage,拦截器不会介入)
List<TestEnfDemoVo> list = baseMapper.manualSelectList(lqw, offset, pageSize);
// 4. 手动组装分页结果
return new TableDataInfo<>(list, total);
}
/** /**
* 查询符合条件的enf测试单列表 * 查询符合条件的enf测试单列表
* *
@ -74,7 +106,7 @@ public class TestEnfDemoServiceImpl implements ITestEnfDemoService {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<TestEnfDemo> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<TestEnfDemo> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(TestEnfDemo::getId); lqw.orderByAsc(TestEnfDemo::getId);
lqw.eq(StringUtils.isNotBlank(bo.getEnfText()), TestEnfDemo::getEnfText, bo.getEnfText()); lqw.like(StringUtils.isNotBlank(bo.getEnfText()), TestEnfDemo::getEnfText, bo.getEnfText());
lqw.eq(StringUtils.isNotBlank(bo.getEnfContent()), TestEnfDemo::getEnfContent, bo.getEnfContent()); lqw.eq(StringUtils.isNotBlank(bo.getEnfContent()), TestEnfDemo::getEnfContent, bo.getEnfContent());
lqw.eq(bo.getDeptId() != null, TestEnfDemo::getDeptId, bo.getDeptId()); lqw.eq(bo.getDeptId() != null, TestEnfDemo::getDeptId, bo.getDeptId());
lqw.eq(bo.getUserId() != null, TestEnfDemo::getUserId, bo.getUserId()); lqw.eq(bo.getUserId() != null, TestEnfDemo::getUserId, bo.getUserId());

23
ruoyi-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/TestEnfDemoMapper.xml

@ -3,4 +3,27 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zdxt.enforcementcode.mapper.TestEnfDemoMapper"> <mapper namespace="com.zdxt.enforcementcode.mapper.TestEnfDemoMapper">
<!-- 自定义SQL分页查询demo -->
<select id="customPageList" resultType="com.zdxt.enforcementcode.domain.vo.TestEnfDemoVo">
SELECT id, enf_text, enf_content, dept_id, user_id, order_num, test_key, value
FROM test_enf_demo
${ew.customSqlSegment}
</select>
<!-- 方案A: 手动分页 - 自定义count查询 -->
<select id="manualCount" resultType="java.lang.Long">
SELECT COUNT(*)
FROM test_enf_demo
${ew.customSqlSegment}
</select>
<!-- 方案A: 手动分页 - 自带LIMIT的数据查询 -->
<select id="manualSelectList" resultType="com.zdxt.enforcementcode.domain.vo.TestEnfDemoVo">
SELECT id, enf_text, enf_content, dept_id, user_id, order_num, test_key, value
FROM test_enf_demo
${ew.customSqlSegment}
LIMIT #{offset}, #{pageSize}
</select>
</mapper> </mapper>

Loading…
Cancel
Save