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