From e0652e168a1ad4a831d59d54363d3fa5582903d2 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 22 三月 2023 18:26:29 +0800
Subject: [PATCH] 修改用户服务相关内容,增加密码策略

---
 Source/BladeX/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/UserPwdstrategy.java          |   72 ++++++++++++
 Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/IStrategyService.java                |    6 +
 Source/BladeX/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java         |    5 
 Source/BladeX/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/ValueRange.java               |    2 
 Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserPwdstrategyMapper.java            |   47 +++++++
 Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/ITenantService.java                  |    1 
 Source/BladeX/blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/vo/UserVO.java                    |    6 +
 Source/BladeX/blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/entity/User.java                  |    1 
 Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/TenantServiceImpl.java          |   10 +
 Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserPwdstrategyMapper.xml             |   59 +++++++++
 /dev/null                                                                                                                  |    1 
 Source/BladeX/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java                             |    6 
 Source/BladeX/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Strategy.java                 |    6 
 Document/设计文档/密码安全策略开发模块文档.docx                                                                                            |    0 
 Document/设计文档/菜单管理开发模块文档.docx                                                                                              |    0 
 Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserPwdstrategyServiceImpl.java |   43 +++++++
 Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/IUserPwdstrategyService.java         |   22 +++
 Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/StrategyServiceImpl.java        |   14 ++
 18 files changed, 284 insertions(+), 17 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"
index 2c1e4db..13e138a 100644
--- "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"
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 9b0f1b7..feefb7d 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-common/src/main/java/org/springblade/common/constant/LauncherConstant.java b/Source/BladeX/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java
index bb629d0..c680869 100644
--- a/Source/BladeX/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java
+++ b/Source/BladeX/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java
@@ -103,17 +103,17 @@
 	/**
 	 * elk dev 鍦板潃
 	 */
-	String ELK_DEV_ADDR = "dev.vci-tech.com:37002";
+	String ELK_DEV_ADDR = "dev.vci-tech.com:38002";
 
 	/**
 	 * elk prod 鍦板潃
 	 */
-	String ELK_PROD_ADDR = "dev.vci-tech.com:37002";
+	String ELK_PROD_ADDR = "dev.vci-tech.com:38002";
 
 	/**
 	 * elk test 鍦板潃
 	 */
-	String ELK_TEST_ADDR = "dev.vci-tech.com:37002";
+	String ELK_TEST_ADDR = "dev.vci-tech.com:38002";
 
 	/**
 	 * seata file妯″紡
diff --git a/Source/BladeX/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Strategy.java b/Source/BladeX/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Strategy.java
index 3fde150..63aecd3 100644
--- a/Source/BladeX/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Strategy.java
+++ b/Source/BladeX/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Strategy.java
@@ -70,13 +70,13 @@
 	 * 杩囨湡鏃堕棿
 	 */
 	@ApiModelProperty(value = "杩囨湡鏃堕棿")
-	private Date expirationTime;
+	private Long expirationTime;
 
 	/**
 	 * 鎻愰啋鏃堕棿
 	 */
 	@ApiModelProperty(value = "鎻愰啋鏃堕棿")
-	private Date reminderTime;
+	private Long reminderTime;
 
 	/**
 	 * 閿佸畾娆℃暟
@@ -88,7 +88,7 @@
 	 * 閿佸畾鏃堕棿
 	 */
 	@ApiModelProperty(value = "閿佸畾鏃堕棿")
-	private Date lockingTime;
+	private Long lockingTime;
 
 	/**
 	 * 鎻忚堪
diff --git a/Source/BladeX/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/UserPwdstrategy.java b/Source/BladeX/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/UserPwdstrategy.java
new file mode 100644
index 0000000..9048e87
--- /dev/null
+++ b/Source/BladeX/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/UserPwdstrategy.java
@@ -0,0 +1,72 @@
+package org.springblade.system.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Objects;
+
+/**
+ * (UserPwdStrtategy)瀹炰綋绫�
+ *
+ * @author makejava
+ * @since 2023-03-20 14:59:29
+ */
+
+@Data
+@NoArgsConstructor
+@TableName("pl_sys_user_pwdstrategy")
+@ApiModel(value = "UserPwdStrtategy", description = "UserPwdStrtategy")
+public class UserPwdstrategy implements Serializable {
+
+	private static final long serialVersionUID = -556926788101426521L;
+
+	/**
+	 * 涓婚敭
+	 */
+	@JsonSerialize(using = ToStringSerializer.class)
+	@ApiModelProperty(value = "涓婚敭")
+	@TableId(value = "id", type = IdType.ASSIGN_ID)
+	private Long Id;
+
+	/**
+	 * 鐢ㄦ埛id
+	 */
+	@ApiModelProperty(value = "鐢ㄦ埛id")
+	private Long userId;
+
+	/**
+	 * 瀵嗙爜绛栫暐id
+	 */
+	@ApiModelProperty(value = "瀵嗙爜绛栫暐id")
+	private Long pwdstrategyId;
+
+	public UserPwdstrategy(Long userId, Long pwdStrategyId) {
+		this.userId = userId;
+		this.pwdstrategyId = pwdStrategyId;
+	}
+
+	@Override
+	public boolean equals(Object o) {
+		if (this == o) {
+			return true;
+		}
+		if (o == null || getClass() != o.getClass()) {
+			return false;
+		}
+		UserPwdstrategy that = (UserPwdstrategy) o;
+		return Objects.equals(Id, that.Id) && Objects.equals(userId, that.userId) && Objects.equals(pwdstrategyId, that.pwdstrategyId);
+	}
+
+	@Override
+	public int hashCode() {
+		return Objects.hash(Id, userId, pwdstrategyId);
+	}
+}
diff --git a/Source/BladeX/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/ValueRange.java b/Source/BladeX/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/ValueRange.java
index 8092fda..5a9a3e9 100644
--- a/Source/BladeX/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/ValueRange.java
+++ b/Source/BladeX/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/ValueRange.java
@@ -14,7 +14,7 @@
 import java.util.Objects;
 
 /**
- * (PlSysValueRange)瀹炰綋绫�
+ * (ValueRange)瀹炰綋绫�
  *
  * @author makejava
  * @since 2023-03-20 14:59:29
diff --git a/Source/BladeX/blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/entity/User.java b/Source/BladeX/blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/entity/User.java
index 478d029..b51a3e8 100644
--- a/Source/BladeX/blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/entity/User.java
+++ b/Source/BladeX/blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/entity/User.java
@@ -17,7 +17,6 @@
 package org.springblade.system.user.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.springblade.core.tenant.mp.TenantEntity;
diff --git a/Source/BladeX/blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/vo/UserVO.java b/Source/BladeX/blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/vo/UserVO.java
index 5a11799..37d46b2 100644
--- a/Source/BladeX/blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/vo/UserVO.java
+++ b/Source/BladeX/blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/vo/UserVO.java
@@ -48,6 +48,11 @@
 	private String password;
 
 	/**
+	 * 瀵嗙爜绛栫暐
+	 */
+	private String pwdStrategy;
+
+	/**
 	 * 绉熸埛鍚�
 	 */
 	private String tenantName;
@@ -81,4 +86,5 @@
 	 * 鎷撳睍淇℃伅
 	 */
 	private String userExt;
+
 }
diff --git a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserPwdstrategyMapper.java b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserPwdstrategyMapper.java
new file mode 100644
index 0000000..5fab84e
--- /dev/null
+++ b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserPwdstrategyMapper.java
@@ -0,0 +1,47 @@
+package org.springblade.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springblade.system.entity.UserPwdstrategy;
+
+/**
+ * 鐢ㄦ埛瀵嗙爜绛栫暐绠$悊琛�(UserPwdstrategy)琛ㄦ暟鎹簱璁块棶灞�
+ *
+ * @author makejava
+ * @since 2023-03-22 15:24:46
+ */
+public interface UserPwdstrategyMapper  extends BaseMapper<UserPwdstrategy> {
+
+	/**
+	 * 閫氳繃ID鏌ヨ鍗曟潯鏁版嵁
+	 *
+	 * @param id 涓婚敭
+	 * @return 瀹炰緥瀵硅薄
+	 */
+	UserPwdstrategy queryById(Long id);
+
+	/**
+	 * 缁熻鎬昏鏁�
+	 *
+	 * @param UserPwdstrategy 鏌ヨ鏉′欢
+	 * @return 鎬昏鏁�
+	 */
+	long count(UserPwdstrategy UserPwdstrategy);
+
+	/**
+	 * 淇敼鏁版嵁
+	 *
+	 * @param UserPwdstrategy 瀹炰緥瀵硅薄
+	 * @return 褰卞搷琛屾暟
+	 */
+	int update(UserPwdstrategy UserPwdstrategy);
+
+	/**
+	 * 閫氳繃涓婚敭鍒犻櫎鏁版嵁
+	 *
+	 * @param id 涓婚敭
+	 * @return 褰卞搷琛屾暟
+	 */
+	int deleteById(Long id);
+
+}
+
diff --git a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserPwdstrategyMapper.xml b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserPwdstrategyMapper.xml
new file mode 100644
index 0000000..6092003
--- /dev/null
+++ b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserPwdstrategyMapper.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.system.mapper.UserPwdstrategyMapper">
+
+    <resultMap type="org.springblade.system.entity.UserPwdstrategy" id="UserPwdstrategyMap">
+        <result property="id" column="ID" jdbcType="INTEGER"/>
+        <result property="userId" column="USER_ID" jdbcType="INTEGER"/>
+        <result property="pwdstrategyId" column="PWDSTRATEGY_ID" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <!--鏌ヨ鍗曚釜-->
+    <select id="queryById" resultMap="UserPwdstrategyMap">
+        select ID,
+               USER_ID,
+               PWDSTRATEGY_ID
+        from PL_SYS_USER_PWDSTRATEGY
+        where ID = #{id}
+    </select>
+
+    <!--缁熻鎬昏鏁�-->
+    <select id="count" resultType="java.lang.Long">
+        select count(1)
+        from PL_SYS_USER_PWDSTRATEGY
+        <where>
+            <if test="id != null">
+                and ID = #{id}
+            </if>
+            <if test="userId != null">
+                and USER_ID = #{userId}
+            </if>
+            <if test="pwdstrategyId != null">
+                and PWDSTRATEGY_ID = #{pwdstrategyId}
+            </if>
+        </where>
+    </select>
+
+    <!--閫氳繃涓婚敭淇敼鏁版嵁-->
+    <update id="update">
+        update PL_SYS_USER_PWDSTRATEGY
+        <set>
+            <if test="userId != null">
+                USER_ID = #{userId},
+            </if>
+            <if test="pwdstrategyId != null">
+                PWDSTRATEGY_ID = #{pwdstrategyId},
+            </if>
+        </set>
+        where ID = #{id}
+    </update>
+
+    <!--閫氳繃涓婚敭鍒犻櫎-->
+    <delete id="deleteById">
+        delete
+        from PL_SYS_USER_PWDSTRATEGY
+        where ID = #{id}
+    </delete>
+
+</mapper>
+
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 a94829a..00e002d 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
@@ -47,4 +47,10 @@
 	 */
 	boolean deleteByIds(List<String> ids);
 
+	/**
+	 * 鏌ヨ榛樿瀵嗙爜绛栫暐
+	 * @return
+	 */
+	Long queryByIsDefault();
+
 }
diff --git a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/ITenantService.java b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/ITenantService.java
index 14b3521..fb571c8 100644
--- a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/ITenantService.java
+++ b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/ITenantService.java
@@ -21,7 +21,6 @@
 import org.springblade.system.entity.Tenant;
 import org.springblade.system.vo.TenantVO;
 
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
diff --git a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/IUserPwdstrategyService.java b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/IUserPwdstrategyService.java
new file mode 100644
index 0000000..633d270
--- /dev/null
+++ b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/IUserPwdstrategyService.java
@@ -0,0 +1,22 @@
+package org.springblade.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.system.entity.UserPwdstrategy;
+
+/**
+ * 鐢ㄦ埛瀵嗙爜绛栫暐绠$悊琛�(UserPwdstrategy)琛ㄦ湇鍔℃帴鍙�
+ *
+ * @author makejava
+ * @since 2023-03-22 15:24:54
+ */
+public interface IUserPwdstrategyService extends IService<UserPwdstrategy> {
+
+	/**
+	 * 鏂板鎴栦慨鏀规暟鎹�
+	 *
+	 * @param UserPwdstrategy 瀹炰緥瀵硅薄
+	 * @return 瀹炰緥瀵硅薄
+	 */
+	boolean submit(UserPwdstrategy UserPwdstrategy);
+
+}
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..f76c5aa 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
@@ -92,6 +92,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 +124,14 @@
 		return tenantTemp;
 	}
 
+	/**
+	 * 鏌ヨ榛樿瀵嗙爜绛栫暐
+	 * @return
+	 */
+	@Override
+	public Long queryByIsDefault() {
+		return this.getOne(Wrappers.<Strategy>query().lambda()
+			.eq(Strategy::getIsDefault, CommonConstant.DATA_SCOPE_CATEGORY)).getId();
+	}
+
 }
diff --git a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/TenantServiceImpl.java b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/TenantServiceImpl.java
index 1fc64b3..0d440f1 100644
--- a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/TenantServiceImpl.java
+++ b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/TenantServiceImpl.java
@@ -64,6 +64,9 @@
 	private final IRoleMenuService roleMenuService;
 	private final IDictBizService dictBizService;
 	private final IUserClient userClient;
+	private final IStrategyService strategyService;
+	private final IUserPwdstrategyService userPwdstrategyService;
+
 	/**
 	 * 鑾峰彇鏄惁鍏佽鑷鎺у埗涓夊憳鏄惁寮�鍚�
 	 */
@@ -120,12 +123,13 @@
 				LinkedList<DictBiz> dictBizs = new LinkedList<>();
 				List<DictBiz> dictBizList = getDictBizs(tenantId, dictBizs);
 				dictBizService.saveBatch(dictBizList);
-				// 鏂板缓绉熸埛瀵瑰簲鐨勯粯璁ょ鐞嗙敤鎴�
-				User userInfo = generateUser(tenantId, role, dept, postInfo);
+				// 鏂板缓绉熸埛瀵瑰簲鐨勯粯璁ょ鐞嗙敤
+				User user = generateUser(tenantId, role, dept, postInfo);
 				// 鍏堜繚瀛樼鎴�
 				boolean temp = super.saveOrUpdate(tenant);
 				// 鍒涘缓鐢ㄦ埛
-				R<Boolean> result = userClient.saveUser(userInfo);
+				R<Boolean> result = userClient.saveUser(user);
+				//鐢熸垚鐢ㄦ埛瀵嗙爜绛栫暐绠$悊璁板綍
 				if (!result.isSuccess()) {
 					throw new ServiceException(result.getMsg());
 				}
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
new file mode 100644
index 0000000..ad913a8
--- /dev/null
+++ b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserPwdstrategyServiceImpl.java
@@ -0,0 +1,43 @@
+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 org.springblade.system.entity.UserPwdstrategy;
+import org.springblade.system.mapper.UserPwdstrategyMapper;
+import org.springblade.system.service.IUserPwdstrategyService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
+
+/**
+ * 鐢ㄦ埛瀵嗙爜绛栫暐绠$悊琛�(UserPwdstrategy)琛ㄦ湇鍔″疄鐜扮被
+ *
+ * @author makejava
+ * @since 2023-03-22 15:24:55
+ */
+@Service
+public class UserPwdstrategyServiceImpl extends ServiceImpl<UserPwdstrategyMapper,UserPwdstrategy> implements IUserPwdstrategyService {
+
+	@Resource
+	private UserPwdstrategyMapper userPwdstrategyMapper;
+
+	/**
+	 * 鏂板鏁版嵁
+	 *
+	 * @param userPwdstrategy 瀹炰緥瀵硅薄
+	 * @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);
+		}
+	}
+
+}
diff --git a/Source/BladeX/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java b/Source/BladeX/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java
index 796acf4..7465d53 100644
--- a/Source/BladeX/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java
+++ b/Source/BladeX/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java
@@ -23,7 +23,6 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
 import org.springblade.common.constant.CommonConstant;
-import org.springblade.common.constant.TenantConstant;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.support.Condition;
@@ -32,13 +31,11 @@
 import org.springblade.core.tenant.BladeTenantProperties;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
-import org.springblade.core.tool.jackson.JsonUtil;
 import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.utils.*;
 import org.springblade.system.cache.DictCache;
 import org.springblade.system.cache.ParamCache;
 import org.springblade.system.cache.SysCache;
-import org.springblade.system.entity.RoleMenu;
 import org.springblade.system.entity.Tenant;
 import org.springblade.system.enums.DictEnum;
 import org.springblade.system.feign.ISysClient;
@@ -84,7 +81,7 @@
 			user.setTenantId(BladeConstant.ADMIN_TENANT_ID);
 		}
 		String tenantId = user.getTenantId();
-		Tenant tenant = SysCache.getTenant(tenantId);
+		//Tenant tenant = SysCache.getTenant(tenantId);
 		if (Func.isNotEmpty(user.getPassword())) {
 			user.setPassword(DigestUtil.encrypt(user.getPassword()));
 		}
diff --git a/ubcs b/ubcs
deleted file mode 160000
index b3a866d..0000000
--- a/ubcs
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b3a866dc85a061d11efd6593770a0d88ba063f5a

--
Gitblit v1.9.3