1
zj
2025-04-18 43c900c904084b657d90826e7f91afef92500733
1
4 files modified
48 ■■■■ changed files
pom.xml 1 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/common/ServerResponse.java 6 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/controller/SmsApiController.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/nq/utils/smsUtil/smsUtil.java 39 ●●●● patch | view | raw | blame | history
pom.xml
@@ -26,7 +26,6 @@
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-core</artifactId>
src/main/java/com/nq/common/ServerResponse.java
@@ -74,7 +74,7 @@
    public static <T> ServerResponse<T> createBySuccessMsg(String msg,HttpServletRequest request) {
        return new ServerResponse(ResponseCode.SUCCESS.getCode(), msg);
        return new ServerResponse(ResponseCode.SUCCESS.getCode(), new GoogleTranslateUtil().translate(msg,request.getHeader(LANG)));
    }
    public static <T> ServerResponse<T> createBySuccess(T data) {
@@ -83,7 +83,7 @@
    public static <T> ServerResponse<T> createBySuccess(String data,HttpServletRequest request) {
        return new ServerResponse(ResponseCode.SUCCESS.getCode(), data);
        return new ServerResponse(ResponseCode.SUCCESS.getCode(), new GoogleTranslateUtil().translate(data,request.getHeader(LANG)));
    }
    public static <T> ServerResponse<T> createBySuccess(String msg, T data) {
@@ -103,7 +103,7 @@
        return new ServerResponse(ResponseCode.ERROR.getCode(), errormsg);
    }
    public static <T> ServerResponse<T> createByErrorMsg(String errormsg, HttpServletRequest request) {
        return new ServerResponse(ResponseCode.ERROR.getCode(), errormsg);
        return new ServerResponse(ResponseCode.ERROR.getCode(), new GoogleTranslateUtil().translate(errormsg,request.getHeader(LANG)));
    }
src/main/java/com/nq/controller/SmsApiController.java
@@ -49,7 +49,7 @@
        smsUtil smsUtil = new smsUtil();
        log.info("短信发送验证码手机号:"+phoneNum);
        String code = smsUtil.sendSMS(phoneNum);
        if (!StringUtils.isEmpty(code)) {
        if (!StringUtils.isEmpty(code) && !code.equals("000000")) {
            SiteSmsLog siteSmsLog = new SiteSmsLog();
            siteSmsLog.setSmsPhone(phoneNum);
            siteSmsLog.setSmsTitle("注册验证码");
src/main/java/com/nq/utils/smsUtil/smsUtil.java
@@ -6,6 +6,7 @@
import com.nq.utils.pay.CmcPayOuterRequestUtil;
import com.nq.utils.redis.RedisKeyConstant;
import com.nq.utils.redis.RedisShardedPoolUtils;
import okhttp3.*;
import org.apache.commons.lang3.RandomStringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -22,17 +23,37 @@
        String verificationCode = RandomStringUtils.randomNumeric(6);
        try {
            // 将验证码存入 Redis,设置 30 秒过期时间
            String redisKey = RedisKeyConstant.verification_code + ":" + telephone; // 使用电话号码作为唯一标识符
            RedisShardedPoolUtils.setEx(redisKey, verificationCode, 30);
        } catch (Exception e) {
            // 捕获异常并记录日志,避免程序崩溃
            System.err.println("Error storing verification code in Redis: " + e.getMessage());
            // 你可以根据需要做进一步的异常处理,比如重新抛出异常
        }
            OkHttpClient client = new OkHttpClient();
            MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
            RequestBody body = RequestBody.create(mediaType, "sp_id=697778&mobile="+telephone+"&content="+verificationCode+"&password=fe663ee62f83ddb353fdc31ee7c88378");
            Request request = new Request.Builder()
                    .url("http://47.242.44.254:9511/api/send-sms-single")
                    .post(body)
                    .addHeader("content-type", "application/x-www-form-urlencoded")
                    .build();
            Response response = client.newCall(request).execute();
            if(response.isSuccessful()){
                try {
                    // 将验证码存入 Redis,设置 30 秒过期时间
                    String redisKey = RedisKeyConstant.verification_code + ":" + telephone; // 使用电话号码作为唯一标识符
                    RedisShardedPoolUtils.setEx(redisKey, verificationCode, 30);
                } catch (Exception e) {
                    // 捕获异常并记录日志,避免程序崩溃
                    System.err.println("Error storing verification code in Redis: " + e.getMessage());
                    // 你可以根据需要做进一步的异常处理,比如重新抛出异常
                }
                // 返回验证码
                return verificationCode;
            }
        } catch (Exception e) {
            // 异常处理
            System.err.println("短信发送异常: " + e.getMessage());
            e.printStackTrace();
        }
        // 返回验证码
        return verificationCode;
        return "000000";
    }