From d438c2d73da577b0729176e9a315cde659987b97 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 13 一月 2025 20:40:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java |   42 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 37 insertions(+), 5 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 9bde5e4..93cccc5 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -2,6 +2,10 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.account.api.feignClient.AppUserShopClient;
+import com.ruoyi.account.api.model.AppUser;
+import com.ruoyi.account.api.model.AppUserShop;
 import com.ruoyi.common.core.constant.UserConstants;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.SpringUtils;
@@ -79,6 +83,12 @@
 	
 	@Resource
 	private UserShopService userShopService;
+
+	@Resource
+	private AppUserShopClient appUserShopClient;
+
+	@Resource
+	private AppUserClient appUserClient;
 	
 	
 	/**
@@ -442,7 +452,9 @@
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public int deleteUserByIds(Long[] userIds) {
-		for (Long userId : userIds) {
+        Long userid = tokenService.getLoginUser().getUserid();
+        SysUser sysUser = this.getById(userid);
+        for (Long userId : userIds) {
 			checkUserAllowed(new SysUser(userId));
 //            checkUserDataScope(userId);
 		}
@@ -450,14 +462,34 @@
 //        userRoleMapper.deleteUserRole(userIds);
 //        // 删除用户与岗位关联
 //        userPostMapper.deleteUserPost(userIds);
-		int i = userMapper.deleteUserByIds(userIds);
+//		int i = userMapper.deleteUserByIds(userIds);
 		List<SysUser> sysUsers = this.listByIds(Arrays.asList(userIds));
 		for (SysUser user : sysUsers) {
 			if(2 == user.getRoleType()){
-				userShopService.remove(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()).eq(UserShop::getShopId, user.getObjectId()));
-			}
+				userShopService.remove(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()).eq(UserShop::getShopId, sysUser.getObjectId()));
+				AppUser appUser = appUserClient.getAppUserByPhone1(user.getPhonenumber()).getData();
+				if(null != appUser){
+					AppUserShop appUserShop = new AppUserShop();
+					appUserShop.setAppUserId(appUser.getId());
+					appUserShop.setShopId(sysUser.getObjectId());
+					appUserShopClient.delAppUserShop(appUserShop);
+					int size = appUserShopClient.getAppUserShop(appUser.getId()).getData().size();
+					if(size == 0){
+						appUser.setUserType(1);
+						appUserClient.editAppUserById(appUser);
+					}
+				}
+                long count = userShopService.count(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()));
+				if(0 == count){
+                    user.setDelFlag("2");
+                    this.updateById(user);
+                }
+            }else{
+                user.setDelFlag("2");
+                this.updateById(user);
+            }
 		}
-		return i;
+		return 0;
 	}
 	
 	/**

--
Gitblit v1.7.1