李昊 4 years ago
parent
commit
5c83f2dce8

+ 2 - 1
GxPress/Api/GxPress.Api/AdminControllers/AdminUtilsController.cs

@@ -476,7 +476,8 @@ namespace GxPress.Api.AdminControllers
         [HttpGet("send-sms")]
         public void SendSms()
         {
-          Common.Sms.AliySms.NoticeSendSms(new List<string>{"17311267313","18202810522"});
+            var phones = new List<string>() { "17311267313", "13699447785" };
+            Common.Sms.MasSms.SendSmsTemplate(phones, "dd01d79af7ec46a289cd0fca0cb3b149");
         }
     }
 }

+ 0 - 4
GxPress/Api/GxPress.Api/AppControllers/TopicController.cs

@@ -3,15 +3,11 @@ using System.Linq;
 using System.Threading.Tasks;
 using GxPress.Auth;
 using GxPress.Common.Page;
-using GxPress.Common.Tools;
 using GxPress.Entity.Topic;
 using GxPress.Repository.Interface;
 using GxPress.Repository.Interface.Topic;
 using GxPress.Request.App.Topic;
-using GxPress.Request.App.TopicAnalyze;
-using GxPress.Request.App.TopicComment;
 using GxPress.Result.App.Topic;
-using GxPress.Result.App.TopicComment;
 using GxPress.Service.Interface.Middle;
 using GxPress.Service.Interface.Topic;
 using Microsoft.AspNetCore.Authorization;

+ 2 - 2
GxPress/Api/GxPress.Api/AppControllers/UserController.cs

@@ -222,7 +222,7 @@ namespace GxPress.Api.AppControllers
                 throw new BusinessException("请求太频繁!");
             code = RandomGenerator.GetNumberString(6);
             //code = "123456";
-            if (Common.Sms.AliySms.SendSms(phone, code))
+            if (Common.Sms.MasSms.SendSmsTemplate(phone, code, "8b833ac6dfe54e62821bc6843279e2dd"))
             {
                 _logger.LogInformation("{phone}验证码:{code}", phone, code);
                 var codeByte = Encoding.UTF8.GetBytes(Utilities.JsonSerialize(code));
@@ -254,7 +254,7 @@ namespace GxPress.Api.AppControllers
                 throw new BusinessException("请求太频繁!");
             code = RandomGenerator.GetNumberString(6);
             //code = "123456";
-            if (Common.Sms.AliySms.SendSms(phone, code))
+            if (Common.Sms.MasSms.SendSmsTemplate(phone, code, "8b833ac6dfe54e62821bc6843279e2dd"))
             {
                 _logger.LogInformation("{phone}验证码:{code}", phone, code);
                 var codeByte = Encoding.UTF8.GetBytes(Utilities.JsonSerialize(code));

+ 92 - 1
GxPress/Infrastructure/GxPress.Common/Sms/MasSms.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Collections.Generic;
 using System.IO;
 using System.Net;
 using System.Text;
@@ -21,7 +22,97 @@ namespace GxPress.Common.Sms
             {
                 var content = $"打死也不能告诉别人,短信验证码:{code}";
                 var md5 = EncryptProvider.Md5($"接口联调账号impactpasswd@1342{phone}{content}bM16CfN2B").ToLower();
-                var json = "{\"ecName\":\"接口联调账号\", \"apId\":\"impact\", \"mobiles\":\"" + phone + "\", \"content\":\"" + content + "\", \"sign\":\"bM16CfN2B\", \"addSerial\":\"\", \"mac\":\""+md5+"\"}";
+                var json = "{\"ecName\":\"接口联调账号\", \"apId\":\"impact\", \"mobiles\":\"" + phone + "\", \"content\":\"" + content + "\", \"sign\":\"bM16CfN2B\", \"addSerial\":\"\", \"mac\":\"" + md5 + "\"}";
+                var base64Encode = EncryptProvider.Base64Encode(json);
+                byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(base64Encode); //转化
+                HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(url));
+                webReq.Method = "POST";
+                webReq.ContentType = "application/x-www-form-urlencoded";
+                //webReq.ContentType = "application/json";
+                webReq.ContentLength = byteArray.Length;
+                Stream newStream = webReq.GetRequestStream();
+                newStream.Write(byteArray, 0, byteArray.Length);//写入参数
+                newStream.Close();
+                HttpWebResponse response = (HttpWebResponse)webReq.GetResponse();
+                StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
+                var ret = sr.ReadToEnd();
+                sr.Close();
+                response.Close();
+                newStream.Close();
+                var success = JsonConvert.DeserializeObject<SmsSuccess>(ret);
+                return success.Success;
+            }
+            catch (Exception ex)
+            {
+                throw new Common.Exceptions.BusinessException(ex.Message);
+            }
+        }
+        /// <summary>
+        /// 广西短信模板
+        /// </summary>
+        /// <param name="phone"></param>
+        /// <param name="code"></param>
+        /// <returns></returns>
+        public static bool SendSmsTemplate(string phone, string code, string templateId)
+        {
+            var url = "http://112.35.10.201:5992/sms/tmpsubmit";
+            try
+            {
+                var ecName = "广西出版传媒集团有限公司";
+                var appId = "gxcbcm";
+                var sign = "FOdugjqlG";
+                var secretKey = "gxcbcm";
+                //phone = "+ phone + ";
+                var paramsValue = string.IsNullOrEmpty(code) ? "[\"\"]" : "[\\\"" + code + "\\\"]";
+                var paramsValueMd5 = string.IsNullOrEmpty(code) ? "[\"\"]" : "[\"" + code + "\"]";
+                var addSerial = "";
+                var md5 = EncryptProvider.Md5($"{ecName}{appId}{secretKey}{templateId}{phone}{paramsValueMd5}{sign}{addSerial}").ToLower();
+                var json = "{\"ecName\":\"" + ecName + "\", \"apId\":\"" + appId + "\", \"templateId\":\"" + templateId + "\", \"mobiles\":\"" + phone + "\",\"params\":\"" + paramsValue + "\", \"sign\":\"" + sign + "\", \"addSerial\":\"\", \"mac\":\"" + md5 + "\"}";
+                var base64Encode = EncryptProvider.Base64Encode(json);
+                byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(base64Encode); //转化
+                HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(url));
+                webReq.Method = "POST";
+                webReq.ContentType = "application/x-www-form-urlencoded";
+                //webReq.ContentType = "application/json";
+                webReq.ContentLength = byteArray.Length;
+                Stream newStream = webReq.GetRequestStream();
+                newStream.Write(byteArray, 0, byteArray.Length);//写入参数
+                newStream.Close();
+                HttpWebResponse response = (HttpWebResponse)webReq.GetResponse();
+                StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
+                var ret = sr.ReadToEnd();
+                sr.Close();
+                response.Close();
+                newStream.Close();
+                var success = JsonConvert.DeserializeObject<SmsSuccess>(ret);
+                return success.Success;
+            }
+            catch (Exception ex)
+            {
+                throw new Common.Exceptions.BusinessException(ex.Message);
+            }
+        }
+        /// <summary>
+        /// 广西短信模板
+        /// </summary>
+        /// <param name="phone"></param>
+        /// <param name="code"></param>
+        /// <returns></returns>
+        public static bool SendSmsTemplate(List<string> phones, string templateId)
+        {
+            var url = "http://112.35.10.201:5992/sms/tmpsubmit";
+            try
+            {
+                var ecName = "广西出版传媒集团有限公司";
+                var appId = "gxcbcm";
+                var sign = "FOdugjqlG";
+                var secretKey = "gxcbcm";
+                var phone = Common.Tools.StringUtils.ObjectCollectionToString(phones);
+                var paramsValue = "[\\\"\\\"]";
+                var paramsValueMd5 = "[\"\"]";
+                var addSerial = "";
+                var md5 = EncryptProvider.Md5($"{ecName}{appId}{secretKey}{templateId}{phone}{paramsValueMd5}{sign}{addSerial}").ToLower();
+                var json = "{\"ecName\":\"" + ecName + "\", \"apId\":\"" + appId + "\", \"templateId\":\"" + templateId + "\", \"mobiles\":\"" + phone + "\",\"params\":\"" + paramsValue + "\", \"sign\":\"" + sign + "\", \"addSerial\":\"\", \"mac\":\"" + md5 + "\"}";
                 var base64Encode = EncryptProvider.Base64Encode(json);
                 byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(base64Encode); //转化
                 HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(url));

+ 2 - 1
GxPress/Service/GxPress.Service.Implement/Flow/FlowService.Actions1.Add.cs

@@ -59,7 +59,8 @@ namespace GxPress.Service.Implement
                     {
                         //发送短信
                         var user = await _userRepository.GetAsync(todo.UserId);
-                        Common.Sms.AliySms.FolwCheckSendSms(user.Phone);
+                        //Common.Sms.AliySms.FolwCheckSendSms(user.Phone);
+                        Common.Sms.MasSms.SendSmsTemplate(new List<string>() { user.Phone }, "c9bdae1685514a9b821299720e2c5fe8");
                     }
                 }
             }

+ 8 - 4
GxPress/Service/GxPress.Service.Implement/Flow/FlowService.Actions2.Check.cs

@@ -62,7 +62,8 @@ namespace GxPress.Service.Implement
                     await _flowRepository.UpdateStateAsync(flow.Id, nameof(FlowState.Checked));
                     //发送短信
                     var user = await _userRepository.GetAsync(flow.UserId);
-                    Common.Sms.AliySms.FolwStatusSendSms(user.Phone);
+                    //Common.Sms.AliySms.FolwStatusSendSms(user.Phone);
+                    Common.Sms.MasSms.SendSmsTemplate(new List<string>() { user.Phone }, "3c70cbdbcd1e45449b2830871387bdfe");
                 }
                 else
                 {
@@ -77,7 +78,8 @@ namespace GxPress.Service.Implement
                             await _flowTodoRepository.UpdateAsync(item);
                             //发送短信
                             var user = await _userRepository.GetAsync(item.UserId);
-                            Common.Sms.AliySms.FolwCheckSendSms(user.Phone);
+                            // Common.Sms.AliySms.FolwCheckSendSms(user.Phone);
+                            Common.Sms.MasSms.SendSmsTemplate(new List<string>() { user.Phone }, "c9bdae1685514a9b821299720e2c5fe8");
                         }
                     }
                     else
@@ -86,7 +88,8 @@ namespace GxPress.Service.Implement
                         await _flowTodoRepository.UpdateAsync(flowTodo);
                         //发送短信
                         var user = await _userRepository.GetAsync(flowTodo.UserId);
-                        Common.Sms.AliySms.FolwCheckSendSms(user.Phone);
+                        //Common.Sms.AliySms.FolwCheckSendSms(user.Phone);
+                        Common.Sms.MasSms.SendSmsTemplate(new List<string>() { user.Phone }, "c9bdae1685514a9b821299720e2c5fe8");
                     }
                 }
 
@@ -97,7 +100,8 @@ namespace GxPress.Service.Implement
                 await _flowRepository.UpdateStateAsync(flow.Id, nameof(FlowState.Denied));
                 //发送短信
                 var user = await _userRepository.GetAsync(flow.UserId);
-                Common.Sms.AliySms.FolwStatusSendSms(user.Phone);
+                //Common.Sms.AliySms.FolwStatusSendSms(user.Phone);
+                Common.Sms.MasSms.SendSmsTemplate(new List<string>() { user.Phone }, "c9bdae1685514a9b821299720e2c5fe8");
             }
         }
 

+ 4 - 2
GxPress/Service/GxPress.Service.Implement/Flow/FlowService.Nodes.cs

@@ -320,7 +320,8 @@ namespace GxPress.Service.Implement
                         await _flowTodoRepository.UpdateAsync(item);
                         //发送短信
                         var user = await _userRepository.GetAsync(item.UserId);
-                        Common.Sms.AliySms.FolwCheckSendSms(user.Phone);
+                        //Common.Sms.AliySms.FolwCheckSendSms(user.Phone);
+                        Common.Sms.MasSms.SendSmsTemplate(new List<string>() { user.Phone }, "c9bdae1685514a9b821299720e2c5fe8");
                     }
                 }
                 else
@@ -331,7 +332,8 @@ namespace GxPress.Service.Implement
                         await _flowTodoRepository.UpdateAsync(flowTodo);
                         //发送短信
                         var user = await _userRepository.GetAsync(flowTodo.UserId);
-                        Common.Sms.AliySms.FolwCheckSendSms(user.Phone);
+                        // Common.Sms.AliySms.FolwCheckSendSms(user.Phone);
+                        Common.Sms.MasSms.SendSmsTemplate(new List<string>() { user.Phone }, "c9bdae1685514a9b821299720e2c5fe8");
                     }
                 }
             }

+ 1 - 1
GxPress/Service/GxPress.Service.Implement/Notice/NoticeService.Insert.cs

@@ -187,7 +187,7 @@ namespace GxPress.Service.Implement.Notice
                         await _middleRepository.InsertAsync(middles);
                         //发送短信
                         var userPhones = await _userRepository.GetUserIdsAsync(middles.Select(n => n.UserId).ToList());
-                        Common.Sms.AliySms.NoticeSendSms(userPhones.ToList());
+                        Common.Sms.MasSms.SendSmsTemplate(userPhones.ToList(), "dd01d79af7ec46a289cd0fca0cb3b149");
                     }
                     transactionScope.Complete();
                 }