From c885a03818d37dceb22c558b9f23164e1f2ae749 Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期五, 27 十二月 2024 10:43:58 +0800 Subject: [PATCH] add:阿里云短信模板获取签名和模板信息3 --- src/main/java/com/mzl/flower/service/impl/sms/SmsTaskServiceImpl.java | 21 +++++++++++++++------ 1 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/impl/sms/SmsTaskServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/sms/SmsTaskServiceImpl.java index bac4c2e..accd06b 100644 --- a/src/main/java/com/mzl/flower/service/impl/sms/SmsTaskServiceImpl.java +++ b/src/main/java/com/mzl/flower/service/impl/sms/SmsTaskServiceImpl.java @@ -137,10 +137,13 @@ try { // 下载Excel文件到本地临时文件 File tempFile = File.createTempFile("temp", ".xlsx"); - ossClient.getObject(new GetObjectRequest(bucketName, smsTaskDTO.getFileUrl()), tempFile); + String fileUrl = smsTaskDTO.getFileUrl(); + String objectKey = fileUrl.replaceFirst("^https?://[^/]+/", ""); // 去掉协议部分 + ossClient.getObject(new GetObjectRequest(bucketName, objectKey), tempFile); // 解析Excel文件 - try (FileInputStream inputStream = new FileInputStream(tempFile); Workbook workbook = new XSSFWorkbook(inputStream)) { + try (FileInputStream inputStream = new FileInputStream(tempFile); + Workbook workbook = new XSSFWorkbook(inputStream)) { Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表 int rowCount = sheet.getPhysicalNumberOfRows(); @@ -156,8 +159,14 @@ Row row = sheet.getRow(i); if (row != null) { Cell cell = row.getCell(0); // 假设手机号在第一列 - if (cell != null && cell.getCellType() == CellType.STRING) { - String phoneNumber = cell.getStringCellValue(); + if (cell != null ) { + String phoneNumber = ""; + if (cell.getCellType() == CellType.STRING) { + phoneNumber = cell.getStringCellValue(); + } else if (cell.getCellType() == CellType.NUMERIC) { + // 将数字类型的手机号转换为字符串 + phoneNumber = String.valueOf((long) cell.getNumericCellValue()); + } if (!PHONE_NUMBER_PATTERN.matcher(phoneNumber).matches()) { message.append("第" + (i + 1) + "行手机号" + phoneNumber + "格式不正确"); isValid = false; @@ -166,7 +175,7 @@ phones.append(phoneNumber).append("\n"); } } else { - message.append("行上的单元格为空或无效 " + (i + 1)); + message.append("第" + (i + 1)+ "行上的单元格为空或无效 "); isValid = false; break; // 退出循环 } @@ -181,7 +190,7 @@ throw new ValidationException(message.toString()); } else { smsTaskDTO.setPhones(phones.toString()); - smsTaskDTO.setNum((long) rowCount); + smsTaskDTO.setNum((long) rowCount - 1); } } catch (IOException e) { e.printStackTrace(); -- Gitblit v1.9.3