Explorar o código

修改每月重置分仓额度逻辑

lichunlei %!s(int64=4) %!d(string=hai) anos
pai
achega
7b7b362056
Modificáronse 4 ficheiros con 81 adicións e 33 borrados
  1. 1 1
      AppStart/Helper/AlipayPayBack2Service.cs
  2. 57 9
      AppStart/Timer/StoreApplyHelper.cs
  3. 21 21
      Startup.cs
  4. 2 2
      appsettings.json

+ 1 - 1
AppStart/Helper/AlipayPayBack2Service.cs

@@ -362,7 +362,7 @@ namespace MySystem
                         RecommendMethod(order.UserId, order.CreateDate.Value.ToString("yyyyMM"));
                     }
                     //分仓向总仓申请机具额度
-                    if(pro.ProductId == 24 || pro.ProductId == 25 || pro.ProductId == 26)
+                    if(pro.ProductId == 30 || pro.ProductId == 31 || pro.ProductId == 32)
                     {
                         string SendData = "{\"Kind\":\"1\",\"Data\":{\"OrderId\":\"" + order.Id + "\"}}";
                         RedisDbconn.Instance.AddList("StoreApplyQueue", SendData);

+ 57 - 9
AppStart/Timer/StoreApplyHelper.cs

@@ -31,13 +31,15 @@ public class StoreApplyHelper
             OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
             try
             {
-                // if(DateTime.Now.Day == 1 && DateTime.Now.Hour > 0 && DateTime.Now.Hour < 3)
-                // {
+                if(DateTime.Now.Day == 1 && DateTime.Now.Hour > 0 && DateTime.Now.Hour < 3)
+                {
                     string check = function.ReadInstance("/StoreApply/" + DateTime.Now.ToString("yyyyMM") + ".txt");
                     if(string.IsNullOrEmpty(check))
                     {
                         function.WritePage("/StoreApply/", DateTime.Now.ToString("yyyyMM") + ".txt", DateTime.Now.ToString());
                         Dictionary<int, decimal> dataDic = new Dictionary<int, decimal>();
+                        Dictionary<int, decimal> dataDic1 = new Dictionary<int, decimal>();
+                        Dictionary<int, decimal> dataDic2 = new Dictionary<int, decimal>();
                         string pre = DateTime.Now.AddMonths(-2).ToString("yyyy-MM") + "-01 00:00:00";
                         string start = DateTime.Now.AddMonths(-1).ToString("yyyy-MM") + "-01 00:00:00";
                         string end = DateTime.Parse(start).AddMonths(1).ToString("yyyy-MM-dd HH:mm:ss");
@@ -60,13 +62,13 @@ public class StoreApplyHelper
                             int StoreId = int.Parse(function.CheckInt(dr["StoreId"].ToString()));
                             int Count = int.Parse(function.CheckInt(dr[1].ToString()));
                             StoreHouse store = db.StoreHouse.FirstOrDefault(m => m.Id == StoreId) ?? new StoreHouse();
-                            if(!dataDic.ContainsKey(store.UserId))
+                            if(!dataDic1.ContainsKey(store.UserId))
                             {
-                                dataDic.Add(store.UserId, Count * 200);
+                                dataDic1.Add(store.UserId, Count * 200);
                             }
                             else
                             {
-                                dataDic[store.UserId] += Count * 200;
+                                dataDic1[store.UserId] += Count * 200;
                             }
                         }
                         dt = OtherMySqlConn.dtable("select StoreId,count(Id) from StoreStockChange where CreateDate>='" + start + "' and CreateDate<'" + end + "' and BrandId in (3,5,9) and TransType in (10,11,2) and StoreId>0 group by StoreId");
@@ -75,13 +77,13 @@ public class StoreApplyHelper
                             int StoreId = int.Parse(function.CheckInt(dr["StoreId"].ToString()));
                             int Count = int.Parse(function.CheckInt(dr[1].ToString()));
                             StoreHouse store = db.StoreHouse.FirstOrDefault(m => m.Id == StoreId) ?? new StoreHouse();
-                            if(!dataDic.ContainsKey(store.UserId))
+                            if(!dataDic2.ContainsKey(store.UserId))
                             {
-                                dataDic.Add(store.UserId, Count * 300);
+                                dataDic2.Add(store.UserId, Count * 300);
                             }
                             else
                             {
-                                dataDic[store.UserId] += Count * 300;
+                                dataDic2[store.UserId] += Count * 300;
                             }
                         }
                         foreach(int UserId in dataDic.Keys)
@@ -101,9 +103,55 @@ public class StoreApplyHelper
                             account.ValidAmount = Amount + account.TempAmount;
                             function.WriteLog("UserId:" + UserId + ";Amount:" + Amount, "计算分仓申请机具额度日志");
                         }
+                        foreach(int UserId in dataDic1.Keys)
+                        {
+                            decimal Amount = dataDic1[UserId];
+                            decimal AmountMore = 0;
+                            // DataTable dtmore = OtherMySqlConn.dtable("select count(Id)*200 from PosMachinesTwo pos where StoreId in (select Id from StoreHouse where UserId=" + UserId + ") and BuyUserId=0 and BrandId in (1,2,4,6,7,8) and `Status`>-1");
+                            // if(dtmore.Rows.Count > 0)
+                            // {
+                            //     AmountMore = decimal.Parse(function.CheckNum(dtmore.Rows[0][0].ToString()));
+                            // }
+                            UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
+                            if (account == null)
+                            {
+                                account = db.UserAccount.Add(new UserAccount()
+                                {
+                                    Id = UserId,
+                                    UserId = UserId,
+                                }).Entity;
+                                db.SaveChanges();
+                            }
+                            account.FixedAmount = Amount;
+                            account.ValidAmount = Amount + account.TempAmount - AmountMore;
+                            function.WriteLog("UserId:" + UserId + ";Amount:" + Amount, "计算分仓申请机具额度日志");
+                        }
+                        foreach(int UserId in dataDic2.Keys)
+                        {
+                            decimal Amount = dataDic2[UserId];
+                            decimal AmountMore = 0;
+                            // DataTable dtmore = OtherMySqlConn.dtable("select count(Id)*300 from PosMachinesTwo pos where StoreId in (select Id from StoreHouse where UserId=" + UserId + ") and BuyUserId=0 and BrandId in (3,5,9) and `Status`>-1");
+                            // if(dtmore.Rows.Count > 0)
+                            // {
+                            //     AmountMore = decimal.Parse(function.CheckNum(dtmore.Rows[0][0].ToString()));
+                            // }
+                            UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
+                            if (account == null)
+                            {
+                                account = db.UserAccount.Add(new UserAccount()
+                                {
+                                    Id = UserId,
+                                    UserId = UserId,
+                                }).Entity;
+                                db.SaveChanges();
+                            }
+                            account.FixedAmount = Amount;
+                            account.ValidAmount = Amount + account.TempAmount - AmountMore;
+                            function.WriteLog("UserId:" + UserId + ";Amount:" + Amount, "计算分仓申请机具额度日志");
+                        }
                         db.SaveChanges();
                     }
-                // }
+                }
             }
             catch (Exception ex)
             {

+ 21 - 21
Startup.cs

@@ -91,8 +91,8 @@ namespace MySystem
             // services.AddHostedService<SycnSpTimer>(); //同步SP数据
 
             // services.AddHostedService<TimerStatTimer>(); //实时统计创客、激活商户数
-            // services.AddHostedService<PosTradeStatTimer>(); // 统计头天的交易额、商户型创客、激活奖励、开机奖励
-            // services.AddHostedService<AlipayPayBack2Timer>(); //支付宝回调处理
+            services.AddHostedService<PosTradeStatTimer>(); // 统计头天的交易额、商户型创客、激活奖励、开机奖励
+            services.AddHostedService<AlipayPayBack2Timer>(); //支付宝回调处理
 
             //services.AddHttpContextAccessor();
 
@@ -190,28 +190,28 @@ namespace MySystem
             // TradeStatTimer2.Instance.Start(); //交易统计
 
             //必须打开的
-            // ActiveRewardTimer.Instance.Start(); //实时处理激活记录
-            // TradeStatTimer.Instance.Start(); //交易统计
-            // ChangePosTimer.Instance.Start(); //售后换新执行机具数据转移
-            // MakeReferenceQrCodeService.Instance.StartListen(); //生成创客邀请二维码
-            // SycnSpBindService.Instance.Start(); //同步SP绑定数据
-            // SycnSpMerchantService.Instance.Start(); //同步SP商户数据
-            // SycnSpActiveService.Instance.Start(); //同步SP激活数据
-            // SycnSpTradeService.Instance.Start(); //同步SP交易数据
-            // SycnSpChangeBindService.Instance.Start(); //同步SP换绑数据
-            // SycnSpUnBindService.Instance.Start(); //同步SP解绑数据
-            // RedPackageHelper.Instance.Start(); //每天生成300个红包
-            // RedPackageHelper.Instance.StartStatTop10(); //红包活动统计排行
-            // RedPackageHelper.Instance.StartSendPrize(); //红包活动发奖
-            // BalancePayBackService.Instance.Start(); //余额支付队列
-            // ReservePayBackService.Instance.Start(); //储备金支付队列
-            // LeaderPrizeService.Instance.Start(); //大盟主奖励发奖
-            // MessageCenterService.Instance.Start(); // 消息队列
-            // RecommendActStatService.Instance.Start(); //推荐王奖励数据统计
+            ActiveRewardTimer.Instance.Start(); //实时处理激活记录
+            TradeStatTimer.Instance.Start(); //交易统计
+            ChangePosTimer.Instance.Start(); //售后换新执行机具数据转移
+            MakeReferenceQrCodeService.Instance.StartListen(); //生成创客邀请二维码
+            SycnSpBindService.Instance.Start(); //同步SP绑定数据
+            SycnSpMerchantService.Instance.Start(); //同步SP商户数据
+            SycnSpActiveService.Instance.Start(); //同步SP激活数据
+            SycnSpTradeService.Instance.Start(); //同步SP交易数据
+            SycnSpChangeBindService.Instance.Start(); //同步SP换绑数据
+            SycnSpUnBindService.Instance.Start(); //同步SP解绑数据
+            RedPackageHelper.Instance.Start(); //每天生成300个红包
+            RedPackageHelper.Instance.StartStatTop10(); //红包活动统计排行
+            RedPackageHelper.Instance.StartSendPrize(); //红包活动发奖
+            BalancePayBackService.Instance.Start(); //余额支付队列
+            ReservePayBackService.Instance.Start(); //储备金支付队列
+            LeaderPrizeService.Instance.Start(); //大盟主奖励发奖
+            MessageCenterService.Instance.Start(); // 消息队列
+            RecommendActStatService.Instance.Start(); //推荐王奖励数据统计
             //必须打开的
 
             StoreApplyHelper.Instance.Start();
-            // StoreApplyHelper.Instance.StartEverTime();
+            StoreApplyHelper.Instance.StartEverTime();
             // StatService.Instance.StartPosActNum(); //实时统计激活数
             // StatService.Instance.StartNewUserNum(); //实时统计新增创客数
             // StatService.Instance.StatProfit(); //实时统计创客收益

+ 2 - 2
appsettings.json

@@ -17,8 +17,8 @@
     "Host": "http://localhost:5047/",
     "SourceHost": "http://bs.kexiaoshuang.com/",
     "Database": "KxsMainServer",
-    "SqlConnStr": "server=47.109.31.237;port=3306;user=KxsMainServer;password=Rw2imhXQQt5ODWIF;database=KxsMainServer;charset=utf8;",
-    "Pxc1SqlConnStr": "server=47.109.31.237;port=3306;user=KxsMainServer;password=Rw2imhXQQt5ODWIF;database=KxsMainServer;charset=utf8;",
+    "SqlConnStr": "server=47.109.31.237;port=3306;user=KxsMainServer2;password=FrW8ZfxlcaVdm1r0;database=KxsMainServer2;charset=utf8;",
+    "Pxc1SqlConnStr": "server=47.109.31.237;port=3306;user=KxsMainServer2;password=FrW8ZfxlcaVdm1r0;database=KxsMainServer2;charset=utf8;",
     "SpSqlConnStr": "server=47.109.31.237;port=3306;user=KxsSpServer;password=jJ9qKsvwWgQA9xWG;database=KxsSpServer;charset=utf8;",
     "RedisConnStr": "47.109.31.237:6379,password=klm@redis,DefaultDatabase=1,poolsize=500,preheat=50,asyncPipeline=true",
     "TendisConnStr": "47.109.31.237:6379,password=klm@redis,DefaultDatabase=1,poolsize=500,preheat=50,asyncPipeline=true",