chenshudong 4 місяців тому
батько
коміт
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 125
      * 根据角色ID查询应用列表
115 126
      */
116 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 3
 import java.util.List;
4 4
 
5 5
 import com.sundot.airport.system.domain.SysAppRole;
6
+import org.apache.ibatis.annotations.Param;
6 7
 
7 8
 /**
8 9
  * 应用和角色关联Mapper接口
@@ -82,4 +83,12 @@ public interface SysAppRoleMapper {
82 83
      * @return 结果
83 84
      */
84 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 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 42
      * @param sysApp 应用

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

@@ -1,5 +1,6 @@
1 1
 package com.sundot.airport.system.service.impl;
2 2
 
3
+import java.util.Collections;
3 4
 import java.util.List;
4 5
 import java.util.stream.Collectors;
5 6
 
@@ -9,6 +10,7 @@ import com.sundot.airport.common.core.domain.AjaxResult;
9 10
 import com.sundot.airport.common.core.domain.entity.SysRole;
10 11
 import com.sundot.airport.common.enums.HomePageEnum;
11 12
 import com.sundot.airport.common.utils.DateUtils;
13
+import com.sundot.airport.common.utils.SecurityUtils;
12 14
 import com.sundot.airport.system.domain.SysAppRole;
13 15
 import com.sundot.airport.system.mapper.SysAppRoleMapper;
14 16
 import com.sundot.airport.system.service.ISysRoleService;
@@ -65,6 +67,30 @@ public class SysAppServiceImpl implements ISysAppService {
65 67
     @Override
66 68
     public List<SysApp> selectSysAppList(SysApp sysApp) {
67 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 445
         if (listHomePage.size() > 0) {
446
-            rows = appRoleMapper.batchAppRole(list);
446
+            rows = appRoleMapper.batchAppRole(listHomePage);
447 447
         }
448 448
         return rows;
449 449
     }

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

@@ -48,7 +48,6 @@
48 48
             <if test="appUrl != null  and appUrl != ''">and app_url = #{appUrl}</if>
49 49
             <if test="appSort != null ">and app_sort = #{appSort}</if>
50 50
             <if test="status != null  and status != ''">and status = #{status}</if>
51
-            <if test="homePage != null  and homePage != ''">and home_page = #{homePage}</if>
52 51
             <if test="homePageIcon != null  and homePageIcon != ''">and home_page_icon = #{homePageIcon}</if>
53 52
             <if test="workbenchIcon != null  and workbenchIcon != ''">and workbench_icon = #{workbenchIcon}</if>
54 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 87
         </foreach>
88 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 98
 </mapper>