Gck 1 год назад
Родитель
Сommit
9ca9bff922

+ 1 - 0
src/main/java/cn/cslg/pas/common/vo/customAnalyse/CustomAnalyseVO.java

@@ -12,6 +12,7 @@ public class CustomAnalyseVO {
 
     private Integer parentId;
 
+    //1系统公有   2系统私有  3数据库公有  4数据库私有
     private Integer permissions;
 
     private Integer projectId;

+ 17 - 0
src/main/java/cn/cslg/pas/common/vo/customAnalyse/SelectAnalyseVO.java

@@ -0,0 +1,17 @@
+package cn.cslg.pas.common.vo.customAnalyse;
+
+import lombok.Data;
+
+@Data
+public class SelectAnalyseVO {
+
+    private Integer projectId;
+
+    private Integer type;
+
+    private Integer tenantId;
+
+    private String creatorId;
+
+
+}

+ 3 - 1
src/main/java/cn/cslg/pas/mapper/CustomAnalysisItemMapper.java

@@ -1,6 +1,7 @@
 package cn.cslg.pas.mapper;
 
 import cn.cslg.pas.common.dto.customAnalyse.SelectCustomAnalyseListDTO;
+import cn.cslg.pas.common.vo.customAnalyse.SelectAnalyseVO;
 import cn.cslg.pas.common.vo.customAnalyse.SelectCustomAnalyseVO;
 import cn.cslg.pas.domain.business.CustomAnalysisItem;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -16,6 +17,7 @@ import java.util.List;
  */
 @Repository
 public interface CustomAnalysisItemMapper extends BaseMapper<CustomAnalysisItem> {
-    public List<SelectCustomAnalyseListDTO> queryAnalyseGroup(@Param("vo") SelectCustomAnalyseVO vo);
+
+    public List<SelectCustomAnalyseListDTO> queryAnalyseGroup(@Param("vo") SelectAnalyseVO vo);
 
 }

+ 9 - 1
src/main/java/cn/cslg/pas/service/business/CustomAnalyseService.java

@@ -7,11 +7,13 @@ import cn.cslg.pas.common.utils.CacheUtils;
 import cn.cslg.pas.common.utils.LoginUtils;
 import cn.cslg.pas.common.vo.customAnalyse.CustomAnalyseIdVO;
 import cn.cslg.pas.common.vo.customAnalyse.CustomAnalyseVO;
+import cn.cslg.pas.common.vo.customAnalyse.SelectAnalyseVO;
 import cn.cslg.pas.common.vo.customAnalyse.SelectCustomAnalyseVO;
 import cn.cslg.pas.domain.business.CustomAnalysisItem;
 import cn.cslg.pas.exception.UnLoginException;
 import cn.cslg.pas.mapper.CustomAnalysisItemMapper;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -27,7 +29,7 @@ import java.util.List;
  * @Date 2024/01/12
  */
 @Service
-public class CustomAnalyseService {
+public class CustomAnalyseService extends ServiceImpl<CustomAnalysisItemMapper, CustomAnalysisItem> {
 
     @Autowired
     private CacheUtils cacheUtils;
@@ -48,6 +50,12 @@ public class CustomAnalyseService {
             throw new UnLoginException("未登录");
         }
 
+        SelectAnalyseVO analyseVO = new SelectAnalyseVO();
+        analyseVO.setProjectId(vo.getProjectId());
+        analyseVO.setType(vo.getType());
+        analyseVO.setTenantId(personnelVO.getTenantId());
+        analyseVO.setCreatorId(personnelVO.getId());
+        customAnalysisItemMapper.queryAnalyseGroup(analyseVO);
         return list;
     }
 

+ 20 - 12
src/main/resources/mapper/CustomAnalyseMapper.xml

@@ -7,19 +7,27 @@
         from os_custom_analysis_item
         <where>
             <if test="vo.type != null">
-                type = #{vo.type}
+                AND type = #{vo.type}
             </if>
-            /*系统公开情况*/
-            (permissions = 1 AND tenant_id = #{tenantId})
-            or
-            /*系统私有公开*/
-            (permissions = 2 AND creator_id = #{creatorId})
-            or
-            /*数据库公开*/
-            (permissions = 3 AND tenant_id = #{tenant_id} And project_id = #{project_id})
-            or
-            /*数据库私有*/
-            (permissions = 4 AND creator_id = #{creatorId} And project_id = #{project_id})
+            and (
+            <if test="vo.tenantId != null">
+                /*系统公开情况*/
+                (permissions = 1 AND tenant_id = #{vo.tenantId})
+            </if>
+            <if test="vo.creatorId != null">
+                /*系统私有公开*/
+                or (permissions = 2 AND creator_id = #{vo.creatorId})
+            </if>
+            <if test="vo.tenantId != null and vo.projectId != null">
+                /*数据库公开*/
+                or (permissions = 3 AND tenant_id = #{vo.tenantId} AND project_id = #{vo.projectId})
+            </if>
+            <if test="vo.projectId != null and vo.creatorId != null">
+                /*数据库私有*/
+                or (permissions = 4 AND creator_id = #{vo.creatorId} AND project_id = #{vo.projectId})
+            </if>
+            )
         </where>
+        order by sort asc
     </select>
 </mapper>