Prechádzať zdrojové kódy

完善最新的补发直接推荐奖励,可通过地址补发
增加收支明细分类-分仓临时额度退还

lichunlei 4 rokov pred
rodič
commit
b7fe285158

+ 3 - 0
AppStart/RelationClassForConst.cs

@@ -120,6 +120,9 @@ namespace MySystem
                 case 118:
                     result = "大盟主奖励(购机奖励)";
                     break;
+                case 119:
+                    result = "分仓临时额度退还";
+                    break;
             }
             return result;
         }

+ 59 - 54
Areas/Admin/Controllers/MainServer/SysToolsController.cs

@@ -1575,73 +1575,78 @@ namespace MySystem.Areas.Admin.Controllers
                     //推荐下单奖励
                     if (pro.ProductId == 10 || pro.ProductId == 11)
                     {
-                        Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId);
-                        if (user != null)
+                        int OrderId = order.Id;
+                        bool checkPrize = db.UserAccountRecord.Any(m => m.QueryCount == OrderId && m.ChangeType == 112);
+                        if (!checkPrize)
                         {
-                            int ParentUserId = user.ParentUserId;
-                            int machineCount = db.PosMachinesTwo.Count(m => m.UserId == ParentUserId && m.PosSnType == 0); //判断是否拥有3台购买机
-                            int ActiveCount = db.PosMachinesTwo.Count(m => m.UserId == ParentUserId && m.ActivationState == 1); //判断是否拥有3台激活机(不限购买或赠送)
-                            if (machineCount + ActiveCount >= 3)
+                            Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId);
+                            if (user != null)
                             {
-                                UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == ParentUserId);
-                                if (account == null)
-                                {
-                                    account = db.UserAccount.Add(new UserAccount()
-                                    {
-                                        Id = ParentUserId,
-                                        UserId = ParentUserId,
-                                    }).Entity;
-                                    db.SaveChanges();
-                                }
-                                decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
-                                decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
-                                decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
-                                account.BalanceAmount += 100;
-                                account.TotalAmount += 100;
-                                decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
-                                decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
-                                decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
-                                UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
-                                {
-                                    CreateDate = DateTime.Now,
-                                    UpdateDate = DateTime.Now,
-                                    UserId = ParentUserId, //创客
-                                    ChangeType = 112, //变动类型
-                                    ChangeAmount = 100, //变更金额
-                                    BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
-                                    AfterTotalAmount = AfterTotalAmount, //变更后总金额
-                                    BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
-                                    AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
-                                    BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
-                                    AfterBalanceAmount = AfterBalanceAmount, //变更后余额
-                                    QueryCount = order.Id,
-                                }).Entity;
-                                db.SaveChanges();
-                                RedisDbconn.Instance.Set("UserAccount:" + ParentUserId, account);
-
-                                //推荐下单上级获得30天的机具循环天数
-                                var posList = db.PosMachinesTwo.Select(m => new { m.Id, m.UserId, m.BindingState, m.RecycEndDate }).Where(m => m.UserId == ParentUserId && m.BindingState == 0 && m.RecycEndDate != null).ToList();
-                                foreach (var subPos in posList)
+                                bool directPrize = false; //直推奖标记
+                                int ParentUserId = user.ParentUserId;
+                                // List<int> proids = new List<int>();
+                                // proids.Add(10);
+                                // proids.Add(11);
+                                while(ParentUserId > 0)
                                 {
-                                    PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == subPos.Id);
-                                    if (pos != null)
+                                    Users puser = db.Users.FirstOrDefault(m => m.Id == ParentUserId) ?? new Users();
+                                    int machineCount = db.PosMachinesTwo.Count(m => m.UserId == ParentUserId && m.PosSnType == 0); //判断是否拥有3台购买机
+                                    int ActiveCount = db.PosMachinesTwo.Count(m => m.UserId == ParentUserId && m.ActivationState == 1); //判断是否拥有3台激活机(不限购买或赠送)
+                                    int couponCount = db.PosCoupons.Count(m => m.UserId == ParentUserId && m.IsUse == 0); //判断是否拥有3张券
+                                    if ((machineCount + ActiveCount + couponCount >= 3 || puser.LeaderLevel > 0) && !directPrize)
                                     {
-                                        pos.RecycEndDate = pos.RecycEndDate.Value.AddDays(30);
+                                        DirectPrize(db, order.Id, ParentUserId, pro.ProductCount);
+                                        directPrize = true;
+                                        db.SaveChanges();
+                                        return "发放成功";
                                     }
+                                    ParentUserId = puser.ParentUserId;
                                 }
-                                db.SaveChanges();
-                                return "success";
-                            }
-                            else
-                            {
-                                return "上级创客未满足条件:购买机:" + machineCount + "台,激活机:" + ActiveCount + "台";
                             }
                         }
+                        return "已发放,请勿重复发放";
                     }
                 }
             }
             return "操作失败";
         }
+        public void DirectPrize(WebCMSEntities db, int OrderId, int UserId, int Count = 1)
+        {
+            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();
+            }
+            decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+            decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+            decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+            account.BalanceAmount += 100 * Count;
+            account.TotalAmount += 100 * Count;
+            decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+            decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+            decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+            UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+            {
+                CreateDate = DateTime.Now,
+                UpdateDate = DateTime.Now,
+                UserId = UserId, //创客
+                ChangeType = 112, //变动类型
+                ChangeAmount = 100 * Count, //变更金额
+                BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                QueryCount = OrderId,
+            }).Entity;
+            db.SaveChanges();
+        }
         #endregion
 
         #region 设置立刷费率

+ 5 - 5
Startup.cs

@@ -133,11 +133,11 @@ namespace MySystem
                     pattern: "{controller=Home}/{action=Index}/{Id?}");
             });
 
-            ResetUserTradeService.Instance.Start();
-            ResetMerchantTradeService.Instance.Start();
-            SycnProfitServiceV2.Instance.Start();
-            ExcelHelper.Instance.Start();
-            TestHelper.Instance.Start();
+            // ResetUserTradeService.Instance.Start();
+            // ResetMerchantTradeService.Instance.Start();
+            // SycnProfitServiceV2.Instance.Start();
+            // ExcelHelper.Instance.Start();
+            // TestHelper.Instance.Start();
         }
 
 

+ 2 - 2
appsettings.json

@@ -11,8 +11,8 @@
     "ConnectionStrings": "",
     "Host": "http://test.bs.kexiaoshuang.com/",
     "Database": "KxsMainServer",
-    "SqlConnStr": "server=47.109.31.237;port=3306;user=KxsMainServer;password=Rw2imhXQQt5ODWIF;database=KxsMainServer;charset=utf8;",
-    "StatSqlConnStr": "server=47.109.31.237;port=3306;user=KxsMainServer;password=Rw2imhXQQt5ODWIF;database=KxsMainServer;charset=utf8;ConnectionTimeout=600;DefaultCommandTimeout=600;",
+    "SqlConnStr": "server=47.108.231.170;port=3306;user=KxsMain;password=mzeqjriUWore0dwT;database=KxsMainServer;charset=utf8;",
+    "StatSqlConnStr": "server=47.108.231.170;port=3306;user=KxsMain;password=mzeqjriUWore0dwT;database=KxsMainServer;charset=utf8;ConnectionTimeout=600;DefaultCommandTimeout=600;",
     "BsSqlConnStr": "server=47.109.31.237;port=3306;user=KxsBsServer;password=wyA1bEhi6aAkN8SB;database=KxsBsServer;charset=utf8;",
     "SpSqlConnStr": "server=47.109.31.237;port=3306;user=KxsSpServer;password=jJ9qKsvwWgQA9xWG;database=KxsSpServer;charset=utf8;",
     "CashSqlConnStr": "server=47.109.31.237;port=3306;user=KxsCashServer;password=LNGvM18W6SaIGKBC;database=KxsCashServer;charset=utf8;",