Kaynağa Gözat

线程分类

lichunlei 2 yıl önce
ebeveyn
işleme
735644875f

BIN
.DS_Store


BIN
AppStart/.DS_Store


+ 21 - 38
AppStart/Helper/AlipayPayBack2Service.cs

@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Data;
+using System.Threading;
 using MySystem.PxcModels;
 using Library;
 using LitJson;
@@ -14,31 +15,12 @@ namespace MySystem
         private AlipayPayBack2Service()
         { }
 
-        public void Start(JobMqMsg jobInfo)
+
+        public void Start()
         {
-            string content = "";
-            try
-            {
-                dosomething();
-                // string Msg = "success";
-                // jobInfo.Status = Msg == "success" ? 1 : 0;
-                // jobInfo.Msg = Msg == "success" ? "执行完成" : Msg;
-                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "PublicBack");
-            }
-            catch (Exception ex)
-            {
-                if (!string.IsNullOrEmpty(content))
-                {
-                    Dictionary<string, string> data = new Dictionary<string, string>();
-                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
-                    data.Add("ErrMsg", ex.ToString());
-                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "public_err");
-                }
-                else
-                {
-                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "商城订单支付回调异常");
-                }
-            }
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
         }
         
         private void dosomething()
@@ -49,11 +31,18 @@ namespace MySystem
                 string content = RedisDbconn.Instance.RPop<string>("PayCallBack2");
                 if (!string.IsNullOrEmpty(content))
                 {
-                    sloveAlipayCallBack(content);
+                    try
+                    {
+                        sloveAlipayCallBack(content);
+                    }
+                    catch(Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "支付宝支付回调异常");
+                    }
                 }
                 else
                 {
-                    op = false;
+                    Thread.Sleep(2000);
                 }
             }
         }
@@ -127,8 +116,12 @@ namespace MySystem
                     if (pro.ProductId == 10 || pro.ProductId == 11 || pro.ProductId == 27 || pro.ProductId == 28 || pro.ProductId == 34 || pro.ProductId == -2)
                     {
                         order.Status = 2;
-                        order.SendStatus = 1;
-                        order.SendDate = DateTime.Now;
+                        if(product.ProductKind == 2)
+                        {
+                            order.Status = 2;
+                            order.SendStatus = 1;
+                            order.SendDate = DateTime.Now;
+                        }
                         int BuyCount = pro.ProductCount;
                         int Kind = 0;
                         int BeforeLeaderLevel = 0;
@@ -253,16 +246,6 @@ namespace MySystem
                             }
                         }
                     }
-                    else
-                    {
-                        if(product.ProductKind == 2)
-                        {
-                            order.Status = 2;
-                            order.SendStatus = 1;
-                            order.SendDate = DateTime.Now;
-                            db.SaveChanges();
-                        }
-                    }
                     // 购买盟主储蓄金
                     if (pro.ProductId == 39 || pro.ProductId == 40)
                     {

+ 22 - 32
AppStart/Helper/StatService.cs

@@ -15,46 +15,36 @@ namespace MySystem
         private StatService()
         { }
 
-        public void Start(JobMqMsg jobInfo)
+        public void Start()
         {
-            string content = "";
-            try
+            Thread th = new Thread(StartDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void StartDo()
+        {
+            while(true)
             {
-                if(DateTime.Now.Hour > 0)
+                try
                 {
-                    string doDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
-                    string flag = function.ReadInstance("/Stat/" + doDate + ".txt");
-                    if (string.IsNullOrEmpty(flag))
+                    if(DateTime.Now.Hour > 0)
                     {
-                        function.WritePage("/Stat/", doDate + ".txt", DateTime.Now.ToString("HH:mm:ss"));
-                        // dosomething1(doDate);
-                        // dosomething11(doDate);
-                        // dosomething2(doDate);
-                        StartEverDay(doDate);
-                        // StartEverDayV2(doDate);
-                        StatMerchantTrade(doDate);
-                        // dosomething4(doDate);
-                        // ListenFluxRecord(doDate);
+                        string doDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
+                        string flag = function.ReadInstance("/Stat/" + doDate + ".txt");
+                        if (string.IsNullOrEmpty(flag))
+                        {
+                            function.WritePage("/Stat/", doDate + ".txt", DateTime.Now.ToString("HH:mm:ss"));
+                            StartEverDay(doDate);
+                            StatMerchantTrade(doDate);
+                        }
                     }
-                    // string Msg = "success";
-                    // jobInfo.Status = Msg == "success" ? 1 : 0;
-                    // jobInfo.Msg = Msg == "success" ? "执行完成" : Msg;
-                    // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "PublicBack");
                 }
-            }
-            catch (Exception ex)
-            {
-                if (!string.IsNullOrEmpty(content))
-                {
-                    Dictionary<string, string> data = new Dictionary<string, string>();
-                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
-                    data.Add("ErrMsg", ex.ToString());
-                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "public_err");
-                }
-                else
+                catch (Exception ex)
                 {
-                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public_service");
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "每天重置交易额异常");
                 }
+                Thread.Sleep(3600000);
             }
         }
 

+ 4 - 4
AppStart/RabbitMQClient.cs

@@ -152,8 +152,8 @@ namespace MySystem
                 }
                 else if (QueueName == "PosTradeStat")
                 {
-                    JobMqMsg job = Newtonsoft.Json.JsonConvert.DeserializeObject<JobMqMsg>(MsgContent);
-                    StatService.Instance.Start(job);
+                    // JobMqMsg job = Newtonsoft.Json.JsonConvert.DeserializeObject<JobMqMsg>(MsgContent);
+                    // StatService.Instance.Start(job);
                 }
                 else if (QueueName == "SycnSpServer")
                 {
@@ -182,8 +182,8 @@ namespace MySystem
                 }
                 else if (QueueName == "AlipayPayBack2")
                 {
-                    JobMqMsg job = Newtonsoft.Json.JsonConvert.DeserializeObject<JobMqMsg>(MsgContent);
-                    AlipayPayBack2Service.Instance.Start(job);
+                    // JobMqMsg job = Newtonsoft.Json.JsonConvert.DeserializeObject<JobMqMsg>(MsgContent);
+                    // AlipayPayBack2Service.Instance.Start(job);
                 }
                 else if (QueueName == "ConsumerOrdersDiviList")
                 { 

+ 0 - 39
AppStart/Timer/AlipayPayBack2Timer.cs

@@ -1,39 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Linq;
-using Microsoft.Extensions.Hosting;
-using MySystem;
-using MySystem.PxcModels;
-using Library;
-using LitJson;
-
-public class AlipayPayBack2Timer : BackgroundService
-{
-    protected override async Task ExecuteAsync(CancellationToken stoppingToken)
-    {
-        while (!stoppingToken.IsCancellationRequested)
-        {
-            int timespan = 1000;
-            await Task.Delay(timespan).ContinueWith(tsk =>
-            {
-                DoWorks();
-            });
-        }
-    }
-
-    private void DoWorks()
-    {
-        string MsgContent = RedisDbconn.Instance.RPop<string>("AlipayPayBack2");
-        if (!string.IsNullOrEmpty(MsgContent))
-        {
-            JobMqMsg job = Newtonsoft.Json.JsonConvert.DeserializeObject<JobMqMsg>(MsgContent);
-            AlipayPayBack2Service.Instance.Start(job);
-        }
-        else
-        {
-            Thread.Sleep(1000);
-        }
-    }
-}

+ 0 - 35
AppStart/Timer/PosTradeStatTimer.cs

@@ -1,35 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Linq;
-using Microsoft.Extensions.Hosting;
-using MySystem;
-using MySystem.PxcModels;
-using Library;
-using LitJson;
-
-public class PosTradeStatTimer : BackgroundService
-{
-    protected override async Task ExecuteAsync(CancellationToken stoppingToken)
-    {
-        while (!stoppingToken.IsCancellationRequested)
-        {
-            int timespan = 10000;
-            await Task.Delay(timespan).ContinueWith(tsk =>
-            {
-                DoWorks();
-            });
-        }
-    }
-
-    private void DoWorks()
-    {
-        string MsgContent = RedisDbconn.Instance.RPop<string>("PosTradeStat");
-        if (!string.IsNullOrEmpty(MsgContent))
-        {
-            JobMqMsg job = Newtonsoft.Json.JsonConvert.DeserializeObject<JobMqMsg>(MsgContent);
-            StatService.Instance.Start(job);
-        }
-    }
-}

+ 38 - 29
Startup.cs

@@ -85,8 +85,6 @@ namespace MySystem
                 };
             });
 
-            services.AddHostedService<PosTradeStatTimer>(); // 统计头天的交易额、商户型创客、激活奖励、开机奖励
-            services.AddHostedService<AlipayPayBack2Timer>(); //支付宝回调处理
 
             string appkey = Configuration["Setting:AppKey"];
             string appid = Configuration["Setting:AppId"];
@@ -181,56 +179,67 @@ namespace MySystem
             });
 
             //必须打开的
-            ActiveRewardTimer.Instance.Start(); //实时处理激活记录
-            ChangePosTimer.Instance.Start(); //售后换新执行机具数据转移
             SycnSpBindService.Instance.Start(); //同步SP绑定数据
             SycnSpMerchantService.Instance.Start(); //同步SP商户数据
             SycnSpActiveService.Instance.Start(); //同步SP激活数据
             SycnSpTradeService.Instance.Start(); //同步SP交易数据
             SycnSpChangeBindService.Instance.Start(); //同步SP换绑数据
             SycnSpUnBindService.Instance.Start(); //同步SP解绑数据
+
+            ActiveRewardTimer.Instance.Start(); //实时处理激活记录
+            StatService.Instance.StartOpenReward(); //实时获取开机奖励
+            StatService.Instance.ListenFluxRecord(); //实时获取流量费分佣
+            LeaderPrizeService.Instance.Start(); //大盟主奖励发奖
+            OperatePrizeService.Instance.Start(); //运营中心奖励发奖
+            StatService.Instance.StatUserLevel(); //升级
+            ProfitHelperV2.Instance.StatProfit(); //创客分润
             RedPackageV2Helper.Instance.Start(); //每天生成红包
             RedPackageV2Helper.Instance.StartStatTop10(); //红包活动统计排行
             RedPackageV2Helper.Instance.StartSendPrize(); //红包活动发奖
+
+            MessageCenterService.Instance.Start(); // 消息队列
+            SetFeeFlagService.Instance.Start(); //118天提前通知创客费率调升消息
+            LeaderTimeoutSendMessageService.Instance.Start(); //盟主过期消息提醒
+            SetDepositService.Instance.Start(); //调整费率(通知、标记)
+
+            AlipayPayBack2Service.Instance.Start(); //支付宝回调处理
             BalancePayBackService.Instance.Start(); //余额支付队列
             ReservePayBackService.Instance.Start(); //储备金支付队列
-            LeaderPrizeService.Instance.Start(); //大盟主奖励发奖
-            OperatePrizeService.Instance.Start(); //运营中心奖励发奖
-            MessageCenterService.Instance.Start(); // 消息队列
-            RecommendActStatService.Instance.Start(); //推荐王奖励数据统计
-            StoreApplyHelper.Instance.Start(); // 每月1号重置仓库额度
-            StoreApplyHelper.Instance.StartEverTime();
-            StatService.Instance.StatUserLevel(); //升级
-            ProfitHelperV2.Instance.StatProfit(); //创客分润
-            StatService.Instance.StartOpenReward(); //实时获取开机奖励
-            StatService.Instance.ListenFluxRecord(); //实时获取流量费分佣
-            //必须打开的
 
+            StatService.Instance.Start(); //每日重置交易额
+            StoreApplyHelper.Instance.Start(); // 每月1号重置仓库额度
+            DepositReturnStatService.Instance.Start(); //每月1号统计达标商户(退押需要的)
+            AutoOpOrderService.Instance.StartOrderCancel(); //自动取消超时订单(15分钟)
+            StoreApplyHelper.Instance.ResetStoreReserve(); //重置分仓额度
+            OperateStockService.Instance.Start(); //运营中心库存实时更新
             HelpProfitPreMerchantHelper.Instance.Start(); //助利宝每天增加指定数量商机
-            SetDepositService.Instance.Start(); //调整费率(通知、标记)
+            ResetSmallStoreHelper.Instance.Start(); //每月重置小分仓额度
+            OperateService.Instance.Start(); //运营中心每天统计一次发货量、库存
+            TimeOutPosChargeService.Instance.StartDoChargeAmount(); //实时监听待扣款记录,并扣费
+            InstallmentDeductionService.Instance.Start(); //分期扣款(每月20号执行)
+
+            ChangePosTimer.Instance.Start(); //售后换新执行机具数据转移
+            RecommendActStatService.Instance.Start(); //推荐王奖励数据统计
+            StoreApplyHelper.Instance.StartEverTime(); //分仓临时额度变更
+            PreStoreApplyHelper.Instance.StartEverTime(); //小分仓临时额度变更
             SetDepositPostService.Instance.Start(); //提交支付公司设置费率接口
             SetDepositPostService.Instance.StartKdb(); //监控开店宝费率设置结果
-            SetFeeFlagService.Instance.Start(); //118天提前通知创客费率调升消息
-            ResetSmallStoreHelper.Instance.Start(); //每月重置小分仓额度(执行)
-            ResetSmallStoreHelper.Instance.Listen(); //每月重置小分仓额度(监听)
-            OperateService.Instance.Start(); //运营中心每天统计一次发货量、库存
             OperateAmountService.Instance.Start(); //运营中心额度变更
-            OperateStockService.Instance.Start(); //运营中心库存实时更新
-            StoreApplyHelper.Instance.ResetStoreReserve(); //重置分仓额度
             LeaderApplyCouponsHelper.Instance.Start(); //盟主储蓄金申请机具券打标记
+            DepositReturnService.Instance.Start(); //退押金到支付宝余额
+
+
+
+
+
+            //必须打开的
+
             // UserMonthFeeHelper.Instance.Start(); //每月创客服务费
             // UserMonthFeeHelper.Instance.Start2(); //临时扣创客服务费
-            DepositReturnService.Instance.Start(); //退押金到支付宝余额
             // TimeOutPosSendMessageService.Instance.Start(); //过期机具提醒
             // TimeOutPosChargeService.Instance.Start(); //过期机具计算扣费,并添加到待扣款记录
-            TimeOutPosChargeService.Instance.StartDoChargeAmount(); //实时监听待扣款记录,并扣费
-            InstallmentDeductionService.Instance.Start();
             // TimeOutPosChargeService.Instance.ListenChargeAmount(); //实时等待过期机具扣款指令,并扣费
-            PreStoreApplyHelper.Instance.StartEverTime(); //小分仓临时额度变更
 
-            DepositReturnStatService.Instance.Start(); //每月1号统计达标商户(退押需要的)
-            AutoOpOrderService.Instance.StartOrderCancel(); //自动取消超时订单(15分钟)
-            LeaderTimeoutSendMessageService.Instance.Start(); //盟主过期消息提醒
 
             // StatService.Instance.StartPosActNum(); //实时统计激活数
             // StatService.Instance.StartNewUserNum(); //实时统计新增创客数