From 1e15b820b4a8cc6d2cbbe129990aac18f87773e6 Mon Sep 17 00:00:00 2001 From: hailin Date: Thu, 25 Dec 2025 18:55:55 -0800 Subject: [PATCH] =?UTF-8?q?fix(planting-service):=20=E5=90=88=E5=90=8CPDF?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=AE=8C=E6=95=B4=E6=89=8B=E6=9C=BA=E5=8F=B7?= =?UTF-8?q?=E5=92=8C=E8=BA=AB=E4=BB=BD=E8=AF=81=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 PDF 生成时对手机号和身份证号的脱敏处理 - 表单字段模式和坐标定位模式都直接使用原始值 - 删除 maskIdCard() 和 maskPhone() 脱敏方法 - 签订合同需要显示完整信息 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../pdf/pdf-generator.service.ts | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/backend/services/planting-service/src/infrastructure/pdf/pdf-generator.service.ts b/backend/services/planting-service/src/infrastructure/pdf/pdf-generator.service.ts index 17bebd24..ded71ae4 100644 --- a/backend/services/planting-service/src/infrastructure/pdf/pdf-generator.service.ts +++ b/backend/services/planting-service/src/infrastructure/pdf/pdf-generator.service.ts @@ -139,8 +139,8 @@ export class PdfGeneratorService { const fieldMappings: Array<{ name: string; value: string }> = [ { name: FORM_FIELDS.CONTRACT_NO, value: data.contractNo }, { name: FORM_FIELDS.USER_NAME, value: data.userRealName || '未认证' }, - { name: FORM_FIELDS.USER_ID_CARD, value: this.maskIdCard(data.userIdCard) }, - { name: FORM_FIELDS.USER_PHONE, value: this.maskPhone(data.userPhone) }, + { name: FORM_FIELDS.USER_ID_CARD, value: data.userIdCard || '未认证' }, + { name: FORM_FIELDS.USER_PHONE, value: data.userPhone || '未认证' }, { name: FORM_FIELDS.TREE_COUNT, value: data.treeCount.toString() }, { name: FORM_FIELDS.SIGN_YEAR, value: year }, { name: FORM_FIELDS.SIGN_MONTH, value: month }, @@ -197,7 +197,7 @@ export class PdfGeneratorService { color: textColor, }); - page2.drawText(this.maskIdCard(data.userIdCard), { + page2.drawText(data.userIdCard || '未认证', { x: 130, y: 557, size: fontSize, @@ -205,7 +205,7 @@ export class PdfGeneratorService { color: textColor, }); - page2.drawText(this.maskPhone(data.userPhone), { + page2.drawText(data.userPhone || '未认证', { x: 130, y: 531, size: fontSize, @@ -358,21 +358,4 @@ export class PdfGeneratorService { return pdfBuffer; } - /** - * 脱敏身份证号 - */ - private maskIdCard(idCard: string | undefined): string { - if (!idCard) return '****'; - if (idCard.length < 6) return '****'; - return idCard.slice(0, 6) + '********' + idCard.slice(-4); - } - - /** - * 脱敏手机号 - */ - private maskPhone(phone: string | undefined): string { - if (!phone) return '****'; - if (phone.length < 7) return '****'; - return phone.slice(0, 3) + '****' + phone.slice(-4); - } }