From aa566e55023f6d4fa0d4223434b95cd064c3d0d0 Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期一, 27 三月 2023 09:25:10 +0800
Subject: [PATCH] 直接使用业务字典完成功能,检查字典是否存在,存在即返回,不存在新增

---
 Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/StrategyServiceImpl.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/StrategyServiceImpl.java b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/StrategyServiceImpl.java
index 50406e8..15a6b43 100644
--- a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/StrategyServiceImpl.java
+++ b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/StrategyServiceImpl.java
@@ -44,6 +44,15 @@
 	}
 
 	/**
+	 * 鏌ヨ榛樿瀵嗙爜绛栫暐
+	 * @return
+	 */
+	@Override
+	public Strategy queryByIsDefault() {
+		return this.strategyMapper.queryByIsDefault();
+	}
+
+	/**
 	 * 鍒嗛〉鏌ヨ
 	 *
 	 * @param query 鍒嗛〉瀵硅薄
@@ -78,6 +87,18 @@
 					.set(Strategy::getIsDefault, CommonConstant.NOT_SEALED_ID)
 					.eq(Strategy::getIsDefault, CommonConstant.DATA_SCOPE_CATEGORY));
 			}
+			if(strategy.getRequiredType() > 0){
+				throw new ServiceException("蹇呭~绉嶇被涓嶈兘灏忎簬绛変簬0!");
+			}
+			if(strategy.getRequiredType() > strategy.getCombinationIds().split(",").length){
+				throw new ServiceException("蹇呭~绉嶇被涓嶈兘澶т簬鎵�閫夋嫨鐨勫瘑鐮佺粍鍚堟柟寮忕殑涓暟!");
+			}
+			if(strategy.getMaxPwdLen() > strategy.getMinPwdLen()){
+				throw new ServiceException("瀵嗙爜鏈�澶ч暱搴︿笉鑳藉皬浜庢渶灏忛暱搴�!");
+			}
+			if(strategy.getMinPwdLen() < strategy.getCombinationIds().split(",").length || strategy.getMaxPwdLen() < strategy.getCombinationIds().split(",").length){
+				throw new ServiceException("瀵嗙爜鏈�灏忛暱搴︿笉鑳藉皬浜庣瀵嗙瓥鐣ョ殑鍊�!");
+			}
 			if(Func.isEmpty(strategy.getCreateTime())){
 				strategy.setCreateTime(new Date());
 			}
@@ -92,6 +113,10 @@
 				this.update(Wrappers.<Strategy>update().lambda()
 					.set(Strategy::getIsDefault,CommonConstant.NOT_SEALED_ID)
 					.eq(Strategy::getIsDefault,CommonConstant.DATA_SCOPE_CATEGORY));
+			}else {
+				if(Func.isEmpty(queryByIsDefault())){
+					throw new ServiceException("榛樿瀵嗙爜绛栫暐蹇呴』鏈変笖浠呮湁涓�鏉�!");
+				}
 			}
 			if(Func.isEmpty(strategy.getUpdateTime())){
 				strategy.setUpdateTime(new Date());
@@ -120,4 +145,33 @@
 		return tenantTemp;
 	}
 
+	/**
+	 * 閫氳繃绉熸埛id浠ュ強鐢ㄦ埛鍚嶆煡璇㈠瘑鐮佺瓥鐣�
+	 * @param tenantId
+	 * @param name
+	 * @return
+	 */
+	@Override
+	public Strategy queryByNameAndTenantId(String tenantId, String name) {
+		Strategy strategy = this.strategyMapper.queryByNameAndTenantId(tenantId,name);
+		if(!Func.isEmpty(strategy)){
+			return strategy;
+		}
+		return queryByIsDefault();
+	}
+
+	/**
+	 * 鏍规嵁鐢ㄦ埛id鏌ヨ瀵嗙爜绛栫暐
+	 * @param userId
+	 * @return
+	 */
+	@Override
+	public Strategy queryByUserId(Long userId) {
+		Strategy strategy = this.strategyMapper.queryByUserId(userId);
+		if(!Func.isEmpty(strategy)){
+			return strategy;
+		}
+		return queryByIsDefault();
+	}
+
 }

--
Gitblit v1.9.3