Преглед на файлове

权限定时任务执行

njs преди 3 години
родител
ревизия
b3e26f9ef2

+ 83 - 46
suishenbang-system/src/main/java/com/dgtly/system/domain/SysUserOrderAuthor.java

@@ -11,102 +11,139 @@ import com.dgtly.common.core.domain.TreeEntity;
  * @author dgtly
  * @date 2022-03-22
  */
-public class SysUserOrderAuthor extends TreeEntity
-{
+public class SysUserOrderAuthor extends TreeEntity {
     private static final long serialVersionUID = 1L;
 
-    /** 权限ID */
+    /**
+     * 权限ID
+     */
     private Long authorId;
 
-    /** 权限名称 */
+    /**
+     * 权限名称
+     */
     @Excel(name = "权限名称")
     private String authorName;
 
-    /** 父权限ID */
+    /**
+     * 父权限ID
+     */
     @Excel(name = "父权限ID")
     private Long parentId;
 
-    /** 权限编码 */
+    /**
+     * 权限编码
+     */
     @Excel(name = "权限编码")
     private String code;
 
-    /** 显示顺序 */
+    /**
+     * 显示顺序
+     */
     @Excel(name = "显示顺序")
     private Integer orderNum;
 
-    /** 权限类型(A应用 M目录 C菜单 F按钮) */
+    /**
+     * 权限类型(A应用 M目录 C菜单 F按钮)
+     */
     @Excel(name = "权限类型", readConverterExp = "A=应用,M=目录,C=菜单,F=按钮")
     private String authorType;
 
-    public void setAuthorId(Long authorId) 
-    {
+    public void setAuthorId(Long authorId) {
         this.authorId = authorId;
     }
 
-    public Long getAuthorId() 
-    {
+    public Long getAuthorId() {
         return authorId;
     }
-    public void setAuthorName(String authorName) 
-    {
+
+    public void setAuthorName(String authorName) {
         this.authorName = authorName;
     }
 
-    public String getAuthorName() 
-    {
+    public String getAuthorName() {
         return authorName;
     }
-    public void setParentId(Long parentId) 
-    {
+
+    public void setParentId(Long parentId) {
         this.parentId = parentId;
     }
 
-    public Long getParentId() 
-    {
+    public Long getParentId() {
         return parentId;
     }
-    public void setCode(String code) 
-    {
+
+    public void setCode(String code) {
         this.code = code;
     }
 
-    public String getCode() 
-    {
+    public String getCode() {
         return code;
     }
-    public void setOrderNum(Integer orderNum) 
-    {
+
+    public void setOrderNum(Integer orderNum) {
         this.orderNum = orderNum;
     }
 
-    public Integer getOrderNum() 
-    {
+    public Integer getOrderNum() {
         return orderNum;
     }
-    public void setAuthorType(String authorType) 
-    {
+
+    public void setAuthorType(String authorType) {
         this.authorType = authorType;
     }
 
-    public String getAuthorType() 
-    {
+    public String getAuthorType() {
         return authorType;
     }
 
     @Override
     public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("authorId", getAuthorId())
-            .append("authorName", getAuthorName())
-            .append("parentId", getParentId())
-            .append("code", getCode())
-            .append("orderNum", getOrderNum())
-            .append("authorType", getAuthorType())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("authorId", getAuthorId())
+                .append("authorName", getAuthorName())
+                .append("parentId", getParentId())
+                .append("code", getCode())
+                .append("orderNum", getOrderNum())
+                .append("authorType", getAuthorType())
+                .append("createBy", getCreateBy())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateTime", getUpdateTime())
+                .append("remark", getRemark())
+                .toString();
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (o == null) {
+            return false;
+        }
+
+        if (getClass() != o.getClass()) {
+            return false;
+        }
+        SysUserOrderAuthor order = (SysUserOrderAuthor) o;
+        if (!authorId.equals(order.authorId)) {
+            return false;
+        }
+        if (parentId == null) {
+            if (order.parentId != null) {
+                return false;
+            }
+        } else {
+            if (!parentId.equals(order.parentId)) {
+                return false;
+            }
+
+        }
+        return true;
+    }
+    @Override
+    public int hashCode() {
+        return 1;
     }
-}
+}

+ 1 - 0
suishenbang-system/src/main/java/com/dgtly/system/mapper/SysUserAuthorRelMapper.java

@@ -20,6 +20,7 @@ public interface SysUserAuthorRelMapper
      * @return 【请填写功能名称】
      */
     public SysUserAuthorRel selectSysUserAuthorRelById(Long userId);
+    public List<SysUserAuthorRel> selectSysUserAuthorRelListById(Long userId);
 
     /**
      * 查询【请填写功能名称】列表

+ 2 - 0
suishenbang-system/src/main/java/com/dgtly/system/mapper/SysUserOrderAuthorMapper.java

@@ -66,4 +66,6 @@ public interface SysUserOrderAuthorMapper
     public List<SysUserOrderAuthor> selectAuthorIdByCode(String code);
 
     public List<SysUserOrderAuthor> selectAuthorIdByParentId(Long parentId);
+
+    public List<SysUserOrderAuthor> selectAuthorIdByParentIdList(List<String> parentIdList);
 }

+ 20 - 18
suishenbang-system/src/main/java/com/dgtly/system/service/impl/SysUserOrderAuthorServiceImpl.java

@@ -1,9 +1,8 @@
 package com.dgtly.system.service.impl;
 
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import com.dgtly.common.core.domain.Ztree;
 import com.dgtly.common.utils.DateUtils;
@@ -17,6 +16,8 @@ import com.dgtly.system.mapper.SysUserOrderAuthorMapper;
 import com.dgtly.system.service.ISysUserOrderAuthorService;
 import com.dgtly.common.core.text.Convert;
 
+import static java.util.stream.Collectors.toList;
+
 /**
  * 权限Service业务层处理
  * 
@@ -246,8 +247,6 @@ public class SysUserOrderAuthorServiceImpl implements ISysUserOrderAuthorService
 
     @Override
     public void initUserAuthor() {
-        return;
-    /**    List<SysUserAuthorRel>  userAuthorRelList=new ArrayList<>();
         List<SysUserOrderAuthor> userOrderAuthorList=new ArrayList<>();
         List<SysUserOrderAuthor> userOrderAuthorDiyList=sysUserOrderAuthorMapper.selectAuthorIdByCode("tuc_diy");
         List<SysUserOrderAuthor> userOrderAuthorCwList=sysUserOrderAuthorMapper.selectAuthorIdByCode("tuc_cw");
@@ -255,7 +254,6 @@ public class SysUserOrderAuthorServiceImpl implements ISysUserOrderAuthorService
             String sales=sysUserExt.getSalesLevel();
             if(sales==null){
                 sales="diy_level";
-                userOrderAuthorList.addAll(userOrderAuthorDiyList);
             }
             int index = sales.indexOf("_");
             String intNumber = sales.substring(0,index);
@@ -266,17 +264,27 @@ public class SysUserOrderAuthorServiceImpl implements ISysUserOrderAuthorService
             }
                 List<SysUserOrderAuthor> ordList=new ArrayList<>();
                 for (int i = 0; i < userOrderAuthorList.size(); i++) {
-                    SysUserAuthorRel user=userAuthorRelMapper.selectSysUserAuthorRelByUIdAndAId(sysUserExt.getUserId(),userOrderAuthorList.get(i).getAuthorId());
-                    if(user==null && !userOrderAuthorList.get(i).getAuthorId().equals(userOrderAuthorList.get(0).getParentId())){
+                    if( !userOrderAuthorList.get(i).getAuthorId().equals(userOrderAuthorList.get(0).getParentId())){
                         if(i==0){
+                            List<SysUserAuthorRel> user=userAuthorRelMapper.selectSysUserAuthorRelListById(sysUserExt.getUserId());
+                            if(user.size()>0){
+                                break;
+                            }
                             SysUserOrderAuthor userOrderAuthor=new SysUserOrderAuthor();
                             userOrderAuthor.setAuthorId(userOrderAuthorList.get(0).getParentId());
-                            userOrderAuthorList.add(userOrderAuthor);
+                            userOrderAuthor.setParentId(userOrderAuthorList.get(0).getParentId());
+                            ordList.add(userOrderAuthor);
+                            ordList.removeAll(userOrderAuthorList);
+                            ordList.addAll(userOrderAuthorList);
                         }
-                        ordList.addAll(userOrderAuthorList);
+
                         List<SysUserOrderAuthor> OrderAuthorList= sysUserOrderAuthorMapper.selectAuthorIdByParentId(userOrderAuthorList.get(i).getAuthorId());
                          if(OrderAuthorList.size()>0){
-                             ordList.addAll(OrderAuthorList);
+                             HashSet<SysUserOrderAuthor> set = new HashSet<>(ordList);
+                             ordList.clear();
+                             set.addAll(OrderAuthorList);
+                             ArrayList list=new ArrayList<>(set);
+                             ordList.addAll(list);
                     }
                 }else{
                         continue;
@@ -287,16 +295,10 @@ public class SysUserOrderAuthorServiceImpl implements ISysUserOrderAuthorService
                     SysUserAuthorRel role=new SysUserAuthorRel();
                     role.setUserId(sysUserExt.getUserId());
                     role.setAuthorId(author.getAuthorId());
-                    userAuthorRelList.add(role);
+                    userAuthorRelMapper.insertSysUserAuthorRel(role);
                 });
                 }
         });
-        if(userAuthorRelList.size()>0){
-        userAuthorRelList.forEach(sysUserAuthorRel -> {
-            userAuthorRelMapper.insertSysUserAuthorRel(sysUserAuthorRel);
-        });
-        }*/
-
     }
 
 

+ 5 - 0
suishenbang-system/src/main/resources/mapper/system/SysUserAuthorRelMapper.xml

@@ -67,4 +67,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectSysUserAuthorRelVo"/>
         where user_id = #{userId} and author_id =#{authorId}
     </select>
+
+    <select id="selectSysUserAuthorRelListById" parameterType="Long" resultMap="SysUserAuthorRelResult">
+        <include refid="selectSysUserAuthorRelVo"/>
+        where user_id = #{userId}
+    </select>
 </mapper>

+ 10 - 0
suishenbang-system/src/main/resources/mapper/system/SysUserOrderAuthorMapper.xml

@@ -131,4 +131,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     WHERE
     parent_id = #{parentId}
     </select>
+    <select id="selectAuthorIdByParentIdList" parameterType="SysUserOrderAuthor" resultMap="SysUserOrderAuthorResult">
+        SELECT
+            parent_id,
+            author_id
+        FROM
+            sys_user_order_author
+        WHERE
+            parent_id = #{parentId}
+    </select>
+
 </mapper>