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