From 0baeb5d2b147bf29add1e5373652ae70dd749b69 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 24 三月 2023 21:08:55 +0800
Subject: [PATCH] 更新密码策略功能

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

diff --git a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserPwdstrategyServiceImpl.java b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserPwdstrategyServiceImpl.java
index ad913a8..c277d31 100644
--- a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserPwdstrategyServiceImpl.java
+++ b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserPwdstrategyServiceImpl.java
@@ -1,16 +1,20 @@
 package org.springblade.system.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springblade.core.cache.utils.CacheUtil;
-import org.springblade.core.tool.utils.Func;
+import lombok.RequiredArgsConstructor;
+import org.springblade.common.constant.CommonConstant;
 import org.springblade.system.entity.UserPwdstrategy;
 import org.springblade.system.mapper.UserPwdstrategyMapper;
 import org.springblade.system.service.IUserPwdstrategyService;
+import org.springblade.system.user.entity.User;
+import org.springblade.system.user.feign.IUserClient;
+import org.springblade.system.vo.UserPwdstrategyVO;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-
-import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 鐢ㄦ埛瀵嗙爜绛栫暐绠$悊琛�(UserPwdstrategy)琛ㄦ湇鍔″疄鐜扮被
@@ -19,25 +23,45 @@
  * @since 2023-03-22 15:24:55
  */
 @Service
+@RequiredArgsConstructor
 public class UserPwdstrategyServiceImpl extends ServiceImpl<UserPwdstrategyMapper,UserPwdstrategy> implements IUserPwdstrategyService {
 
 	@Resource
 	private UserPwdstrategyMapper userPwdstrategyMapper;
 
 	/**
-	 * 鏂板鏁版嵁
-	 *
-	 * @param userPwdstrategy 瀹炰緥瀵硅薄
-	 * @return 瀹炰緥瀵硅薄
+	 * user鏈嶅姟璋冪敤绫�
+	 */
+	private final IUserClient userClient;
+
+	@Override
+	public UserPwdstrategy queryById(Long id) {
+		return this.getById(id);
+	}
+
+	/**
+	 * 鏂板鎴栦慨鏀�
+	 * @param userPwdstrategyVO 瀹炰緥瀵硅薄
+	 * @return
 	 */
 	@Override
-	public boolean submit(UserPwdstrategy userPwdstrategy) {
-		if(Func.isEmpty(userPwdstrategy.getId())){
-			return this.saveOrUpdate(userPwdstrategy);
-		}else {
-			CacheUtil.clear(SYS_CACHE,Boolean.FALSE);
-			return this.saveOrUpdate(userPwdstrategy);
-		}
+	@Transactional(rollbackFor = Exception.class)
+	public Boolean submit(UserPwdstrategyVO userPwdstrategyVO) {
+		//鍏堝垹闄�
+		int eft = this.userPwdstrategyMapper.deleteByUserIds(userPwdstrategyVO.getUserIds());
+		//鍦ㄦ柊澧�
+		List<UserPwdstrategy> userPwdstrategyList = new ArrayList<>();
+		userPwdstrategyVO.getUserIds().forEach(id->{
+			boolean temp = userPwdstrategyList.add(new UserPwdstrategy(id, userPwdstrategyVO.getPwdstrategyId()));
+			if(temp){
+				//瀵嗙爜绛栫暐鏀瑰姩鎴愬姛涔嬪悗淇敼鐢ㄦ埛鐘舵��
+				User user = new User();
+				user.setId(id);
+				user.setStrategyUpdateStatus(CommonConstant.TOP_PARENT_ID);
+				userClient.updateUser(user);
+			}
+		});
+		return this.saveBatch(userPwdstrategyList);
 	}
 
 }

--
Gitblit v1.9.3