Browse Source

调整运营中心额度记录

lcl 1 year ago
parent
commit
33a61cebce

+ 4 - 4
AppStart/Helper/AlipayPayBack2Service.cs

@@ -665,12 +665,12 @@ namespace MySystem
                             OpAmountItem item = new OpAmountItem()
                             {
                                 UserId = UserId,
-                                OperateType = 1,
+                                OperateType = 0,
                                 ChangeType = 5,
                                 Remark = "商城购机",
                                 UseAmount = Money,
                                 UseValidForGetAmount = Money,
-                                UseTotalAmt = -Money,
+                                UseTotalAmt = Money,
                                 DataType = 1,
                                 DataId = OrderId,
                             };
@@ -713,12 +713,12 @@ namespace MySystem
                 OpAmountItem item = new OpAmountItem()
                 {
                     UserId = UserId,
-                    OperateType = 1,
+                    OperateType = 0,
                     ChangeType = 5,
                     Remark = "商城购机",
                     UseAmount = Money,
                     UseValidForGetAmount = Money,
-                    UseTotalAmt = -Money,
+                    UseTotalAmt = Money,
                     DataType = 2,
                     DataId = OrderId,
                 };

+ 2 - 2
AppStart/Helper/PosCouponPrize/PosCouponPrizeService.cs

@@ -193,12 +193,12 @@ namespace MySystem
                                 OpAmountItem item = new OpAmountItem()
                                 {
                                     UserId = parentUser.Id,
-                                    OperateType = 1,
+                                    OperateType = 0,
                                     ChangeType = 5,
                                     Remark = "商城购机",
                                     UseAmount = GetAmount,
                                     UseValidForGetAmount = GetAmount,
-                                    UseTotalAmt = -GetAmount,
+                                    UseTotalAmt = GetAmount,
                                     DataType = 1,
                                     DataId = order.Id,
                                 };

+ 2 - 2
AppStart/Helper/TimeOutPosChargeService.cs

@@ -288,11 +288,11 @@ namespace MySystem
                             OpAmountItem item = new OpAmountItem()
                             {
                                 UserId = items.UserId,
-                                OperateType = 1,
+                                OperateType = 2,
                                 ChangeType = 17,
                                 Remark = "运营中心预扣款",
                                 UseAmount = record.ChargeAmount,
-                                UseValidForGetAmount = -record.ChargeAmount,
+                                UseValidForGetAmount = record.ChargeAmount,
                                 DataType = 5,
                                 DataId = record.Id,
                             };

+ 4 - 0
AppStart/Tables/OpAmountItem.cs

@@ -41,5 +41,9 @@ namespace MySystem
 
         //来源Id,表的主键Id
         public int DataId { get; set; }
+
+
+        //是否入账
+        public int NoAccount { get; set; }
     }
 }

+ 3 - 2
Controllers/HomeController.cs

@@ -186,10 +186,11 @@ namespace MySystem.Controllers
                     decimal UseValidAmount = 0;
                     if(type.Name == "商城购机" || type.Name == "购买小盟主" || type.Name == "购买运营中心")
                     {
-                        UseTotalAmt = -UseAmount;
+                        UseTotalAmt = UseAmount;
                         UseValidForGetAmount = UseAmount;
                         OpModels.AmountRecord same = db.AmountRecord.FirstOrDefault(m => m.UserId == sub.UserId && m.CreateDate >= sub.CreateDate && m.CreateDate <= sub.CreateDate.Value.AddSeconds(5) && m.UseAmount == UseAmount && m.SeoDescription == sub.SeoDescription && m.OperateType == 1) ?? new OpModels.AmountRecord();
                         ids.Add(same.Id);
+                        OperateType = 0;
                     }
                     else
                     {
@@ -207,7 +208,7 @@ namespace MySystem.Controllers
                         }
                         else
                         {
-                            if(sub.OperateType == 1)
+                            if(OperateType == 1)
                             {
                                 UseTotalAmt = UseAmount;
                             }

+ 23 - 3
Util/Utils.cs

@@ -232,9 +232,29 @@ namespace MySystem
                 db.SaveChanges();
             }
             decimal BeforeAmount = account.ValidForGetAmount + account.TotalAmt + account.ValidAmount;
-            account.TotalAmt += param.UseTotalAmt;
-            account.ValidForGetAmount += param.UseValidForGetAmount;
-            account.ValidAmount += param.UseValidAmount;
+            if(param.NoAccount == 0)
+            {
+                if(param.OperateType == 0 && param.UseTotalAmt > 0 && param.UseValidForGetAmount > 0 && param.UseValidAmount == 0)
+                {                
+                    account.TotalAmt -= param.UseTotalAmt;
+                    account.ValidForGetAmount += param.UseValidForGetAmount;
+                }
+                else
+                {
+                    if(param.OperateType == 1)
+                    {
+                        account.TotalAmt += param.UseTotalAmt;
+                        account.ValidForGetAmount += param.UseValidForGetAmount;
+                        account.ValidAmount += param.UseValidAmount;
+                    }
+                    else if(param.OperateType == 2)
+                    {
+                        account.TotalAmt -= param.UseTotalAmt;
+                        account.ValidForGetAmount -= param.UseValidForGetAmount;
+                        account.ValidAmount -= param.UseValidAmount;
+                    }
+                }
+            }
             decimal AfterAmount = account.ValidForGetAmount + account.TotalAmt + account.ValidAmount;
             OpModels.AmountRecordNew add = db.AmountRecordNew.Add(new OpModels.AmountRecordNew()
             {