DuGuYang 2 лет назад
Родитель
Сommit
7454342ed0
1 измененных файлов с 149 добавлено и 59 удалено
  1. 149 59
      Areas/Admin/Controllers/MainServer/StoreHouseController.cs

+ 149 - 59
Areas/Admin/Controllers/MainServer/StoreHouseController.cs

@@ -2030,6 +2030,9 @@ namespace MySystem.Areas.Admin.Controllers
                     userAmount.ValidAmount += deposit;
                     userAmount.ValidAmount += deposit;
                     opdb.SaveChanges();
                     opdb.SaveChanges();
                     decimal toAmount = userAmount.ValidAmount + userAmount.TotalAmt + userAmount.ValidForGetAmount;//新的总金额
                     decimal toAmount = userAmount.ValidAmount + userAmount.TotalAmt + userAmount.ValidForGetAmount;//新的总金额
+                    decimal ValidAmount = 0.00M;//关联分仓额度
+                    decimal TotalAmt = 0.00M; //未使用额度
+                    decimal ValidForGetAmount = 0.00M; //可提现额度
                     if (toAmount >= tamount)
                     if (toAmount >= tamount)
                     {
                     {
                         foreach (var item in idlist)
                         foreach (var item in idlist)
@@ -2059,6 +2062,7 @@ namespace MySystem.Areas.Admin.Controllers
                                         posInfo.OpId = sysAdmin.UserId;
                                         posInfo.OpId = sysAdmin.UserId;
                                         if (userAmount.ValidAmount - amount >= 0)
                                         if (userAmount.ValidAmount - amount >= 0)
                                         {
                                         {
+                                            ValidAmount += amount;
                                             userAmount.ValidAmount -= amount;
                                             userAmount.ValidAmount -= amount;
                                             posInfo.OpReserve3 += amount; //关联分仓额度
                                             posInfo.OpReserve3 += amount; //关联分仓额度
                                             posInfo.OpReserve1 = 0; //未使用额度
                                             posInfo.OpReserve1 = 0; //未使用额度
@@ -2069,6 +2073,7 @@ namespace MySystem.Areas.Admin.Controllers
                                         {
                                         {
                                             if (userAmount.TotalAmt - amount >= 0)
                                             if (userAmount.TotalAmt - amount >= 0)
                                             {
                                             {
+                                                TotalAmt += amount - userAmount.ValidAmount;
                                                 userAmount.TotalAmt -= amount - userAmount.ValidAmount;
                                                 userAmount.TotalAmt -= amount - userAmount.ValidAmount;
                                                 posInfo.OpReserve3 = userAmount.ValidAmount;
                                                 posInfo.OpReserve3 = userAmount.ValidAmount;
                                                 posInfo.OpReserve1 = amount - userAmount.ValidAmount;
                                                 posInfo.OpReserve1 = amount - userAmount.ValidAmount;
@@ -2079,6 +2084,7 @@ namespace MySystem.Areas.Admin.Controllers
                                             {
                                             {
                                                 if (userAmount.ValidForGetAmount - amount >= 0)
                                                 if (userAmount.ValidForGetAmount - amount >= 0)
                                                 {
                                                 {
+                                                    ValidForGetAmount += amount - userAmount.TotalAmt;
                                                     userAmount.ValidForGetAmount -= amount - userAmount.TotalAmt;
                                                     userAmount.ValidForGetAmount -= amount - userAmount.TotalAmt;
                                                     posInfo.OpReserve3 = 0;
                                                     posInfo.OpReserve3 = 0;
                                                     posInfo.OpReserve1 = userAmount.TotalAmt;
                                                     posInfo.OpReserve1 = userAmount.TotalAmt;
@@ -2127,37 +2133,79 @@ namespace MySystem.Areas.Admin.Controllers
                         }
                         }
                         if (IsOk == "1")
                         if (IsOk == "1")
                         {
                         {
-                            if (deposit > tamount)
+
+                            // if (deposit > tamount)
+                            //     {
+                            //         var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                            //         {
+                            //             CreateDate = DateTime.Now,
+                            //             UserId = sysAdmin.UserId,
+                            //             SeoDescription = "关联分仓",
+                            //             OperateType = 1,
+                            //             UseAmount = deposit - tamount,
+                            //             BeforeAmount = TotalAmount,
+                            //             AfterAmount = TotalAmount + deposit - tamount,
+                            //             AfterTotalAmt = userAmount.TotalAmt,
+                            //             AfterValidForGetAmount = userAmount.ValidForGetAmount,
+                            //             AfterValidAmount = userAmount.ValidAmount,
+                            //         }).Entity;
+                            //     }
+                            //     if (deposit < tamount)
+                            //     {
+                            //         var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                            //         {
+                            //             CreateDate = DateTime.Now,
+                            //             UserId = sysAdmin.UserId,
+                            //             SeoDescription = "关联分仓",
+                            //             OperateType = 2,
+                            //             UseAmount = tamount - deposit,
+                            //             BeforeAmount = TotalAmount,
+                            //             AfterAmount = TotalAmount + deposit - tamount,
+                            //             AfterTotalAmt = userAmount.TotalAmt,
+                            //             AfterValidForGetAmount = userAmount.ValidForGetAmount,
+                            //             AfterValidAmount = userAmount.ValidAmount,
+                            //         }).Entity;
+                            //     }
+                            for (int i = 1; i <= 3; i++)
                             {
                             {
-                                var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                                var UseAmount = 0.00M;
+                                if (i == 1) UseAmount = ValidAmount;
+                                if (i == 2) UseAmount = TotalAmt;
+                                if (i == 3) UseAmount = ValidForGetAmount;
+                                if (deposit > tamount && UseAmount > 0)
                                 {
                                 {
-                                    CreateDate = DateTime.Now,
-                                    UserId = sysAdmin.UserId,
-                                    SeoDescription = "关联分仓",
-                                    OperateType = 1,
-                                    UseAmount = deposit - tamount,
-                                    BeforeAmount = TotalAmount,
-                                    AfterAmount = TotalAmount + deposit - tamount,
-                                    AfterTotalAmt = userAmount.TotalAmt,
-                                    AfterValidForGetAmount = userAmount.ValidForGetAmount,
-                                    AfterValidAmount = userAmount.ValidAmount,
-                                }).Entity;
-                            }
-                            if (deposit < tamount)
-                            {
-                                var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                                    var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                                    {
+                                        Version = i,//1 未使用额度 2 可提现额度 3 关联分仓额度
+                                        CreateDate = DateTime.Now,
+                                        UserId = sysAdmin.UserId,
+                                        SeoDescription = "关联分仓",
+                                        OperateType = 1,
+                                        UseAmount = UseAmount,
+                                        BeforeAmount = TotalAmount,
+                                        AfterAmount = TotalAmount + deposit - tamount,
+                                        AfterTotalAmt = userAmount.TotalAmt,
+                                        AfterValidForGetAmount = userAmount.ValidForGetAmount,
+                                        AfterValidAmount = userAmount.ValidAmount,
+                                    }).Entity;
+                                }
+                                if (deposit < tamount && UseAmount > 0)
                                 {
                                 {
-                                    CreateDate = DateTime.Now,
-                                    UserId = sysAdmin.UserId,
-                                    SeoDescription = "关联分仓",
-                                    OperateType = 2,
-                                    UseAmount = tamount - deposit,
-                                    BeforeAmount = TotalAmount,
-                                    AfterAmount = TotalAmount + deposit - tamount,
-                                    AfterTotalAmt = userAmount.TotalAmt,
-                                    AfterValidForGetAmount = userAmount.ValidForGetAmount,
-                                    AfterValidAmount = userAmount.ValidAmount,
-                                }).Entity;
+                                    var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                                    {
+                                        Version = i,//1 未使用额度 2 可提现额度 3 关联分仓额度
+                                        CreateDate = DateTime.Now,
+                                        UserId = sysAdmin.UserId,
+                                        SeoDescription = "关联分仓",
+                                        OperateType = 2,
+                                        UseAmount = UseAmount,
+                                        BeforeAmount = TotalAmount,
+                                        AfterAmount = TotalAmount + deposit - tamount,
+                                        AfterTotalAmt = userAmount.TotalAmt,
+                                        AfterValidForGetAmount = userAmount.ValidForGetAmount,
+                                        AfterValidAmount = userAmount.ValidAmount,
+                                    }).Entity;
+                                }
                             }
                             }
                             opdb.SaveChanges();
                             opdb.SaveChanges();
                         }
                         }
@@ -2262,9 +2310,9 @@ namespace MySystem.Areas.Admin.Controllers
                     var amount = 0;
                     var amount = 0;
                     var tamount = 0;
                     var tamount = 0;
                     decimal deposit = 0;
                     decimal deposit = 0;
-                    decimal ValidAmount = 0;
-                    decimal TotalAmt = 0;
-                    decimal ValidForGetAmount = 0;
+                    decimal ValidAmount = 0.00M;//关联分仓额度
+                    decimal TotalAmt = 0.00M; //未使用额度
+                    decimal ValidForGetAmount = 0.00M; //可提现额度
                     var pCount = 0;
                     var pCount = 0;
                     var userIds = "";
                     var userIds = "";
                     string error = "";
                     string error = "";
@@ -2353,37 +2401,79 @@ namespace MySystem.Areas.Admin.Controllers
 
 
                         sysAdmin.StoreCount -= idlist.Count();//减少关联分仓数
                         sysAdmin.StoreCount -= idlist.Count();//减少关联分仓数
                         sysAdmin.TotalMachineCount -= pCount;//减少关联分仓机具数
                         sysAdmin.TotalMachineCount -= pCount;//减少关联分仓机具数
-                        if (deposit > tamount)
+                        // if (deposit > tamount)
+                        // {
+                        //     var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                        //     {
+                        //         CreateDate = DateTime.Now,
+                        //         UserId = sysAdmin.UserId,
+                        //         SeoDescription = "取消关联分仓",
+                        //         OperateType = 2,
+                        //         UseAmount = deposit - tamount,
+                        //         BeforeAmount = TotalAmount,
+                        //         AfterAmount = TotalAmount - deposit + tamount,
+                        //         AfterTotalAmt = userAmount.TotalAmt,
+                        //         AfterValidForGetAmount = userAmount.ValidForGetAmount,
+                        //         AfterValidAmount = userAmount.ValidAmount,
+                        //     }).Entity;
+                        // }
+                        // if (deposit < tamount)
+                        // {
+                        //     var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                        //     {
+                        //         CreateDate = DateTime.Now,
+                        //         UserId = sysAdmin.UserId,
+                        //         SeoDescription = "取消关联分仓",
+                        //         OperateType = 1,
+                        //         UseAmount = tamount - deposit,
+                        //         BeforeAmount = TotalAmount,
+                        //         AfterAmount = TotalAmount - deposit + tamount,
+                        //         AfterTotalAmt = userAmount.TotalAmt,
+                        //         AfterValidForGetAmount = userAmount.ValidForGetAmount,
+                        //         AfterValidAmount = userAmount.ValidAmount,
+                        //     }).Entity;
+                        // }
+
+                        for (int i = 1; i <= 3; i++)
                         {
                         {
-                            var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                            var UseAmount = 0.00M;
+                            if (i == 1) UseAmount = ValidAmount;
+                            if (i == 2) UseAmount = TotalAmt;
+                            if (i == 3) UseAmount = ValidForGetAmount;
+                            if (deposit > tamount && UseAmount > 0)
                             {
                             {
-                                CreateDate = DateTime.Now,
-                                UserId = sysAdmin.UserId,
-                                SeoDescription = "取消关联分仓",
-                                OperateType = 2,
-                                UseAmount = deposit - tamount,
-                                BeforeAmount = TotalAmount,
-                                AfterAmount = TotalAmount - deposit + tamount,
-                                AfterTotalAmt = userAmount.TotalAmt,
-                                AfterValidForGetAmount = userAmount.ValidForGetAmount,
-                                AfterValidAmount = userAmount.ValidAmount,
-                            }).Entity;
-                        }
-                        if (deposit < tamount)
-                        {
-                            var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                                var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                                {
+                                    Version = i,//1 未使用额度 2 可提现额度 3 关联分仓额度
+                                    CreateDate = DateTime.Now,
+                                    UserId = sysAdmin.UserId,
+                                    SeoDescription = "取消关联分仓",
+                                    OperateType = 2,
+                                    UseAmount = UseAmount,
+                                    BeforeAmount = TotalAmount,
+                                    AfterAmount = TotalAmount - deposit + tamount,
+                                    AfterTotalAmt = userAmount.TotalAmt,
+                                    AfterValidForGetAmount = userAmount.ValidForGetAmount,
+                                    AfterValidAmount = userAmount.ValidAmount,
+                                }).Entity;
+                            }
+                            if (deposit < tamount && UseAmount > 0)
                             {
                             {
-                                CreateDate = DateTime.Now,
-                                UserId = sysAdmin.UserId,
-                                SeoDescription = "取消关联分仓",
-                                OperateType = 1,
-                                UseAmount = tamount - deposit,
-                                BeforeAmount = TotalAmount,
-                                AfterAmount = TotalAmount - deposit + tamount,
-                                AfterTotalAmt = userAmount.TotalAmt,
-                                AfterValidForGetAmount = userAmount.ValidForGetAmount,
-                                AfterValidAmount = userAmount.ValidAmount,
-                            }).Entity;
+                                var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                                {
+                                    Version = i,//1 未使用额度 2 可提现额度 3 关联分仓额度
+                                    CreateDate = DateTime.Now,
+                                    UserId = sysAdmin.UserId,
+                                    SeoDescription = "取消关联分仓",
+                                    OperateType = 1,
+                                    UseAmount = UseAmount,
+                                    BeforeAmount = TotalAmount,
+                                    AfterAmount = TotalAmount - deposit + tamount,
+                                    AfterTotalAmt = userAmount.TotalAmt,
+                                    AfterValidForGetAmount = userAmount.ValidForGetAmount,
+                                    AfterValidAmount = userAmount.ValidAmount,
+                                }).Entity;
+                            }
                         }
                         }
                         opdb.SaveChanges();
                         opdb.SaveChanges();
                     }
                     }