Explorar el Código

分页问题修复

S0025136190 hace 1 año
padre
commit
cb4ceb6de8

+ 3 - 1
takai-modules/takai-system/src/main/java/org/dromara/system/controller/room/FacilitiesController.java

@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.*;
 import jakarta.validation.constraints.*;
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.dromara.system.domain.bo.FacPageBo;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
 import org.dromara.common.idempotent.annotation.RepeatSubmit;
 import org.dromara.common.idempotent.annotation.RepeatSubmit;
@@ -110,7 +111,8 @@ public class FacilitiesController extends BaseController {
      * @return
      * @return
      */
      */
     @PostMapping("/facPage")
     @PostMapping("/facPage")
-    public TableDataInfo<FacilitiesVo> roomDetail(@RequestBody FacilitiesBo bo, PageQuery pageQuery) {
+    @SaCheckPermission("system:facilities:list")
+    public TableDataInfo<FacilitiesVo> roomDetail(@Validated(EditGroup.class) @RequestBody FacPageBo bo, PageQuery pageQuery) {
         return facilitiesService.queryPageListByWeixin(bo, pageQuery);
         return facilitiesService.queryPageListByWeixin(bo, pageQuery);
     }
     }
 
 

+ 30 - 0
takai-modules/takai-system/src/main/java/org/dromara/system/domain/bo/FacPageBo.java

@@ -0,0 +1,30 @@
+package org.dromara.system.domain.bo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class FacPageBo {
+
+    private String positionId;
+
+    private String communityId;
+
+    private String roomId;
+
+    private String regionId;
+
+    /**
+     * 分页大小
+     */
+    private Integer pageSize;
+
+    /**
+     * 当前页数
+     */
+    private Integer pageNum;
+
+    private List<String> facilitiesIds;
+
+}

+ 2 - 0
takai-modules/takai-system/src/main/java/org/dromara/system/mapper/RegionFacilitiesMapper.java

@@ -18,4 +18,6 @@ public interface RegionFacilitiesMapper extends BaseMapperPlus<RegionFacilities,
 
 
     Boolean batchDeleteByFacilitiesId(List<String> list);
     Boolean batchDeleteByFacilitiesId(List<String> list);
 
 
+    List<RegionFacilitiesVo> selectListByFacilitiesBoByRegionId(List<String> list);
+
 }
 }

+ 2 - 1
takai-modules/takai-system/src/main/java/org/dromara/system/service/IFacilitiesService.java

@@ -1,5 +1,6 @@
 package org.dromara.system.service;
 package org.dromara.system.service;
 
 
+import org.dromara.system.domain.bo.FacPageBo;
 import org.dromara.system.domain.vo.FacilitiesVo;
 import org.dromara.system.domain.vo.FacilitiesVo;
 import org.dromara.system.domain.bo.FacilitiesBo;
 import org.dromara.system.domain.bo.FacilitiesBo;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -46,5 +47,5 @@ public interface IFacilitiesService {
      */
      */
     Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
     Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
 
 
-    TableDataInfo<FacilitiesVo> queryPageListByWeixin(FacilitiesBo bo, PageQuery pageQuery);
+    TableDataInfo<FacilitiesVo> queryPageListByWeixin(FacPageBo bo, PageQuery pageQuery);
 }
 }

+ 23 - 9
takai-modules/takai-system/src/main/java/org/dromara/system/service/impl/FacilitiesServiceImpl.java

@@ -12,6 +12,7 @@ import org.dromara.system.domain.bo.*;
 import org.dromara.system.domain.vo.*;
 import org.dromara.system.domain.vo.*;
 import org.dromara.system.mapper.*;
 import org.dromara.system.mapper.*;
 import org.dromara.system.service.*;
 import org.dromara.system.service.*;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.dromara.system.domain.Facilities;
 import org.dromara.system.domain.Facilities;
 
 
@@ -256,7 +257,7 @@ public class FacilitiesServiceImpl implements IFacilitiesService {
     }
     }
 
 
     @Override
     @Override
-    public TableDataInfo<FacilitiesVo> queryPageListByWeixin(FacilitiesBo bo, PageQuery pageQuery) {
+    public TableDataInfo<FacilitiesVo> queryPageListByWeixin(FacPageBo bo, PageQuery pageQuery) {
         List<FacilitiesVo> returnList = null;
         List<FacilitiesVo> returnList = null;
         List<RegionVo> rgList = null;
         List<RegionVo> rgList = null;
         Page<FacilitiesVo> result = new Page<>();
         Page<FacilitiesVo> result = new Page<>();
@@ -276,19 +277,32 @@ public class FacilitiesServiceImpl implements IFacilitiesService {
         pageQuery.setPageNum(bo.getPageNum());
         pageQuery.setPageNum(bo.getPageNum());
         pageQuery.setPageSize(bo.getPageSize());
         pageQuery.setPageSize(bo.getPageSize());
         if(rgList != null && rgList.size() > 0){
         if(rgList != null && rgList.size() > 0){
-            RegionFacilitiesBo rfBo = new RegionFacilitiesBo();
-            rfBo.setRegionId(bo.getRegionId() == null ? rgList.get(0).getRegionId() : bo.getRegionId());
-            List<RegionFacilitiesVo> rfList = regionFacilitiesService.queryList(rfBo);
-            List<String> regionIds = rfList.stream().map(RegionFacilitiesVo:: getFacilitiesId).collect(Collectors.toList());
-            bo.setFacilitiesIds(regionIds);
-            LambdaQueryWrapper<Facilities> lqw = buildQueryWrapper(bo);
-            result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+            List<String> regionids = new ArrayList();
+            for(RegionVo rg: rgList){
+                regionids.add(rg.getRegionId());
+            }
+//            RegionFacilitiesBo rfBo = new RegionFacilitiesBo();
+//            rfBo.setRegionId(bo.getRegionId() == null ? rgList.get(0).getRegionId() : bo.getRegionId());
+//            List<RegionFacilitiesVo> rfList = regionFacilitiesService.queryList(rfBo);
+            List<RegionFacilitiesVo> fList = regionFacilitiesMapper.selectListByFacilitiesBoByRegionId(regionids);
+            if(fList != null && fList.size() > 0){
+                List<String> faIds = fList.stream().map(RegionFacilitiesVo:: getFacilitiesId).collect(Collectors.toList());
+                bo.setFacilitiesIds(faIds);
+                FacilitiesBo bo1 = new FacilitiesBo();
+                BeanUtils.copyProperties(bo, bo1);
+                LambdaQueryWrapper<Facilities> lqw = buildQueryWrapper(bo1);
+                result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+            }
+//            List<String> regionIds = rfList.stream().map(RegionFacilitiesVo:: getFacilitiesId).collect(Collectors.toList());
+//            bo.setFacilitiesIds(regionIds);
+//            LambdaQueryWrapper<Facilities> lqw = buildQueryWrapper(bo);
+//            result = baseMapper.selectVoPage(pageQuery.build(), lqw);
         }
         }
         return TableDataInfo.build(result);
         return TableDataInfo.build(result);
     }
     }
 
 
     // type 1 空 2 非空
     // type 1 空 2 非空
-    private List<RegionVo> getRegionList(PositionVo vo, int type, FacilitiesBo bo){
+    private List<RegionVo> getRegionList(PositionVo vo, int type, FacPageBo bo){
         List<RegionVo> rgList = null;
         List<RegionVo> rgList = null;
         if (vo != null){
         if (vo != null){
             List<CommunityVo> comList = communityMapper.selectByPositionId(vo.getPositionId());
             List<CommunityVo> comList = communityMapper.selectByPositionId(vo.getPositionId());

+ 2 - 0
takai-modules/takai-system/src/main/java/org/dromara/system/service/impl/RegionFacilitiesServiceImpl.java

@@ -110,4 +110,6 @@ public class RegionFacilitiesServiceImpl implements IRegionFacilitiesService {
     public Boolean batchDelete(List<String> list) {
     public Boolean batchDelete(List<String> list) {
         return baseMapper.batchDelete(list);
         return baseMapper.batchDelete(list);
     }
     }
+
+
 }
 }

+ 12 - 0
takai-modules/takai-system/src/main/resources/mapper/system/RegionFacilitiesMapper.xml

@@ -4,6 +4,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.dromara.system.mapper.RegionFacilitiesMapper">
 <mapper namespace="org.dromara.system.mapper.RegionFacilitiesMapper">
 
 
+    <resultMap id="facListResultMap" type="org.dromara.system.domain.vo.RegionFacilitiesVo">
+    </resultMap>
+
     <delete id="batchDelete" parameterType="list">
     <delete id="batchDelete" parameterType="list">
         DELETE FROM region_facilities WHERE region_id IN
         DELETE FROM region_facilities WHERE region_id IN
         <foreach item="item" collection="list" open="(" separator="," close=")">
         <foreach item="item" collection="list" open="(" separator="," close=")">
@@ -18,4 +21,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach>
         </foreach>
     </delete>
     </delete>
 
 
+    <select id="selectListByFacilitiesBoByRegionId" parameterType="list"  resultMap="facListResultMap">
+        select rg.* FROM
+        region_facilities rg
+        where rg.region_id in
+        <foreach item="item" collection="list" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </select>
+
 </mapper>
 </mapper>