cloudroam
2024-12-29 26ebbab1ddaaaee97ae20d39cd409133ad654bc7
add:阿里云短信模板获取签名和模板信息5
已修改1个文件
43 ■■■■■ 文件已修改
src/main/java/com/mzl/flower/service/impl/sms/SmsTaskServiceImpl.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/service/impl/sms/SmsTaskServiceImpl.java
@@ -254,7 +254,7 @@
            throw new ValidationException("接收号码类型不能为空");
        }
        if ((Constants.SMS_RECEIVE_TYPE.INPUT.name().equals(smsTaskDTO.getType()) || Constants.SMS_RECEIVE_TYPE.SELECT.name().equals(smsTaskDTO.getType())) && StringUtils.isEmpty(smsTaskDTO.getPhones())) {
        if (Constants.SMS_RECEIVE_TYPE.INPUT.name().equals(smsTaskDTO.getType()) && StringUtils.isEmpty(smsTaskDTO.getPhones())) {
            throw new ValidationException("手机号不能为空");
        }
@@ -262,11 +262,50 @@
            throw new ValidationException("导入文件不能为空");
        }
        if (Constants.SMS_RECEIVE_TYPE.INPUT.name().equals(smsTaskDTO.getType()) ) {
            //解析手机号,包含不同平台的换行符
            String text = smsTaskDTO.getPhones();
            // 使用正则表达式匹配所有类型的换行符
            String[] lines = text.split("\\r?\\n|\\r");
            // 将数组转换为 List
            List<String> lineList = Arrays.asList(lines);
            lineList.forEach(l -> {
                boolean validPhoneNumber = isValidPhoneNumber(l);
                if (!validPhoneNumber) {
                    throw new ValidationException(l + "不是合法的手机号");
                }
            });
            smsTaskDTO.setNum((long) lineList.size());
        }
        if(!smsTaskDTO.getFileUrl().equals(smsTaskDO.getFileUrl())){
            dealImportExcel(smsTaskDTO);
        }
        List<SmsUserDTO> smsUserDTOS = smsTaskDTO.getSmsUserDTOS();
        if(!CollectionUtils.isEmpty(smsUserDTOS)){
            List<String> userIds = smsUserDTOS.stream()
                    .map(SmsUserDTO::getUserId)
                    .collect(Collectors.toList());
        BeanUtils.copyProperties(smsTaskDTO, smsTaskDO);
            List<String> userPhones = smsUserDTOS.stream()
                    .map(SmsUserDTO::getUserPhone)
                    .collect(Collectors.toList());
            if(!CollectionUtils.isEmpty(userPhones)){
                String phones = userPhones.stream()
                        .map(Object::toString) // 确保每个元素都转换为字符串
                        .collect(Collectors.joining("\n")); // 使用换行符连接字符串
                smsTaskDTO.setPhones(phones); // 假设有一个setPhones方法用于设置phones字段
            }
            if (!CollectionUtils.isEmpty(userIds)) {
                String userIdInfos = userIds.stream().map(Object::toString) // 确保每个元素都转换为字符串
                        .collect(Collectors.joining(";")); // 使用换行符连接字符串
                smsTaskDO.setUserIds(userIdInfos);
            }
        }
        BeanUtils.copyProperties(smsTaskDTO, smsTaskDO,"userIds");
        smsTaskDO.update(SecurityUtils.getUserId());
        smsTaskDO.setPhones(smsTaskDTO.getPhones());
        smsTaskMapper.updateById(smsTaskDO);