From 4203c28f06c08155b3f4163c23f7b115f38fc8a5 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 21 三月 2023 20:01:35 +0800
Subject: [PATCH] 修改密码策略部分接口

---
 Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/StrategyServiceImpl.java |   37 ++++++++++++++++++++++++++++---------
 1 files changed, 28 insertions(+), 9 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 729f287..50406e8 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
@@ -1,16 +1,17 @@
 package org.springblade.system.service.impl;
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.constant.CommonConstant;
 import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.system.entity.Strategy;
 import org.springblade.system.mapper.StrategyMapper;
 import org.springblade.system.service.IStrategyService;
-import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
-import org.springframework.data.domain.PageRequest;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -39,20 +40,19 @@
 	 */
 	@Override
 	public Strategy queryById(String id) {
-		return this.strategyMapper.queryById(id);
+		return this.getById(id);
 	}
 
 	/**
 	 * 鍒嗛〉鏌ヨ
 	 *
-	 * @param strategy 绛涢�夋潯浠�
-	 * @param pageRequest   鍒嗛〉瀵硅薄
+	 * @param query 鍒嗛〉瀵硅薄
 	 * @return 鏌ヨ缁撴灉
 	 */
 	@Override
-	public Page<Strategy> queryAllByPage(Strategy strategy, PageRequest pageRequest) {
-		long total = this.strategyMapper.count(strategy);
-		return new PageImpl<>(this.strategyMapper.queryAllByPage(strategy, pageRequest), pageRequest, total);
+	public PageImpl<Strategy> queryAllByPage(Query query) {
+		Page<Strategy> strategyPage = new Page<>(query.getCurrent(), query.getSize());
+		return new PageImpl<>(this.strategyMapper.queryAllByPage(strategyPage));
 	}
 
 	/**
@@ -65,12 +65,18 @@
 	public boolean submit(Strategy strategy) {
 		//鍒ゆ柇鏄惁鎼哄甫id
 		if(Func.isEmpty(strategy.getId())){
-			//鏂板
+			//鎵ц鏂板
 			Strategy dbstrategy = this.getOne(Wrappers.<Strategy>query().lambda()
 				.eq(Strategy::getStrategyName, strategy.getStrategyName()));
 			//濡傛灉鏁版嵁搴撲腑瀛樺湪杩欐潯缁勫悎鍚嶇О鐨勮褰曠洿鎺ヨ繑鍥�
 			if(!Func.isEmpty(dbstrategy)){
 				throw new ServiceException("璇ュ瘑鐮佺瓥鐣ュ凡瀛樺湪!");
+			}
+			//濡傛灉褰撳墠鏂板璁剧疆涓洪粯璁ゅ瘑鐮佺瓥鐣ワ紝闇�瑕佸皢宸插瓨鍦ㄩ粯璁ゅ瘑鐮佺瓥鐣ヤ慨鏀逛负闈為粯璁�
+			if(strategy.getIsDefault().equals("1") || strategy.getIsDefault() == 1){
+				this.update(Wrappers.<Strategy>update().lambda()
+					.set(Strategy::getIsDefault, CommonConstant.NOT_SEALED_ID)
+					.eq(Strategy::getIsDefault, CommonConstant.DATA_SCOPE_CATEGORY));
 			}
 			if(Func.isEmpty(strategy.getCreateTime())){
 				strategy.setCreateTime(new Date());
@@ -81,6 +87,12 @@
 			boolean temp = super.saveOrUpdate(strategy);
 			return temp;
 		}else {
+			//濡傛灉褰撳墠淇敼璁剧疆涓洪粯璁ゅ瘑鐮佺瓥鐣ワ紝闇�瑕佸皢宸插瓨鍦ㄩ粯璁ゅ瘑鐮佺瓥鐣ヤ慨鏀逛负闈為粯璁�
+			if(strategy.getIsDefault().equals("1") || strategy.getIsDefault() == 1){
+				this.update(Wrappers.<Strategy>update().lambda()
+					.set(Strategy::getIsDefault,CommonConstant.NOT_SEALED_ID)
+					.eq(Strategy::getIsDefault,CommonConstant.DATA_SCOPE_CATEGORY));
+			}
 			if(Func.isEmpty(strategy.getUpdateTime())){
 				strategy.setUpdateTime(new Date());
 			}
@@ -97,6 +109,13 @@
 	 */
 	@Override
 	public boolean deleteByIds(List<String> ids) {
+		Strategy strategy = this.getOne(Wrappers.<Strategy>query().lambda()
+			.in(Strategy::getId,ids)
+			.eq(Strategy::getIsDefault, CommonConstant.DATA_SCOPE_CATEGORY));
+		//濡傛灉瀛樺湪榛樿绛栫暐鐨刬d锛屽氨涓嶈兘鐩存帴鍒犻櫎缁欏嚭鎻愮ず
+		if(!Func.isEmpty(strategy)){
+			throw new ServiceException("涓嶈兘鍒犻櫎榛樿瀵嗙爜绛栫暐!");
+		}
 		boolean tenantTemp = this.removeBatchByIds(ids);
 		return tenantTemp;
 	}

--
Gitblit v1.9.3