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/controller/RoleController.java        |    1 
 Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/IStrategyService.java         |    9 ++--
 Document/设计文档/密码安全策略开发模块文档.docx                                                                                     |    0 
 Document/设计文档/租户管理开发模块文档.docx                                                                                       |    0 
 Document/设计文档/菜单管理开发模块文档.docx                                                                                       |    0 
 Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/StrategyMapper.java            |   18 ++-------
 Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/controller/StrategyController.java    |   14 +++----
 Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/StrategyServiceImpl.java |   37 ++++++++++++++----
 Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/StrategyMapper.xml             |    8 ----
 9 files changed, 42 insertions(+), 45 deletions(-)

diff --git "a/Document/\350\256\276\350\256\241\346\226\207\346\241\243/\345\257\206\347\240\201\345\256\211\345\205\250\347\255\226\347\225\245\345\274\200\345\217\221\346\250\241\345\235\227\346\226\207\346\241\243.docx" "b/Document/\350\256\276\350\256\241\346\226\207\346\241\243/\345\257\206\347\240\201\345\256\211\345\205\250\347\255\226\347\225\245\345\274\200\345\217\221\346\250\241\345\235\227\346\226\207\346\241\243.docx"
new file mode 100644
index 0000000..2c1e4db
--- /dev/null
+++ "b/Document/\350\256\276\350\256\241\346\226\207\346\241\243/\345\257\206\347\240\201\345\256\211\345\205\250\347\255\226\347\225\245\345\274\200\345\217\221\346\250\241\345\235\227\346\226\207\346\241\243.docx"
Binary files differ
diff --git "a/Document/\350\256\276\350\256\241\346\226\207\346\241\243/\347\247\237\346\210\267\347\256\241\347\220\206\345\274\200\345\217\221\346\250\241\345\235\227\346\226\207\346\241\243.docx" "b/Document/\350\256\276\350\256\241\346\226\207\346\241\243/\347\247\237\346\210\267\347\256\241\347\220\206\345\274\200\345\217\221\346\250\241\345\235\227\346\226\207\346\241\243.docx"
index 133a1b8..47544d1 100644
--- "a/Document/\350\256\276\350\256\241\346\226\207\346\241\243/\347\247\237\346\210\267\347\256\241\347\220\206\345\274\200\345\217\221\346\250\241\345\235\227\346\226\207\346\241\243.docx"
+++ "b/Document/\350\256\276\350\256\241\346\226\207\346\241\243/\347\247\237\346\210\267\347\256\241\347\220\206\345\274\200\345\217\221\346\250\241\345\235\227\346\226\207\346\241\243.docx"
Binary files differ
diff --git "a/Document/\350\256\276\350\256\241\346\226\207\346\241\243/\350\217\234\345\215\225\347\256\241\347\220\206\345\274\200\345\217\221\346\250\241\345\235\227\346\226\207\346\241\243.docx" "b/Document/\350\256\276\350\256\241\346\226\207\346\241\243/\350\217\234\345\215\225\347\256\241\347\220\206\345\274\200\345\217\221\346\250\241\345\235\227\346\226\207\346\241\243.docx"
index 84a7576..9b0f1b7 100644
--- "a/Document/\350\256\276\350\256\241\346\226\207\346\241\243/\350\217\234\345\215\225\347\256\241\347\220\206\345\274\200\345\217\221\346\250\241\345\235\227\346\226\207\346\241\243.docx"
+++ "b/Document/\350\256\276\350\256\241\346\226\207\346\241\243/\350\217\234\345\215\225\347\256\241\347\220\206\345\274\200\345\217\221\346\250\241\345\235\227\346\226\207\346\241\243.docx"
Binary files differ
diff --git a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/controller/RoleController.java b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/controller/RoleController.java
index d2af8bc..7226035 100644
--- a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/controller/RoleController.java
+++ b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/controller/RoleController.java
@@ -152,7 +152,6 @@
 	/**
 	 * 涓嬫媺鏁版嵁婧�
 	 */
-	//@PreAuth(AuthConstant.PERMIT_ALL)
 	@GetMapping("/select")
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "涓嬫媺鏁版嵁婧�", notes = "浼犲叆id闆嗗悎")
diff --git a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/controller/StrategyController.java b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/controller/StrategyController.java
index 16ed941..be8eb8a 100644
--- a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/controller/StrategyController.java
+++ b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/controller/StrategyController.java
@@ -1,17 +1,16 @@
 package org.springblade.system.controller;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
-import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.system.entity.Strategy;
 import org.springblade.system.service.IStrategyService;
+import org.springframework.data.domain.Page;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
@@ -43,16 +42,15 @@
 	/**
 	 * 鍒嗛〉鏌ヨ
 	 *
-	 * @param strategy 绛涢�夋潯浠�
-	 * @param query      鍒嗛〉瀵硅薄
+	 * @param query 鍒嗛〉瀵硅薄
 	 * @return 鏌ヨ缁撴灉
 	 */
 	@GetMapping("/page")
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "鍒嗛〉鏌ヨ", notes = "浼犲叆combination锛屽垎椤靛弬鏁皅uery")
-	public R<IPage<Strategy>> queryByPage(Strategy strategy, Query query) {
-		IPage<Strategy> pages = strategyService.page(Condition.getPage(query), Condition.getQueryWrapper(strategy));
-		return R.data(pages);
+	public R<Page<Strategy>> queryByPage(Query query) {
+		Page<Strategy> strategyPage = strategyService.queryAllByPage(query);
+		return R.data(strategyPage);
 	}
 
 	/**
@@ -90,7 +88,7 @@
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 4)
 	@ApiOperation(value = "鍒犻櫎", notes = "浼犲叆ids")
-	public ResponseEntity<Boolean> deleteById(List<String> ids) {
+	public ResponseEntity<Boolean> deleteById(@ApiParam(value = "涓婚敭闆嗗悎", required = true) @RequestParam List<String> ids) {
 		return ResponseEntity.ok(this.strategyService.deleteByIds(ids));
 	}
 
diff --git a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/StrategyMapper.java b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/StrategyMapper.java
index 7a66428..4d6db55 100644
--- a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/StrategyMapper.java
+++ b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/StrategyMapper.java
@@ -1,10 +1,9 @@
 package org.springblade.system.mapper;
 
 
-import org.springblade.system.entity.Strategy;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Param;
-import org.springframework.data.domain.Pageable;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.system.entity.Strategy;
 
 import java.util.List;
 
@@ -17,21 +16,12 @@
 public interface StrategyMapper extends BaseMapper<Strategy> {
 
 	/**
-	 * 閫氳繃ID鏌ヨ鍗曟潯鏁版嵁
-	 *
-	 * @param id 涓婚敭
-	 * @return 瀹炰緥瀵硅薄
-	 */
-	Strategy queryById(String id);
-
-	/**
 	 * 鏌ヨ鎸囧畾琛屾暟鎹�
 	 *
-	 * @param strategy 鏌ヨ鏉′欢
-	 * @param pageable      鍒嗛〉瀵硅薄
+	 * @param page 鍒嗛〉瀵硅薄
 	 * @return 瀵硅薄鍒楄〃
 	 */
-	List<Strategy> queryAllByPage(Strategy strategy, @Param("pageable") Pageable pageable);
+	List<Strategy> queryAllByPage(IPage page);
 
 	/**
 	 * 缁熻鎬昏鏁�
diff --git a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/StrategyMapper.xml b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/StrategyMapper.xml
index 57d9a56..fdd77f4 100644
--- a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/StrategyMapper.xml
+++ b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/StrategyMapper.xml
@@ -22,14 +22,6 @@
         <result property="combinationNames" column="COMBINATIONNAMES"/>
     </resultMap>
 
-    <!--鏌ヨ鍗曚釜-->
-    <select id="queryById" resultMap="StrategyMap">
-        select
-          ID, STRATEGY_NAME, MIN_PWD_LEN, MAX_PWD_LEN, COMBINATION , REQUIRED_TYPE, EXPIRATION_TIME, REMINDER_TIME, LOCKING_NUM, LOCKING_TIME, DESC, IS_DEFAULT, CREATE_DATE, CREATE_USER, UPDATE_DATE, UPDATE_USER
-        from PL_SYS_STRATEGY
-        where ID = #{id}
-    </select>
-
     <!--鏌ヨ鎸囧畾琛屾暟鎹�-->
     <select id="queryAllByPage" resultMap="StrategyMap">
         select pss.*,
diff --git a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/IStrategyService.java b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/IStrategyService.java
index 10129d5..a94829a 100644
--- a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/IStrategyService.java
+++ b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/IStrategyService.java
@@ -1,9 +1,9 @@
 package org.springblade.system.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.core.mp.support.Query;
 import org.springblade.system.entity.Strategy;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.PageImpl;
 
 import java.util.List;
 
@@ -26,11 +26,10 @@
 	/**
 	 * 鍒嗛〉鏌ヨ
 	 *
-	 * @param strategy 绛涢�夋潯浠�
-	 * @param pageRequest   鍒嗛〉瀵硅薄
+	 * @param query 鍒嗛〉瀵硅薄
 	 * @return 鏌ヨ缁撴灉
 	 */
-	Page<Strategy> queryAllByPage(Strategy strategy, PageRequest pageRequest);
+	PageImpl<Strategy> queryAllByPage(Query query);
 
 	/**
 	 * 鏂板鏁版嵁鎴栦慨鏀规暟鎹�
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