Explorar el Código

20220927
项目类型附件设置

sunruiqi hace 2 años
padre
commit
4118d6e43c

+ 1 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectDict/controller/ProjectDictController.java

@@ -64,7 +64,7 @@ public class ProjectDictController {
      * 根据id查询
      */
     @ApiOperation(value = "根据id查询")
-    @PostMapping(value = "/findByFileId")
+    @GetMapping(value = "/findByFileId")
     public ResponseEntity<ProgramFileDict> findByFileId(@RequestParam String id){
         ProgramFileDict fileDict = projectDictService.findByFileId(id);
         return ResponseEntity.ok(fileDict);

+ 2 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectDict/mapper/ProjectDictMapper.java

@@ -14,6 +14,8 @@ public interface ProjectDictMapper extends BaseMapper<ProgramProjectDict> {
 
     List<FileDictVo> list(@Param("type") String type, @Param("sort") String sort);
 
+    List<ProgramFileDict> getFileParentList(@Param("id") String id, @Param("fileIds") List<String> fileIds);
+
     List<ProgramFileDict> getFileList(@Param("id") String id, @Param("fileIds") List<String> fileIds);
 
     FileDictVo findById(@Param("id") String id);

+ 18 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectDict/mapper/xml/ProjectDictMapper.xml

@@ -50,6 +50,23 @@
             ORDER BY b.sort
     </select>
 
+    <select id="getFileParentList" resultType="com.jeeplus.test.program.configuration.fileDict.domain.ProgramFileDict">
+        SELECT
+        *
+        FROM
+        program_file_dict
+        WHERE
+        del_flag = 0
+        AND parent_id = #{id}
+        <if test="fileIds != null">
+            AND id NOT IN
+            <foreach collection="fileIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        ORDER BY sort
+    </select>
+
     <select id="getFileList" resultType="com.jeeplus.test.program.configuration.fileDict.domain.ProgramFileDict">
         SELECT
             *
@@ -57,7 +74,7 @@
             program_file_dict
         WHERE
             del_flag = 0
-            AND parent_id = #{id}
+            AND parent_id = (SELECT parent_id FROM program_file_dict WHERE del_flag = 0 AND id = #{id})
             <if test="fileIds != null">
                 AND id NOT IN
                 <foreach collection="fileIds" item="item" index="index" open="(" close=")" separator=",">

+ 8 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectDict/service/ProjectDictService.java

@@ -115,7 +115,14 @@ public class ProjectDictService {
         List<FileDictVo> list = list(projectDictDto);
         if (CollectionUtils.isNotEmpty(list)) {
             List<String> fileIds = list.stream().map(i -> i.getFileId()).collect(Collectors.toList());
-            return projectDictMapper.getFileList(projectDictDto.getFileId(), fileIds);
+            // 根据fileId查询所属层级
+            String parentId = programFileDictMapper.selectById(projectDictDto.getFileId()).getParentId();
+            if (CollectionUtils.isNotEmpty(fileIds) && StringUtils.isNotEmpty(projectDictDto.getFileId()) && !"0".equals(parentId)) {
+                fileIds.remove(projectDictDto.getFileId());
+                return projectDictMapper.getFileList(projectDictDto.getFileId(), fileIds);
+            } else {
+                return projectDictMapper.getFileParentList(projectDictDto.getFileId(), fileIds);
+            }
         }
         return new ArrayList<>();
     }