From c327574106f470c72638e9f34c7f8cd26d78a2bf Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 24 一月 2024 23:48:36 +0800
Subject: [PATCH] 分类授权,数据授权接口修改

---
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java |   27 ++++++++++++++++++++-------
 1 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java
index 124a39c..7bdaf05 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java
@@ -2,10 +2,12 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.vci.ubcs.code.feign.ICodeClassifyClient;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import com.vci.ubcs.system.dto.ClassifyAuthDTO;
 import com.vci.ubcs.system.entity.ClassifyAuth;
 import com.vci.ubcs.system.entity.Menu;
 import com.vci.ubcs.system.mapper.ClassifyAuthMapper;
@@ -44,17 +46,28 @@
 
 	/**
 	 * 鍒嗙被鎺堟潈淇濆瓨鎺ュ彛
-	 * @param classifyAuthList
+	 * @param classifyAuthListDTO
 	 * @return
 	 */
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public R submit(List<ClassifyAuth> classifyAuthList) {
-		if(classifyAuthList.isEmpty()){
+	public R submit(ClassifyAuthDTO classifyAuthListDTO) throws ServiceException{
+		// 鏄竻绌烘巿鏉冨垪琛�
+		if(classifyAuthListDTO.getIsCLear()){
+			if(Func.isEmpty(classifyAuthListDTO.getClassifyId())){
+				return R.fail("娓呯┖鎺堟潈鍒楄〃鏃讹紝鏈幏鍙栫殑鍒嗙被id");
+			}
+			this.classifyAuthMapper.delete(Wrappers.<ClassifyAuth>update()
+				.lambda().eq(ClassifyAuth::getClassifyId, classifyAuthListDTO.getClassifyId())
+			);
+			return R.success("鎺堟潈鍒楄〃娓呯┖鎴愬姛");
+		}
+
+		if(!classifyAuthListDTO.getIsCLear() && classifyAuthListDTO.getClassifyAuthList().isEmpty()){
 			R.fail("鎺堟潈鍒楄〃涓嶈兘涓虹┖锛�");
 		}
 		// 鍒ら噸锛屾煡鐪嬫槸鍚﹀瓨鍦ㄥ悓涓�涓猚lassid涓嬮厤缃簡鐩稿悓鐨勮鑹�
-		Map<String, Long> roleidCounts = classifyAuthList.stream()
+		Map<String, Long> roleidCounts = classifyAuthListDTO.getClassifyAuthList().stream()
 			.collect(Collectors.groupingBy(ClassifyAuth::getRoleId, Collectors.counting()));
 
 		// 妫�鏌ユ槸鍚︽湁roleid鍑虹幇娆℃暟澶т簬1鐨勬儏鍐�
@@ -65,17 +78,17 @@
 		}
 
 		// 濡傛灉浼犺繃鏉ョ殑闆嗗悎涓鍒嗙被id涓嬪垹闄や簡閮ㄥ垎瑙掕壊鐨勬巿鏉冿紝灏遍渶瑕佸皢璇ュ簱涓璫lassifyId涓嬩笉瀛樺湪鐨勬暟鎹垹鎺�
-		List<String> roleIds = classifyAuthList.stream().map(ClassifyAuth::getRoleId).collect(Collectors.toList());
+		List<String> roleIds = classifyAuthListDTO.getClassifyAuthList().stream().map(ClassifyAuth::getRoleId).collect(Collectors.toList());
 		// 鍒犻櫎
 		LambdaUpdateWrapper<ClassifyAuth> updateWrapper = Wrappers.<ClassifyAuth>update()
-			.lambda().eq(ClassifyAuth::getClassifyId, classifyAuthList.get(0).getClassifyId())
+			.lambda().eq(ClassifyAuth::getClassifyId, classifyAuthListDTO.getClassifyAuthList().get(0).getClassifyId())
 			.notIn(ClassifyAuth::getRoleId, roleIds);
 		try {
 			this.classifyAuthMapper.delete(updateWrapper);
 		}catch (Exception e){
 			throw new ServiceException("鍒嗙被鎺堟潈杩囩▼涓嚭鐜伴敊璇紝閿欒鍘熷洜锛�"+e.getMessage());
 		}
-		return R.status(saveOrUpdateBatch(classifyAuthList));
+		return R.status(saveOrUpdateBatch(classifyAuthListDTO.getClassifyAuthList()));
 	}
 
 	/**

--
Gitblit v1.9.3