lyhzzz 4 mesi fa
parent
commit
a36462e3c4

+ 1 - 0
src/main/java/com/fdkankan/agent/service/IAgentNewService.java

@@ -39,4 +39,5 @@ public interface IAgentNewService extends IService<AgentNew> {
 
 
     HashMap<Integer, AgentNew> getMapByIds(List<Integer> subAgentIds);
     HashMap<Integer, AgentNew> getMapByIds(List<Integer> subAgentIds);
 
 
+    List<AgentNew> getRecursionByAgentId(Integer agentId);
 }
 }

+ 6 - 2
src/main/java/com/fdkankan/agent/service/impl/AgentAuthorizeModelingServiceImpl.java

@@ -61,9 +61,13 @@ public class AgentAuthorizeModelingServiceImpl extends ServiceImpl<IAgentAuthori
         if(StringUtils.isNotBlank(param.getAuthorizeKey())){
         if(StringUtils.isNotBlank(param.getAuthorizeKey())){
             wrapper.like(AgentAuthorizeModeling::getAuthorizeKey,param.getAuthorizeKey());
             wrapper.like(AgentAuthorizeModeling::getAuthorizeKey,param.getAuthorizeKey());
         }
         }
-        wrapper.and(e -> e.eq(AgentAuthorizeModeling::getCreateAgentId,param.getAgentId())
+        List<AgentNew> agentNewList = agentNewService.getRecursionByAgentId(param.getAgentId());
+        List<Integer> subAgentIds = agentNewList.stream().map(AgentNew::getId).collect(Collectors.toList());
+        subAgentIds.add(param.getAgentId());
+
+        wrapper.and(e -> e.in(AgentAuthorizeModeling::getCreateAgentId,subAgentIds)
                 .or()
                 .or()
-                .eq(AgentAuthorizeModeling::getAgentId,param.getAgentId()));
+                .in(AgentAuthorizeModeling::getAgentId,subAgentIds));
 
 
         wrapper.orderByDesc(AgentAuthorizeModeling::getId);
         wrapper.orderByDesc(AgentAuthorizeModeling::getId);
         Page<AgentAuthorizeModeling> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
         Page<AgentAuthorizeModeling> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);

+ 19 - 0
src/main/java/com/fdkankan/agent/service/impl/AgentNewServiceImpl.java

@@ -228,4 +228,23 @@ public class AgentNewServiceImpl extends ServiceImpl<IAgentNewMapper, AgentNew>
         list.forEach(e -> map.put(e.getId(),e));
         list.forEach(e -> map.put(e.getId(),e));
         return map;
         return map;
     }
     }
+
+    @Override
+    public List<AgentNew> getRecursionByAgentId(Integer agentId) {
+        List<AgentNew> agentNewList = new ArrayList<>();
+        this.getRecursionByAgentId(agentId,agentNewList);
+        return agentNewList;
+    }
+
+    public void getRecursionByAgentId(Integer agentId, List<AgentNew> agentNews) {
+        List<AgentNew> bySubAgent = this.getBySubAgent(agentId);
+        if(bySubAgent.isEmpty()){
+            return ;
+        }
+        agentNews.addAll(bySubAgent);
+        for (AgentNew agentNew : bySubAgent) {
+            this.getRecursionByAgentId(agentNew.getId(),agentNews);
+        }
+
+    }
 }
 }