ソースを参照

实时统计广电卡商户交易额

lcl 1 年間 前
コミット
32321243f1
1 ファイル変更17 行追加1 行削除
  1. 17 1
      AppStart/Helper/StatService.cs

+ 17 - 1
AppStart/Helper/StatService.cs

@@ -454,7 +454,7 @@ namespace MySystem
                                 startId = idsDr["Id"].ToString();
                             }
                         }
-                        DataTable selfDt = OtherMySqlConn.dtable("select UserId,ParentNav,MerHelpFlag,SnNo,DATE_FORMAT(CreateDate,'%Y%m%d'),sum(TradeAmount) from TradeRecord where Id in (" + ids.TrimEnd(',') + ") group by UserId,ParentNav,MerHelpFlag,SnNo,DATE_FORMAT(CreateDate,'%Y%m%d')");
+                        DataTable selfDt = OtherMySqlConn.dtable("select UserId,ParentNav,MerHelpFlag,SnNo,DATE_FORMAT(CreateDate,'%Y%m%d'),sum(TradeAmount),MerchantId from TradeRecord where Id in (" + ids.TrimEnd(',') + ") group by UserId,ParentNav,MerHelpFlag,SnNo,DATE_FORMAT(CreateDate,'%Y%m%d'),MerchantId");
                         if (selfDt.Rows.Count > 0)
                         {
                             function.WriteLog("统计人数:" + selfDt.Rows.Count + "\n\n", "实时执行广电卡交易额日志");
@@ -473,6 +473,7 @@ namespace MySystem
                                 Users user = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
                                 string ParentNav = user.ParentNav;
                                 int MerHelpFlag = int.Parse(selfDr["MerHelpFlag"].ToString());
+                                int MerchantId = int.Parse(selfDr["MerchantId"].ToString());
                                 string TradeDate = selfDr[4].ToString();
                                 decimal TradeAmount = decimal.Parse(selfDr[5].ToString());
                                 string TradeMonth = TradeDate.Substring(0, 6);
@@ -529,6 +530,21 @@ namespace MySystem
                                         }
                                     }
                                 }
+
+                                //统计商户交易额
+                                PosMerchantTradeSummay merStat = db.PosMerchantTradeSummay.FirstOrDefault(m => m.MerchantId == MerchantId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate);
+                                if (merStat == null)
+                                {
+                                    merStat = db.PosMerchantTradeSummay.Add(new PosMerchantTradeSummay()
+                                    {
+                                        CreateDate = DateTime.Now,
+                                        MerchantId = MerchantId,
+                                        TradeMonth = TradeMonth,
+                                        TradeDate = TradeDate,
+                                    }).Entity;
+                                    db.SaveChanges();
+                                }
+                                merStat.TradeAmount += TradeAmount;
                             }
                             OtherMySqlConn.op("update TradeRecord set QueryCount=1 where Id in (" + ids.TrimEnd(',') + ")");
                             if(Id == 0)