From 1ff17fd97a85cd191467b4a2ffe0e4b7b1959af5 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期日, 12 十一月 2023 17:00:25 +0800
Subject: [PATCH] 查询用户同时得到其对应的多个角色,采用积极关联查询方式

---
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java |    3 ++-
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaBlockMapper.xml                     |    4 ++--
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml                      |    6 +++---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaRoleMapper.xml                      |    2 +-
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java   |    7 +++----
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java          |   33 ++++++++++++++++-----------------
 6 files changed, 27 insertions(+), 28 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java
index 8af19e3..ceaa58f 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webUtil/QueryResultVo.java
@@ -19,30 +19,25 @@
      * 姣忛〉鏄剧ず鐨勮褰曟暟
      */
     @Schema(description = "姣忛〉璁板綍鏁�")
-    @Builder.Default
-    public Integer pageSize = 0 ;
+    public Integer pageSize ;
     /**
      * 璁板綍鎬绘暟
      */
     @Schema(description = "璁板綍鎬绘暟")
-    @Builder.Default
-    public Long itemTotal = 0L;
+    public Long itemTotal ;
     /**
      * 褰撳墠椤�
      */
     @Schema(description = "褰撳墠椤�")
-    @Builder.Default
-    public Integer pageCurr = 0;
+    public Integer pageCurr ;
     /**
      * 鎬婚〉鏁�
      */
     @Schema(description = "鎬婚〉鏁�")
-    @Builder.Default
-    public Integer pageTotal = 0;
+    public Integer pageTotal ;
 
     @Schema(description = "鏁版嵁")
-    @Builder.Default
-    public T content = null;
+    public T obj;
 
     /**
      * 鏌ヨ寮�濮嬭褰�
@@ -62,18 +57,22 @@
     public void calculateAndSet(Long itemTotal, Map<String, Object> params) {
         this.itemTotal = itemTotal ;
         if(this.itemTotal == null){
-            itemTotal = 0L ;
+            this.itemTotal = 0L ;
         }
 
-        if (pageSize < 1) {
-            pageSize = 1;
+        if(this.itemTotal == 0){
+            this.pageSize = 1 ;
         }
-        pageTotal = (int)Math.ceil((double)itemTotal/pageSize);
+        if(this.pageSize == null || this.pageSize <= 0){
+            this.pageSize = 1 ;//渚涗笅闈綔涓洪櫎鏁�
+        }
+
+        pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize);
 
         if (pageTotal == 0) {
             pageTotal = 1;
         }
-        if (pageCurr < 1) {
+        if (pageCurr == null || pageCurr < 1) {
             pageCurr = 1;
         }
         if (pageCurr > pageTotal) {
@@ -84,8 +83,8 @@
         this.queryStart = (this.pageCurr - 1) * this.pageSize ;
         this.queryCount = this.pageSize ;
 
-        params.put("queryStart", this.queryStart) ;
-        params.put("queryCount", this.queryCount) ;
+        params.put("start", this.queryStart) ;
+        params.put("count", this.queryCount) ;
     }
 
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaBlockMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaBlockMapper.xml
index 67ccd91..3b87acc 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaBlockMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaBlockMapper.xml
@@ -63,8 +63,8 @@
     </trim>
     order by id DESC
     <trim prefix="limit " >
-      <if test="queryStart != null and queryCount != null">
-        #{queryStart}, #{queryCount}
+      <if test="start != null and count != null">
+        #{start}, #{count}
       </if>
     </trim>
   </select>
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaRoleMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaRoleMapper.xml
index d8c0283..bf3f4a3 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaRoleMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaRoleMapper.xml
@@ -18,7 +18,7 @@
   </sql>
 
   <sql id="part_Column_List">
-    id, name, deleted
+    id, name
   </sql>
 
   <select id="selectAll" resultMap="BaseResultMap">
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml
index f8b2d69..dde6a32 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml
@@ -36,7 +36,7 @@
     </resultMap>
 
     <resultMap id="someResultMap" extends="partResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaUser">
-        <collection property="roleList" fetchType="lazy" column="{userId=id}" select="com.dy.pipIrrGlobal.daoBa.BaRoleMapper.selectByUserId" />
+        <collection property="roleList" fetchType="eager" column="{userId=id}" select="com.dy.pipIrrGlobal.daoBa.BaRoleMapper.selectByUserId" />
     </resultMap>
 
     <sql id="Base_Column_List">
@@ -85,8 +85,8 @@
         </trim>
         order by id DESC
         <trim prefix="limit " >
-            <if test="queryStart != null and queryCount != null">
-                #{queryStart}, #{queryCount}
+            <if test="start != null and count != null">
+                #{start}, #{count}
             </if>
         </trim>
     </select>
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java
index ccd5632..581eb20 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java
@@ -44,8 +44,9 @@
         rsVo.pageSize = vo.pageSize ;
         rsVo.pageCurr = vo.pageCurr ;
         rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = this.dao.selectSome(params) ;
 
-        return (QueryResultVo.<List<BaBlock>>builder().content(this.dao.selectSome(params))).build() ;
+        return rsVo ;
     }
 
     /**
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java
index 3bb6d37..3c16852 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java
@@ -3,13 +3,11 @@
 
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoBa.BaUserMapper;
-import com.dy.pipIrrGlobal.pojoBa.BaBlock;
 import com.dy.pipIrrGlobal.pojoBa.BaUser;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -46,12 +44,13 @@
         Map<String, Object> params = (Map<String, Object>)PojoUtils.generalize(vo) ;
         Long itemTotal = this.dao.selectTotal(params) ;
 
-        QueryResultVo<List<BaBlock>> rsVo = new QueryResultVo<>() ;
+        QueryResultVo<List<BaUser>> rsVo = new QueryResultVo<>() ;
         rsVo.pageSize = vo.pageSize ;
         rsVo.pageCurr = vo.pageCurr ;
         rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = this.dao.selectSome(params) ;
 
-        return (QueryResultVo.<List<BaUser>>builder().content(this.dao.selectSome(params))).build() ;
+        return rsVo ;
     }
 
 }

--
Gitblit v1.8.0