DuGuYang 3 anos atrás
pai
commit
f5cd80ada5
1 arquivos alterados com 102 adições e 13 exclusões
  1. 102 13
      Areas/Admin/Controllers/MainServer/SysToolsController.cs

+ 102 - 13
Areas/Admin/Controllers/MainServer/SysToolsController.cs

@@ -1397,13 +1397,58 @@ namespace MySystem.Areas.Admin.Controllers
 
                 if (oldpos.OpId > 0)
                 {
-                    var opUserAccount = opdb.UserAccount.FirstOrDefault(m => m.Sort > 0 && m.Id == oldpos.OpId && m.UserId == oldpos.OpId) ?? new OpModels.UserAccount();
-                    opUserAccount.ValidAmount += oldpos.OpReserve3;
-                    opUserAccount.ValidForGetAmount += oldpos.OpReserve2;
-                    opUserAccount.TotalAmount += oldpos.OpReserve1;
+                    if (oldpos.ActivationState == 0)
+                    {
+                        var opUserAccount = opdb.UserAccount.FirstOrDefault(m => m.Sort > 0 && m.Id == oldpos.OpId && m.UserId == oldpos.OpId) ?? new OpModels.UserAccount();
+                        decimal TotalAmount = opUserAccount.ValidAmount + opUserAccount.TotalAmt + opUserAccount.ValidForGetAmount;//旧的总金额
+                        opUserAccount.ValidAmount += oldpos.OpReserve3;
+                        opUserAccount.ValidForGetAmount += oldpos.OpReserve2;
+                        opUserAccount.TotalAmount += oldpos.OpReserve1;
+
+                        var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                        {
+                            CreateDate = DateTime.Now,
+                            UserId = oldpos.OpId,
+                            SeoDescription = "机具换绑",
+                            OperateType = 1,
+                            UseAmount = oldpos.OpReserve3 + oldpos.OpReserve2 + oldpos.OpReserve1,
+                            BeforeAmount = TotalAmount,
+                            AfterAmount = TotalAmount + oldpos.OpReserve3 + oldpos.OpReserve2 + oldpos.OpReserve1,
+                        }).Entity;
+
+                        oldpos.OpReserve1 = 0;
+                        oldpos.OpReserve2 = 0;
+                        oldpos.OpReserve3 = 0;
+                    }
+                    else
+                    {
+                        if (newpos.OpId > 0)
+                        {
+                            var opUserAccount = opdb.UserAccount.FirstOrDefault(m => m.Sort > 0 && m.Id == newpos.OpId && m.UserId == newpos.OpId) ?? new OpModels.UserAccount();
+                            decimal TotalAmount = opUserAccount.ValidAmount + opUserAccount.TotalAmt + opUserAccount.ValidForGetAmount;//旧的总金额
+                            opUserAccount.ValidAmount += newpos.OpReserve3;
+                            opUserAccount.ValidForGetAmount += newpos.OpReserve2;
+                            opUserAccount.TotalAmount += newpos.OpReserve1;
+
+                            var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                            {
+                                CreateDate = DateTime.Now,
+                                UserId = newpos.OpId,
+                                SeoDescription = "机具换绑",
+                                OperateType = 1,
+                                UseAmount = newpos.OpReserve3 + newpos.OpReserve2 + newpos.OpReserve1,
+                                BeforeAmount = TotalAmount,
+                                AfterAmount = TotalAmount + newpos.OpReserve3 + newpos.OpReserve2 + newpos.OpReserve1,
+                            }).Entity;
+
+                            newpos.OpReserve1 = 0;
+                            newpos.OpReserve2 = 0;
+                            newpos.OpReserve3 = 0;
+                        }
+                    }
                 }
                 opdb.SaveChanges();
-                
+
                 merchant = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == MerNo) ?? new PosMerchantInfo();
                 newpos.BindMerchantId = merchant.Id;
                 newpos.BuyUserId = oldpos.BuyUserId;
@@ -1601,10 +1646,32 @@ namespace MySystem.Areas.Admin.Controllers
 
                     if (oldpos.OpId > 0)
                     {
-                        var opUserAccount = opdb.UserAccount.FirstOrDefault(m => m.Sort > 0 && m.Id == oldpos.OpId && m.UserId == oldpos.OpId) ?? new OpModels.UserAccount();
-                        opUserAccount.ValidAmount += oldpos.OpReserve3;
-                        opUserAccount.ValidForGetAmount += oldpos.OpReserve2;
-                        opUserAccount.TotalAmount += oldpos.OpReserve1;
+                        if (newpos.OpId > 0)
+                        {
+                            var opUserAccount = opdb.UserAccount.FirstOrDefault(m => m.Sort > 0 && m.Id == oldpos.OpId && m.UserId == oldpos.OpId) ?? new OpModels.UserAccount();
+                            decimal TotalAmount = opUserAccount.ValidAmount + opUserAccount.TotalAmt + opUserAccount.ValidForGetAmount;//旧的总金额
+                            opUserAccount.ValidAmount += oldpos.OpReserve3;
+                            opUserAccount.ValidForGetAmount += oldpos.OpReserve2;
+                            opUserAccount.TotalAmount += oldpos.OpReserve1;
+
+                            var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                            {
+                                CreateDate = DateTime.Now,
+                                UserId = oldpos.OpId,
+                                SeoDescription = "坏机换新",
+                                OperateType = 1,
+                                UseAmount = oldpos.OpReserve3 + oldpos.OpReserve2 + oldpos.OpReserve1,
+                                BeforeAmount = TotalAmount,
+                                AfterAmount = TotalAmount + oldpos.OpReserve3 + oldpos.OpReserve2 + oldpos.OpReserve1,
+                            }).Entity;
+                        }
+                        if (newpos.OpId == 0)
+                        {
+                            newpos.OpReserve1 = oldpos.OpReserve1;
+                            newpos.OpReserve2 = oldpos.OpReserve3;
+                            newpos.OpReserve3 = oldpos.OpReserve1;
+                            newpos.OpId = oldpos.OpId;
+                        }
                     }
 
                     newpos.BuyUserId = oldpos.BuyUserId;
@@ -1830,10 +1897,32 @@ namespace MySystem.Areas.Admin.Controllers
                     }
                     if (oldpos.OpId > 0)
                     {
-                        var opUserAccount = opdb.UserAccount.FirstOrDefault(m => m.Sort > 0 && m.Id == oldpos.OpId && m.UserId == oldpos.OpId) ?? new OpModels.UserAccount();
-                        opUserAccount.ValidAmount += oldpos.OpReserve3;
-                        opUserAccount.ValidForGetAmount += oldpos.OpReserve2;
-                        opUserAccount.TotalAmount += oldpos.OpReserve1;
+                        if (newpos.OpId > 0)
+                        {
+                            var opUserAccount = opdb.UserAccount.FirstOrDefault(m => m.Sort > 0 && m.Id == oldpos.OpId && m.UserId == oldpos.OpId) ?? new OpModels.UserAccount();
+                            decimal TotalAmount = opUserAccount.ValidAmount + opUserAccount.TotalAmt + opUserAccount.ValidForGetAmount;//旧的总金额
+                            opUserAccount.ValidAmount += oldpos.OpReserve3;
+                            opUserAccount.ValidForGetAmount += oldpos.OpReserve2;
+                            opUserAccount.TotalAmount += oldpos.OpReserve1;
+
+                            var amoutRecord = opdb.AmountRecord.Add(new OpModels.AmountRecord
+                            {
+                                CreateDate = DateTime.Now,
+                                UserId = oldpos.OpId,
+                                SeoDescription = "坏机换新",
+                                OperateType = 1,
+                                UseAmount = oldpos.OpReserve3 + oldpos.OpReserve2 + oldpos.OpReserve1,
+                                BeforeAmount = TotalAmount,
+                                AfterAmount = TotalAmount + oldpos.OpReserve3 + oldpos.OpReserve2 + oldpos.OpReserve1,
+                            }).Entity;
+                        }
+                        if (newpos.OpId == 0)
+                        {
+                            newpos.OpReserve1 = oldpos.OpReserve1;
+                            newpos.OpReserve2 = oldpos.OpReserve3;
+                            newpos.OpReserve3 = oldpos.OpReserve1;
+                            newpos.OpId = oldpos.OpId;
+                        }
                     }
 
                     oldpos.StoreId = storeBack.Id;