chenshudong před 4 měsíci
rodič
revize
680b119cff

+ 11 - 0
airport-admin/src/main/java/com/sundot/airport/web/controller/system/SysAppController.java

@@ -111,6 +111,17 @@ public class SysAppController extends BaseController {
111
     }
111
     }
112
 
112
 
113
     /**
113
     /**
114
+     * 移动端查询全部应用列表
115
+     * homePage:0-非首页应用;1-首页应用
116
+     */
117
+    @PreAuthorize("@ss.hasPermi('system:app:list')")
118
+    @GetMapping("/listBy")
119
+    public AjaxResult listBy(SysApp sysApp) {
120
+        List<SysApp> list = sysAppService.listBy(sysApp);
121
+        return success(list);
122
+    }
123
+
124
+    /**
114
      * 根据角色ID查询应用列表
125
      * 根据角色ID查询应用列表
115
      */
126
      */
116
     @GetMapping(value = "/roleAppSelect/{roleId}")
127
     @GetMapping(value = "/roleAppSelect/{roleId}")

+ 9 - 0
airport-system/src/main/java/com/sundot/airport/system/mapper/SysAppRoleMapper.java

@@ -3,6 +3,7 @@ package com.sundot.airport.system.mapper;
3
 import java.util.List;
3
 import java.util.List;
4
 
4
 
5
 import com.sundot.airport.system.domain.SysAppRole;
5
 import com.sundot.airport.system.domain.SysAppRole;
6
+import org.apache.ibatis.annotations.Param;
6
 
7
 
7
 /**
8
 /**
8
  * 应用和角色关联Mapper接口
9
  * 应用和角色关联Mapper接口
@@ -82,4 +83,12 @@ public interface SysAppRoleMapper {
82
      * @return 结果
83
      * @return 结果
83
      */
84
      */
84
     public int batchAppRole(List<SysAppRole> list);
85
     public int batchAppRole(List<SysAppRole> list);
86
+
87
+    /**
88
+     * 查询应用和角色关联
89
+     *
90
+     * @param list 角色ID列表
91
+     * @return 应用和角色关联
92
+     */
93
+    public List<SysAppRole> selectSysAppRoleByRoleIds(@Param("list") List<Long> list);
85
 }
94
 }

+ 8 - 0
airport-system/src/main/java/com/sundot/airport/system/service/ISysAppService.java

@@ -29,6 +29,14 @@ public interface ISysAppService {
29
     public List<SysApp> selectSysAppList(SysApp sysApp);
29
     public List<SysApp> selectSysAppList(SysApp sysApp);
30
 
30
 
31
     /**
31
     /**
32
+     * 移动端查询全部应用列表
33
+     *
34
+     * @param sysApp 应用
35
+     * @return 应用集合
36
+     */
37
+    public List<SysApp> listBy(SysApp sysApp);
38
+
39
+    /**
32
      * 新增应用
40
      * 新增应用
33
      *
41
      *
34
      * @param sysApp 应用
42
      * @param sysApp 应用

+ 26 - 0
airport-system/src/main/java/com/sundot/airport/system/service/impl/SysAppServiceImpl.java

@@ -1,5 +1,6 @@
1
 package com.sundot.airport.system.service.impl;
1
 package com.sundot.airport.system.service.impl;
2
 
2
 
3
+import java.util.Collections;
3
 import java.util.List;
4
 import java.util.List;
4
 import java.util.stream.Collectors;
5
 import java.util.stream.Collectors;
5
 
6
 
@@ -9,6 +10,7 @@ import com.sundot.airport.common.core.domain.AjaxResult;
9
 import com.sundot.airport.common.core.domain.entity.SysRole;
10
 import com.sundot.airport.common.core.domain.entity.SysRole;
10
 import com.sundot.airport.common.enums.HomePageEnum;
11
 import com.sundot.airport.common.enums.HomePageEnum;
11
 import com.sundot.airport.common.utils.DateUtils;
12
 import com.sundot.airport.common.utils.DateUtils;
13
+import com.sundot.airport.common.utils.SecurityUtils;
12
 import com.sundot.airport.system.domain.SysAppRole;
14
 import com.sundot.airport.system.domain.SysAppRole;
13
 import com.sundot.airport.system.mapper.SysAppRoleMapper;
15
 import com.sundot.airport.system.mapper.SysAppRoleMapper;
14
 import com.sundot.airport.system.service.ISysRoleService;
16
 import com.sundot.airport.system.service.ISysRoleService;
@@ -65,6 +67,30 @@ public class SysAppServiceImpl implements ISysAppService {
65
     @Override
67
     @Override
66
     public List<SysApp> selectSysAppList(SysApp sysApp) {
68
     public List<SysApp> selectSysAppList(SysApp sysApp) {
67
         return sysAppMapper.selectSysAppList(sysApp);
69
         return sysAppMapper.selectSysAppList(sysApp);
70
+
71
+    }
72
+
73
+    /**
74
+     * 移动端查询全部应用列表
75
+     *
76
+     * @param sysApp 应用
77
+     * @return 应用集合
78
+     */
79
+    @Override
80
+    public List<SysApp> listBy(SysApp sysApp) {
81
+        if (StrUtil.isEmpty(sysApp.getHomePage())) {
82
+            sysApp.setHomePage(HomePageEnum.NO.getCode());
83
+        }
84
+        List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
85
+        if (CollUtil.isEmpty(roles)) {
86
+            return Collections.emptyList();
87
+        }
88
+        List<Long> roleIdList = roles.stream().map(SysRole::getRoleId).collect(Collectors.toList());
89
+        List<SysAppRole> sysAppRoleList = sysAppRoleMapper.selectSysAppRoleByRoleIds(roleIdList);
90
+        List<Long> appIdList = sysAppRoleList.stream().filter(item -> StrUtil.equals(item.getHomePage(), sysApp.getHomePage())).map(SysAppRole::getAppId).collect(Collectors.toList());
91
+        List<SysApp> result = sysAppMapper.selectSysAppList(sysApp);
92
+        result = result.stream().filter(item -> appIdList.contains(item.getAppId())).collect(Collectors.toList());
93
+        return result;
68
     }
94
     }
69
 
95
 
70
     /**
96
     /**

+ 1 - 1
airport-system/src/main/java/com/sundot/airport/system/service/impl/SysRoleServiceImpl.java

@@ -443,7 +443,7 @@ public class SysRoleServiceImpl implements ISysRoleService {
443
             }
443
             }
444
         }
444
         }
445
         if (listHomePage.size() > 0) {
445
         if (listHomePage.size() > 0) {
446
-            rows = appRoleMapper.batchAppRole(list);
446
+            rows = appRoleMapper.batchAppRole(listHomePage);
447
         }
447
         }
448
         return rows;
448
         return rows;
449
     }
449
     }

+ 0 - 1
airport-system/src/main/resources/mapper/system/SysAppMapper.xml

@@ -48,7 +48,6 @@
48
             <if test="appUrl != null  and appUrl != ''">and app_url = #{appUrl}</if>
48
             <if test="appUrl != null  and appUrl != ''">and app_url = #{appUrl}</if>
49
             <if test="appSort != null ">and app_sort = #{appSort}</if>
49
             <if test="appSort != null ">and app_sort = #{appSort}</if>
50
             <if test="status != null  and status != ''">and status = #{status}</if>
50
             <if test="status != null  and status != ''">and status = #{status}</if>
51
-            <if test="homePage != null  and homePage != ''">and home_page = #{homePage}</if>
52
             <if test="homePageIcon != null  and homePageIcon != ''">and home_page_icon = #{homePageIcon}</if>
51
             <if test="homePageIcon != null  and homePageIcon != ''">and home_page_icon = #{homePageIcon}</if>
53
             <if test="workbenchIcon != null  and workbenchIcon != ''">and workbench_icon = #{workbenchIcon}</if>
52
             <if test="workbenchIcon != null  and workbenchIcon != ''">and workbench_icon = #{workbenchIcon}</if>
54
             <if test="createByUserId != null ">and create_by_user_id = #{createByUserId}</if>
53
             <if test="createByUserId != null ">and create_by_user_id = #{createByUserId}</if>

+ 8 - 0
airport-system/src/main/resources/mapper/system/SysAppRoleMapper.xml

@@ -87,4 +87,12 @@
87
         </foreach>
87
         </foreach>
88
     </insert>
88
     </insert>
89
 
89
 
90
+    <select id="selectSysAppRoleByRoleIds">
91
+        <include refid="selectSysAppRoleVo"/>
92
+        where role_id in
93
+        <foreach collection="list" item="roleId" open="(" separator="," close=")">
94
+            #{roleId}
95
+        </foreach>
96
+    </select>
97
+
90
 </mapper>
98
 </mapper>