lin
2024-04-01 03bb17c7ed7936485f8896bba9df13a1289d524e
短信优化
2 files modified
26 ■■■■■ changed files
src/main/java/org/springblade/modules/sms/entity/SmsTemplateEntity.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/sms/entity/SmsTemplateEntity.java
@@ -45,7 +45,7 @@
     */
    @ApiModelProperty(value = "主键ID", example = "")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Integer id;
    private Long id;
    /**
     * 机构id
src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java
@@ -18,6 +18,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -26,6 +27,8 @@
import org.springblade.common.utils.UtilRandom;
import org.springblade.common.utils.sms.AlipaySignature;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.modules.resource.entity.Sms;
import org.springblade.modules.resource.service.ISmsService;
import org.springblade.modules.sms.entity.SmsTemplateEntity;
import org.springblade.modules.sms.mapper.SmsTemplateMapper;
import org.springblade.modules.sms.service.ISmsSendService;
@@ -53,11 +56,16 @@
    public static final String SMS_VALIDATE_PHONE = "sms:validate:code:";
    public static final String SMS_VALIDATE_PHONE_NUM = "sms:validate:phone:";
//    @Autowired
//    private SmsConfig smsConfig;
    @Autowired
    private SmsConfig smsConfig;
    private ISmsService iSmsService;
    @Override
    public Boolean smsSend(String phone) {
        Sms serviceOne = iSmsService.getOne(Wrappers.<Sms>lambdaQuery().eq(Sms::getSmsCode, "106575361457"));
        //发送的手机号
        List<Map> phonesList = new ArrayList<>();
@@ -94,10 +102,10 @@
        params.put("priority", priority);
        params.put("type", type);
        //创建人主键
        params.put("sop_create_by", smsConfig.getSopCreateBy());
        params.put("sop_create_by", serviceOne.getSmsCode());
        String s = null;
        try {
            s = testGet(params, "message.sop.differentMes");
            s = testGet(params, "message.sop.differentMes",serviceOne);
            JSONObject jsonObject = JSON.parseObject(s);
            JSONObject messageSopEqualsMesResponse = (JSONObject) jsonObject.get("message_sop_equalsMes_response");
            if (messageSopEqualsMesResponse.get("code").equals(200)) {
@@ -113,11 +121,11 @@
        return false;
    }
    public String testGet(Object bizContent, String method) throws Exception {
    public String testGet(Object bizContent, String method,Sms serviceOne) throws Exception {
        // 公共请求参数
        Map<String, String> params = new HashMap<String, String>();
        params.put("app_id", smsConfig.getSmsAppId());
        params.put("app_id", serviceOne.getAccessKey());
        params.put("method", method);
        params.put("format", "json");
        params.put("charset", "utf-8");
@@ -128,18 +136,18 @@
        // 业务参数
        params.put("biz_content", JSON.toJSONString(bizContent));
        String content = AlipaySignature.getSignContent(params);
        String sign = AlipaySignature.rsa256Sign(content, smsConfig.getSmsPrivateKey(), "utf-8");
        String sign = AlipaySignature.rsa256Sign(content, serviceOne.getSecretKey(), "utf-8");
        params.put("sign", sign);
        System.out.println("----------- 请求信息 -----------");
        System.out.println("请求参数:" + buildParamQuery(params));
        System.out.println("商户秘钥:" + smsConfig.getSmsPrivateKey());
        System.out.println("商户秘钥:" + serviceOne.getSecretKey());
        System.out.println("待签名内容:" + content);
        System.out.println("签名(sign):" + sign);
        System.out.println("URL参数:" + buildUrlQuery(params));
        System.out.println("----------- 返回结果 -----------");
        String responseData = HttpClientUtils.doGet(smsConfig.getSmsUrl(), params);// 发送请求
        String responseData = HttpClientUtils.doGet(serviceOne.getRemark(), params);// 发送请求
        System.out.println("返回数据" + responseData);
        return responseData;
    }