Browse Source

列表接口添加分页

lijie 2 years ago
parent
commit
6040ace88e

+ 6 - 3
mhotel/src/com/happy/action/WorkflowAction.java

@@ -9,6 +9,7 @@ import com.happy.Model.Workflow;
 import com.happy.Until.GetHttpParam;
 import com.happy.Until.GetHttpParam;
 import com.happy.Until.ResUtil;
 import com.happy.Until.ResUtil;
 import com.happy.Until.UUIDUtil;
 import com.happy.Until.UUIDUtil;
+import com.happy.dto.IPage;
 import com.happy.service.BookingCommentService;
 import com.happy.service.BookingCommentService;
 import com.happy.service.FileService;
 import com.happy.service.FileService;
 import com.happy.service.WorkflowService;
 import com.happy.service.WorkflowService;
@@ -31,6 +32,8 @@ public class WorkflowAction  extends ActionSupport implements ServletRequestAwar
     public String id;//流程id
     public String id;//流程id
     public String hotelId;//民宿id
     public String hotelId;//民宿id
     public Integer status; //状态 1、正在审批 2、审批通过3、拒绝
     public Integer status; //状态 1、正在审批 2、审批通过3、拒绝
+    public Integer page = 1; // 当前页
+    public Integer rows = 10;// 每页显示的行数rows
 
 
     @Resource
     @Resource
     public WorkflowService workflowService;
     public WorkflowService workflowService;
@@ -205,7 +208,7 @@ public class WorkflowAction  extends ActionSupport implements ServletRequestAwar
         if (status != null){
         if (status != null){
             s1.append(" and a.status = ").append(status).append(" ");
             s1.append(" and a.status = ").append(status).append(" ");
         }
         }
-        List<Workflow> list = workflowService.queryList(s1.toString());
+        IPage<Workflow> list = workflowService.queryList(s1.toString(), page, rows);
         resultJson.put("message", "查询成功");
         resultJson.put("message", "查询成功");
         resultJson.put("code", 200);
         resultJson.put("code", 200);
         resultJson.put("data", list);
         resultJson.put("data", list);
@@ -221,7 +224,7 @@ public class WorkflowAction  extends ActionSupport implements ServletRequestAwar
         JSONObject resultJson = new JSONObject();
         JSONObject resultJson = new JSONObject();
         StringBuilder s1 = new StringBuilder("");
         StringBuilder s1 = new StringBuilder("");
         s1.append(" and a.status = 1 ");
         s1.append(" and a.status = 1 ");
-        List<Workflow> list = workflowService.queryList(s1.toString());
+        IPage<Workflow> list = workflowService.queryList(s1.toString(), page, rows);
         resultJson.put("message", "查询成功");
         resultJson.put("message", "查询成功");
         resultJson.put("code", 200);
         resultJson.put("code", 200);
         resultJson.put("data", list);
         resultJson.put("data", list);
@@ -236,7 +239,7 @@ public class WorkflowAction  extends ActionSupport implements ServletRequestAwar
         JSONObject resultJson = new JSONObject();
         JSONObject resultJson = new JSONObject();
         StringBuilder s1 = new StringBuilder("");
         StringBuilder s1 = new StringBuilder("");
         s1.append(" and a.status != 1 ");
         s1.append(" and a.status != 1 ");
-        List<Workflow> list = workflowService.queryList(s1.toString());
+        IPage<Workflow> list = workflowService.queryList(s1.toString(), page, rows);
         resultJson.put("message", "查询成功");
         resultJson.put("message", "查询成功");
         resultJson.put("code", 200);
         resultJson.put("code", 200);
         resultJson.put("data", list);
         resultJson.put("data", list);

+ 3 - 1
mhotel/src/com/happy/dao/WorkflowDao.java

@@ -12,5 +12,7 @@ public interface WorkflowDao {
 
 
     public int update(Workflow workflow);
     public int update(Workflow workflow);
 
 
-    public List<Workflow> queryList(String sqlx);
+    public List<Workflow> queryList(String sqlx, int page, int rows);
+
+    int queryTotal(String sqlx);
 }
 }

+ 18 - 9
mhotel/src/com/happy/dao/impl/WorkflowImplDao.java

@@ -1,5 +1,6 @@
 package com.happy.dao.impl;
 package com.happy.dao.impl;
 
 
+import com.happy.Model.BookingComment;
 import com.happy.Model.Hotel;
 import com.happy.Model.Hotel;
 import com.happy.Model.Workflow;
 import com.happy.Model.Workflow;
 import com.happy.Until.Func;
 import com.happy.Until.Func;
@@ -100,19 +101,27 @@ public class WorkflowImplDao implements WorkflowDao {
     }
     }
 
 
     @Override
     @Override
-    public List<Workflow> queryList(String sqlx) {
+    public List<Workflow> queryList(String sqlx, int page, int rows) {
         SqlUtil.filterKeyword(sqlx);
         SqlUtil.filterKeyword(sqlx);
-        String sql = selectSql + sqlx;
-        List<Workflow> list = null;
-        try{
-            list = namedParameterJdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Workflow.class));
-        }catch (Exception e){
-            e.printStackTrace();
-        }
-        if(list != null && list.size()>0) return list;
+        int start = (page - 1) * rows;// 每页的起始下标
+        String sql = selectSql + sqlx +  " ORDER BY a.create_date DESC limit :start,:rows ";;
+        MapSqlParameterSource sps = new MapSqlParameterSource();
+        sps.addValue("start", start);
+        sps.addValue("rows", rows);
+        List<Workflow> list = namedParameterJdbcTemplate.query(sql, sps,
+                new BeanPropertyRowMapper<>(Workflow.class));
+        if (list != null && list.size() > 0) return list;
         return null;
         return null;
     }
     }
 
 
+    @Override
+    public int queryTotal(String sqlx) {
+        SqlUtil.filterKeyword(sqlx);
+        String sql = "SELECT count(*) FROM (" + selectSql + ") a where 1 = 1 " + sqlx;
+        MapSqlParameterSource sps = new MapSqlParameterSource();
+        return namedParameterJdbcTemplate.queryForInt(sql, sps);
+    }
+
     public void appendValue(Workflow workflow, StringBuffer stringBuffer, MapSqlParameterSource sps){
     public void appendValue(Workflow workflow, StringBuffer stringBuffer, MapSqlParameterSource sps){
         if (!Func.checkNull(workflow.getLinkId())){
         if (!Func.checkNull(workflow.getLinkId())){
             stringBuffer.append(" link_id=:link_id ,");
             stringBuffer.append(" link_id=:link_id ,");

+ 2 - 1
mhotel/src/com/happy/service/WorkflowService.java

@@ -1,6 +1,7 @@
 package com.happy.service;
 package com.happy.service;
 
 
 import com.happy.Model.Workflow;
 import com.happy.Model.Workflow;
+import com.happy.dto.IPage;
 
 
 import java.util.List;
 import java.util.List;
 
 
@@ -11,5 +12,5 @@ public interface WorkflowService {
 
 
     public int update(Workflow workflow);
     public int update(Workflow workflow);
 
 
-    public List<Workflow> queryList(String sqlx);
+    public IPage<Workflow> queryList(String sqlx,int page, int rows);
 }
 }

+ 12 - 2
mhotel/src/com/happy/service/impl/WorkflowImplService.java

@@ -1,8 +1,10 @@
 package com.happy.service.impl;
 package com.happy.service.impl;
 
 
+import com.happy.Model.BookingComment;
 import com.happy.Model.Workflow;
 import com.happy.Model.Workflow;
 import com.happy.dao.HouseNumberDao;
 import com.happy.dao.HouseNumberDao;
 import com.happy.dao.WorkflowDao;
 import com.happy.dao.WorkflowDao;
+import com.happy.dto.IPage;
 import com.happy.service.WorkflowService;
 import com.happy.service.WorkflowService;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
@@ -31,7 +33,15 @@ public class WorkflowImplService implements WorkflowService {
     }
     }
 
 
     @Override
     @Override
-    public List<Workflow> queryList(String sqlx) {
-        return workflowDao.queryList(sqlx);
+    public IPage<Workflow> queryList(String sqlx, int page, int rows) {
+        IPage<Workflow> iPage = new IPage();
+        List<Workflow> workflows = workflowDao.queryList(sqlx,page,rows);
+        int total = workflowDao.queryTotal(sqlx);
+        iPage.setPageList(workflows);
+        iPage.setPage(page);
+        iPage.setTotalPage((int) Math.ceil((double) total / rows));
+        iPage.setRows(rows);
+        iPage.setTotal(total);
+        return iPage;
     }
     }
 }
 }