From 061a01ce068bf8e1260b6ea8e5c610737185916a Mon Sep 17 00:00:00 2001 From: xin <1099200748@qq.com> Date: Wed, 04 Jun 2025 21:41:48 +0800 Subject: [PATCH] 用户微信授权 --- oying-tools/src/main/java/com/oying/utils/SendMessageUtils.java | 61 ++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 deletions(-) diff --git a/oying-tools/src/main/java/com/oying/utils/SendMessageUtils.java b/oying-tools/src/main/java/com/oying/utils/SendMessageUtils.java new file mode 100644 index 0000000..c3ce8dd --- /dev/null +++ b/oying-tools/src/main/java/com/oying/utils/SendMessageUtils.java @@ -0,0 +1,61 @@ +package com.oying.utils; + +import com.oying.exception.BadRequestException; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpMethod; + +import java.util.HashMap; + +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.util.ObjectUtils; + +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * @author xin + * @description + * @date 2025/6/4 01:10 + */ +@Slf4j +@Data +public class SendMessageUtils { + + public static void sendMsg(String url, String phone, String message, WinnerLookProperties properties) { + Map<String, String> params = new HashMap<>(); + params.put("userCode", properties.getUserCode()); + params.put("userPass", properties.getUserPass()); + params.put("DesNo", phone); + params.put("Msg", message + "【立研】"); + params.put("smsType", "101"); + String str = HttpRequest.exchangeMsg(HttpMethod.POST, url, convert(params)); + if (ObjectUtils.isEmpty(extractWithRegex(str))) { + log.error("短信调用异常 {}", str); + throw new BadRequestException("短信调用异常"); + } + int i = Integer.parseInt(str); + if (i < 0) { + throw new BadRequestException(WinnerLookEnum.find(i)); + } + } + + public static String extractWithRegex(String xml) { + Pattern pattern = Pattern.compile( + "<string[^>]*>([^<]*)</string>" + ); + Matcher matcher = pattern.matcher(xml); + return matcher.find() ? matcher.group(1) : null; + } + + /** + * Map转MultiValueMap + */ + public static <K, V> MultiValueMap<K, V> convert(Map<K, V> map) { + MultiValueMap<K, V> multiValueMap = new LinkedMultiValueMap<>(); + map.forEach(multiValueMap::add); + return multiValueMap; + } +} -- Gitblit v1.9.3