david 2 лет назад
Родитель
Сommit
b6aaf3832d

BIN
out/artifacts/roma_api_jar/roma-api.jar


+ 10 - 0
src/main/java/com/roma/romaapi/controller/ApiController.java

@@ -96,6 +96,16 @@ public class ApiController {
         return CustomResponse.formatResponse(ret);
     }
 
+    // 返回带分页格式的数据-page列表管理页
+    @RequestMapping("/api/pageManageList")
+    public Map pageManageList(HttpServletRequest request, @RequestBody String data){
+        Map maps = commonUtil.analysisRequestParams(request, data); // 参数
+        Map<String, Object> ret = new HashMap<>();
+        ret = apiService.pageListHasPaging(maps);
+
+        return CustomResponse.formatResponse(ret);
+    }
+
     // 获取指定页面page_details表数据
     @RequestMapping("/api/pageDetail")
     public Map pageDetail(HttpServletRequest request, @RequestBody String data){

+ 24 - 0
src/main/java/com/roma/romaapi/dao/PageDao.java

@@ -4,6 +4,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.dao.EmptyResultDataAccessException;
 import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
 import org.springframework.stereotype.Repository;
+import com.roma.romaapi.utils.CommonUtil;
 
 import java.util.HashMap;
 import java.util.List;
@@ -13,6 +14,8 @@ import java.util.Map;
 public class PageDao {
     @Autowired
     private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
+    @Autowired
+    private CommonUtil commonUtil;
 
     // 获取页面json
     public Map dbQueryForMap(String pageCode) {
@@ -79,6 +82,27 @@ public class PageDao {
         return resMap2;
     }
 
+    // Page页面管理-获取带分页的列表数据
+    public List<Map<String, Object>> getAllPageListHasPaging(Map bindValue, String page, String perPage, Integer count) {
+        // 计算分页
+        String limitAfter = commonUtil.calcPagingString(count, page, perPage);
+        String listSql = "SELECT  *  FROM `page_details` WHERE 1=1 ORDER BY `id` DESC " + " LIMIT " + limitAfter;
+
+        List<Map<String, Object>> resMap2 = namedParameterJdbcTemplate.queryForList(listSql, bindValue);
+
+        return resMap2;
+    }
+
+    // Page页面管理-获取总数
+    public Integer getAllPageListHasPagingCount(Map bindValue) {
+        // 获取总数
+        String countInnerSql = " SELECT * FROM `page_details` WHERE 1=1 ";
+        String countSql = "SELECT COUNT(*) AS `totalData` FROM ( " + countInnerSql + " ) AS ROMA";
+        Integer count = namedParameterJdbcTemplate.queryForObject(countSql, bindValue, Integer.class);
+
+        return count;
+    }
+
     // 获取全部的sql
     public List<Map<String, Object>> getAllSqlList() {
         Map<String, Object> paramMap = new HashMap<>();

+ 20 - 0
src/main/java/com/roma/romaapi/service/ApiService.java

@@ -127,6 +127,26 @@ public class ApiService {
         return menuData;
     }
 
+    // page管理列表-获取带分页的page数据
+    public Map pageListHasPaging(Map<String, String> maps) {
+        String page = "1"; // 页数
+        String perPage = "15"; // 显示多少条
+        Map res = new HashMap<>();
+        Map bindData = commonUtil.filterApiBindParams(maps);
+        if(maps.containsKey("page")) {
+            page = maps.get("page");
+        }
+        if(maps.containsKey("perPage")) {
+            perPage = maps.get("perPage");
+        }
+        Integer count = pageDao.getAllPageListHasPagingCount(bindData);
+        List info = pageDao.getAllPageListHasPaging(bindData, page, perPage, count);
+        res.put("count", count);
+        res.put("rows", info);
+
+        return res;
+    }
+
     // 获取全部sql_details
     public List sqlList() {
         Map<String, Object> map = new HashMap<>();

+ 40 - 0
src/main/java/com/roma/romaapi/utils/CommonUtil.java

@@ -99,4 +99,44 @@ public class CommonUtil {
 
         return dateString;
     }
+
+    // api的请求,整理返回的要绑定的参数信息
+    public Map filterApiBindParams(Map<String, String> maps) {
+        Map bindData = new HashMap<>();
+        for (Map.Entry<String, String> entry : maps.entrySet()) {
+            String paramsKey = entry.getKey();
+            String paramsValue = entry.getValue();
+            String fourBeforestring = "";
+            if(paramsKey.length() >= 4) {
+                fourBeforestring = paramsKey.substring(0,4);
+                if (fourBeforestring.equals("api_")) {
+                    bindData.put(paramsKey, paramsValue);
+                }
+            }
+        }
+
+        return bindData;
+    }
+
+    /**
+     * // 计算分页,返回 5,10 这种
+     * @param count
+     * @param page
+     * @param perPage
+     * @return
+     */
+    public String calcPagingString(Integer count, String page, String perPage){
+        Integer nowPage = Integer.parseInt(page);  // 当前第几页
+        Integer nowPerPage = Integer.parseInt(perPage); // 每页多少条
+        Integer maxPage = count / nowPerPage + (count % nowPerPage != 0 ? 1 : 0);// 总数/每页多少条=最多多少页
+        if (nowPage <= 1) {
+            nowPage = 1;
+        } else if (maxPage > 0 && nowPage >= maxPage) {
+            nowPage = maxPage;
+        }
+        Integer startNum = (nowPage - 1) * nowPerPage;
+        String limitAfter = startNum + "," + nowPerPage;
+
+        return limitAfter;
+    }
 }

+ 1 - 1
src/main/resources/application.properties

@@ -1 +1 @@
-#服务
server.port=8056
server.servlet.session.timeout=600

#数据库
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://192.168.88.110:3306/lowcode?serverTimezone=UTC&tinyInt1isBit=false&transformedBitIsBoolean=false
spring.datasource.username = root
spring.datasource.password = mypass

#redis
spring.redis.database=0
spring.redis.password=
#spring.redis.password=name:password
spring.redis.port=6379
spring.redis.host=127.0.0.1
spring.redis.timeout=5000
+#服务
server.port=8056
server.servlet.session.timeout=600

#数据库
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://172.27.254.70:3306/lowcode?serverTimezone=UTC&tinyInt1isBit=false&transformedBitIsBoolean=false
spring.datasource.username = root
spring.datasource.password = mypass

#redis
spring.redis.database=0
spring.redis.password=
#spring.redis.password=name:password
spring.redis.port=6379
spring.redis.host=127.0.0.1
spring.redis.timeout=5000