zhaojs
2023-10-20 a4e4986fb4612a49337fc7ade2417eefdf3889b8
no message
已添加2个文件
已修改5个文件
147 ■■■■ 文件已修改
api/.vs/FxProject/v16/.suo 补丁 | 查看 | 原始文档 | blame | 历史
api/CommonUtil/CommonUtil.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/CommonUtil/Web/SendQwGroup.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/CommonUtil/Web/WebUtil.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/ScheduledTasks/Handle/SmsWarningHandle.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/ScheduledTasks/Scheduler.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/ScheduledTasks/appsettings.json 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/.vs/FxProject/v16/.suo
Binary files differ
api/CommonUtil/CommonUtil.xml
@@ -15373,6 +15373,16 @@
            </summary>
            <param name="output"></param>
        </member>
        <member name="T:CommonUtil.Web.SendQwGroup">
            <summary>
            å‘送企微机器人
            </summary>
        </member>
        <member name="M:CommonUtil.Web.SendQwGroup.SendMessage(System.String)">
            <summary>
            </summary>
        </member>
        <member name="T:CommonUtil.Web.ServiceUtil">
            <summary>
            
@@ -15513,6 +15523,15 @@
            <param name="textParams">Text parameters.</param>
            <param name="headerParams">Header parameters.</param>
        </member>
        <member name="M:CommonUtil.Web.WebUtil.DoPostWithJson(System.String,System.String,System.Collections.Generic.IDictionary{System.String,System.String})">
            <summary>
            post json请求
            </summary>
            <param name="url"></param>
            <param name="body"></param>
            <param name="headerParams"></param>
            <returns></returns>
        </member>
        <member name="M:CommonUtil.Web.WebUtil.GetWebRequest(System.String,System.String,System.Collections.Generic.IDictionary{System.String,System.String})">
            <summary>
            ç”ŸæˆHttpWebRequest
api/CommonUtil/Web/SendQwGroup.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace CommonUtil.Web
{
    /// <summary>
    /// å‘送企微机器人
    /// </summary>
    public class SendQwGroup
    {
        /// <summary>
        ///
        /// </summary>
        public static void SendMessage(string message)
        {
            try
            {
                string body = "{\"msgtype\": \"markdown\",\"markdown\":{\"content\":\"" + message + "\"}}";
                string res = new WebUtil().DoPostWithJson("https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1e5a8b47-b108-40a6-9a29-d629863bd066", body, null);
                body = "{\"msgtype\": \"text\",\"text\":{\"content\":\"您有新的消息需要处理\",\"mentioned_mobile_list\":[\"13382447768\",\"15862977578\",\"17315773080\"]}}";
                res = new WebUtil().DoPostWithJson("https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1e5a8b47-b108-40a6-9a29-d629863bd066", body, null);
            }
            catch
            {
            }
        }
    }
}
api/CommonUtil/Web/WebUtil.cs
@@ -212,6 +212,28 @@
        }
        /// <summary>
        /// post json请求
        /// </summary>
        /// <param name="url"></param>
        /// <param name="body"></param>
        /// <param name="headerParams"></param>
        /// <returns></returns>
        public string DoPostWithJson(string url, string body, IDictionary<string, string> headerParams)
        {
            HttpWebRequest req = GetWebRequest(url, "POST", headerParams);
            req.ContentType = "application/json;charset=utf-8";
            byte[] postData = Encoding.UTF8.GetBytes(body);
            Stream reqStream = req.GetRequestStream();
            reqStream.Write(postData, 0, postData.Length);
            reqStream.Close();
            HttpWebResponse rsp = (HttpWebResponse)req.GetResponse();
            Encoding encoding = GetResponseEncoding(rsp);
            return GetResponseAsString(rsp, encoding);
        }
        /// <summary>
        /// ç”ŸæˆHttpWebRequest
        /// </summary>
        /// <param name="url"></param>
api/ScheduledTasks/Handle/SmsWarningHandle.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
using CommonUtil;
using CommonUtil.Web;
using Operater.DAL;
using Quartz;
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
using System.Threading.Tasks;
namespace ScheduledTasks.Handle
{
    public class SmsWarningHandle : IJob
    {
        public async Task Execute(IJobExecutionContext context)
        {
            await Synchronize(context);
        }
        public static async Task Synchronize(IJobExecutionContext context)
        {
            try
            {
                //查询超过3分钟未审核的
                string searchSql = $"select count(1) as count from sms_send where sendstatus=0 and isshowsend=0 and TIMESTAMPDIFF(MINUTE, now(),createtime)>3";
                DataTable shDt = new YzOrderinfoDAL().SearchBySqlDataTable("Sms", searchSql);
                int shCount = int.Parse(shDt.Rows[0]["count"].ToString());
                if (shCount > 0)
                {//发预警
                    string warStr = "您有待审核的任务\n>类型:待审核\n>数量:" + shCount + "\n>查看:[点击处理](https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7a9a40880081340d&redirect_uri=https%3A%2F%2Fsms.ushopvip.com%2Fpages%2Fad_page%2Ftrans&response_type=code&scope=snsapi_base&state=gzh#wechat_redirect)";
                    SendQwGroup.SendMessage(warStr);
                }
                //查询长时间未发送成功
                searchSql = $"select count(1) as count from sms_send where isshowsend=0 and wantsendtime>now() and sendstatus=0 and TIMESTAMPDIFF(MINUTE, now(),wantsendtime)>5";
                DataTable wfDt = new YzOrderinfoDAL().SearchBySqlDataTable("Sms", searchSql);
                int wfCount = int.Parse(wfDt.Rows[0]["count"].ToString());
                if (wfCount > 0)
                {//发预警
                    string warStr = "长时间未发送完成任务\n>类型:任务异常\n>数量:" + wfCount;
                    SendQwGroup.SendMessage(warStr);
                }
            }
            catch (Exception e)
            {
                LogUtil.Info(e.ToString(), "短信预警error");
                Console.WriteLine($"短信预警error", e.ToString());
            }
        }
    }
}
api/ScheduledTasks/Scheduler.cs
@@ -41,14 +41,7 @@
            scheduler = await factory.GetScheduler();
            //开始调度器
            await scheduler.Start();
            //有赞和1688token更新
            string tokenupdate = ConfigUtil.GetValue<string>("job_tokenupdate");
            await CreateJob<TokenUpdateHandle>("token更新", "token更新", tokenupdate);
            await CreateJob<DataStatisticsHandle>("数据统计", "数据统计", ConfigUtil.GetValue<string>("job_datastatic"));
            //await CreateJob<YzTradeVerifyHandle>("有赞订单校验", "有赞订单校验", ConfigUtil.GetValue<string>("job_yztradeverify"));
            await CreateJob<WxMiniTokenHandle>("销微信小程序token更新", "销微信小程序token更新", ConfigUtil.GetValue<string>("job_fxwxtoken"));
            await CreateJob<SmsWarningHandle>("短信系统预警", "短信系统预警", ConfigUtil.GetValue<string>("job_smswarning"));
        }
api/ScheduledTasks/appsettings.json
@@ -7,20 +7,18 @@
    }
  },
  "AllowedHosts": "*",
  //有赞和1688 token更新 æ¯å¤©å‡Œæ™¨1点
  "job_tokenupdate": "0 0 1 * * ?",
  //数据统计 æ¯å¤©å‡Œæ™¨3点
  "job_datastatic": "0 0 3 * * ?",
  //有赞订单校验
  "job_yztradeverify": "0 0 2 * * ?",
  //分销微信小程序token更新 æ¯éš”10分钟触发一次
  "job_fxwxtoken": "0 0/10 * * * ?",
  //短信系统预警 æ¯éš”5分钟触发一次
  "job_smswarning": "0 0/5 * * * ?",
  "DbConnection": [
    {
      //正式
      "Key": "Main",
      "ConnectionString": "server=123.60.83.120;port=3306;uid=fxuser;pwd=opRer16#2e2rdq;database=fx_main;Allow Zero Datetime=True;Charset=utf8;"
    },
    {
      //正式
      "Key": "Sms",
      "ConnectionString": "server=123.60.83.120;port=3306;uid=fxuser;pwd=opRer16#2e2rdq;database=sms_sender;Allow Zero Datetime=True;Charset=utf8;"
    }
  ]
}