Pārlūkot izejas kodu

运营中心额度变更埋点

lcl 1 gadu atpakaļ
vecāks
revīzija
8337f06716

+ 16 - 0
AppStart/Helper/AddActService.cs

@@ -79,6 +79,22 @@ namespace MySystem
 
                                 //统计激活数
                                 RedisDbconn.Instance.AddList("StatActQueue", "{\"TradeDate\":\"" + DateTime.Now.ToString("yyyyMMdd") + "\",\"UserId\":\"" + pos.BuyUserId + "\",\"BrandId\":\"" + pos.BrandId + "\"}");
+
+                                //运营中心额度变更
+                                OpAmountItem item = new OpAmountItem()
+                                {
+                                    UserId = pos.OpId,
+                                    OperateType = 1,
+                                    ChangeType = 9,
+                                    Remark = "机具激活",
+                                    UseAmount = pos.OpReserve1 + pos.OpReserve2 + pos.OpReserve3,
+                                    UseValidForGetAmount = pos.OpReserve2,
+                                    UseTotalAmt = pos.OpReserve1,
+                                    UseValidAmount = pos.OpReserve3,
+                                    DataType = 2,
+                                    DataId = pos.Id,
+                                };
+                                RedisDbconn.Instance.AddList("OperateAmountRecordServiceQueue", item);
                             }
                             db.Dispose();
                         }

+ 26 - 0
AppStart/Helper/AlipayPayBack2Service.cs

@@ -662,6 +662,19 @@ namespace MySystem
                         {
                             OperateAmountChange(db, UserId, Money, 2, 1, "商城购机", true, OrderId);
                             OperateAmountChange(db, UserId, Money, 1, 2, "商城购机", true, OrderId);
+                            OpAmountItem item = new OpAmountItem()
+                            {
+                                UserId = UserId,
+                                OperateType = 1,
+                                ChangeType = 5,
+                                Remark = "商城购机",
+                                UseAmount = Money,
+                                UseValidForGetAmount = Money,
+                                UseTotalAmt = -Money,
+                                DataType = 1,
+                                DataId = OrderId,
+                            };
+                            RedisDbconn.Instance.AddList("OperateAmountRecordServiceQueue", item);
                             UserId = 0;
                         }
                         else
@@ -697,6 +710,19 @@ namespace MySystem
             {
                 OperateAmountChange(db, UserId, Money, 2, 1, "商城购机", true, OrderId);
                 OperateAmountChange(db, UserId, Money, 1, 2, "商城购机", true, OrderId);
+                OpAmountItem item = new OpAmountItem()
+                {
+                    UserId = UserId,
+                    OperateType = 1,
+                    ChangeType = 5,
+                    Remark = "商城购机",
+                    UseAmount = Money,
+                    UseValidForGetAmount = Money,
+                    UseTotalAmt = -Money,
+                    DataType = 2,
+                    DataId = OrderId,
+                };
+                RedisDbconn.Instance.AddList("OperateAmountRecordServiceQueue", item);
             }
             db.Dispose();
         }

+ 13 - 0
AppStart/Helper/Operate/OperateAmountService.cs

@@ -83,6 +83,19 @@ namespace MySystem
                         }).Entity;
 
                         db.Dispose();
+
+                        OpAmountItem item = new OpAmountItem()
+                        {
+                            UserId = UserId,
+                            OperateType = 1,
+                            ChangeType = Kind == 1 ? 9 : 23,
+                            Remark = Kind == 1 ? "机具激活返还" : "机具券兑换返还",
+                            UseAmount = Amount,
+                            UseValidAmount = Amount,
+                            DataType = Kind == 1 ? 2 : 6,
+                            DataId = DataId,
+                        };
+                        RedisDbconn.Instance.AddList("OperateAmountRecordServiceQueue", item);
                     }
                     catch (Exception ex)
                     {

+ 18 - 8
AppStart/Helper/OperateAmountRecordService.cs

@@ -1,4 +1,6 @@
-using System.Threading;
+using System;
+using System.Threading;
+using Library;
 using MySystem;
 using MySystem.OpModels;
 
@@ -20,16 +22,24 @@ public class OperateAmountRecordService
     {
         while (true)
         {
-            string content = RedisDbconn.Instance.RPop<string>("OperateAmountRecordServiceQueue");
-            if (!string.IsNullOrEmpty(content))
+            try
             {
-                WebCMSEntities db = new WebCMSEntities();
-                Utils.Instance.OperateAmountChange(db,Newtonsoft.Json.JsonConvert.DeserializeObject<OpAmountItem>(content));
-                db.Dispose();
+                string content = RedisDbconn.Instance.RPop<string>("OperateAmountRecordServiceQueue");
+                if (!string.IsNullOrEmpty(content))
+                {
+                    WebCMSEntities db = new WebCMSEntities();
+                    Utils.Instance.OperateAmountChange(db,Newtonsoft.Json.JsonConvert.DeserializeObject<OpAmountItem>(content));
+                    db.Dispose();
+                }
+                else
+                {
+                    Thread.Sleep(5000);
+                }
             }
-            else
+            catch(Exception ex)
             {
-                Thread.Sleep(5000);
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "运营中心额度变更队列异常");
+                Thread.Sleep(30000);
             }
         }
     }

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

@@ -184,10 +184,25 @@ namespace MySystem
                             if(!BackAccountFlag)
                             {
                                 BackAccountFlag = true;
+                                decimal GetAmount = GetWithdrawMoney(parentUser) * order.BuyCount;
                                 //扣减备用金
-                                OperateAmountChange(opdb, parentUser.Id, GetWithdrawMoney(parentUser) * order.BuyCount, 2, 1, "商城购机", true, order.Id);
+                                OperateAmountChange(opdb, parentUser.Id, GetAmount, 2, 1, "商城购机", true, order.Id);
                                 //返回到余额
-                                OperateAmountChange(opdb, parentUser.Id, GetWithdrawMoney(parentUser) * order.BuyCount, 1, 2, "商城购机", true, order.Id);
+                                OperateAmountChange(opdb, parentUser.Id, GetAmount, 1, 2, "商城购机", true, order.Id);
+
+                                OpAmountItem item = new OpAmountItem()
+                                {
+                                    UserId = parentUser.Id,
+                                    OperateType = 1,
+                                    ChangeType = 5,
+                                    Remark = "商城购机",
+                                    UseAmount = GetAmount,
+                                    UseValidForGetAmount = GetAmount,
+                                    UseTotalAmt = -GetAmount,
+                                    DataType = 1,
+                                    DataId = order.Id,
+                                };
+                                RedisDbconn.Instance.AddList("OperateAmountRecordServiceQueue", item);
                             }
                         }
                     }

+ 15 - 0
AppStart/Helper/SycnSpServer/SycnSpTradeService.cs

@@ -842,6 +842,21 @@ namespace MySystem
                     AlipayPayBack2Service.Instance.ActReserveBack(pos.OpId, pos.OpReserve1, pos.OpReserve2, pos.OpReserve3);
                     //统计激活数
                     RedisDbconn.Instance.AddList("StatActQueue", "{\"TradeDate\":\"" + now.ToString("yyyyMMdd") + "\",\"UserId\":\"" + pos.BuyUserId + "\",\"BrandId\":\"" + pos.BrandId + "\"}");
+                    //运营中心额度变更
+                    OpAmountItem item = new OpAmountItem()
+                    {
+                        UserId = pos.OpId,
+                        OperateType = 1,
+                        ChangeType = 9,
+                        Remark = "机具激活",
+                        UseAmount = pos.OpReserve1 + pos.OpReserve2 + pos.OpReserve3,
+                        UseValidForGetAmount = pos.OpReserve2,
+                        UseTotalAmt = pos.OpReserve1,
+                        UseValidAmount = pos.OpReserve3,
+                        DataType = 2,
+                        DataId = pos.Id,
+                    };
+                    RedisDbconn.Instance.AddList("OperateAmountRecordServiceQueue", item);
                 }
                 //清理预扣款
                 RedisDbconn.Instance.AddList("PosWithholdQueue", "{\"UserId\":\"" + pos.BuyUserId + "\",\"SnNo\":\"" + pos.PosSn + "\"}");

+ 14 - 0
AppStart/Helper/TimeOutPosChargeService.cs

@@ -284,6 +284,20 @@ namespace MySystem
                             amoutRecord.AfterValidForGetAmount = opUserAccount.ValidForGetAmount;
                             amoutRecord.AfterTotalAmt = opUserAccount.TotalAmt;
                             amoutRecord.AfterValidAmount = opUserAccount.ValidAmount;
+
+                            OpAmountItem item = new OpAmountItem()
+                            {
+                                UserId = items.UserId,
+                                OperateType = 1,
+                                ChangeType = 17,
+                                Remark = "运营中心预扣款",
+                                UseAmount = record.ChargeAmount,
+                                UseValidForGetAmount = -record.ChargeAmount,
+                                DataType = 5,
+                                DataId = record.Id,
+                            };
+                            RedisDbconn.Instance.AddList("OperateAmountRecordServiceQueue", item);
+
                             check = true;
                         }
                     }

+ 1 - 1
AppStart/Tables/OpAmountItem.cs

@@ -35,7 +35,7 @@ namespace MySystem
         public decimal UseValidAmount { get; set; }
 
 
-        //来源类型,区分表
+        //来源类型,区分表(1订单,2机具,3申请记录,4购买运营中心,5预扣款,6机具券)
         public int DataType { get; set; }
 
 

+ 3 - 12
Util/Utils.cs

@@ -232,18 +232,9 @@ namespace MySystem
                 db.SaveChanges();
             }
             decimal BeforeAmount = account.ValidForGetAmount + account.TotalAmt + account.ValidAmount;
-            if(param.OperateType == 1)
-            {
-                account.TotalAmt += param.UseTotalAmt;
-                account.ValidForGetAmount += param.UseValidForGetAmount;
-                account.ValidAmount += param.UseValidAmount;
-            }
-            else
-            {
-                account.TotalAmt -= param.UseTotalAmt;
-                account.ValidForGetAmount -= param.UseValidForGetAmount;
-                account.ValidAmount -= param.UseValidAmount;
-            }
+            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()
             {