瀏覽代碼

关联盟主储蓄金和可提现余额

lcl 1 年之前
父節點
當前提交
27e2ea1a0b

+ 2 - 2
AppStart/AddPosCouponPrizeHelper.cs

@@ -144,9 +144,9 @@ public class AddPosCouponPrizeHelper
                         if(prizeChk.Contains(3))
                         {
                             //扣减备用金
-                            AlipayPayBack2Service.Instance.OpReserve(db, order, puser.Id, 400 * pro.ProductCount, 2, order.UserId, "购机奖励");
+                            int ReserveRecordId = AlipayPayBack2Service.Instance.OpReserve(db, order, puser.Id, 400 * pro.ProductCount, 2, order.UserId, "购机奖励");
                             //返回到余额
-                            AlipayPayBack2Service.Instance.OpLeaderAccount(db, order, puser.Id, 400, pro.ProductCount);
+                            AlipayPayBack2Service.Instance.OpLeaderAccount(db, order, puser.Id, 400, pro.ProductCount, 0, ReserveRecordId);
                         }
                         leaderFlag = puser.LeaderLevel;
                         OncePrizeFlag4 = false;

+ 14 - 4
AppStart/Helper/AlipayPayBack2Service.cs

@@ -349,8 +349,8 @@ namespace MySystem
                             {
                                 if(account.LeaderReserve >= TotalPrice)
                                 {
-                                    OpReserve(db, order, LeaderUserId, TotalPrice, 2, 0, "推荐小盟主");
-                                    OpLeaderAccount(db, order, LeaderUserId, TotalPrice, 1, 1);
+                                    int ReserveRecordId = OpReserve(db, order, LeaderUserId, TotalPrice, 2, 0, "推荐小盟主");
+                                    OpLeaderAccount(db, order, LeaderUserId, TotalPrice, 1, 1, ReserveRecordId);
                                     LeaderUserId = 0;
                                     result = false;
                                 }
@@ -418,7 +418,7 @@ namespace MySystem
             }
             return 0;
         }
-        public void OpReserve(WebCMSEntities db, Orders order, int UserId, decimal Money, int ChangeType, int SourceUserId = 0, string Remark = "储备金购买")
+        public int OpReserve(WebCMSEntities db, Orders order, int UserId, decimal Money, int ChangeType, int SourceUserId = 0, string Remark = "储备金购买")
         {
             UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
             if (account == null)
@@ -456,6 +456,7 @@ namespace MySystem
                 Sort = GetLeaderReserveRecordType(Remark),
             }).Entity;
             db.SaveChanges();
+            return add.Id;
         }
         //操作余额
         public void OpAccount(WebCMSEntities db, Orders order, int UserId, decimal Money, int Count = 1)
@@ -546,7 +547,7 @@ namespace MySystem
             db.SaveChanges();
         }
         //操作盟主可提现余额
-        public void OpLeaderAccount(WebCMSEntities db, Orders order, int UserId, decimal Money, int Count = 1, int Kind = 0)
+        public void OpLeaderAccount(WebCMSEntities db, Orders order, int UserId, decimal Money, int Count = 1, int Kind = 0, int ReserveRecordId = 0)
         {
             UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
             if (account == null)
@@ -588,6 +589,15 @@ namespace MySystem
                 LeaderReserve = LeaderReserve,
             }).Entity;
             db.SaveChanges();
+            if(ReserveRecordId > 0)
+            {
+                LeaderReserveRecord edit = db.LeaderReserveRecord.FirstOrDefault(m => m.Id == ReserveRecordId);
+                if(edit != null)
+                {
+                    edit.AccountRecordId = leaderAccountRecord.Id;
+                    db.SaveChanges();
+                }
+            }
         }
         public void DirectPrize(WebCMSEntities db, int OrderId, int UserId, int Count = 1)
         {

+ 14 - 4
AppStart/Helper/PosCouponPrize/PosCouponPrizeService.cs

@@ -148,9 +148,9 @@ namespace MySystem
                             {
                                 BackAccountFlag = true;
                                 //扣减备用金
-                                OpReserve(db, order.Id, parentUser.Id, GetWithdrawMoney(parentUser) * order.BuyCount, 2, order.UserId, "购机奖励");
+                                int ReserveRecordId = OpReserve(db, order.Id, parentUser.Id, GetWithdrawMoney(parentUser) * order.BuyCount, 2, order.UserId, "购机奖励");
                                 //返回到余额
-                                OpLeaderAccount(db, order, parentUser.Id, GetWithdrawMoney(parentUser), order.BuyCount);
+                                OpLeaderAccount(db, order, parentUser.Id, GetWithdrawMoney(parentUser), order.BuyCount, ReserveRecordId);
                             }
 
                             //给券打大盟主标记
@@ -325,7 +325,7 @@ namespace MySystem
         /// <param name="ChangeType"></param>
         /// <param name="SourceUserId"></param>
         /// <param name="Remark"></param>
-        public void OpReserve(WebCMSEntities db, int OrderId, int UserId, decimal Money, int ChangeType, int SourceUserId = 0, string Remark = "储备金购买")
+        public int OpReserve(WebCMSEntities db, int OrderId, int UserId, decimal Money, int ChangeType, int SourceUserId = 0, string Remark = "储备金购买")
         {
             UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
             if (account == null)
@@ -363,6 +363,7 @@ namespace MySystem
                 Sort = GetLeaderReserveRecordType(Remark),
             }).Entity;
             db.SaveChanges();
+            return add.Id;
         }
         private int GetLeaderReserveRecordType(string Remark)
         {
@@ -387,7 +388,7 @@ namespace MySystem
         /// <param name="Money"></param>
         /// <param name="Count"></param>
         /// <param name="Kind"></param>
-        public void OpLeaderAccount(WebCMSEntities db, Orders order, int UserId, decimal Money, int Count = 1)
+        public void OpLeaderAccount(WebCMSEntities db, Orders order, int UserId, decimal Money, int Count = 1, int ReserveRecordId = 0)
         {
             UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
             if (account == null)
@@ -420,6 +421,15 @@ namespace MySystem
                 Sort = order.UserId,
             }).Entity;
             db.SaveChanges();
+            if(ReserveRecordId > 0)
+            {
+                LeaderReserveRecord edit = db.LeaderReserveRecord.FirstOrDefault(m => m.Id == ReserveRecordId);
+                if(edit != null)
+                {
+                    edit.AccountRecordId = leaderAccountRecord.Id;
+                    db.SaveChanges();
+                }
+            }
         }
 
         /// <summary>

+ 1 - 0
PxcModels/LeaderReserveRecord.cs

@@ -24,5 +24,6 @@ namespace MySystem.PxcModels
         public string TradeDate { get; set; }
         public string TradeMonth { get; set; }
         public int UserId { get; set; }
+        public int AccountRecordId { get; set; }
     }
 }

+ 2 - 0
PxcModels/WebCMSEntities.cs

@@ -5168,6 +5168,8 @@ namespace MySystem.PxcModels
                 entity.Property(e => e.UpdateDate).HasColumnType("datetime");
 
                 entity.Property(e => e.UserId).HasColumnType("int(11)");
+
+                entity.Property(e => e.AccountRecordId ).HasColumnType("int(11)");
             });
 
             modelBuilder.Entity<Leaders>(entity =>