From 377cb14fb06a5cbeda3e2c715f58ae352768e096 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 11 十一月 2024 21:48:41 +0800
Subject: [PATCH] 代码提交

---
 xinquan-auth/src/main/java/com/xinquan/auth/util/HWSendSms.java                                            |  140 ++++++++++++++++++++++++++++++++++++++++++++++
 xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java                                |    6 ++
 xinquan-auth/src/main/java/com/xinquan/auth/service/SysLoginService.java                                   |    6 +
 xinquan-auth/pom.xml                                                                                       |    5 +
 xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java |    1 
 5 files changed, 157 insertions(+), 1 deletions(-)

diff --git a/xinquan-auth/pom.xml b/xinquan-auth/pom.xml
index 601daec..c91e1c7 100644
--- a/xinquan-auth/pom.xml
+++ b/xinquan-auth/pom.xml
@@ -19,6 +19,11 @@
     </properties>
     
     <dependencies>
+<!--        <dependency>-->
+<!--            <groupId>com.huawei.apigateway</groupId>-->
+<!--            <artifactId>java-sdk-core</artifactId>-->
+<!--            <version>3.2.4</version>-->
+<!--        </dependency>-->
         <!--user feign模块-->
         <dependency>
             <groupId>com.xinquan</groupId>
diff --git a/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java b/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java
index a33e4b7..27efdac 100644
--- a/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java
+++ b/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java
@@ -99,6 +99,12 @@
                 return R.fail("当前手机号已被绑定");
             }
         }
+        if(type==1){
+            AppUser data = remoteAppUserService.getUserByPhone(cellPhone).getData();
+            if (data!=null){
+                return R.fail("当前手机号已注册");
+            }
+        }
         sysLoginService.sendCaptchaCode(cellPhone, type);
         return R.ok();
     }
diff --git a/xinquan-auth/src/main/java/com/xinquan/auth/service/SysLoginService.java b/xinquan-auth/src/main/java/com/xinquan/auth/service/SysLoginService.java
index 5994e09..e724fb9 100644
--- a/xinquan-auth/src/main/java/com/xinquan/auth/service/SysLoginService.java
+++ b/xinquan-auth/src/main/java/com/xinquan/auth/service/SysLoginService.java
@@ -6,6 +6,7 @@
 import com.xinquan.auth.form.AppLoginBody;
 import com.xinquan.auth.form.AppRegisterBody;
 import com.xinquan.auth.form.VerifyResultVO;
+import com.xinquan.auth.util.HWSendSms;
 import com.xinquan.auth.util.HuaWeiSMSUtil;
 import com.xinquan.common.core.constant.CacheConstants;
 import com.xinquan.common.core.constant.Constants;
@@ -281,6 +282,8 @@
                 return "";
         }
     }
+    @Autowired
+    HWSendSms hwSendSms;
     /**
      * 发送验证码
      *
@@ -297,7 +300,8 @@
             log.info("发送验证码成功,手机号:{} 验证码:{}", cellPhone, code);
             // TODO 修改sender参数及templateId
              HuaWeiSMSUtil.sendSms("[\"" + code + "\"]", cellPhone, "8824110423893",
-                     "767ad27dce184a32a4b4863517fbd301\n");
+                     "767ad27dce184a32a4b4863517fbd301");
+//            hwSendSms.sendSms(code, cellPhone);
         } catch (Exception e) {
             log.error("发送短信失败", e);
             throw new ServiceException("验证码发送失败");
diff --git a/xinquan-auth/src/main/java/com/xinquan/auth/util/HWSendSms.java b/xinquan-auth/src/main/java/com/xinquan/auth/util/HWSendSms.java
new file mode 100644
index 0000000..c44dae6
--- /dev/null
+++ b/xinquan-auth/src/main/java/com/xinquan/auth/util/HWSendSms.java
@@ -0,0 +1,140 @@
+//package com.xinquan.auth.util;
+//
+//import com.cloud.apigateway.sdk.utils.Client;
+//import com.cloud.apigateway.sdk.utils.Request;
+//import org.apache.http.Header;
+//import org.apache.http.HttpEntity;
+//import org.apache.http.HttpResponse;
+//import org.apache.http.client.methods.HttpRequestBase;
+//import org.apache.http.conn.ssl.NoopHostnameVerifier;
+//import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
+//import org.apache.http.impl.client.CloseableHttpClient;
+//import org.apache.http.impl.client.HttpClients;
+//import org.apache.http.ssl.SSLContextBuilder;
+//import org.apache.http.util.EntityUtils;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//import org.springframework.beans.factory.annotation.Value;
+//import org.springframework.stereotype.Component;
+//
+//import javax.net.ssl.SSLContext;
+//import java.io.UnsupportedEncodingException;
+//import java.net.URLEncoder;
+//import java.util.Arrays;
+//
+//@Component
+//public class HWSendSms {
+//
+//
+//    private static final Logger LOGGER = LoggerFactory.getLogger(HWSendSms.class);
+//
+//    public static final String UTF_8 = "UTF-8";
+//
+//    private static CloseableHttpClient client =  null;
+//
+//    public static void main(String[] args) throws Exception {
+//        // 为防止因HTTPS证书认证失败造成API调用失败,需要先忽略证书信任问题
+////        client = createIgnoreSSLHttpClient();
+////        sendSms();
+//    }
+//
+//    public void sendSms(String code,String receiver) throws Exception {
+//        client = createIgnoreSSLHttpClient();
+//        //必填,请参考"开发准备"获取如下数据,替换为实际值
+////        String url = "https://smsapi.ap-southeast-1.myhuaweicloud.com:443/sms/batchSendSms/v1"; //APP接入地址+接口访问URI
+////        // 认证用的appKey和appSecret硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;
+////        String appKey = "c8RWg3gg************3Y7x1Ile"; //Application Key
+////        String appSecret = "q4Ii87Bh************80SfD7Al"; //Application Secret
+////        String sender = "csms12345678"; //中国大陆短信签名通道号或全球短信通道号
+////        String templateId = "8ff55eac1d0b478ab3c06c3c6a492300"; //模板ID
+////
+////        //条件必填,中国大陆短信关注,当templateId指定的模板类型为通用模板时生效且必填,必须是已审核通过的,与模板类型一致的签名名称
+////        //全球短信不用关注该参数
+////        String signature = "华为云短信测试"; //签名名称
+////
+////        //必填,全局号码格式(包含国家码),示例:+86151****6789,多个号码之间用英文逗号分隔
+////        String receiver = "+86151****6789,+86152****7890"; //短信接收人号码
+////
+////        //选填,短信状态报告接收地址,推荐使用域名,为空或者不填表示不接收状态报告
+//        String statusCallBack = "";
+//
+//        /**
+//         * 选填,使用无变量模板时请赋空值 String templateParas = "";
+//         * 单变量模板示例:模板内容为"您的验证码是${NUM_6}"时,templateParas可填写为"[\"111111\"]"
+//         * 双变量模板示例:模板内容为"您有${NUM_2}件快递请到${TXT_20}领取"时,templateParas可填写为"[\"3\",\"人民公园正门\"]"
+//         * 查看更多模板规范和变量规范:产品介绍>短信模板须知和短信变量须知
+//         */
+//        String templateParas = "[\""+code+"\"]"; //模板变量,此处以单变量验证码短信为例,请客户自行生成6位验证码,并定义为字符串类型,以杜绝首位0丢失的问题(例如:002569变成了2569)。
+//
+//        //请求Body,不携带签名名称时,signature请填null
+//        String body = buildRequestBody("8824110423893", receiver, "767ad27dce184a32a4b4863517fbd301", templateParas, statusCallBack, "心泉智慧");
+//        if (null == body || body.isEmpty()) {
+//            LOGGER.warn("body is null.");
+//            return;
+//        }
+//
+//        Request request = new Request();
+//        request.setKey("dFbKS778KG0jvQrQ672b9RaOktfV");
+//        request.setSecret("3QsteXCIY3KRfgXf5zXyi6f3cHBj");
+//        request.setMethod("POST");
+//        request.setUrl("https://smsapi.cn-north-4.myhuaweicloud.com:443/sms/batchSendSms/v1");
+//        request.addHeader("Content-Type", "application/x-www-form-urlencoded");
+//        request.setBody(body);
+//        LOGGER.info("Print the body: {}", body);
+//        try {
+//            HttpRequestBase signedRequest = Client.sign(request, "SDK-HMAC-SHA256");
+//            LOGGER.info("Print the authorization: {}", Arrays.toString(signedRequest.getHeaders("Authorization")));
+//            Header[] requestAllHeaders = signedRequest.getAllHeaders();
+//            for (Header h : requestAllHeaders) {
+//                LOGGER.info("req Header with name: {} and value: {}", h.getName(), h.getValue());
+//            }
+//
+//            HttpResponse response = client.execute(signedRequest);
+//
+//            LOGGER.info("Print the status line of the response: {}", response.getStatusLine().toString());
+//            Header[] resHeaders = response.getAllHeaders();
+//            for (Header h : resHeaders) {
+//                LOGGER.info("Processing Header with name: {} and value: {}", h.getName(), h.getValue());
+//            }
+//            HttpEntity resEntity = response.getEntity();
+//            if (resEntity != null) {
+//                LOGGER.info("Processing Body with name: {} and value: {}",
+//                        System.getProperty("line.separator"),
+//                    EntityUtils.toString(resEntity, "UTF-8"));
+//            }
+//        } catch (Exception e) {
+//            LOGGER.info(e.getMessage(), e);
+//            e.printStackTrace();
+//        }
+//    }
+//
+//    public CloseableHttpClient createIgnoreSSLHttpClient() throws Exception {
+//        SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, (x509CertChain, authType) -> true).build();
+//        return HttpClients.custom().setSSLSocketFactory(new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE)).build();
+//    }
+//
+//    static String buildRequestBody(String sender, String receiver, String templateId, String templateParas,
+//                                   String statusCallBack, String signature) throws UnsupportedEncodingException {
+//        if (null == sender || null == receiver || null == templateId || sender.isEmpty() || receiver.isEmpty()
+//            || templateId.isEmpty()) {
+//            System.out.println("buildRequestBody(): sender, receiver or templateId is null.");
+//            return null;
+//        }
+//
+//        StringBuilder body = new StringBuilder();
+//        appendToBody(body, "from=", sender);
+//        appendToBody(body, "&to=", receiver);
+//        appendToBody(body, "&templateId=", templateId);
+//        appendToBody(body, "&templateParas=", templateParas);
+//        appendToBody(body, "&statusCallback=", statusCallBack);
+//        appendToBody(body, "&signature=", signature);
+//        return body.toString();
+//    }
+//
+//    private static void appendToBody(StringBuilder body, String key, String val) throws UnsupportedEncodingException {
+//        if (null != val && !val.isEmpty()) {
+//            LOGGER.info("Print appendToBody: {}:{}", key, val);
+//            body.append(key).append(URLEncoder.encode(val, UTF_8));
+//        }
+//    }
+//}
diff --git a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java
index 3d61e14..a8bb03f 100644
--- a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java
+++ b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java
@@ -753,6 +753,7 @@
                 }
                 one.setPaymentStatus(2);
                 one.setPaymentTime(LocalDateTime.now());
+                orderService.updateById(one);
                 OrderPaymentRecord one2 = orderPaymentRecordService.lambdaQuery().eq(OrderPaymentRecord::getOrderId, one.getId())
                         .ne(OrderPaymentRecord::getPaymentType, 4).one();
                 if (one2!=null){

--
Gitblit v1.7.1