Forráskód Böngészése

增加超管权限控制

LeoN 5 éve
szülő
commit
c57950b782

+ 12 - 6
src/main/java/com/mokamrp/privates/controller/UserCorpController.java

@@ -15,6 +15,7 @@ import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -39,8 +40,12 @@ public class UserCorpController {
      */
     @GetMapping("/getAuthUserCorps")
     public Object getAuthUserCorps(@AuthUser User authUser) {
-
-        List<Corp> res = userCorpService.getCorpsByUserId(authUser.getId());
+        List<Corp> res = new ArrayList<Corp>();
+        if(authUser.getIsSuperAdmin() == 1){
+            res = userCorpService.getAllCorps();
+        }else{
+            res = userCorpService.getCorpsByUserId(authUser.getId());
+        }
         return AjaxResult.success(Constants.SUCCESS, res);
     }
 
@@ -80,6 +85,7 @@ public class UserCorpController {
 
     /**
      * 解绑企业和账户
+     *
      * @param unSetUserCorpHandle
      * @param authUser
      * @param bindingResult
@@ -91,7 +97,7 @@ public class UserCorpController {
             return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
         }
         if (authUser.getIsSuperAdmin() == 1) {
-            Boolean res = userCorpService.unSetUserCorp(unSetUserCorpHandle.getUserId(),unSetUserCorpHandle.getCorpId());
+            Boolean res = userCorpService.unSetUserCorp(unSetUserCorpHandle.getUserId(), unSetUserCorpHandle.getCorpId());
         } else {
             return AjaxResult.error("Permission denied");
         }
@@ -100,17 +106,17 @@ public class UserCorpController {
 
     /**
      * 获取指定企业的小前台管理员列表
+     *
      * @param corpId
      * @return
      */
     @GetMapping("/getUserByCorpId")
-    public Object getUserCorpsByUserId(@RequestParam(name="corpId") Integer corpId){
-        if (corpId == null || corpId == 0){
+    public Object getUserCorpsByUserId(@RequestParam(name = "corpId") Integer corpId) {
+        if (corpId == null || corpId == 0) {
             return AjaxResult.error("corpId null");
         }
         List<User> res = userCorpService.selectUserByCorpId(corpId);
         return AjaxResult.success(res);
     }
-
 }
 

+ 12 - 4
src/main/java/com/mokamrp/privates/interceptor/AuthIntercepotor.java

@@ -42,12 +42,20 @@ public class AuthIntercepotor extends HandlerInterceptorAdapter {
         user.setId(Integer.valueOf(plugininfo.get("employeeNo")));
         user.setName(xxlSsoUser.getUsername());
         user.setUserId(xxlSsoUser.getUserid());
-        user.setIsSuperAdmin(1);
+        String roles = plugininfo.get("roles");
+        //.检查用户角色信息
+        user.setIsSuperAdmin(0);
+        if (roles != null){
+            String[] roleList = roles.split(",");
+            for (String role : roleList) {
+                //.角色权限包含私域运营超管
+                if (role.equals("10001007")){
+                    user.setIsSuperAdmin(1);
+                }
+            }
+        }
         request.setAttribute("auth-user", user);
-
         userService.Insert(xxlSsoUser.getPlugininfo(),xxlSsoUser.getUsername());
-
         return true;
     }
-
 }

+ 8 - 0
src/main/java/com/mokamrp/privates/service/UserCorpService.java

@@ -18,14 +18,22 @@ import java.util.List;
 public interface UserCorpService extends IService<UserCorp> {
 
     public final static String USER_MSG = "您当前用户未绑定企业";
+
     //. 获取指定管理账户管辖的企业信息
     public List<Corp> getCorpsByUserId(Integer userId);
+
+    //. 获取所有企业信息
+    public List<Corp> getAllCorps();
+
     //. 获取用户管理的企业ID
     public List<Integer> getAuthUserCorpIds(String userId);
+
     //. 绑定账户和企业
     public boolean setUserCorpsByUserId(List<Integer> userIds, List<Integer> corpIds);
+
     //. 解绑账户和企业
     public boolean unSetUserCorp(Integer userId, Integer corpId);
+
     //. 通过企业ID获取企业的小前台管理员列表
     public List<User> selectUserByCorpId(Integer corpId);
 

+ 16 - 0
src/main/java/com/mokamrp/privates/service/impl/UserCorpServiceImpl.java

@@ -48,6 +48,22 @@ public class UserCorpServiceImpl extends ServiceImpl<UserCorpMapper, UserCorp> i
     }
 
     /**
+     * 获取所有企业信息
+     *
+     * @return
+     */
+    public List<Corp> getAllCorps() {
+        List<Integer> corpIds = new ArrayList<Integer>();
+        List<UserCorp> corps = this.list();
+        for (UserCorp userCorp : corps) {
+            corpIds.add(userCorp.getCorpId());
+        }
+        List<Corp> res = corpService.getCorpInfoByCorpIds(corpIds);
+        return res;
+    }
+
+
+    /**
      * 获取指定管理账户管辖的企业ID
      *
      * @param userId