Yue 2 лет назад
Родитель
Сommit
b6be42612c

+ 13 - 1
SERVER/VberAdminPlus/vber-admin/src/main/resources/application-dev.yml

@@ -96,10 +96,22 @@ vber:
     props:
       sql.show: true
 
+wx:
+  app-id:
+  app-secret:
+
+sms:
+  enabled: true
+  #发送验证码短信的地址
+  code-url: http://www.shvber.com:5081/AliyunMsg/Code
+  #发送消息短信的地址
+  msg-url: http://www.shvber.com:5081/AliyunMsg/Msg
+
+
 --- # 监控中心配置
 spring.boot.admin.client:
   # 增加客户端开关
-  enabled: true
+  enabled: false
   url: http://localhost:6067/admin
   instance:
     service-host-type: IP

+ 11 - 2
SERVER/VberAdminPlus/vber-admin/src/main/resources/application-prod.yml

@@ -1,8 +1,8 @@
 --- # 临时文件存储位置 避免临时文件被系统清理报错
-spring.servlet.multipart.location: /VberAdminPlus/server/temp
+spring.servlet.multipart.location: /www/wwwroot/VberAdminPlus/server/temp
 
 vber:
-  profile: /VberAdminPlus/UploadPath
+  profile: /www/wwwroot/VberAdminPlus/server/UploadFile
   shardingSphere:
     enabled: false
     database-name: vber_logic_db
@@ -22,7 +22,16 @@ vber:
     props:
       sql.show: true
 
+wx:
+  app-id:
+  app-secret:
 
+sms:
+  enabled: true
+  #发送验证码短信的地址
+  code-url: http://www.shvber.com:5081/AliyunMsg/Code
+  #发送消息短信的地址
+  msg-url: http://www.shvber.com:5081/AliyunMsg/Msg
 
 --- # 监控中心配置
 spring.boot.admin.client:

+ 36 - 0
SERVER/VberAdminPlus/vber-common/src/main/java/com/vber/common/config/SmsProperties.java

@@ -0,0 +1,36 @@
+package com.vber.common.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@Data
+@Component
+@ConfigurationProperties(prefix = "sms")
+public class SmsProperties {
+    /**
+     * codeUrl 发送验证码短信的地址
+     */
+    private static String codeUrl;
+    /**
+     * msgUrl 发送消息短信的地址
+     */
+    private static String msgUrl;
+    private Boolean enabled;
+
+    public static String getCodeUrl() {
+        return SmsProperties.codeUrl;
+    }
+
+    public void setCodeUrl(String url) {
+        SmsProperties.codeUrl = url;
+    }
+
+    public static String getMsgUrl() {
+        return SmsProperties.msgUrl;
+    }
+
+    public void setMsgUrl(String url) {
+        SmsProperties.msgUrl = url;
+    }
+}

+ 27 - 0
SERVER/VberAdminPlus/vber-common/src/main/java/com/vber/common/config/WxAppConfig.java

@@ -0,0 +1,27 @@
+package com.vber.common.config;
+
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * 读取项目相关配置
+ *
+ * @author Yue
+ */
+@Data
+@Component
+@ConfigurationProperties(prefix = "wx")
+public class WxAppConfig {
+    /**
+     * AppId
+     */
+    private String appId;
+
+    /**
+     * AppSecret
+     */
+    private String appSecret;
+}
+

+ 24 - 0
SERVER/VberAdminPlus/vber-common/src/main/java/com/vber/common/sms/SmsCodeBo.java

@@ -0,0 +1,24 @@
+package com.vber.common.sms;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class SmsCodeBo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String phoneNumbers;
+    private String code;
+
+    public SmsCodeBo() {
+
+    }
+
+    public SmsCodeBo(String phoneNumbers, String code) {
+        this.phoneNumbers = phoneNumbers;
+        this.code = code;
+    }
+
+
+}

+ 32 - 0
SERVER/VberAdminPlus/vber-common/src/main/java/com/vber/common/sms/SmsMessageBo.java

@@ -0,0 +1,32 @@
+package com.vber.common.sms;
+
+import com.vber.common.utils.StringUtils;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class SmsMessageBo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String phoneNumbers;
+    private String signName;
+    private String templateCode;
+    private String templateParam;
+
+
+    public SmsMessageBo() {
+    }
+
+    public SmsMessageBo(String phoneNumbers, String signName, SmsMessageCodeEnum templateEnum, String[]... params) {
+        this.phoneNumbers = phoneNumbers;
+        this.signName = signName;
+        this.templateCode = templateEnum.getCode();
+        String paramStr = templateEnum.getParams();
+        if (params.length > 0) {
+            paramStr = StringUtils.format(paramStr, (Object) params);
+        }
+        this.templateParam = paramStr;
+    }
+}
+

+ 22 - 0
SERVER/VberAdminPlus/vber-common/src/main/java/com/vber/common/sms/SmsMessageCodeEnum.java

@@ -0,0 +1,22 @@
+package com.vber.common.sms;
+
+import lombok.Getter;
+
+@Getter
+public enum SmsMessageCodeEnum {
+
+    AM_REGISTER("SMS_90925064", "{\"xyname\":\"%s\",\"city\":\"盐中\"}"),
+    APPLY_SUCCESS("SMS_90880088", "{\"xyname\":\"%s\",\"hdname\":\"%s\"}"),
+    AUDIT_SUCCESS("SMS_90875081", "{\"xyname\":\"%s\",\"city\":\"盐中\"}"),
+    COST_SUCCESS("SMS_90970068", "{\"xyname\":\"%s\",\"city\":\"盐中\",\"huodong\":\"%s\"}"),
+    Notice("SMS_80055057", "{\"xyname\":\"盐中校友\",\"city\":\"盐中\",\"time\":\"{time}\",\"activity\":\"{content}\",\"address\":\"{address}\"}");
+    private final String code;
+
+    private final String params;
+
+    SmsMessageCodeEnum(String code, String params) {
+        this.code = code;
+        this.params = params;
+    }
+
+}

+ 9 - 0
SERVER/VberAdminPlus/vber-common/src/main/java/com/vber/common/sms/SmsResult.java

@@ -0,0 +1,9 @@
+package com.vber.common.sms;
+
+import lombok.Data;
+
+@Data
+public class SmsResult {
+    private Boolean success;
+    private String message;
+}

+ 40 - 0
SERVER/VberAdminPlus/vber-common/src/main/java/com/vber/common/sms/SmsUtils.java

@@ -0,0 +1,40 @@
+package com.vber.common.sms;
+
+
+import com.vber.common.config.SmsProperties;
+import com.vber.common.utils.http.HttpHelper;
+
+public class SmsUtils {
+
+    /**
+     * 发送短信
+     *
+     * @param phone 手机号
+     * @param code  验证码
+     */
+    public static void sendSmsCode(String phone, String code) {
+        // 调用短信发送接口
+        SmsCodeBo bo = new SmsCodeBo(phone, code);
+        String url = SmsProperties.getCodeUrl();
+        SmsResult result = HttpHelper.Post(url, bo, SmsResult.class);
+        // 发送成功
+        if (result != null && result.getSuccess()) {
+            System.out.println("发送短信给:" + phone + ",验证码是:" + code);
+        } else {
+            System.out.println("发送短信给:" + phone + ",验证码是:" + code + "【失败】");
+        }
+    }
+
+    public static void sendSmsMsg(String phone, SmsMessageCodeEnum templateCode, String[]... params) {
+        // 调用短信发送接口
+        SmsMessageBo bo = new SmsMessageBo(phone, "盐中校友会", templateCode, params);
+        String url = SmsProperties.getCodeUrl();
+        SmsResult result = HttpHelper.Post(url, bo, SmsResult.class);
+        // 发送成功
+        if (result != null && result.getSuccess()) {
+            System.out.println("发送短信给:" + phone + ",模板是:" + templateCode.getCode());
+        } else {
+            System.out.println("发送短信给:" + phone + ",模板是:" + templateCode.getCode() + "【失败】");
+        }
+    }
+}

+ 73 - 0
SERVER/VberAdminPlus/vber-common/src/main/java/com/vber/common/utils/http/HttpHelper.java

@@ -0,0 +1,73 @@
+package com.vber.common.utils.http;
+
+import cn.hutool.json.JSONUtil;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+public class HttpHelper {
+
+    public static String sendGetRequest(String url) {
+        StringBuilder response = new StringBuilder();
+        try {
+            URL obj = new URL(url);
+            HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+            con.setRequestMethod("GET");
+
+            BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
+            String inputLine;
+            while ((inputLine = in.readLine()) != null) {
+                response.append(inputLine);
+            }
+            in.close();
+            con.disconnect();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return response.toString();
+    }
+
+    public static String sendPostRequest(String url, String data) {
+        StringBuilder response = new StringBuilder();
+        try {
+            URL obj = new URL(url);
+            HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+            con.setRequestMethod("POST");
+            con.setDoOutput(true);
+            con.setRequestProperty("Content-Type", "application/json");
+            OutputStream os = con.getOutputStream();
+            OutputStreamWriter osw = new OutputStreamWriter(os);
+            osw.write(data);
+            osw.flush();
+            osw.close();
+
+            BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
+            String inputLine;
+            while ((inputLine = in.readLine()) != null) {
+                response.append(inputLine);
+            }
+            in.close();
+            os.close();
+            con.disconnect();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return response.toString();
+    }
+
+    public static <T> T Post(String url, Object data, Class<T> clazz) {
+        String dataStr = JSONUtil.toJsonStr(data);
+        String response = sendPostRequest(url, dataStr);
+        try {
+            return JSONUtil.toBean(response, clazz);
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
+
+}