lin
2024-04-03 f74ec909ba37cb1e1d981f541096a402fafd10da
修复部门的用户导出的是全部的数据
5 files modified
52 ■■■■ changed files
src/main/java/org/springblade/modules/system/controller/UserController.java 12 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/UserMapper.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml 27 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/IUserService.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java 9 ●●●● patch | view | raw | blame | history
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));
    }
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);
    /**
     * 按条件查询用户信息
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>
    <!--按条件查询用户信息-->
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);
    /**
     * 注册用户
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())));