瀏覽代碼

预扣款队列更新

lcl 1 年之前
父節點
當前提交
70cc74b0ea
共有 2 個文件被更改,包括 122 次插入54 次删除
  1. 5 2
      AppStart/Helper/InstallmentDeductionService.cs
  2. 117 52
      AppStart/Helper/TimeOutPosChargeService.cs

+ 5 - 2
AppStart/Helper/InstallmentDeductionService.cs

@@ -1,4 +1,4 @@
-using System;
+using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
@@ -57,7 +57,9 @@ namespace MySystem
                                         db.SaveChanges();
                                     }
                                     toChargeBackRecordSub.Status = 2;
-                                    userAccount.ToChargeAmount += toChargeBackRecordSub.ChargeAmount;//增加预扣款
+                                    if (toChargeBackRecordSub.Kind == 0) userAccount.ToChargeAmount += toChargeBackRecordSub.ChargeAmount;//增加创客预扣款
+                                    if (toChargeBackRecordSub.Kind == 1) userAccount.LeaderToChargeAmount += toChargeBackRecordSub.ChargeAmount;//增加盟主预扣款
+                                    if (toChargeBackRecordSub.Kind == 2) userAccount.OperateToChargeAmount += toChargeBackRecordSub.ChargeAmount;//增加运营中心预扣款
                                     var toChargeBackRecord = db.ToChargeBackRecord.Add(new ToChargeBackRecord
                                     {
                                         CreateDate = DateTime.Now,
@@ -66,6 +68,7 @@ namespace MySystem
                                         ChargeAmount = toChargeBackRecordSub.ChargeAmount,
                                         ChargeType = 2,//分期预扣款
                                         Remark = toChargeBackRecordSub.Remark,
+                                        Kind = toChargeBackRecordSub.Kind,
 
                                     }).Entity;
                                 }

+ 117 - 52
AppStart/Helper/TimeOutPosChargeService.cs

@@ -1,4 +1,4 @@
-using System;
+using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
@@ -154,67 +154,132 @@ namespace MySystem
                 var record = info.FirstOrDefault(m => m.Id == items.Id);
 
                 function.WriteLog("BalanceAmount:" + userAccount.BalanceAmount + ";ChargeAmount:" + record.ChargeAmount + ";", "扣款监听日志");
-                if (userAccount.BalanceAmount >= record.ChargeAmount)
+                function.WriteLog("in", "扣款监听日志");
+                var ChangeType = 0;
+                var Remark = "";
+                if (record.ChargeType == 124)//过期机具货款扣费
                 {
-                    function.WriteLog("in", "扣款监听日志");
-                    var ChangeType = 0;
-                    var Remark = "";
-                    if (record.ChargeType == 124)//过期机具货款扣费
-                    {
-                        ChangeType = 124;
-                        Remark = "扣机具货款";
-                    }
-                    if (record.ChargeType == 1)//普通预扣款
-                    {
-                        ChangeType = 202;
-                        // Remark = "普通扣款";
-                        Remark = items.Remark;
-                    }
-                    if (record.ChargeType == 2)//分期预扣款
-                    {
-                        ChangeType = 201;
-                        // Remark = "分期扣款";
-                        Remark = items.Remark;
-                    }
-                    var userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord
-                    {
-                        CreateDate = DateTime.Now,
-                        UserId = items.UserId,
-                        BeforeBalanceAmount = userAccount.BalanceAmount,
-                        AfterBalanceAmount = userAccount.BalanceAmount - record.ChargeAmount,
-                        ChangeAmount = record.ChargeAmount,
-                        ChangeType = ChangeType,
-                        Remark = Remark,
-
-                    }).Entity;
-                    record.Status = 1;
-                    if (record.ChargeType == 2)
+                    ChangeType = 124;
+                    Remark = "扣机具货款";
+                }
+                if (record.ChargeType == 1)//普通预扣款
+                {
+                    ChangeType = 202;
+                    // Remark = "普通扣款";
+                    Remark = items.Remark;
+                }
+                if (record.ChargeType == 2)//分期预扣款
+                {
+                    ChangeType = 201;
+                    // Remark = "分期扣款";
+                    Remark = items.Remark;
+                }
+                if (record.Kind < 2) //主库
+                {
+                    if (userAccount.BalanceAmount >= record.ChargeAmount)
                     {
-                        var toChargeBackRecordSub = db.ToChargeBackRecordSub.FirstOrDefault(m => m.Id == record.Sort) ?? new ToChargeBackRecordSub();
-                        var toChargeByStage = db.ToChargeByStage.FirstOrDefault(m => m.Id == toChargeBackRecordSub.ParentId && m.TimeNumber > m.QueryCount) ?? new ToChargeByStage();
-                        toChargeBackRecordSub.Status = 1;
-                        toChargeByStage.QueryCount += 1;
-                        toChargeByStage.ChargeAmount += toChargeBackRecordSub.ChargeAmount;
-                        if (toChargeByStage.TimeNumber == toChargeByStage.QueryCount)
+                        if (record.Kind == 0) //创客预扣款
                         {
-                            toChargeByStage.Status = 1;
+                            var userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord
+                            {
+                                CreateDate = DateTime.Now,
+                                UserId = items.UserId,
+                                BeforeBalanceAmount = userAccount.BalanceAmount,
+                                AfterBalanceAmount = userAccount.BalanceAmount - record.ChargeAmount,
+                                ChangeAmount = record.ChargeAmount,
+                                ChangeType = ChangeType,
+                                Remark = Remark,
+
+                            }).Entity;
+
+                            function.WriteLog("ToChargeAmount:" + userAccount.ToChargeAmount + ";ChargeAmount:" + record.ChargeAmount + ";", "扣款监听日志");
+                            if (userAccount.ToChargeAmount >= record.ChargeAmount)
+                            {
+                                function.WriteLog("ok", "扣款监听日志");
+                                userAccount.ToChargeAmount -= record.ChargeAmount;//分期扣款
+                            }
+                            userAccount.BalanceAmount -= record.ChargeAmount;//扣减余额
+                        }
+                        if (record.Kind == 1) //盟主预扣款
+                        {
+                            //11:盟主储蓄金增减单(兑换机具券 机具券兑换 系统增加(盟主储蓄金) 系统扣减(盟主储蓄金) 储备金购买)
+                            // 示例:+/-金额
+                            // 	盟主储蓄金:剩余盟主储蓄金
+                            // 12:可提现余额增减单(系统增加(可提现余额) 系统扣减(可提现余额))
+                            // 示例:+/-金额
+                            // 	可提现余额:剩余可提现余额
+                            // 13:盟主储蓄金减少可提现余额增加(推荐大/小盟主 商城购机 购机奖励)
+                            // 示例:-金额
+                            // 	盟主储蓄金:剩余盟主储蓄金
+                            // 	可提现余额:+金额
+                            var leaderReserveRecord = db.LeaderReserveRecord.Add(new LeaderReserveRecord()
+                            {
+                                CreateDate = DateTime.Now, //创建时间
+                                Sort = 12,
+                                UserId = UserId, //创客
+                                Remark = "盟主预扣款",
+                                ChangeType = 2,//变动类型(1 增加 2 减少)
+                                BeforeAmt = userAccount.LeaderBalanceAmount,
+                                AfterAmt = userAccount.LeaderBalanceAmount - record.ChargeAmount,
+                                ChangeAmt = record.ChargeAmount,
+                                TradeDate = DateTime.Now.ToString("yyyyMMdd"),
+                                TradeMonth = DateTime.Now.ToString("yyyyMM"),
+                            }).Entity;
+
+                            function.WriteLog("LeaderToChargeAmount:" + userAccount.LeaderToChargeAmount + ";ChargeAmount:" + record.ChargeAmount + ";", "扣款监听日志");
+                            if (userAccount.LeaderToChargeAmount >= record.ChargeAmount)
+                            {
+                                function.WriteLog("ok", "扣款监听日志");
+                                userAccount.LeaderToChargeAmount -= record.ChargeAmount;//扣减盟主预扣款
+                            }
+                            userAccount.LeaderBalanceAmount -= record.ChargeAmount;//扣减盟主可提现余额
                         }
                     }
-                    function.WriteLog("ToChargeAmount:" + userAccount.ToChargeAmount + ";ChargeAmount:" + record.ChargeAmount + ";", "扣款监听日志");
-                    if (userAccount.ToChargeAmount >= record.ChargeAmount)
+                }
+                else //运营中心
+                {
+                    MySystem.OpModels.WebCMSEntities opdb = new MySystem.OpModels.WebCMSEntities();
+                    var opUserAccount = opdb.UserAccount.FirstOrDefault(m => m.Id == items.UserId) ?? new MySystem.OpModels.UserAccount();
+                    if (opUserAccount.ValidForGetAmount >= record.ChargeAmount)
                     {
-                        function.WriteLog("ok", "扣款监听日志");
-                        userAccount.ToChargeAmount -= record.ChargeAmount;//分期扣款
-                    }
-                    userAccount.BalanceAmount -= record.ChargeAmount;//扣减余额
+                        if (record.Kind == 2) //运营中心预扣款
+                        {
+                            var amoutRecord = opdb.AmountRecord.Add(new MySystem.OpModels.AmountRecord
+                            {
+                                CreateDate = DateTime.Now,
+                                UserId = UserId,
+                                SeoDescription = "运营中心预扣款",
+                                UseAmount = record.ChargeAmount,
+                                OperateType = 2,
+                                BeforeAmount = opUserAccount.ValidAmount + opUserAccount.TotalAmt + opUserAccount.ValidForGetAmount,
+                                AfterAmount = opUserAccount.ValidAmount + opUserAccount.TotalAmt + opUserAccount.ValidForGetAmount - record.ChargeAmount,
+                            }).Entity;
 
-                    ToChargeBackRecord edit = db.ToChargeBackRecord.FirstOrDefault(m => m.Id == items.Id);
-                    if(edit != null)
+                            function.WriteLog("OperateToChargeAmount:" + userAccount.OperateToChargeAmount + ";ChargeAmount:" + record.ChargeAmount + ";", "扣款监听日志");
+                            if (userAccount.OperateToChargeAmount >= record.ChargeAmount)
+                            {
+                                function.WriteLog("ok", "扣款监听日志");
+                                userAccount.OperateToChargeAmount -= record.ChargeAmount;//扣减运营中心预扣款
+                            }
+                            opUserAccount.ValidForGetAmount -= record.ChargeAmount;//扣减运营中心可提现余额
+                        }
+                    }
+                }
+                record.Status = 1;
+                if (record.ChargeType == 2)
+                {
+                    var toChargeBackRecordSub = db.ToChargeBackRecordSub.FirstOrDefault(m => m.Id == record.Sort) ?? new ToChargeBackRecordSub();
+                    var toChargeByStage = db.ToChargeByStage.FirstOrDefault(m => m.Id == toChargeBackRecordSub.ParentId && m.TimeNumber > m.QueryCount) ?? new ToChargeByStage();
+                    toChargeBackRecordSub.Status = 1;
+                    toChargeByStage.QueryCount += 1;
+                    toChargeByStage.ChargeAmount += toChargeBackRecordSub.ChargeAmount;
+                    if (toChargeByStage.TimeNumber == toChargeByStage.QueryCount)
                     {
-                        edit.UpdateDate = DateTime.Now;
+                        toChargeByStage.Status = 1;
                     }
-                    function.WriteLog("\n\n", "扣款监听日志");
                 }
+                record.UpdateDate = DateTime.Now;
+                function.WriteLog("\n\n", "扣款监听日志");
             }
             db.SaveChanges();
         }