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

作者:张哲
时间:2023/08/28
类型:开发
描述:知识分类和专辑分类列表修改

zizg преди 1 година
родител
ревизия
15bd88f8ee

+ 4 - 0
src/main/java/com/redxun/knowledge/album/entity/vo/AlbumCategoryVo.java

@@ -79,4 +79,8 @@ public class AlbumCategoryVo implements Serializable {
     @ApiModelProperty("维护人姓名")
     private String maintainerName;
 
+    //是否有权限 0 有 1 没有
+    @ApiModelProperty("是否有权限 0 有 1 没有")
+    private Integer isPermission;
+
 }

+ 31 - 13
src/main/java/com/redxun/knowledge/album/service/AlbumCategoryServiceImpl.java

@@ -83,7 +83,7 @@ public class AlbumCategoryServiceImpl extends SuperServiceImpl<AlbumCategoryMapp
     public IPage query(QueryFilter queryFilter) {
         Map<String, Object> params = PageHelper.constructParams(queryFilter);
         String userId = userService.queryLoginUser();
-        queryFilter.getParams().put("userId",userId);
+        //queryFilter.getParams().put("userId",userId);
         IPage page = albumCategoryMapper.findAllAlbumCategory(queryFilter.getPage(), queryFilter.getParams(), params);
         List<AlbumCategoryVo> records = page.getRecords();
         Map<String, Object> param = queryFilter.getParams();
@@ -96,6 +96,7 @@ public class AlbumCategoryServiceImpl extends SuperServiceImpl<AlbumCategoryMapp
             if (CollectionUtils.isNotEmpty(allAlbumCategory2)) {
                 allAlbumCategory2.forEach(albumCategoryVo2 -> {
                     if (!childIdList.contains(albumCategoryVo2.getPkId())) {
+                        albumCategoryVo2.setIsPermission(permission(albumCategoryVo2.getCreateBy(),albumCategoryVo2.getMaintainer(),userId));
                         albumCategoryVo2.setOperator(userService.queryUser(albumCategoryVo2.getUpdateBy()).getFullName());
                         if (StringUtils.isNotEmpty(albumCategoryVo2.getCreateBy())){
                             albumCategoryVo2.setCreateByName(userService.queryUser(albumCategoryVo2.getCreateBy()).getFullName());
@@ -142,6 +143,7 @@ public class AlbumCategoryServiceImpl extends SuperServiceImpl<AlbumCategoryMapp
                 if (StringUtils.isNotEmpty(albumCategoryVo.getMaintainer())){
                     albumCategoryVo.setMaintainerName(userService.queryUser(albumCategoryVo.getMaintainer()).getFullName());
                 }
+                albumCategoryVo.setIsPermission(permission(albumCategoryVo.getCreateBy(),albumCategoryVo.getMaintainer(),userId));
                 childrenIdList.add(albumCategoryVo.getPkId());
                 return albumCategoryVo;
             }).collect(Collectors.toList());
@@ -157,6 +159,7 @@ public class AlbumCategoryServiceImpl extends SuperServiceImpl<AlbumCategoryMapp
             if (StringUtils.isNotEmpty(e.getMaintainer())){
                 e.setMaintainerName(userService.queryUser(e.getMaintainer()).getFullName());
             }
+            e.setIsPermission(permission(e.getCreateBy(),e.getMaintainer(),userId));
         });
         if (flag) {
             return childrenIdList;
@@ -285,13 +288,13 @@ public class AlbumCategoryServiceImpl extends SuperServiceImpl<AlbumCategoryMapp
         String parent = category.getParent();
         if (direction == 1) {
             // 上升
-            //QueryWrapper<AlbumCategory> queryWrapper = new QueryWrapper<>();
-            //queryWrapper.eq("PARENT", parent);
-            //queryWrapper.orderByAsc("SORT");
-            //List<AlbumCategory> albumCategoryList = albumCategoryMapper.selectList(queryWrapper);
-            List<AlbumCategory> albumCategoryList = albumCategoryMapper.visibleAlbumCategory(parent,userId);
+            QueryWrapper<AlbumCategory> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("PARENT", parent);
+            queryWrapper.orderByAsc("SORT");
+            List<AlbumCategory> albumCategoryList = albumCategoryMapper.selectList(queryWrapper);
+            //List<AlbumCategory> albumCategoryList = albumCategoryMapper.visibleAlbumCategory(parent,userId);
             List<AlbumCategory> collect = albumCategoryList.stream().filter(e -> e.getSort() < sort).collect(Collectors.toList());
-            if (CollectionUtils.isNotEmpty(collect)) {
+            if (!CollectionUtils.isEmpty(collect)) {
                 AlbumCategory albumCategoryPre = collect.get(collect.size() - 1);
                 // 交换位置
                 int temp = sort;
@@ -300,13 +303,13 @@ public class AlbumCategoryServiceImpl extends SuperServiceImpl<AlbumCategoryMapp
             }
         } else {
             // 下降
-            //QueryWrapper<AlbumCategory> queryWrapper = new QueryWrapper<>();
-            //queryWrapper.eq("PARENT", parent);
-            //queryWrapper.orderByAsc("SORT");
-            //List<AlbumCategory> albumCategoryList = albumCategoryMapper.selectList(queryWrapper);
-            List<AlbumCategory> albumCategoryList = albumCategoryMapper.visibleAlbumCategory(parent,userId);
+            QueryWrapper<AlbumCategory> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("PARENT", parent);
+            queryWrapper.orderByAsc("SORT");
+            List<AlbumCategory> albumCategoryList = albumCategoryMapper.selectList(queryWrapper);
+            //List<AlbumCategory> albumCategoryList = albumCategoryMapper.visibleAlbumCategory(parent,userId);
             List<AlbumCategory> collect = albumCategoryList.stream().filter(e -> e.getSort() > sort).collect(Collectors.toList());
-            if (CollectionUtils.isNotEmpty(collect)) {
+            if (!CollectionUtils.isEmpty(collect)) {
                 AlbumCategory albumCategoryNext = collect.get(0);
                 // 交换位置
                 int temp = sort;
@@ -357,4 +360,19 @@ public class AlbumCategoryServiceImpl extends SuperServiceImpl<AlbumCategoryMapp
         }).collect(Collectors.toList());
         return albumCategoryPcVos;
     }
+
+    /**
+     * 是否有权限 0 有 1 没有
+     * @param createBy
+     * @param maintainer
+     * @return
+     */
+    private int permission(String createBy,String maintainer,String userId){
+        if (userId.equals(createBy) || userId.equals(maintainer)){
+            return 0;
+        } else {
+            return 1;
+        }
+
+    }
 }

+ 2 - 0
src/main/java/com/redxun/knowledge/entity/vo/KnowledgeCategoryAdminVo.java

@@ -37,6 +37,8 @@ public class KnowledgeCategoryAdminVo implements Serializable {
     private String updateBy;
     private String createBy;
     private String maintainer;
+    //是否有权限 0 有 1 没有
+    private Integer isPermission;
     //操作时间
     @DateTimeFormat(
             pattern = "yyyy-MM-dd HH:mm:ss"

+ 1 - 1
src/main/java/com/redxun/knowledge/mapper/KnowledgeCategoryMapper.java

@@ -20,7 +20,7 @@ public interface KnowledgeCategoryMapper extends BaseDao<KnowledgeCategory> {
     IPage findAllKnowledgeCategory(IPage page, @Param("params") Map<String, Object> params, @Param("w") Map<String, Object> order);
 
     // 查询孩子节点,递归
-    List<KnowledgeCategoryAdminVo> selectKnowledgeCategoryByParent(@Param("pkId") String pkId,@Param("userId") String userId);
+    List<KnowledgeCategoryAdminVo> selectKnowledgeCategoryByParent(@Param("pkId") String pkId);
 
     KnowledgeCategoryAdminVo selectByCategoryId(String categoryId);
 

+ 54 - 22
src/main/java/com/redxun/knowledge/service/KnowledgeCategoryServiceImpl.java

@@ -12,6 +12,7 @@ import com.redxun.common.model.JPaasUser;
 import com.redxun.common.service.impl.SuperServiceImpl;
 import com.redxun.common.tool.BeanUtil;
 import com.redxun.common.tool.IdGenerator;
+import com.redxun.common.tool.StringUtils;
 import com.redxun.knowledge.common.UserService;
 import com.redxun.knowledge.entity.dao.Knowledge;
 import com.redxun.knowledge.entity.dao.KnowledgeCategory;
@@ -26,6 +27,7 @@ import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.util.*;
@@ -98,7 +100,7 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
     public IPage findAllKnowledgeCategory(QueryFilter filter) {
         Map<String, Object> params = PageHelper.constructParams(filter);
         String userId = userService.queryLoginUser();
-        filter.getParams().put("userId",userId);
+        //filter.getParams().put("userId",userId);
         IPage page = knowledgeCategoryMapper.findAllKnowledgeCategory(filter.getPage(), filter.getParams(), params);
         List<KnowledgeCategoryAdminVo> knowledgeCategoryList = page.getRecords();
         // 如果有name参数,特殊处理
@@ -108,7 +110,13 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
             // 查询其孩子节点
             knowledgeCategoryList.forEach(e -> {
                 e.setLevel(1);
+                e.setIsPermission(permission(e.getCreateBy(),e.getMaintainer(),userId));
                 e.setOperatorName(userService.queryUser(e.getUpdateBy()).getFullName());
+                e.setCreateByName(userService.queryUser(e.getCreateBy()).getFullName());
+                JPaasUser jPaasUser = userService.queryUser(e.getMaintainer());
+                if (jPaasUser != null){
+                    e.setMaintainerName(jPaasUser.getFullName());
+                }
                 List<KnowledgeCategoryAdminVo> childrens = findChildrens(e,userId);
                 if (childrens.size() == 0) {
                     e.setChildren(null);
@@ -130,6 +138,7 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
         } else {
             knowledgeCategoryList.forEach(e -> {
                 e.setLevel(1);
+                e.setIsPermission(permission(e.getCreateBy(),e.getMaintainer(),userId));
                 e.setOperatorName(userService.queryUser(e.getUpdateBy()).getFullName());
                 e.setCreateByName(userService.queryUser(e.getCreateBy()).getFullName());
                 JPaasUser jPaasUser = userService.queryUser(e.getMaintainer());
@@ -307,10 +316,11 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
 
     // 查询孩子节点(递归)
     public List<KnowledgeCategoryAdminVo> findChildrens(KnowledgeCategoryAdminVo knowledgeCategoryAdminVo,String userId) {
-        List<KnowledgeCategoryAdminVo> knowledgeCategorieChild = knowledgeCategoryMapper.selectKnowledgeCategoryByParent(knowledgeCategoryAdminVo.getPkId(),userId);
+        List<KnowledgeCategoryAdminVo> knowledgeCategorieChild = knowledgeCategoryMapper.selectKnowledgeCategoryByParent(knowledgeCategoryAdminVo.getPkId());
         List<KnowledgeCategoryAdminVo> knowledgeCategories = knowledgeCategorieChild.stream().
                 sorted(Comparator.comparingInt(KnowledgeCategoryAdminVo::getSort)).
                 map(e -> {
+                    e.setIsPermission(permission(e.getCreateBy(),e.getMaintainer(),userId));
                     e.setOperatorName(userService.queryUser(e.getUpdateBy()).getFullName());
                     e.setCreateByName(userService.queryUser(e.getCreateBy()).getFullName());
                     JPaasUser jPaasUser = userService.queryUser(e.getMaintainer());
@@ -378,30 +388,34 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
         String parent = knowledgeCategory.getParent();
         if (status) {
             // 上升
-            //QueryWrapper<KnowledgeCategory> queryWrapper = new QueryWrapper<>();
-            //queryWrapper.eq("PARENT", parent);
-            //queryWrapper.orderByAsc("SORT");
-            //List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.selectList(queryWrapper);
-            List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.visibleKnowledgeCategory(parent, userId);
+            QueryWrapper<KnowledgeCategory> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("PARENT", parent);
+            queryWrapper.orderByAsc("SORT");
+            List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.selectList(queryWrapper);
+            //List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.visibleKnowledgeCategory(parent, userId);
             List<KnowledgeCategory> collect = knowledgeCategoryList.stream().filter(e -> e.getSort() < sort).collect(Collectors.toList());
-            KnowledgeCategory knowledgeCategoryPre = collect.get(collect.size() - 1);
-            // 交换位置
-            int temp = sort;
-            knowledgeCategoryMapper.swapSort(knowledgeCategoryId, knowledgeCategoryPre.getSort());
-            knowledgeCategoryMapper.swapSort(knowledgeCategoryPre.getPkId(), temp);
+            if (!CollectionUtils.isEmpty(collect)){
+                KnowledgeCategory knowledgeCategoryPre = collect.get(collect.size() - 1);
+                // 交换位置
+                int temp = sort;
+                knowledgeCategoryMapper.swapSort(knowledgeCategoryId, knowledgeCategoryPre.getSort());
+                knowledgeCategoryMapper.swapSort(knowledgeCategoryPre.getPkId(), temp);
+            }
         } else {
             // 下降
-            //QueryWrapper<KnowledgeCategory> queryWrapper = new QueryWrapper<>();
-            //queryWrapper.eq("PARENT", parent);
-            //queryWrapper.orderByAsc("SORT");
-            //List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.selectList(queryWrapper);
-            List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.visibleKnowledgeCategory(parent, userId);
+            QueryWrapper<KnowledgeCategory> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("PARENT", parent);
+            queryWrapper.orderByAsc("SORT");
+            List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.selectList(queryWrapper);
+            //List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.visibleKnowledgeCategory(parent, userId);
             List<KnowledgeCategory> collect = knowledgeCategoryList.stream().filter(e -> e.getSort() > sort).collect(Collectors.toList());
-            KnowledgeCategory knowledgeCategoryNext = collect.get(0);
-            // 交换位置
-            int temp = sort;
-            knowledgeCategoryMapper.swapSort(knowledgeCategoryId, knowledgeCategoryNext.getSort());
-            knowledgeCategoryMapper.swapSort(knowledgeCategoryNext.getPkId(), temp);
+            if (!CollectionUtils.isEmpty(collect)) {
+                KnowledgeCategory knowledgeCategoryNext = collect.get(0);
+                // 交换位置
+                int temp = sort;
+                knowledgeCategoryMapper.swapSort(knowledgeCategoryId, knowledgeCategoryNext.getSort());
+                knowledgeCategoryMapper.swapSort(knowledgeCategoryNext.getPkId(), temp);
+            }
         }
     }
 
@@ -428,4 +442,22 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
         });
         return collect;
     }
+
+    /**
+     * 是否有权限 0 有 1 没有
+     * @param createBy
+     * @param maintainer
+     * @return
+     */
+    private int permission(String createBy,String maintainer,String userId){
+        if (StringUtils.isNotEmpty(userId)){
+            if (userId.equals(createBy) || userId.equals(maintainer)){
+                return 0;
+            } else {
+                return 1;
+            }
+        } else {
+            return 2;
+        }
+    }
 }

+ 2 - 5
src/main/resources/mapper/knowledge/KnowledgeCategoryMapper.xml

@@ -47,10 +47,10 @@
         FROM KM_KNOWLEDGE_CATEGORY
         <where>
             <if test="@rx.Ognl@isNotEmpty(params.name)">
-                and instr(NAME,#{params.name}) > 0 and (CREATE_BY_ = #{params.userId} or MAINTAINER = #{params.userId})
+                and instr(NAME,#{params.name}) > 0
             </if>
             <if test="@rx.Ognl@isEmpty(params.name)">
-                and IS_DEL = 0 and PARENT = 0 and (CREATE_BY_ = #{params.userId} or MAINTAINER = #{params.userId})
+                and IS_DEL = 0 and PARENT = 0
             </if>
 
         </where>
@@ -63,9 +63,6 @@
         FROM KM_KNOWLEDGE_CATEGORY
         <where>
             IS_DEL = 0 and PARENT = #{pkId}
-            <if test="userId != null">
-                and (CREATE_BY_ = #{userId} or MAINTAINER = #{userId})
-            </if>
         </where>
     </select>
 

+ 4 - 4
src/main/resources/mapper/knowledge/album/AlbumCategoryMapper.xml

@@ -56,7 +56,7 @@
             <if test="@rx.Ognl@isNotEmpty(params.name)">
                 and instr(NAME,#{params.name}) > 0
             </if>
-            and IS_DEL = 0 and PARENT = '0' and (CREATE_BY_ = #{params.userId} or MAINTAINER = #{params.userId})
+            and IS_DEL = 0 and PARENT = '0'
         </where>
         ORDER BY SORT
     </select>
@@ -69,7 +69,7 @@
             <if test="@rx.Ognl@isNotEmpty(params.name)">
                 and instr(NAME,#{params.name}) > 0
             </if>
-            and IS_DEL = 0 and PARENT = '0' and (CREATE_BY_ = #{params.userId} or MAINTAINER = #{params.userId})
+            and IS_DEL = 0 and PARENT = '0'
         </where>
         ORDER BY SORT
     </select>
@@ -82,7 +82,7 @@
             <if test="@rx.Ognl@isNotEmpty(params.name)">
                 and instr(NAME,#{params.name}) > 0
             </if>
-            and IS_DEL = 0 and PARENT != '0' and GRADE = 2 and (CREATE_BY_ = #{params.userId} or MAINTAINER = #{params.userId})
+            and IS_DEL = 0 and PARENT != '0' and GRADE = 2
         </where>
         ORDER BY SORT
     </select>
@@ -125,7 +125,7 @@
         <include refid="COLUMNS"/>
         FROM KM_ALBUM_CATEGORY
         where
-        IS_DEL = 0 and PARENT = #{pkId} and (CREATE_BY_ = #{userId} or MAINTAINER = #{userId})
+        IS_DEL = 0 and PARENT = #{pkId}
         ORDER BY SORT
     </select>