From f74ec909ba37cb1e1d981f541096a402fafd10da Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Wed, 03 Apr 2024 16:27:59 +0800
Subject: [PATCH] 修复部门的用户导出的是全部的数据
---
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml | 27 ++++++++++++++++++++++++++-
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java | 9 +++++++--
src/main/java/org/springblade/modules/system/controller/UserController.java | 12 ++++++------
src/main/java/org/springblade/modules/system/mapper/UserMapper.java | 2 +-
src/main/java/org/springblade/modules/system/service/IUserService.java | 2 +-
5 files changed, 41 insertions(+), 11 deletions(-)
diff --git a/src/main/java/org/springblade/modules/system/controller/UserController.java b/src/main/java/org/springblade/modules/system/controller/UserController.java
index 819f1d2..95a148e 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -48,7 +48,6 @@
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringPool;
import org.springblade.core.tool.utils.StringUtil;
-import org.springblade.modules.house.vo.HouseholdVO;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.excel.PoliceUserExcel;
import org.springblade.modules.system.excel.PoliceUserImporter;
@@ -268,7 +267,7 @@
public R updatePassword(BladeUser user, @ApiParam(value = "旧密码", required = true) @RequestParam String oldPassword,
@ApiParam(value = "新密码", required = true) @RequestParam String newPassword,
@ApiParam(value = "新密码", required = true) @RequestParam String newPassword1) {
- bladeLogger.info("修改密码", JsonUtil.toJson(ToObject.toMap("oldPassword:" + oldPassword,"newPassword:" + newPassword,"newPassword1:" + newPassword1)));
+ bladeLogger.info("修改密码", JsonUtil.toJson(ToObject.toMap("oldPassword:" + oldPassword, "newPassword:" + newPassword, "newPassword1:" + newPassword1)));
boolean temp = userService.updatePassword(user.getUserId(), oldPassword, newPassword, newPassword1);
return R.status(temp);
}
@@ -320,12 +319,15 @@
@ApiOperation(value = "导出用户", notes = "传入user")
public void exportUser(@ApiIgnore @RequestParam Map<String, Object> user, BladeUser bladeUser, HttpServletResponse response) {
bladeLogger.info("导出用户", JsonUtil.toJson(bladeUser));
+ String deptId = (String) user.get("deptId");
+ // 置空
+ user.put("deptId", "");
QueryWrapper<User> queryWrapper = Condition.getQueryWrapper(user, User.class);
if (!AuthUtil.isAdministrator()) {
queryWrapper.lambda().eq(User::getTenantId, bladeUser.getTenantId());
}
queryWrapper.lambda().eq(User::getIsDeleted, BladeConstant.DB_NOT_DELETED);
- List<UserExcel> list = userService.exportUser(queryWrapper);
+ List<UserExcel> list = userService.exportUser(queryWrapper, deptId);
ExcelUtil.export(response, "用户数据" + DateUtil.time(), "用户数据表", list, UserExcel.class);
}
@@ -438,8 +440,6 @@
}
-
-
/**
* 通过机构查询物业公司人员
*/
@@ -485,7 +485,7 @@
@ApiLog("通过经纬度查询最近的民警人员")
@ApiOperation(value = "通过经纬度查询最近的民警人员")
public R getPoliceUser(@RequestParam("longitude") String longitude, @RequestParam(value = "latitude") String latitude, @RequestParam(value = "houseCode", required = false) String houseCode) {
- bladeLogger.info("通过经纬度查询最近的民警人员", JsonUtil.toJson(ToObject.toMap("longitude:" + longitude,"latitude:" + latitude,"houseCode:" + houseCode)));
+ bladeLogger.info("通过经纬度查询最近的民警人员", JsonUtil.toJson(ToObject.toMap("longitude:" + longitude, "latitude:" + latitude, "houseCode:" + houseCode)));
return R.data(userService.getPoliceUser(longitude, latitude, houseCode));
}
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
index ce9ceb1..af293dc 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -63,7 +63,7 @@
* @param queryWrapper
* @return
*/
- List<UserExcel> exportUser(@Param("ew") Wrapper<User> queryWrapper);
+ List<UserExcel> exportUser(@Param("ew") Wrapper<User> queryWrapper,@Param("deptIdList") List<Long> deptIdList);
/**
* 按条件查询用户信息
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index efcb04d..b4bd4a0 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -74,7 +74,32 @@
</select>
<select id="exportUser" resultType="org.springblade.modules.system.excel.UserExcel">
- SELECT id, tenant_id, user_type, account, name, real_name, email, phone, birthday, role_id, dept_id, post_id FROM blade_user ${ew.customSqlSegment}
+ SELECT id,
+ tenant_id,
+ user_type,
+ account,
+ name,
+ real_name,
+ email,
+ phone,
+ birthday,
+ role_id,
+ dept_id,
+ post_id
+ FROM blade_user ${ew.customSqlSegment}
+ <if test="deptIdList!=null and deptIdList.size>0">
+ and id in (
+ SELECT
+ user_id
+ FROM
+ blade_user_dept
+ WHERE
+ dept_id IN
+ <foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ )
+ </if>
</select>
<!--按条件查询用户信息-->
diff --git a/src/main/java/org/springblade/modules/system/service/IUserService.java b/src/main/java/org/springblade/modules/system/service/IUserService.java
index 68f52ed..7f61797 100644
--- a/src/main/java/org/springblade/modules/system/service/IUserService.java
+++ b/src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -182,7 +182,7 @@
* @param queryWrapper
* @return
*/
- List<UserExcel> exportUser(Wrapper<User> queryWrapper);
+ List<UserExcel> exportUser(Wrapper<User> queryWrapper, String tenantId);
/**
* 注册用户
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index 80adbba..871e434 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -25,6 +25,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
+import org.apache.ibatis.annotations.Param;
import org.apache.logging.log4j.util.Strings;
import org.flowable.idm.engine.impl.persistence.entity.UserEntity;
import org.springblade.common.cache.DictCache;
@@ -446,8 +447,12 @@
}
@Override
- public List<UserExcel> exportUser(Wrapper<User> queryWrapper) {
- List<UserExcel> userList = baseMapper.exportUser(queryWrapper);
+ public List<UserExcel> exportUser(Wrapper<User> queryWrapper, String deptId) {
+ if (Strings.isBlank(deptId) && !AuthUtil.isAdministrator() && !AuthUtil.isAdmin()) {
+ deptId = AuthUtil.getDeptId();
+ }
+ List<Long> deptIdList = SysCache.getDeptChildIds(deptId);
+ List<UserExcel> userList = baseMapper.exportUser(queryWrapper, deptIdList);
userList.forEach(user -> {
user.setUserTypeName(DictCache.getValue(DictEnum.USER_TYPE, user.getUserType()));
user.setRoleName(StringUtil.join(SysCache.getRoleNames(user.getRoleId())));
--
Gitblit v1.9.3