From c4e2c196aad8af656d94bc47e9f1a80bc504b5d7 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Thu, 14 Mar 2024 18:15:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/org/springblade/modules/ownersCommittee/service/impl/OwnersCommitteeServiceImpl.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/ownersCommittee/service/impl/OwnersCommitteeServiceImpl.java b/src/main/java/org/springblade/modules/ownersCommittee/service/impl/OwnersCommitteeServiceImpl.java
index 1550559..b1068d0 100644
--- a/src/main/java/org/springblade/modules/ownersCommittee/service/impl/OwnersCommitteeServiceImpl.java
+++ b/src/main/java/org/springblade/modules/ownersCommittee/service/impl/OwnersCommitteeServiceImpl.java
@@ -103,6 +103,43 @@
 	}
 
 	@Override
+	public Boolean updateOwnersCommittee(OwnersCommitteeEntity ownersCommittee) {
+		OwnersCommitteeEntity one = getOne(Wrappers.<OwnersCommitteeEntity>lambdaQuery().eq(OwnersCommitteeEntity::getId, ownersCommittee.getId()));
+		// 负责人没有变化
+		if(one.getPrincipalId().equals(ownersCommittee.getPrincipalId())){
+			// 更新业委会信息
+			return updateById(ownersCommittee);
+		}
+		// 负责人有变化
+		// 1.更新原负责人用户角色
+		IUserService bean = SpringUtils.getBean(IUserService.class);
+		User userInfo = bean.getOne(Wrappers.<User>lambdaQuery().eq(User::getId, one.getPrincipalId()));
+		// 判断角色
+		if (userInfo.getRoleId().contains("1759487358708310017")) {
+			userInfo.setRoleId(userInfo.getRoleId().replace("1759487358708310017", ""));
+		}
+		List<String> stringList = Arrays.asList(userInfo.getRoleId().split(","));
+		// 查询是否对应有业委会负责人,如果有则删除,如果没有则不删除对应的角色
+		List<String> arrayList = new ArrayList<>();
+		for (String roleId : stringList) {
+			if (!roleId.equals("1759487358708310017")) {
+				arrayList.add(roleId);
+			}
+		}
+		userInfo.setRoleId(StringUtils.join(arrayList, ","));
+		bean.updateById(userInfo);
+		// 2.更新现在的负责人
+		User userInfoNew = bean.getOne(Wrappers.<User>lambdaQuery().eq(User::getId, ownersCommittee.getPrincipalId()));
+		// 判断角色
+		if (!userInfoNew.getRoleId().contains("1759487358708310017")) {
+			userInfoNew.setRoleId(userInfo.getRoleId() + ",1759487358708310017");
+		}
+		bean.updateById(userInfoNew);
+		// 3.更新业委会信息
+		return updateById(ownersCommittee);
+	}
+
+	@Override
 	public Boolean removeOwnersCommittee(List<Long> toLongList) {
 		for (Long aLong : toLongList) {
 			OwnersCommitteeEntity ownersCommittee = getOne(Wrappers.<OwnersCommitteeEntity>lambdaQuery().eq(OwnersCommitteeEntity::getId, aLong));

--
Gitblit v1.9.3