json字符串转map集合||发送短信阿里&&腾讯

Java字符串转map集合,List集合转转数组

使用json转map原因是因为,我们发送短信是多渠道的,阿里和腾讯云的发送短信变量不一样,通过自己封装的统一code,和模板变量进行发送短信;所以模板变量就需要统一,这样就要想怎么在发送腾讯云短信的时候怎么能使用阿里的模板变量,因为起初没有做多渠道的时候,我们单一使用阿里云,发送短信;所以就有了下面变量取值,用到json转map获取值传给腾讯云

在这里插入图片描述

【阿里云短信模板变量规范参考】
https://help.aliyun.com/document_detail/108253.html

【腾讯云短信模板变量规范参考】
https://cloud.tencent.com/document/product/382/39023
https://cloud.tencent.com/document/product/382/39031
【腾讯发送短信】—参数只传变量数字
https://cloud.tencent.com/document/product/382/55981

1.按顺序遍历的map集合

   String variable="{\"变量1\":\"值1\",\"变量2\":\"值2\",\"变量3\":\"值3\"}";
   Map paraMap = JSON.parseObject(variable, LinkedHashMap.class, Feature.OrderedField);
                    List<Object> listVariable=new ArrayList<>();
                    for (Object value:paraMap.values()){
                        listVariable.add(value);
                        //你们可以在这里打印看结果,我这里是取得map集合value值发到list集合里
                    }
                    //list集合转数组
                    String[] templateParamSet1 = listVariable.stream().toArray(String[]::new);

发送短信业务编码【些许配置这里面你们可能用不到,我也没放到上面,如果报红的话可以更改】

 @SneakyThrows
    @Override
    public CommonResult sendRenevTemplateMore(String clientId, long phone, String templateCode, String variable) {
        boolean isPhone = Util.isPhoneLegal(phone);
        if (!isPhone) {
            return CommonResult.result(ResultCode.SMS_MOBILE_NUMBER_ILLEGAL_ERR);
        }
        ChannelApp channel = verifyChannel(clientId);
        if (channel == null) {
            return CommonResult.result(ResultCode.CHANNEL_NULL_ERR);
        }
        SendSmsResponse sendSmsResponse = null;
        //查缓存
        Object smsTemplateCash = redisService.get(templateCode);
        List<SmsTemplateSupplierDto> smsTemplateSuppliers=new ArrayList<SmsTemplateSupplierDto>();
        if(smsTemplateCash==null){
            //发送短信模板------根据统一code查询审核通过的分支平台渠道code,如果有多个平台渠道code,默认走其中一个就可以
            QueryWrapper<SmsTemplateSupplier> wrapperSupplier = new QueryWrapper<SmsTemplateSupplier>();
            //wrapperSupplier.eq("t
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值