소스 검색

补录交易额时,如果没有userid则从机具表里查找

lcl 2 년 전
부모
커밋
551758a9e4
1개의 변경된 파일13개의 추가작업 그리고 1개의 파일을 삭제
  1. 13 1
      AppStart/Helper/StatService.cs

+ 13 - 1
AppStart/Helper/StatService.cs

@@ -55,12 +55,15 @@ namespace MySystem
                 string content = RedisDbconn.Instance.RPop<string>("AddTradeRecordByPosIdQueue");
                 if(!string.IsNullOrEmpty(content))
                 {
+                    function.WriteLog("content:" + content, "补录同步未激活交易额");
                     int PosId = int.Parse(function.CheckInt(content));
                     WebCMSEntities db = new WebCMSEntities();
                     PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId && m.ActivationState == 1);
                     if(pos != null)
                     {
+                        function.WriteLog("1", "补录同步未激活交易额");
                         var Trades = db.TradeRecord.Select(m => new { m.Id, m.SnNo, m.CreateDate, m.ActStatus, m.MerchantId, m.BrandId, m.TradeAmount }).Where(m => m.Id > 10228440 && m.SnNo == pos.PosSn && m.CreateDate <= pos.ActivationTime && m.ActStatus == 0).ToList();
+                        function.WriteLog("未激活记录数:" + Trades.Count, "补录同步未激活交易额");
                         foreach(var Trade in Trades)
                         {
                             //补创客交易
@@ -132,13 +135,22 @@ namespace MySystem
                                 startId = idsDr["Id"].ToString();
                             }
                         }
-                        DataTable selfDt = OtherMySqlConn.dtable("select UserId,ParentNav,BrandId,BankCardType,QrPayFlag,MerHelpFlag,Version,CapFlag,VipFlag,PayType,DATE_FORMAT(CreateDate,'%Y%m%d'),sum(TradeAmount),count(Id) from TradeRecord where Id in (" + ids.TrimEnd(',') + ") group by UserId,ParentNav,BrandId,BankCardType,QrPayFlag,MerHelpFlag,Version,CapFlag,VipFlag,PayType,DATE_FORMAT(CreateDate,'%Y%m%d')");
+                        DataTable selfDt = OtherMySqlConn.dtable("select UserId,ParentNav,BrandId,BankCardType,QrPayFlag,MerHelpFlag,Version,CapFlag,VipFlag,PayType,DATE_FORMAT(CreateDate,'%Y%m%d'),sum(TradeAmount),count(Id),SnNo from TradeRecord where Id in (" + ids.TrimEnd(',') + ") group by UserId,ParentNav,BrandId,BankCardType,QrPayFlag,MerHelpFlag,Version,CapFlag,VipFlag,PayType,DATE_FORMAT(CreateDate,'%Y%m%d'),SnNo");
                         if (selfDt.Rows.Count > 0)
                         {
                             function.WriteLog("统计人数:" + selfDt.Rows.Count + "\n\n", "实时执行交易额V2日志");
                             foreach (DataRow selfDr in selfDt.Rows)
                             {
                                 int UserId = int.Parse(selfDr["UserId"].ToString());
+                                string SnNo = selfDr["SnNo"].ToString();
+                                if(UserId == 0)
+                                {
+                                    PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == SnNo);
+                                    if(pos != null)
+                                    {
+                                        UserId = pos.UserId;
+                                    }
+                                }
                                 Users user = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
                                 string ParentNav = user.ParentNav; //selfDr["ParentNav"].ToString();
                                 int BrandId = int.Parse(selfDr["BrandId"].ToString());