From 6082aedf03204a4c7fa4179d4d6ecf52d19ff173 Mon Sep 17 00:00:00 2001 From: zhangrui Date: Tue, 10 Nov 2026 17:03:07 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=BC=E5=90=88=E6=9F=A5=E8=AF=A2=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E4=B8=AD=EF=BC=8C=E5=88=97=E8=A1=A8=E9=87=8C=E9=9D=A2?= =?UTF-8?q?=E8=AF=81=E4=BB=B6=E5=8F=B7=E7=A0=81=E5=AD=97=E6=AE=B5=EF=BC=8C?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86=E5=91=98=E6=88=96=E8=80=85?= =?UTF-8?q?=E6=A0=A1=E5=B7=A5=E4=BC=9A=E7=AE=A1=E7=90=86=E5=91=98=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E5=B0=B1=E4=B8=8D=E7=94=A8=E6=94=B9=E4=B8=BA*?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MemberComprehensiveController.java | 9 +-------- .../service/MemberStatisticsService.java | 8 ++++++++ .../impl/MemberStatisticsServiceImpl.java | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/statistics/MemberComprehensiveController.java b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/statistics/MemberComprehensiveController.java index 3d37b7e..4cd1327 100644 --- a/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/statistics/MemberComprehensiveController.java +++ b/src/main/java/com/budwk/app/zhgh/staffmanage/member/controller/statistics/MemberComprehensiveController.java @@ -6,7 +6,6 @@ import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.util.DesensitizedUtil; -import com.budwk.app.base.page.Pagination; import com.budwk.app.base.result.Result; import com.budwk.app.base.utils.CommonDownloadUtil; import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberStatisticsPageForm; @@ -54,13 +53,7 @@ public class MemberComprehensiveController { @At @SaCheckPermission("member.statistics.comprehensive") public Result pageData(MemberStatisticsPageForm pageForm) { - Sql sql = memberStatisticsService.getComprehensiveSql(pageForm); - Pagination pagination = memberStatisticsService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); - for (NutMap row : pagination.getList()) { - row.put("mobile", DesensitizedUtil.mobilePhone(row.getString("mobile"))); - row.put("idCard", DesensitizedUtil.idCardNum(row.getString("idCard"), 3, 4)); - } - return Result.success(pagination); + return Result.success(memberStatisticsService.getComprehensivePage(pageForm)); } diff --git a/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/MemberStatisticsService.java b/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/MemberStatisticsService.java index e053856..ba96d6f 100644 --- a/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/MemberStatisticsService.java +++ b/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/MemberStatisticsService.java @@ -1,6 +1,7 @@ package com.budwk.app.zhgh.staffmanage.member.service; import com.budwk.app.base.service.BaseService; +import com.budwk.app.base.page.Pagination; import com.budwk.app.sys.models.Sys_user; import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberStatisticsPageForm; import org.apache.poi.ss.usermodel.Workbook; @@ -33,6 +34,13 @@ public interface MemberStatisticsService extends BaseService { */ Sql getComprehensiveSql(MemberStatisticsPageForm pageForm); + /** + * 查询综合查询列表,证件号码是否脱敏由当前登录人的角色决定。 + * @param pageForm 列表筛选、排序和分页条件,不接受调用方指定脱敏权限 + * @return 分页结果,list中的mobile始终脱敏;idCard仅系统管理员或校工会管理员可见原值 + */ + Pagination getComprehensivePage(MemberStatisticsPageForm pageForm); + /** * 获取工会分析数据 diff --git a/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberStatisticsServiceImpl.java b/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberStatisticsServiceImpl.java index 8675121..a905367 100644 --- a/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberStatisticsServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberStatisticsServiceImpl.java @@ -7,6 +7,8 @@ import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.core.util.DesensitizedUtil; +import com.budwk.app.base.page.Pagination; import com.budwk.app.base.constant.RoleConstant; import com.budwk.app.base.service.impl.BaseServiceImpl; import com.budwk.app.web.commons.auth.utils.AuthUtil; @@ -44,6 +46,22 @@ public class MemberStatisticsServiceImpl extends BaseServiceImpl imple super(dao); } + /** 列表沿用原查询范围,只按登录角色调整证件号码展示,不改变手机号及导出规则。 */ + @Override + public Pagination getComprehensivePage(MemberStatisticsPageForm pageForm) { + Sql sql = getComprehensiveSql(pageForm); + Pagination pagination = listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); + boolean showFullIdCard = AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name()); + for (NutMap row : pagination.getList()) { + row.put("mobile", DesensitizedUtil.mobilePhone(row.getString("mobile"))); + // 角色取自服务端会话;同时拥有普通角色的管理员仍按管理员展示原始证件号码。 + if (!showFullIdCard) { + row.put("idCard", DesensitizedUtil.idCardNum(row.getString("idCard"), 3, 4)); + } + } + return pagination; + } + @Override public Cnd getCnd(MemberStatisticsPageForm pageForm) {