Ver código fonte

处理提现记录,导入失败结果,判断冻结金额是否足够

lcl 3 anos atrás
pai
commit
9214d13b74
2 arquivos alterados com 64 adições e 49 exclusões
  1. 32 25
      AppStart/ExcelHelper.cs
  2. 32 24
      AppStart/OpExcelHelper.cs

+ 32 - 25
AppStart/ExcelHelper.cs

@@ -1141,7 +1141,7 @@ namespace MySystem
                                                 {
                                                     UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == edit.UserId);
                                                     if (account != null)
-                                                    {
+                                                    {                                                        
                                                         account.QueryCount = 1;
                                                         decimal TradeAmount = edit.TradeAmount;
                                                         decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
@@ -1207,31 +1207,38 @@ namespace MySystem
                                                     if (account != null)
                                                     {
                                                         decimal TradeAmount = edit.TradeAmount;
-                                                        decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
-                                                        decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
-                                                        decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
-                                                        account.BalanceAmount += TradeAmount;
-                                                        account.FreezeAmount -= TradeAmount;
-                                                        decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
-                                                        decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
-                                                        decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
-                                                        db.UserAccountRecord.Add(new UserAccountRecord()
+                                                        if(account.FreezeAmount < TradeAmount)
                                                         {
-                                                            CreateDate = DateTime.Now,
-                                                            UpdateDate = DateTime.Now,
-                                                            UserId = edit.UserId, //创客
-                                                            ChangeType = 6, //变动类型
-                                                            ProductType = 99, //产品类型
-                                                            ChangeAmount = TradeAmount, //变更金额
-                                                            BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
-                                                            AfterTotalAmount = AfterTotalAmount, //变更后总金额
-                                                            BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
-                                                            AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
-                                                            BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
-                                                            AfterBalanceAmount = AfterBalanceAmount, //变更后余额
-                                                        });
-                                                        db.SaveChanges();
-                                                        RedisDbconn.Instance.Set("UserAccount:" + edit.UserId, account);
+                                                            RedisDbconn.Instance.AddList("ErrList" + checkKey, "提现记录单号为" + CashOrderNo + "的创客冻结金额异常");
+                                                        }
+                                                        else
+                                                        {
+                                                            decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                                                            decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                                                            decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                                                            account.BalanceAmount += TradeAmount;
+                                                            account.FreezeAmount -= TradeAmount;
+                                                            decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                                                            decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                                                            decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                                                            db.UserAccountRecord.Add(new UserAccountRecord()
+                                                            {
+                                                                CreateDate = DateTime.Now,
+                                                                UpdateDate = DateTime.Now,
+                                                                UserId = edit.UserId, //创客
+                                                                ChangeType = 6, //变动类型
+                                                                ProductType = 99, //产品类型
+                                                                ChangeAmount = TradeAmount, //变更金额
+                                                                BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                                                AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                                                BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                                                AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                                                BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                                                AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                                            });
+                                                            db.SaveChanges();
+                                                            RedisDbconn.Instance.Set("UserAccount:" + edit.UserId, account);
+                                                        }
                                                     }
                                                 }
                                                 db.SaveChanges();

+ 32 - 24
AppStart/OpExcelHelper.cs

@@ -183,31 +183,39 @@ namespace MySystem
                                                     if (account != null)
                                                     {
                                                         decimal TradeAmount = edit.TradeAmount;
-                                                        decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
-                                                        decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
-                                                        decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
-                                                        account.BalanceAmount += TradeAmount;
-                                                        account.FreezeAmount -= TradeAmount;
-                                                        decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
-                                                        decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
-                                                        decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
-                                                        db.UserAccountRecord.Add(new UserAccountRecord()
+                                                        if(account.FreezeAmount < TradeAmount)
                                                         {
-                                                            CreateDate = DateTime.Now,
-                                                            UpdateDate = DateTime.Now,
-                                                            UserId = edit.UserId, //创客
-                                                            ChangeType = 6, //变动类型
-                                                            ProductType = 99, //产品类型
-                                                            ChangeAmount = TradeAmount, //变更金额
-                                                            BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
-                                                            AfterTotalAmount = AfterTotalAmount, //变更后总金额
-                                                            BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
-                                                            AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
-                                                            BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
-                                                            AfterBalanceAmount = AfterBalanceAmount, //变更后余额
-                                                        });
-                                                        db.SaveChanges();
-                                                        RedisDbconn.Instance.Set("OpUserAccount:" + edit.UserId, account);
+                                                            // TODO: 需要返回错误提示消息
+                                                            // RedisDbconn.Instance.AddList("ErrList" + checkKey, "提现记录单号为" + CashOrderNo + "的创客冻结金额异常");
+                                                        }
+                                                        else
+                                                        {
+                                                            decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                                                            decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                                                            decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                                                            account.BalanceAmount += TradeAmount;
+                                                            account.FreezeAmount -= TradeAmount;
+                                                            decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                                                            decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                                                            decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                                                            db.UserAccountRecord.Add(new UserAccountRecord()
+                                                            {
+                                                                CreateDate = DateTime.Now,
+                                                                UpdateDate = DateTime.Now,
+                                                                UserId = edit.UserId, //创客
+                                                                ChangeType = 6, //变动类型
+                                                                ProductType = 99, //产品类型
+                                                                ChangeAmount = TradeAmount, //变更金额
+                                                                BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                                                AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                                                BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                                                AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                                                BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                                                AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                                            });
+                                                            db.SaveChanges();
+                                                            RedisDbconn.Instance.Set("OpUserAccount:" + edit.UserId, account);
+                                                        }
                                                     }
                                                 }
                                                 db.SaveChanges();