Browse Source

2025-04-24

master
qiezi 9 months ago
parent
commit
8e51cf9d74
  1. 7
      pom.xml
  2. 64
      src/main/java/com/spring/modules/base/controller/CommonController.java
  3. 1315
      src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapperTest.xml

7
pom.xml

@ -361,6 +361,13 @@
<artifactId>ifs-fnd-common</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
</dependencies>
<build>

64
src/main/java/com/spring/modules/base/controller/CommonController.java

@ -0,0 +1,64 @@
package com.spring.modules.base.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageRowBounds;
import com.spring.common.utils.PageUtils;
import com.spring.common.utils.R;
import com.spring.modules.sys.entity.SysUserEntity;
import org.apache.ibatis.session.SqlSession;
import org.apache.poi.ss.formula.functions.T;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
import java.util.Map;
/**
* 通用查询控制器Controller直接调用mybatis的selectList方法省去service层等
*/
@Controller
public class CommonController {
@Autowired
SqlSession sqlSession;
/**
* 通用查询分页暂时有bug如果当前页不在第一页时加参数查询会有问题
*/
@RequestMapping(value = "/select/{namespace}/{statement}/paging")
@ResponseBody
public R paging(@PathVariable("namespace") String namespace,
@PathVariable("statement") String statement,
@RequestBody Map<String, Object> paramMap) {
SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
paramMap.put("site", currentUser.getSite());
int page = 1;
if (paramMap.containsKey("page")) {
page = Integer.parseInt(paramMap.get("page").toString());
}
int size = 20;
if (paramMap.containsKey("limit")) {
size = Integer.parseInt(paramMap.get("limit").toString());
}
PageRowBounds rowBounds = new PageRowBounds((page - 1) * size, size);
List rows = sqlSession.selectList(namespace + "." + statement, paramMap, rowBounds);
IPage<T> pageList = new Page<>(page, size,rowBounds.getTotal());
pageList.setRecords(rows);
return R.ok().put("page", new PageUtils(pageList));
}
@RequestMapping(value = "/select/{namespace}/{statement}/list")
@ResponseBody
public R getList(@PathVariable("namespace") String namespace,
@PathVariable("statement") String statement,
@RequestBody Map<String, Object> paramMap) {
List rows = sqlSession.selectList(namespace + "." + statement, paramMap);
return R.ok().put("rows", rows);
}
}

1315
src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapperTest.xml
File diff suppressed because it is too large
View File

Loading…
Cancel
Save