diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/BureauUnitController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/BureauUnitController.java index c2f2b171..34dfb987 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/BureauUnitController.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/BureauUnitController.java @@ -1,17 +1,24 @@ package com.zdxt.enforcementcode.controller; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.convert.Convert; import com.zdxt.enforcementcode.common.util.CommonUtil; +import com.zdxt.enforcementcode.common.util.IdCardCryptoUtil; import com.zdxt.enforcementcode.domain.vo.UnitUserVo; import com.zdxt.enforcementcode.service.IEfcodeVirtualUnitService; import lombok.RequiredArgsConstructor; +import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.system.domain.bo.QuerySysUserBo; +import org.dromara.system.domain.bo.SysUserBo; +import org.dromara.system.domain.vo.SysUserVo; +import org.dromara.system.service.ISysUserService; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; @Validated @RequiredArgsConstructor @@ -19,7 +26,9 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/enforcementcode/bureauUnit") public class BureauUnitController { private final IEfcodeVirtualUnitService efcodeVirtualUnitService; - + private final ISysUserService userService; + // 手机号解密key + private static String KEY="VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0"; @GetMapping("/users") public TableDataInfo queryUsers( @RequestParam(required = false) String sysDeptId, @@ -33,4 +42,41 @@ public class BureauUnitController { } return result; } + + + + /** + * 查询用户列表 + */ + @PostMapping("/queryUsersByPage") + public TableDataInfo queryUsersByPage(@RequestBody SysUserBo user, PageQuery pageQuery) { + if (null != user.getNotUserId()) { + Map params = user.getParams(); + params.put("notUserIds", Convert.toStrArray(user.getNotUserId())); + } + if (null != user.getIsShowCardId()) { + Map params = user.getParams(); + params.put("showCardId", user.getIsShowCardId()); + } + user.setDataScopeId(null); + // 分页查询:service 内部已通过 PageQuery.build() 构建 MyBatis-Plus Page 并返回 TableDataInfo + TableDataInfo result = userService.queryUsersByPage(user, pageQuery); + // 对手机号进行按需解密后返回明文,便于前端直接展示与使用 + List rows = result.getRows(); + if (rows != null && !rows.isEmpty()) { + rows.forEach(li -> { + if (StringUtils.isEmpty(li.getPhonenumber())) { + return; + } + if (li.getPhonenumber().matches("^\\d+$")) { + li.setDecryptPhoneNum(li.getPhonenumber()); + } else { + li.setDecryptPhoneNum(IdCardCryptoUtil.symmetricDecryptIdCard(KEY, li.getPhonenumber())); + } + }); + } + return result; + } + + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EfcodeVirtualUnitMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EfcodeVirtualUnitMapper.xml index fcc91a39..24e932e7 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EfcodeVirtualUnitMapper.xml +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EfcodeVirtualUnitMapper.xml @@ -14,7 +14,7 @@ u.fullname AS fullname, u.mobileNumber AS mobileNumber, u.user_source AS userSource, - u .law_certificate_num as lawCertificateNum, + u . as lawCertificateNum, REPLACE(COALESCE(d.zzDisplayPath, ''), '深圳市/', '') AS zzDisplayPath, diff --git a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java index 206dfdd7..b4864f72 100644 --- a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java +++ b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java @@ -1,5 +1,6 @@ package org.dromara.system.domain.bo; +import com.google.common.collect.Maps; import io.github.linpeilie.annotations.AutoMapper; import jakarta.validation.constraints.Email; import jakarta.validation.constraints.NotBlank; @@ -12,6 +13,8 @@ import org.dromara.common.core.xss.Xss; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.system.domain.SysUser; +import java.util.Map; + /** * 用户信息业务对象 sys_user * @@ -123,6 +126,7 @@ public class SysUserBo extends BaseEntity { */ private Integer isShowCardId; + /** * 数据权限ID */ @@ -136,4 +140,17 @@ public class SysUserBo extends BaseEntity { return SystemConstants.SUPER_ADMIN_ID.equals(this.userId); } + private Map params; + + + public Map getParams() + { + if (params == null) + { + params = Maps.newHashMap(); + } + return params; + } + + private String loginName; } diff --git a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java index e28a9525..e395e00c 100644 --- a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java +++ b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java @@ -170,4 +170,6 @@ public class SysUserVo implements Serializable { */ private SysDeptVo dept; + + private String decryptPhoneNum; } diff --git a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java index 38745cad..98c83255 100644 --- a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java +++ b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java @@ -10,8 +10,10 @@ import org.dromara.common.mybatis.annotation.DataColumn; import org.dromara.common.mybatis.annotation.DataPermission; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.system.domain.SysUser; import org.dromara.system.domain.bo.QuerySysUserBo; +import org.dromara.system.domain.bo.SysUserBo; import org.dromara.system.domain.vo.SysUserExportVo; import org.dromara.system.domain.vo.SysUserVo; @@ -152,4 +154,6 @@ public interface SysUserMapper extends BaseMapperPlus { List selectUserByIds(String[] ids); List queryUserByIds(String[] ids); + + Page queryUsersByPage(@Param("user") SysUserBo user, Page page); } diff --git a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/ISysUserService.java b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/ISysUserService.java index 32545545..6ff3a3a4 100644 --- a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/ISysUserService.java +++ b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/ISysUserService.java @@ -273,4 +273,6 @@ public interface ISysUserService { */ List selectUserByIds(List userIds); List queryUserByIds(List userIds); + + TableDataInfo queryUsersByPage(SysUserBo user, PageQuery pageQuery); } diff --git a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index c5cf567e..f05ccb4a 100644 --- a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -808,6 +808,13 @@ public class SysUserServiceImpl implements ISysUserService, UserService { return TableDataInfo.build(result); } + @Override + public TableDataInfo queryUsersByPage(SysUserBo user, PageQuery pageQuery) { + + Page page = pageQuery.build(); + Page result = baseMapper.queryUsersByPage(user, page); + return TableDataInfo.build(result); + } /** * 通过登录账号查询用户(同步过来的用户可能存在重复) * @@ -900,6 +907,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { return this.baseMapper.selectUserByIds(Convert.toStrArray(userIds)); } + /** * 判断是否为机构 * @param deptBeanDataSource diff --git a/zdxt-modules/zdxt-system/src/main/resources/mapper/system/SysUserMapper.xml b/zdxt-modules/zdxt-system/src/main/resources/mapper/system/SysUserMapper.xml index a8110c64..51a1037c 100644 --- a/zdxt-modules/zdxt-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/zdxt-modules/zdxt-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -105,6 +105,54 @@ ORDER BY u.create_time DESC + + + + + + select u.user_id,