فهرست منبع

Merge branch 'system-zyj' of uskycloud/usky-cloud into system-165

James 8 ماه پیش
والد
کامیت
689ee0f12e

+ 3 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/HceCategoryMapper.java

@@ -3,6 +3,7 @@ package com.usky.system.mapper;
 import com.usky.system.domain.HceCategory;
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.service.vo.HceCategoryListVO;
+import io.swagger.models.auth.In;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -23,4 +24,6 @@ public interface HceCategoryMapper extends CrudMapper<HceCategory> {
     List<HceCategoryListVO> selectMenuTreeByUserIdOne(@Param("categoryName") String categoryName, @Param("startTime") String startTime, @Param("endTime") String endTime,@Param("tenantId") Integer tenantId);
 
     List<HceCategory> getMenuNameList(@Param("categoryIdList") List<Integer> categoryIdList);
+
+    Integer selectPidByMenuid(@Param("menuId") Integer menuId);
 }

+ 12 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/HceCategoryServiceImpl.java

@@ -93,6 +93,18 @@ public class HceCategoryServiceImpl extends AbstractCrudService<HceCategoryMappe
         if(list1.size() > 0){
             throw new BusinessException("关联菜单名称重复");
         }
+
+        //新增栏目时校验对应上级栏目是否存在,不存在要先新增上级栏目后再新增本栏目
+        Integer pid = baseMapper.selectPidByMenuid(hceCategory.getMenuId());
+        if(pid != null && pid != 0){
+            LambdaQueryWrapper<HceCategory> queryWrapper2 = Wrappers.lambdaQuery();
+            queryWrapper2.eq(HceCategory::getMenuId,pid);
+            List<HceCategory> list2 = this.list(queryWrapper2);
+            if(list2.size() <= 0){
+                throw new BusinessException("上级栏目不存在,请先添加上级栏目");
+            }
+        }
+
         hceCategory.setCreatedate(LocalDateTime.now());
         this.save(hceCategory);
     }

+ 7 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/HceCategoryMapper.xml

@@ -135,5 +135,12 @@
               #{categoryId}
           </foreach>
     </select>
+    <select id="selectPidByMenuid" resultType="integer">
+        SELECT
+            parent_id
+        FROM
+            sys_menu
+        WHERE menu_id = #{menuId}
+    </select>
 
 </mapper>