Sfoglia il codice sorgente

补录wifi奖励,判断交易不存在时,奖励金额设置为0

lcl 2 anni fa
parent
commit
a268669ac4
2 ha cambiato i file con 78 aggiunte e 64 eliminazioni
  1. 38 31
      AppStart/Helper/LeaderPrizeService.cs
  2. 40 33
      AppStart/Helper/OperatePrizeService.cs

+ 38 - 31
AppStart/Helper/LeaderPrizeService.cs

@@ -51,43 +51,50 @@ namespace MySystem
                                         ChangeAmount = trade.TradeAmount * 0.015M;
                                         ChangeAmount = PublicFunction.NumberFormat(ChangeAmount);
                                     }
+                                    else
+                                    {
+                                        ChangeAmount = 0;
+                                    }
                                 }
-                                int LeaderUserId = pos.LeaderUserId;
-                                UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == LeaderUserId);
-                                if (account == null)
+                                if(ChangeAmount > 0)
                                 {
-                                    account = db.UserAccount.Add(new UserAccount()
+                                    int LeaderUserId = pos.LeaderUserId;
+                                    UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == LeaderUserId);
+                                    if (account == null)
                                     {
-                                        Id = LeaderUserId,
-                                        UserId = LeaderUserId,
+                                        account = db.UserAccount.Add(new UserAccount()
+                                        {
+                                            Id = LeaderUserId,
+                                            UserId = LeaderUserId,
+                                        }).Entity;
+                                        db.SaveChanges();
+                                    }
+                                    decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                                    decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                                    decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                                    account.BalanceAmount += ChangeAmount;
+                                    account.TotalAmount += ChangeAmount;
+                                    decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                                    decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                                    decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                                    UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                                    {
+                                        CreateDate = DateTime.Now,
+                                        UpdateDate = DateTime.Now,
+                                        UserId = LeaderUserId, //创客
+                                        ProductType = pos.BrandId, //品牌
+                                        ChangeType = 116, //变动类型
+                                        ChangeAmount = ChangeAmount, //变更金额
+                                        BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                        AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                        BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                        AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                        BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                        AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                        QueryCount = PosId,
                                     }).Entity;
                                     db.SaveChanges();
                                 }
-                                decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
-                                decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
-                                decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
-                                account.BalanceAmount += ChangeAmount;
-                                account.TotalAmount += ChangeAmount;
-                                decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
-                                decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
-                                decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
-                                UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
-                                {
-                                    CreateDate = DateTime.Now,
-                                    UpdateDate = DateTime.Now,
-                                    UserId = LeaderUserId, //创客
-                                    ProductType = pos.BrandId, //品牌
-                                    ChangeType = 116, //变动类型
-                                    ChangeAmount = ChangeAmount, //变更金额
-                                    BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
-                                    AfterTotalAmount = AfterTotalAmount, //变更后总金额
-                                    BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
-                                    AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
-                                    BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
-                                    AfterBalanceAmount = AfterBalanceAmount, //变更后余额
-                                    QueryCount = PosId,
-                                }).Entity;
-                                db.SaveChanges();
                             }
                         }
                         db.Dispose();

+ 40 - 33
AppStart/Helper/OperatePrizeService.cs

@@ -70,45 +70,52 @@ namespace MySystem
                                             ChangeAmount = trade.TradeAmount * 0.005M;
                                             ChangeAmount = PublicFunction.NumberFormat(ChangeAmount);
                                         }
+                                        else
+                                        {
+                                            ChangeAmount = 0;
+                                        }
                                     }
-                                    UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == OpId);
-                                    if (account == null)
+                                    if(ChangeAmount > 0)
                                     {
-                                        account = db.UserAccount.Add(new UserAccount()
+                                        UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == OpId);
+                                        if (account == null)
+                                        {
+                                            account = db.UserAccount.Add(new UserAccount()
+                                            {
+                                                Id = OpId,
+                                                UserId = OpId,
+                                            }).Entity;
+                                            db.SaveChanges();
+                                        }
+                                        decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                                        decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                                        decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                                        account.BalanceAmount += ChangeAmount;
+                                        account.TotalAmount += ChangeAmount;
+                                        decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                                        decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                                        decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                                        UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
                                         {
-                                            Id = OpId,
-                                            UserId = OpId,
+                                            CreateDate = DateTime.Now,
+                                            UpdateDate = DateTime.Now,
+                                            UserId = OpId, //创客
+                                            ProductType = pos.BrandId, //品牌
+                                            ChangeType = 121, //变动类型
+                                            ChangeAmount = ChangeAmount, //变更金额
+                                            BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                            AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                            BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                            AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                            BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                            AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                            QueryCount = PosId,
                                         }).Entity;
                                         db.SaveChanges();
-                                    }
-                                    decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
-                                    decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
-                                    decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
-                                    account.BalanceAmount += ChangeAmount;
-                                    account.TotalAmount += ChangeAmount;
-                                    decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
-                                    decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
-                                    decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
-                                    UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
-                                    {
-                                        CreateDate = DateTime.Now,
-                                        UpdateDate = DateTime.Now,
-                                        UserId = OpId, //创客
-                                        ProductType = pos.BrandId, //品牌
-                                        ChangeType = 121, //变动类型
-                                        ChangeAmount = ChangeAmount, //变更金额
-                                        BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
-                                        AfterTotalAmount = AfterTotalAmount, //变更后总金额
-                                        BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
-                                        AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
-                                        BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
-                                        AfterBalanceAmount = AfterBalanceAmount, //变更后余额
-                                        QueryCount = PosId,
-                                    }).Entity;
-                                    db.SaveChanges();
 
-                                    //发送APP推送消息
-                                    Utils.Instance.PrizePush(OpId, ChangeAmount);
+                                        //发送APP推送消息
+                                        Utils.Instance.PrizePush(OpId, ChangeAmount);
+                                    }
                                 }
                             }
                             db.Dispose();